ASSUME CS:CODES
CODES SEGMENT
START:
mov ah,01h ;输入第一个数
int 21h
mov bl,al
mov ah,01h ;输入第二个数
int 21h
cmp bl,’9’ ;判断是1-9还是A-F
ja ne1
sub bl,’0’
s: cmp al,’9’
ja ne2
sub al,’0’
jmp mu
ne1:sub bl,’A’ ;对A-F处理
add bl,10
jmp s
ne2:sub al,’A’ ;对A-F处理
add al,10
mu: mul bl
mov bl,al ;结果放在al中
and al,0Fh
mov cl,4
shr bl,cl ;把al中的八个二进制位分开
cmp bl,9 ;转换成ASII码输出(1-9和A-F)
ja n1
add bl,’0’
jmp n2
n1: add bl,37h
n2: cmp al,9
ja n3
add al,’0’
jmp n4
n3: add al,37h
n4: mov cl,al
mov dl,bl ;输出高位
mov ah,2
int 21h
mov dl,cl ;输出低位
mov ah,2
int 21h
mov ax,4c00h
int 21h
CODES ENDS
END START
运行结果如图所示,mov ah,01h int 21h 输入并回显,把值放在al中 mov ah,02h int 21h 输出,预先把值放在dl中,值为asii码,要转换并进行运算
2*3=06 2*A=14(均为十六进制表示)