主题:请教一个两位数的乘法输出问题
cfan8888
[专家分:0] 发布于 2007-06-22 01:07:00
最近遇到一道题:从键盘读入由二位数字组成的字符串,并计算其平方,最后显示出来。我只知道计算一位数有个AAM指令可以调整,再转换成ASCII码显示出来,但是如果是两位数,不知道怎样才能将结果转换成ASCII码。
请高手们可以给一个思路,说详细一些,我是新手
[em2]
最后更新于:2007-06-22 01:09:00
回复列表 (共2个回复)
沙发
塞北江南 [专家分:1350] 发布于 2007-06-22 11:36:00
.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
板凳
cfan8888 [专家分:0] 发布于 2007-06-22 14:28:00
多谢帮助[em2]
好好研究一下代码先~~~
我来回复