回 帖 发 新 帖 刷新版面

主题:加分求助:找找我错在哪里??

我编写一段从键盘读入一个十进制数的问题,编写如下过程,但乘法总是错,自己在debug中调试,发现AX的最高位总是0,不知是何原因:
READ PROC NEAR
    MOV BX,0
    AGAIN:
        MOV AH,01H
        INT 21H
        CMP AL,'A'
        JZ ISEND
        SUB AL,'0'
        MOV AH,0H
        MOV CX,10
        CBW
        XCHG AX,BX
        MUL CL
        XCHG AX,BX
        ADD BX,AX
    JMP AGAIN
    ISEND:
        RETN
READ ENDP

回复列表 (共1个回复)

沙发

XCHG AX,BX
;此处这里ax保存的是 bx 的数据,但bx的数据是未知的
MUL CL
;那么这里 就等价于 bl里的数据 乘以 cl

我来回复

您尚未登录,请登录后再回复。点此登录或注册