标签: macos gcc assembly 64-bit gas
我是GNU Assembler的新手,我正在尝试执行这段代码:
.globl _main _main: movl $1, %eax movl $0, %ebx int $0x80
此程序应由系统调用exit(1)退出。编译它(没有警告):
1
gcc test.s
但是运行它会给我一个错误:Illegal instruction: 4
Illegal instruction: 4
感谢您的帮助!
答案 0 :(得分:1)
如果您正在编译64位可执行文件,那么您应该编写如下内容:
movq $0x2000001, %rax movq $0, %rdi syscall
Source