saf*_*yeh 1 assembly x86-64 darwin system-calls exit
我正在学习汇编,我创建了一个简单的退出程序。
.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
Run Code Online (Sandbox Code Playgroud)
运行文件后如何回显 $?返回 0
组装和链接命令:
as exit.asm -o exit.o
ld exit.o -e _main -o exit
./exit
Run Code Online (Sandbox Code Playgroud)
退出代码输入%edi
,而不是%ebx
。(I\xe2\x80\x99m 不确定这方面的规范参考;我只是使用了反复试验。)