2013-03-10 72 views
1

我的代码工作:MOV RAX,[RES]不macho64

section .data 
    res db 0 

section .text 
    global _main 
    extern _printf 
    extern _scanf 

_main 
    ..blablabla..... 
    mov rax,[res] 
    ..blablbabla.... 
ret 

和错误:Mach-O的64位格式不上mov rax,[res]支持32位绝对地址。

所以,在macho64,我不能链接res,在[res]

我该怎么办?

回答

1

我不知道macho64格式,但也有替代mov rax,[res]

mov rax,res 
mov rax,[rax] 

或者使用RIP相对寻址:

mov rax,[rel res] 
+0

THX,NRZ。我明天再说一遍! :) – Aleeewka 2013-03-11 13:48:29