1

我是汇编语言的初学者..我对这段代码有疑问..它只是一直给我这个错误-在代码上-不是.. :? 这个函数应该反转一个数字

    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
4

1 回答 1

2

汇编器可能认为您需要该MOVSB/MOVSW/MOVSD指令。它的操作数(隐式)确实具有相同的大小。

MOVSX而不是MOVS.

于 2013-03-26T00:12:36.297 回答