📄 计算器.txt
字号:
DATA SEGMENT
B1 DB 0DH,0AH,' @@@@@@@@@@@@@@ Simple calculator @@@@@@@@@@@@@@@ $'
B2 DB 0DH,0AH,' @ INPUT THE FIRST NUMBER: $'
B3 DB 0DH,0AH,' @ INPUT THE SECOND NUMBER: $'
B4 DB 0DH,0AH,' @ INPUT THE OPERATOR(+,-,*,/): $'
B5 DB 0DH,0AH,' @ THE RESULT IS: $'
B6 DB 0DH,0AH,' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ $'
B7 DB 0DH,0AH,' CONTINUE? please INPUT THE KEY (O)! $'
B8 DB 0AH,0DH,' @ THE REMAINDER IS :$'
A DW 0
B DW 0
C11 DW 0
C12 DB 0
B11 DW 10
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
S:MOV BX,0
MOV DI,0
MOV DX,0
LEA DX,B1
MOV AH,9
INT 21H
LEA DX,B2
MOV AH,9
INT 21H ;输出提示信息
DAT_1:MOV AX,0
MOV AH,1
INT 21H ;输入第一个操作数
CMP AL,0DH
JE DAT_2
AND AL,0FH ;把数字字符转化为数字
MOV AH,0
ADD DI,AX
MOV AX,DI
MUL B11
MOV DI,AX
JMP DAT_1
DAT_2:MOV AX,0
MOV AX,DI
DIV B11
MOV A,AX
MOV DI,0
MOV AX,0
LEA DX,B3
MOV AH,9
INT 21H
DAT_3:MOV AH,1
INT 21H ;输入第二个操作数
CMP AL,0DH
JE DAT_4
AND AL,0FH
MOV AH,0
ADD DI,AX
MOV AX,DI
MUL B11
MOV DI,AX
JMP DAT_3 ;将数字字符转化为数字
DAT_4:MOV AX,0
MOV AX,DI
DIV B11
MOV B,AX
MOV DI,0
MOV AX,0
LEA DX,B4
MOV AH,9
INT 21H
MOV AH,1 ;输入操作符
INT 21H
MOV C12,AL
CMP AL,'+'
JE ADD_1
CMP AL,'-'
JE SBB_1
CMP AL,'*'
JE MUL_1
CMP AL,'/'
JE DIV_1
ADD_1:MOV AX,0 ;加法运算
MOV AX,A
ADD AX,B
MOV SI,AX
JMP R
SBB_1:MOV AX,0 ;减法运算
MOV AX,A
SBB AX,B
MOV SI,AX
JMP R
MUL_1:MOV AX,0 ;乘法运算
MOV AX,A
MUL B
MOV SI,AX
JMP R
DIV_1:MOV AX,0 ;除法运算
MOV DX,0
MOV AX,A
DIV B
MOV SI,AX
MOV C11,DX
JMP R
R: LEA DX,B5
MOV AH,9
INT 21H
MOV CX,SP
MOV AX,SI
pp1:MOV DX,0
MOV BX,10
DIV BX
PUSH DX ;将16进制数转化为10进制数
CMP AX,0
JNZ pp1
pp2: CMP SP,CX
JE EXIT1
POP DX
ADD DL,30H
MOV AH,2
INT 21H
JMP pp2 ;输出结果
EXIT1:CMP C12,'/'
JNE LOPAENDS
LEA DX,B8
MOV AH,9
INT 21H
MOV AX,C11
pp3: MOV DX,0
MOV BX,10
DIV BX
PUSH DX ;将16进制数转化为10进制数
CMP AX,0
JNZ pp3
pp4: CMP SP,CX
JE LOPAENDS
POP DX
ADD DL,30H
MOV AH,2
INT 21H
JMP pp4
LOPAENDS: LEA DX,B6
MOV AH,9
INT 21H
LEA DX,B7
MOV AH,9
INT 21H
MOV AH,1
INT 21H
CMP AL,'o'
JNE EXIT
JMP S
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -