這是我第一次爲Mac編譯程序,並且不斷髮現一些奇怪的錯誤,明智的。到目前爲止,我只是想打印「Hello,World!」到終端上。這裏是我的代碼:NASM'fatal:No section for index 2 offset 0 found on Mac OS X Yosemite
global _main
section .text
_main:
mov rax, 0x20000004
mov rdi, 1
mov rsi, msg
mov rdx, msg.len
syscall
mov rax, 0x20000001
mov rdi, 0
syscall
section .data
msg: db "Hello, World!", 10
.len: equ $ - msg
每當我運行此代碼,我用命令nasm -f macho64 print.asm
。順便說一句,nasm -v
打印NASM version 2.11.08 compiled on Mar 10 2015
。當我使用上面的命令,NASM給出了這個輸出:
print.asm:9: fatal: No section for index 2 offset 0 found
我很難過,想要任何幫助。謝謝!
不知道爲什麼你行號17,我得到線9號(除非你沒」 t粘貼你的實際文件內容)。把'mov rsi,msg'改成''''''''''''''''''''''你不能使用這樣的絕對地址。 – Jester
@Jester對不起,我忽略了一條評論。編輯! – Jerfov2
@Jester爲什麼不呢? – Jerfov2