2010-09-05 95 views
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: error: invalid combination of opcode and operands
test.asm:19: error: invalid combination of opcode and operands
test.asm:29: error: invalid combination of opcode and operands

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

MOV    mem_offs, reg_eax    386

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

回答

2

你需要方括号解引用指针:

mov [v_0], eax 
+0

谢谢!这是问题,好吧。 – 2010-09-05 04:20:20