我目前正在尝试为 Mac OS X 学习装配(目前我正在使用Yosemite Beta 5)。那里没有很多好的教程,但我一直在使用this one。在尝试添加数字时,这是我当前的代码(它不起作用):
section .text
.globl start
start:
push dword hellolen
push dword hello
push dword 1
mov eax, 0x4
sub esp, 4
int 0x80
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl $3, (%esp)
call doStuff
push dword 8
push dword %eax
push dword 1
mov eax, 0x4
sub esp, 4
int 0x80
add esp, 16
push dword 0
mov eax, 0x1
sub esp, 4
int 0x80
.globl doStuff
doStuff:
movl 8(%ebp), %eax
addl 4(%ebp), %eax
ret
section .data
hello db "12345", 0xa
hellolen equ $-hello