程序集:退出代码错误

Assembly: Exit Code Wrong

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

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

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

如何在 运行 文件后回显 $? returns 0

Assemble 和 Link 命令:

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

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