📄 dfz.asm
字号:
; 实验八: 多分支转移实验程序
;文件名称: DFZ.ASM
TIMER0 EQU 30H
TIMER1 EQU 31H
ORG 0000H
FZCX: MOV A,20H
MOV DPTR,#TAB1 ;散转的首地址
RL A
JMP @A+DPTR
TAB1: AJMP FZ0 ; 0 字循环
AJMP FZ1 ; 1 字循环
AJMP FZ2 ; 2 字循环
AJMP FZ3 ; 3 字循环
FZ0: MOV 20H,#0C0H
LJMP XS
FZ1: MOV 20H,#0F9H
LJMP XS
FZ2: MOV 20H,#0A4H
LJMP XS
FZ3: MOV 20H,#0B0H
LJMP XS
XS: MOV A,20H ;显示子程序
MOV R0,#22H
MOV R1,#21H
MOVX @R0,A
MOV A,#01H
XS1: MOVX @R1,A
MOV R2,#20H
LCALL DELAY1S
RL A
SJMP XS1
;延时子程序
DELAY: PUSH TIMER1; 延时TIMER1*1 ms for 12MHz
PUSH TIMER0
DELAY1: MOV TIMER0,#250 ;循环一次需要4个机器周期,时间为4*1μS
DELAY2: NOP ; 1个周期
NOP ; 1个周期
DJNZ TIMER0,DELAY2 ;2个周期
DJNZ TIMER1,DELAY1
POP TIMER0
POP TIMER1
RET
DELAY1S: NOP; 延时 1 sec
PUSH TIMER1
MOV TIMER1,#250
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
POP TIMER1
RET
NOP;---------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -