📄 program.asm
字号:
STACK SEGMENT PARA 'STACK' STACK
DW 0100H DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
ERROUT DB 0DH,0AH,'[ERROR:DIVIDED BY ZERO!]',0DH,0AH,'$'
OUTPUT DW ?
;-------变量声明-------
a DW ?
b DW ?
;----------------------
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
;-------指令代码-------
MOV AX,000AH
MOV a,AX
MOV AX,0014H
MOV b,AX
MOV AX,a
PUSH AX
MOV AX,b
POP BX
CMP BX,AX
JG L0002
MOV AX,0000H
JMP L0003
L0002:
MOV AX,0001H
L0003:
CMP AX,0000H
JNE L0000
JMP L0001
L0000:
MOV AH,02H
MOV DL,61H
INT 21H
MOV DL,20H
INT 21H
MOV DL,69H
INT 21H
MOV DL,73H
INT 21H
MOV DL,20H
INT 21H
MOV DL,62H
INT 21H
MOV DL,69H
INT 21H
MOV DL,67H
INT 21H
MOV DL,67H
INT 21H
MOV DL,65H
INT 21H
MOV DL,72H
INT 21H
MOV DL,20H
INT 21H
MOV DL,74H
INT 21H
MOV DL,68H
INT 21H
MOV DL,61H
INT 21H
MOV DL,6EH
INT 21H
MOV DL,20H
INT 21H
MOV DL,62H
INT 21H
MOV DL,21H
INT 21H
MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
JMP L0004
L0001:
MOV AH,02H
MOV DL,61H
INT 21H
MOV DL,20H
INT 21H
MOV DL,69H
INT 21H
MOV DL,73H
INT 21H
MOV DL,20H
INT 21H
MOV DL,73H
INT 21H
MOV DL,6DH
INT 21H
MOV DL,61H
INT 21H
MOV DL,6CH
INT 21H
MOV DL,6CH
INT 21H
MOV DL,65H
INT 21H
MOV DL,72H
INT 21H
MOV DL,20H
INT 21H
MOV DL,74H
INT 21H
MOV DL,68H
INT 21H
MOV DL,61H
INT 21H
MOV DL,6EH
INT 21H
MOV DL,20H
INT 21H
MOV DL,62H
INT 21H
MOV DL,21H
INT 21H
MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
L0004:
;----------------------
EXIT: MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV AX,4C00H
INT 21H
SHOWNUM PROC NEAR
MOV AX,OUTPUT
CMP AX,0000H
JGE LS1
NEG AX
PUSH AX
MOV AH,02H
MOV DL,'-'
INT 21H
JMP LS2
LS1: PUSH AX
MOV AH,02H
MOV DL,' '
INT 21H
LS2: POP AX
MOV CX,0005H
LS3: MOV DX,0000H
MOV BX,000AH
DIV BX
PUSH DX
LOOP LS3
MOV CX,0005H
LS4: MOV AH,02H
POP DX
ADD DL,'0'
INT 21H
LOOP LS4
RET
SHOWNUM ENDP
DIVERR PROC NEAR
MOV AH,09H
LEA DX,ERROUT
INT 21H
RET
DIVERR ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -