1
如何比較兩個詞在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: error: mismatch in operand sizes
和不斷變化的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
我不知道如何解決這個問題。有人可以解釋嗎?
再次感謝你。我在想,沒有明確的(嘗試)數據類型的大小定義將是我有一個'dword'而不是'字'或'字節'而不是'dword'(在某些情況下)因爲這個原因,我'cmp word [ eax],單詞ecx'而不是'cmp [eax],ecx'確實有效。再次感謝你。 – 2013-02-16 20:05:43