📄 test1.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 + -