📄 e411_03.asm
字号:
STACK SEGMENT PARA STACK
DW 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
X DB ?
Y DB ?
RESULT DW ?
STRI1 DB "Please input two numbers:$"
STRI2 DB "The result is : $"
CRLF DB 0AH,0DH,"$"
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
GETNUM MACRO
MOV AH,1
INT 21H
SUB AL,30H
ENDM
MULTIPLY MACRO BNUM1,BNUM2
MOV AL,BNUM1
MOV BL,BNUM2
MUL BL
ENDM
DIVIDE MACRO WNUM1,WNUM2
MOV AX,WNUM1
MOV BX,WNUM2
XOR DX,DX
DIV BX
ENDM
DISPNUM MACRO
PUSH DX
MOV AH,2
MOV DL,AL
ADD DL,30H
INT 21H
POP DX
ENDM
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
LEA DX,STRI1
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
GETNUM
MULTIPLY AL,10
MOV X,AL
GETNUM
ADD X,AL
GETNUM
MULTIPLY AL,10
MOV Y,AL
GETNUM
ADD Y,AL
MULTIPLY X,Y
MOV RESULT,AX
PUSH AX
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,STRI2
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
POP AX
DIVIDE AX,10000
DISPNUM
DIVIDE DX,1000
DISPNUM
DIVIDE DX,100
DISPNUM
DIVIDE DX,10
DISPNUM
MOV AL,DL
DISPNUM
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -