自己已经解决,请大大们指教哪些可以改进
程序如下,请指教哪些可以改进,让程序更加简化,谢谢

ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
ST: MOV 30H,#30 ;初始化
MOV 31H,30H
MOV A,#100
CSQ: JZ MID ;累加器不为0执行快速闪烁,为0转移到MID
CLR P1.0
LCALL DELQ
SETB P1.0
LCALL DELQ
LJMP CSQ
CSS: CLR P1.0 ;慢速闪烁
LCALL DELS
SETB P1.0
LCALL DELS
LJMP MID
MID: CJNE A,31H,CSS ;累加器中值增加到30(30H中值)之前转移执行慢速闪烁 ,
;到30转移执行快速闪烁。
LJMP CSQ
DELQ: ;快速闪烁从3S减少到0.1S
MOV A,30H
DEC A
DELQ1: MOV 32H,#250
DELQ2: MOV 33H,#200
DJNZ 33H,$
DJNZ 32H,DELQ2
DJNZ 30H,DELQ1
MOV 30H,A
RET
DELS: ;慢速闪烁从0.1S延长到3S
INC A
MOV 30H,A
DELS1: MOV 32H,#250
DELS2: MOV 33H,#200
DJNZ 33H,$
DJNZ 32H,DELQ2
DJNZ 30H,DELQ1
RET
END