GNU汇编程序(Mac OS X 64位):非法指令:4

时间:2012-06-24 14:33:10

标签: macos gcc assembly 64-bit gas

我是GNU Assembler的新手,我正在尝试执行这段代码:

.globl _main
_main:
    movl $1, %eax
    movl $0, %ebx
    int $0x80

此程序应由系统调用exit(1)退出。编译它(没有警告):

gcc test.s

但是运行它会给我一个错误:Illegal instruction: 4

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果您正在编译64位可执行文件,那么您应该编写如下内容:

movq $0x2000001, %rax
movq $0, %rdi
syscall

Source