📄 计算器.txt
字号:
DATA SEGMENT
STRING DB 'PLEASE PRESS NUMBER 1,2,3,4,5:',0DH,0AH,'$'
BUFF DB 10
DB ?
DB 10 DUP(?)
ARRAY1 DB 'PLEASE INPUT THE FIRST NUMBER:',0DH,0AH,'$'
ARRAY2 DB 'PLEASE INPUT THE SECOND NUMBER:',0DH,0AH,'$'
ARRAY3 DB 10
DB ?
DB 10 DUP(?)
ARRAY DW 2 DUP(?)
RESULT DB 4 DUP(?),'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AH,00H
MOV AL,06H
INT 10H
MOV DX,OFFSET ARRAY1
MOV AH,9
INT 21H
MOV DX,OFFSET BUFF
MOV AH,0AH
INT 21H
CALL ABC
MOV ARRAY,AX
MOV DX,OFFSET ARRAY2
MOV AH,9
INT 21H
MOV DX,OFFSET BUFF
MOV AH,0AH
INT 21H
CALL ABC
MOV ARRAY+2,AX
MOV AH,09H
MOV DX,OFFSET STRING
INT 21H
MOV DX,OFFSET ARRAY3
MOV AH,0AH
INT 21H
MOV BX,DX
MOV AL,[BX+2]
CMP AL,'1'
JZ A1
CMP AL,'2'
JZ A2
CMP AL,'3'
JZ A3
CMP AL,'4'
JZ A4
CMP AL,'5'
JZ A5
A1: MOV AX,ARRAY
MOV BX,ARRAY+2
ADD AL,BL
ADC AH,0
CALL DEF
JMP LAST
A2: MOV AX,ARRAY
MOV BX,ARRAY+2
CMP AL,BL
JAE K0
JMP K1
K0:SUB AL,BL
CALL DEF
JMP LAST
K1:PUSH AX
MOV AH,02H
MOV DL,'-'
INT 21H
POP AX
SUB BL,AL
MOV AL,BL
CALL DEF
JMP LAST
A3: MOV AX,ARRAY
MOV BX,ARRAY+2
MUL BL
CALL DEF
JMP LAST
A4: MOV AX,ARRAY
MOV BX,ARRAY+2
DIV BL
MOV AH,0
CALL DEF
JMP LAST
A5:JMP LAST
ABC PROC
MOV CL ,2
MOV CH,0
MOV BX,OFFSET BUFF+2
PUSH BX
PUSH CX
L0: SUB [BX],30H
INC BX
LOOP L0
POP CX
POP BX
MOV AH,0
MOV AL,0
MOV SI,10
L1: MUL SI
ADD AL,[BX]
ADC AH,0
INC BX
LOOP L1
RET
ABC ENDP
DEF PROC
MOV SI,OFFSET RESULT
SUB DX,DX
MOV BX,1000
DIV BX
ADD AL,30H
MOV [SI],AL
MOV AX,DX
MOV BL,100
DIV BL
ADD AL,30H
MOV [SI+1],AL
MOV AL,AH
SUB AH,AH
MOV BL,10
DIV BL
ADD AL,30H
MOV [SI+2],AL
ADD AH,30H
MOV [SI+3],AH
MOV DX,OFFSET RESULT
MOV AH,9
INT 21H
RET
DEF ENDP
LAST: MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -