NASM'致命:找不到索引2偏移0的部分'在Mac OS X Yosemite上

时间:2015-07-04 14:21:46

标签: macos assembly nasm fatal-error

这是我第一次为Mac进行程序集编程,并且继续得到一些奇怪的错误,我没有用谷歌搜索方式获得好运。到目前为止,我只是想打印" Hello,World!"到终端上。这是我的代码:

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

我很难过,希望得到任何帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

我遇到了似乎问题。来自the

而不是:“mov rsi,msg”,使用:“lea rsi,[rel msg]”