NASMアセンブリで2つの単語を比較するには? このコードを検討してください:
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
これを修正する方法がわかりません。誰かがそれを説明できますか?