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

📄 test1.asm

📁 编译原理课设
💻 ASM
字号:
;*******************************************************
Stack_seg	segment
	dw	1024 dup(?)
	tos	label	word
Stack_seg	ends
;*******************************************************
Data_seg	segment
Data_seg	ends
;*******************************************************
Code_seg	segment
	assume	CS:Code_seg, DS:Data_seg, SS:Stack_seg
	WRITE	proc	far
	PUSH	AX
	PUSH	BX
	PUSH	CX
	PUSH	DX
	PUSH	BP
	MOV	BP , SP
	MOV	BX , [BP + 14]
	MOV	CX , 10000
	CMP	BX , CX
	JL	w_label1
	CALL	WRITE_SUB
w_label1:
	MOV	CX , 1000
	CMP	BX , CX
	JL	w_label2
	CALL	WRITE_SUB
w_label2:
	MOV	CX , 100
	CMP	BX , CX
	JL	w_label3
	CALL	WRITE_SUB
w_label3:
	MOV	CX , 10
	CMP	BX , CX
	JL	w_label4
	CALL	WRITE_SUB
w_label4:
	MOV	CX , 1
	CALL	WRITE_SUB
	MOV	SP , BP
	POP	BP
	POP	DX
	POP	CX
	POP	BX
	POP	AX
	RET
	WRITE	endp

	WRITE_SUB	proc	near
	MOV	AX , BX
	MOV	DX , 0
	DIV	CX
	MOV	BX , DX
	MOV	DL , AL
	ADD	DL , '0'
	MOV	AH , 02h
	INT	21h
	RET
	WRITE_SUB	endp

	main	proc	far
start:
	MOV	AX , Stack_seg
	MOV	SS , AX
	MOV	SP , offset tos

	PUSH	DS
	SUB	AX , AX
	PUSH	AX

	MOV	AX , Data_seg
	MOV	DS , AX
	PUSH	AX
	PUSH	BX
	PUSH	CX
	PUSH	DX
	PUSH	BP
	MOV	BP , SP
	PUSH	BP
	ADD	BP , -2
	MOV	AX , SS:[BP]
	POP	BP
	PUSH	AX
	MOV	AX , 0
	PUSH	AX
	POP	BX
	POP	AX
	CMP	AX , BX
	JG	Label0
	MOV	AX , 0
	PUSH	AX
	JMP	Label1
Label0:	MOV	AX , 1
	PUSH	AX
Label1:	POP	AX
	CMP	AX , 0
	JE	L1
	MOV	AX , BP
	ADD	AX , -2
	PUSH	AX
	PUSH	BP
	ADD	BP , -2
	MOV	AX , SS:[BP]
	POP	BP
	PUSH	AX
	PUSH	BP
	ADD	BP , -4
	MOV	AX , SS:[BP]
	POP	BP
	PUSH	AX
	POP	BX
	POP	AX
	ADD	AX , BX
	PUSH	AX
	POP	BX
	POP	AX
	PUSH	BP
	MOV	BP , AX
	MOV	SS:[BP] , BX
	POP	BP
	PUSH	BX
	POP	AX
	JMP	L2
L1 :
	MOV	AX , BP
	ADD	AX , -4
	PUSH	AX
	PUSH	BP
	ADD	BP , -4
	MOV	AX , SS:[BP]
	POP	BP
	PUSH	AX
	PUSH	BP
	ADD	BP , -2
	MOV	AX , SS:[BP]
	POP	BP
	PUSH	AX
	POP	BX
	POP	AX
	ADD	AX , BX
	PUSH	AX
	POP	BX
	POP	AX
	PUSH	BP
	MOV	BP , AX
	MOV	SS:[BP] , BX
	POP	BP
	PUSH	BX
	POP	AX
L2 :
	MOV	AX , 0
	PUSH	AX
	POP	AX
	PUSH	BP
	ADD	BP , 18
	MOV	SS:[BP] , AX
	POP	BP
	MOV	SP , BP
	POP	BP
	POP	DX
	POP	CX
	POP	BX
	POP	AX
	RET
	POP	AX
	PUSH	BP
	ADD	BP , 18
	MOV	SS:[BP] , AX
	POP	BP
	MOV	SP , BP
	POP	BP
	POP	DX
	POP	CX
	POP	BX
	POP	AX
	RET
	main	endp
Code_seg	ends
	end	start
;*******************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -