第20行出错 不能在第30行“函数名称”中移动edx,dx和其他错误
有人能帮帮我吗? 注意:: .startup在我的代码中意味着 mov ax,@ data mov ds,ax.model small,c
.486
.stack 200h
.data
num DW ?
arr db "Plese enter a Number$"
.code
rev proc _TT:word
uses ebx,eax,cx
LOCALS
mov EBX,0
mov cx ,0
mov Ax,_TT
again: CWD
div cx
imul EBX,10
movs edx,dx ; <=== error here
push EAX
mov ax,dx
cwde
add ebx,eax
pop eax
cmp eax,0
JG again
ret
endp
rav
.startup
.exit
end
答案 0 :(得分:1)
这些是与原始问题相关的违规行及其正确替换:
movs edx,dx ; <=== error here
替换为:
movsx edx,dx ; Sign-extend dx into edx
endp
rav
替换为:
rev endp ; the end of "rev proc"