汇编:退出代码错误

时间:2015-08-29 03:35:33

标签: assembly x86-64 exit system-calls darwin

我正在学习汇编,我创建了一个简单的退出程序。

.section __DATA, __data
.section __TEXT, __text
.globl _main

_main:
  movl $0x2000001, %eax   #System call exit, offset by 0x00000
  movl $1, %ebx           #Exit Return code
  syscall                 #Wakes up kernal to run the systen call

运行文件后,如何回显$?返回0

汇编和链接命令:

as exit.asm -o exit.o
ld exit.o -e _main -o exit
./exit

1 个答案:

答案 0 :(得分:2)

退出代码位于%edi,而不是%ebx。 (我不确定这方面的规范参考;我只是使用了反复试验。)