注册 登录
编程论坛 汇编论坛

[求助]MUL 望帮助

SOS999 发布于 2006-11-22 21:28, 574 次点击

DATA SEGMENT

S1 DB '?*?=??$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE DS:DATA
MOV AX,DATA
MOV DS,AX
START:

MOV AH 1 输入第一个字符
INT 21H

MOV SI,OFFSET S1 放到第一个问号那儿
MOV [SI],AL

SUB AL 30H 得到字符的真值实际大细
MOV BL,AL

MOV AH,09H 显示第一个
MOV DL,BL
INT 21H

MOV AH 2 同上
INT 21H
MOV SI,OFFSET S1
MOV [SI+2],AL


SUB AL 30H
MOV AL,BL

MOV AH,09H
MOV DL,AL
INT 21H

MUL AL,BL
MOV DL,AL

CMP AL 10
JUP L1
L0 :
MUL DL,10 与10比较,如果超出了10就要减10,只取积的最后
一位数放在[ SI+5]最后那个问号那里,SI+4放0
MOV DL,30H
MOV DH,31H < 问题:如何处理超出10的那一部分,请帮帮忙>
MOV [SI+4],DH
MOV [SI+5] ,DL

如果没有>10就直接放在DL输出


MOV DL,0AH
INT 21H
MOV AH,9

0 回复
1