我是汇编语言的初学者..我对这段代码有疑问..它只是一直给我这个错误 - 关于代码 - 不是......:?此功能应该反转一个数字
rev proc _x:word
uses EAX, EDX, EBX, ECX
LOCALS
MOV EBX, 0
MOV Cx,10
MOV AX, _x
CWD
DIV CX
iMUL EBX,10
MOVS EDX,DX ; error Operand types do not match..
push EAX
MOV AX, DX
Again:CWDE
Add EBX, EAX
POP EAX
cmp EAX, 0
JA again
ret
endp rev
答案 0 :(得分:2)
汇编程序可能认为您需要MOVSB/MOVSW/MOVSD
指令。它的操作数(隐含)确实具有相同的大小。
写MOVSX
而不是MOVS
。