0

20行目にedx,dxを移動できないエラーがあり、30行目「関数名」にその他のエラーがあります

誰かが私を助けることができますか?注:: 私のコードの .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
4

1 に答える 1

1

これらは、元の質問に関連する問題のある行と、それらの正しい置換です。

movs edx,dx  ; <=== error here

と置換する:

movsx edx,dx  ; Sign-extend dx into edx


endp
rav

と置換する:

rev endp ; the end of "rev proc"

于 2013-03-25T20:27:28.703 に答える