⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.asm

📁 制作一个简易的编译器
💻 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 + -