如何比较 NASM 汇编中的两个单词?考虑这段代码:
global start
start:
mov eax,array
mov edx,4
mov ecx,2987074
.LOOP1:
cmp word [eax],ecx
je .FOUND
add eax,4
sub edx,1
jz .NOTFOUND
jmp .LOOP1
.FOUND:
xor ebx,ebx
jmp .EXIT
.NOTFOUND:
mov ebx,1
.EXIT:
mov eax,1
int 0x80
array:
dd 1137620
dd 3529469
dd 2987074
dd 1111111
dd 2222222
返回
foo.asm:7:错误:操作数大小不匹配
并将 cmp 从更改cmp word [eax],ecx
为cmp word [eax],word ecx
返回:
foo.asm:7: warning: register size specification ignored
foo.asm:7: error: mismatch in operand sizes
我不知道如何解决这个问题。有人可以解释一下吗?