首页 文章

为什么这是一个无效的操作数?

提问于
浏览
0

我有一个由我正在编写的编译器生成的以下ASM文件:

; This code has been generated by the 7Basic
; compiler <http://launchpad.net/7basic>

; Uninitialized data

      SECTION .bss
v_0 resb 4
v_4 resb 4
v_8 resb 4

; Code

      SECTION .text
push 1
pop eax
mov v_0, eax
push 2
pop eax
mov v_4, eax
mov eax, v_0
push eax
mov eax, v_4
push eax
pop ebx
pop eax
imul eax,ebx
push eax
pop eax
mov v_8, eax

当我尝试编译它时,我收到以下错误:

test.asm:16:错误:操作码和操作数的无效组合test.asm:19:错误:操作码和操作数的无效组合test.asm:29:错误:操作码和操作数的无效组合

这真的没有意义,因为根据NASM文档,我被允许:

MOV mem_offs,reg_eax 386

为什么我不能执行此操作?

1 回答

  • 2

    您需要方括号来取消引用指针:

    mov  [v_0], eax
    

相关问题