📄 fl24m.asm
字号:
name fl24m
;
public fl24m
public ?fl24m?byte
;public delay60
public delay20
;
;ddr11 equ 0a000h
addr12 equ 0e07fh;;;;;;0f834h 0e473h 0e873h
fw10 equ 30h ;text buffer wide
;fw11 equ 30h ;screen flow length(wide)=text buffer wide + screen wide
;or stay in screen =text buffer wide
fw12 equ 0e0h ;0b0h ;text buffer wide + 80h
bytes segment data
prog segment code
;
rseg bytes
?fl24m?byte:
x: ds 1
y: ds 1
z: ds 2
rseg prog
fl24m: mov a,x
add a,#fw10
mov r4,a ; 60h
mov r5,#08h ;
mov r2,#18h ;
mov r6,x
mov r0,y ;y--.a(10h)
kgn00: mov a,#00h
movx @r0,a
inc r0
djnz r2,kgn00
mov r0,y
;mov dptr,#addr11 ;#0a000h
mov r5,#01h
kgn62: mov dph,z
mov dpl,z+1
mov a,dpl
clr c
addc a,r6
dec a
mov dpl,a
mov a,dph
addc a,#00h
mov r7,dph ;push dph
mov r3,dpl ;push dpl
mov r2,#10h
kgn52: mov r1,x
clr c
kgn51: movx a,@dptr
rlc a
movx @dptr,a
dec dpl;
djnz r1,kgn51
movx a,@r0
rlc a
movx @r0,a
inc r0
clr c
mov a,dpl
addc a, x
addc a,#80h
mov dpl,a
mov a,dph
addc a,#00h
mov dph,a
djnz r2,kgn52
mov r2,#08h
mov dpl,r3
mov dph,r7
kgn54: mov r1,x
clr c
kgn53: movx a,@dptr
rlc a
movx @dptr,a
dec dpl;
djnz r1,kgn53
movx a,@r0
rlc a
movx @r0,a
inc r0
clr c
mov a,dpl
addc a, x
addc a,#80h
mov dpl,a
mov a,dph
addc a,#00h
mov dph,a
djnz r2,kgn54
djnz r5,kgn62
mov dph,z
mov dpl,z+1
mov r3,dpl
mov r7,dph
mov r5,#08h
;***********************************************************************
wait18: jnb p1.7,wait18 ;24t
wait19: jb p1.7,wait19 ;24t
cpl p1.1 ;12t
;+++++++++++++++++++++++++++++++++++++++++++
page11: mov dptr, #addr12 ;#0c473h;#0f034h ;24t (4): #0e838h+09h=#0e841h!!!
mov r0,y ;
mov r2,#18h ;12t line-num:18h=24
lop12: mov r1,x; #fw10 ;#24h ;12t (12): 36byte+1=24h+1=25h!!! r1=25h
movx a,@r0;
rlc a;
movx @r0,a
inc r0;
lop11: movx a,@dptr ;24t 10w: total 6.57ms
rlc a ;12t 9w : total 5.95ms
movx @dptr,a ;24t 8w : total 5.32ms 6w: total 4.06ms
dec dpl;
djnz r1,lop11 ;24t total 4.82ms (24 Mhz)
clr c ;12t
mov a,dpl ;12t dpl=#37h
addc a, x ;#fw12 ;#0a4h ;12t (12):(#80h+#24h)=#97h!!!
addc a,#80h ; x+#80h
mov dpl,a ;12t
mov a,dph ;12t dph
addc a,#00h ;12t
mov dph,a ;12t
djnz r2,lop12 ;24t r2=18h=24(rows)
wait11: jnb p1.7,wait11 ;24t
wait12: jb p1.7,wait12 ;24t
cpl p1.1 ;12t
djnz r5, page11 ;24t r5=8
;+++++++++++++++++++++++++++++++++++++++++++++++
mov r5,#08h ;12t *****************
mov r2,#18h
mov r0,y ;y--.a(10h)
dec r6 ;
cjne r6,#00h,kgn11
mov r6,#01h
kgn10: mov @r0,#00h
inc r0
djnz r2,kgn10
sjmp kgn13
kgn11: mov dpl,r3 ;pop dpl
mov dph,r7 ;pop dph
inc dptr
mov r7,dph ;push dph
mov r3,dpl ;push dpl
kgn12: movx a,@dptr
movx @r0,a
inc r0
clr c
mov a,dpl
addc a, #80h ;r7
mov dpl, a
mov a,dph
addc a,#00h
mov dph,a
djnz r2,kgn12
kgn13: djnz r4, page11 ;24t !!rout6w!! (r4)=
;*************************************************************************
ret
; USING 1
; delay60: ;11.0592Mhz
; push acc
; mov a,r3
; push acc
; mov a,r4
; push acc
; mov r3,#32h
; mov r4,#0ah
; delay10: nop
; nop
; djnz r4,delay10
; pop acc
; mov r4,a
; pop acc
; mov r3,a
; pop acc
; ret
using 1
delay20: ;24Mhz
push acc
mov a,r3
push acc
mov a,r4
push acc
mov r3,#32h
mov r4,#1ah
nop
nop
delay21: nop
nop
nop
djnz r4,delay21
pop acc
mov r4,a
pop acc
mov r3,a
pop acc
ret
;delay70:
;push acc ;24
; mov a,r3 ;12
; push acc ;24
; mov a,r4 ;12
; push acc ;24
; mov r3,#32h ;12
; mov r4,#0ah ;12
;delay11: nop ;12
; nop ;12
; djnz r4,delay11 ;24
; pop acc ;24
; mov r4,a ;12
; pop acc ;24
; mov r3,a ;12
; pop acc ;24
; ;nop;
; ;nop;
; ;nop
; ;nop
; ;nop
; ;nop
; ;push acc;
; ;pop acc;
; ;push acc;
; ;pop acc;
; ;nop
;delay71: push acc ;24
; mov a,r3 ;12
; push acc ;24
; mov a,r4 ;12
; push acc ;24
; mov r3,#32h ;12
; mov r4,#15h ;12
;delay12: nop ;12
; nop ;12
; djnz r4,delay12 ;24
; pop acc ;24
; mov r4,a ;12
; pop acc ;24
; mov r3,a ;12
; pop acc ;24
; ret
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -