难点在于屏幕上读到的是什么?是ASCII码吗,还是真实的十进制数?
它怎么转化为我们可以相加的数?
DATA SEGMENT
INFOR1 DB 'Please Input the First Data(<10):$'
INFOR2 DB 0AH,0DH,'Please Input the Second Data(<10):$' ; 0A 是 '\n' 0D 是 '\r',回车换行
INFOR3 DB 0AH,0DH,'The Result is:$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX ;数据送入ds中
LEA DX,INFOR1 ;输出INFOR1字符串
MOV AH,09H ;ah=9用来输出字符串,ds:dx=串地址
INT 21H ;
MOV AH,01H ;ah=1准备输入,AL=输入字符
INT 21H
SUB AL,30H ;输入的为ASCII码,所以减去48是真实数字
MOV BL,AL
LEA DX,INFOR2 ;输出INFOR2字符串
MOV AH,09H ;ah=9用来输出字符串,ds:dx=串地址
INT 21H
MOV AH,01H ;ah=1准备输入,AL&