我正在努力学习NASM。我编译并运行该文件,但它是segfaults。 (64位)代码如下:
global _main
section .text
_main:
mov rax, 0x2000004 ; write
mov rdi, 1 ; stdout
mov rsi, msg
mov rdx, msg.len
syscall
mov rax, 0x2000001 ; exit
mov rdi, 0
syscall
section .data
msg: db "Hello, world!", 10
.len: equ $ - msg
我将其编译并链接为:
nasm -f macho64 hello.asm
ld hello.o -e _main -o hello -macosx_version_min 10.7