我通过this free book了解x86的基础知识。
请记住,与Linux x86相比,这是特定的到macOS x86。
它是为GNU Linux而制作的,所以我必须更改一些可能出错的代码。我拿了这段代码:
.section .data
.section .text
.globl _start
_start:
movl $1, %eax
movl $0, %ebx
int $0x80
在macOS上关于x86的一些谷歌搜索之后,我将这段代码转换成了这个:
.data
.text
.globl _main
_main:
movl $1, %eax
movl $0, %ebx
int $0x80
我使用gcc test.s
编译了它,将其编译为a.out
。尝试使用./a.out
运行时,我收到错误[1] 17301 illegal hardware instruction ./a.out
。
感谢任何帮助,谢谢!