DATA SEGMENT
INFOR1 DB 'Input the First Number(<10):$' ;第一条提示语
INFOR2 DB 0AH,0DH,'Input the Second Number(<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
LEA DX,INFOR1 ;LEA指向偏移地址
MOV AH,09H
INT 21H ;中断指令的09号功能 打印字符串到屏幕上
MOV AH,01H ;中断指令的01号功能, 将输入的字符的ASCII码存储的寄存器上
INT 21H
SUB AL,30H ;因为输入的为ASCII码,所以减去48
MOV BL,AL
LEA DX,INFOR2
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
XOR AH,AH ;将AH清空
ADD AL,BL
AAA ;加法ASCII码调整指令
PUSH AX
LEA DX,INFOR3
MOV AH,09H
INT 21H
POP AX
PUSH AX
MOV DL,AH
ADD DL,30H ;计算结束之后加上48输出。
MOV AH,02H ;2号系统调用,输出单个字符,在汇编中想输出数字只能单个ASCII码的输出。
INT 21H
POP AX
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
汇编小程序---计算十以内两个数的相加
最新推荐文章于 2023-08-06 00:11:24 发布