📄 ex1add.asm
字号:
DATA SEGMENT
RESULT DB ?
INFON DB 0DH,0AH,'please input a number:$'
RS DB 13,10 ,'Add result is:$'
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA ,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MESSAGE: LEA DX,INFON ;显示输入提示
MOV AH,9
INT 21H
FIRST: MOV AH,01H ;输入一个数并显示
INT 21H
CMP AL,30H ;判断输入的是否为数字
JL MESSAGE
CMP AL,39H
JA MESSAGE
MOV DL,AL ;al存入dl,dx入栈
PUSH DX
MESSAGE1: LEA DX,INFON ;显示输入提示
MOV AH,9
INT 21H
SECOND: MOV AH,01H ;输入一个数并显示
INT 21H
CMP AL,30H ;判断输入的是否为数字
JL MESSAGE1
CMP AL,39H
JA MESSAGE1
SUM: POP DX ;弹出第一个数
AND DL,0FH ;把十六进制变为十进制
AND AL,0FH
ADD DL,AL
ADD DL,30H ;十进制变为十六进制
MOV RESULT,DL
CMP RESULT,39H ;结果是否大于9
LEA DX,RS
MOV AH,9
INT 21H
JLE PRINT1 ;结果小于等于9跳转
;显示十位数
PRINT10: SUB RESULT,0AH ;结果减去十进制10
MOV DL,31H ;高位显示1
MOV AH,2
INT 21H
;显示个位数
PRINT1:
MOV DL,RESULT
MOV AH,2
INT 21H
EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -