回 帖 发 新 帖 刷新版面

主题:请教一个两位数的乘法输出问题

最近遇到一道题:从键盘读入由二位数字组成的字符串,并计算其平方,最后显示出来。我只知道计算一位数有个AAM指令可以调整,再转换成ASCII码显示出来,但是如果是两位数,不知道怎样才能将结果转换成ASCII码。
    请高手们可以给一个思路,说详细一些,我是新手

[em2]

回复列表 (共2个回复)

沙发

.model small
.386
.stack
.data
 tishi db 'please input a number:  $'
 shuchu db 10,13,'sqr is: $'
 temp db 0
 .code
     DISPCHAR MACRO NUMBER  ;该宏显示ax寄存器值除以NUMBER所得的1位10进制商
        POP ax
          MOV DX,0
          mov bX,NUMBER
          div bX
          PUSH DX     ;余数入栈,为现实下一位准备
          MOV DL,AL
          ADD DL,30H
          MOV AH,2
          INT 21H
        ENDM
 .startup
 mov dx,offset tishi
 mov ah,9
 int 21h
 
mov  ah,1
int 21h
.if al>=30h && al<=39h
  mov temp,al
  and temp,0fh
.else
  .exit 0
.endif
mov ah,1
int 21h
  .if al>=30h && al<=39h
    mov cl,al
    mov al,10
    mul temp
    and cl,0fh
    add al,cl
  .else
    mov al,temp
  .endif
 mul al
 push ax
 
 mov dx,offset shuchu
 mov ah,9
 int 21h
        DISPCHAR 1000  ;显示千位
        DISPCHAR 100   ;显示百位
        DISPCHAR 10    ;显示十位
        DISPCHAR 1     ;显示个位
 .exit 0
 end

板凳


多谢帮助[em2]
好好研究一下代码先~~~

我来回复

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