使用负寻址时,无效的有效地址,汇编程序x86 64位

时间:2019-01-08 07:48:52

标签: assembly x86-64

这显然是一个新手问题,但是我试图执行一个简单的循环,将值简单地复制到rsp-i * 8,其中1<=i<=j,使得j是存储在某个寄存器中的值:

mov r9, r8 
loop: 
    cmp r9, 0 
    je end_loop_push_list_args 
    mov rax, %SOME VALUE %
    mov qword [rsp - 8 * r9], rax 
    sub r9, 1 
end_loop:

然而,似乎汇编程序对减号不满意,并大声喊叫:

error: invalid effective address

Thoguh [rsp - 8 * r9]是我希望覆盖的所需内存地址。

谢谢。

0 个答案:

没有答案