ga600b.asm
来自「用于DSP中FLASH的擦除和编写程序」· 汇编 代码 · 共 2,997 行 · 第 1/5 页
ASM
2,997 行
clt
bld flag1,7
bld flag1,6
bst flag7,1
brtc jpychk1
rjmp jpychk90
jpychk1:
bst flag7,0
brtc jpychk2
rjmp jpychk3
jpychk2:
lds r16,pitch
cpi r16,35
brlo jpychk3
rjmp jpychk70
jpychk3:
rjmp jpychkwd
jpychkfl:
lds r15,flv
cpi r16,3
brlo jpychkfl1
ldi r16,8
sts errdisp,r16
rjmp jpyerr
jpychkfl1:
jpychkwd:
lds r16,wide
cpi r16,80
brlo jpychkwd1
ldi r16,1
sts errdisp,r16
rjmp jpyerr
jpychkwd1:
cpi r16,76
brlo jpychkwd2
ldi r16,0
sts errdisp,r16
rjmp jpyerr
jpychkwd2:
cpi r16,60
brsh jpychkwd3
ldi r16,0
sts errdisp,r16
rjmp jpyerr
jpychkwd3:
jpychkmg:
lds r16,sbm
cpi r16,6
brlo jpychkmg4
rjmp jpychkmg9
jpychkmg4:
lds r16,mtd
cpi r16,0
brsh jpychkmg5
ldi r16,5
sts errdisp,r16
rjmp jpyerr
jpychkmg5:
lds r16,mrsuml
lds r17,mrsumh
ldi r18,35
ldi r19,0
cp r16,r18
cpc r17,r19
brsh jpychkmg6
ldi r16,4
sts errdisp,r16
rjmp jpyerr
jpychkmg6:
nop
jpychkmg9:
jmp ga65
;- - - - -
jpychk70:
jpychk80:
jpychk90:
jpyexit:
lds r16,0x30 ;
call putc
jmp ga65
;- - - - -
jpyerr:
jmp main60
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
gbpchk:
;ctr=3
clr r16
sts note,r16
sts notev,r16
clt
bld flag1,7
bld flag1,6
bst flag7,1
brtc gbpchk1
rjmp gbpchk90
gbpchk1:
bst flag7,0
brtc gbpchk2
rjmp gbpchk3
gbpchk2:
lds r16,pitch
cpi r16,35
brlo gbpchk3
rjmp gbpchk70
gbpchk3:
rjmp gbpchkwd
gbpchkfl:
lds r15,flv
cpi r16,3
brlo gbpchkfl1
ldi r16,8
sts errdisp,r16
rjmp gbperr
gbpchkfl1:
gbpchkwd:
lds r16,wide
cpi r16,90
brlo gbpchkwd1
ldi r16,1
sts errdisp,r16
rjmp gbperr
gbpchkwd1:
cpi r16,86
brlo gbpchkwd2
ldi r16,0
sts errdisp,r16
rjmp gbperr
gbpchkwd2:
cpi r16,40
brsh gbpchkwd3
ldi r16,0
sts errdisp,r16
rjmp gbperr
gbpchkwd3:
gbpchkmg:
lds r16,sbm
cpi r16,6
brlo gbpchkmg4
rjmp gbpchkmg19
gbpchkmg4:
lds r16,mtd
cpi r16,10
brlo gbpchkmg5
rjmp gbpchkmg10
gbpchkmg5:
lds r16,mrsuml
lds r17,mrsumh
ldi r18,10
ldi r19,0
cp r16,r18
cpc r17,r19
brsh gbpchkmg6
ldi r16,4
sts errdisp,r16
rjmp gbperr
gbpchkmg6:
nop
nop
gbpchkmg10:
lds r16,mrl
cpi r16,30
brlo gbpchkmg15
lds r16,mrr
cpi r16,30
brlo gbpchkmg15
lds r16,mrl1
cpi r16,30
brlo gbpchkmg15
lds r16,mrr1
cpi r16,30
brlo gbpchkmg15
lds r16,mrl2
cpi r16,30
brlo gbpchkmg15
lds r16,mrl2
cpi r16,30
brlo gbpchkmg15
ldi r16,4
sts errdisp,r16
rjmp gbperr
gbpchkmg15:
nop
gbpchkmg16:
clr r20
lds r16,mrl
cpi r16,40
brlo gbpchkmg16a1
inc r20
gbpchkmg16a1:
lds r16,mrr
cpi r16,40
brlo gbpchkmg16a2
inc r20
gbpchkmg16a2:
lds r16,mrl1
cpi r16,40
brlo gbpchkmg16a3
inc r20
gbpchkmg16a3:
lds r16,mrr1
cpi r16,40
brlo gbpchkmg16a4
inc r20
gbpchkmg16a4:
lds r16,mrl2
cpi r16,40
brlo gbpchkmg16a5
inc r20
gbpchkmg16a5:
lds r16,mrl2
cpi r16,40
brlo gbpchkmg16a6
inc r20
gbpchkmg16a6:
cpi r20,4
brlo gbpchkmg16a7
ldi r16,4
sts errdisp,r16
rjmp gbperr
gbpchkmg16a7:
nop
gbpchkmg19:
jmp ga65
;- - - - -
gbpchk70:
gbpchk80:
gbpchk90:
gbpexit:
lds r16,0x30 ;
call putc
jmp ga65
;- - - - -
gbperr:
jmp main60
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
hkdchk:
;ctr=4
clr r16
sts note,r16
sts notev,r16
clt
bld flag1,7
bld flag1,6
bst flag7,2
brtc hkdchk1
rjmp hkdchk90
hkdchk1:
bst flag7,0
brtc hkdchk2
rjmp hkdchk3
hkdchk2:
lds r16,pitch
cpi r16,35
brlo hkdchk3
rjmp hkdchk70
hkdchk3:
rjmp hkdchkwd
hkdchkfl:
lds r15,flv
cpi r16,3
brlo hkdchkfl1
ldi r16,8
sts errdisp,r16
rjmp hkderr
hkdchkfl1:
hkdchkwd:
lds r16,wide
cpi r16,86
brlo hkdchkwd1
ldi r16,1
sts errdisp,r16
rjmp hkderr
hkdchkwd1:
cpi r16,82
brlo hkdchkwd2
ldi r16,0
sts errdisp,r16
rjmp hkderr
hkdchkwd2:
cpi r16,40
brsh hkdchkwd3
ldi r16,0
sts errdisp,r16
rjmp hkderr
hkdchkwd3:
hkdchkmg:
lds r16,sbm
cpi r16,6
brlo hkdchkmg4
rjmp hkdchkmg19
hkdchkmg4:
lds r16,mtd
cpi r16,6
brlo hkdchkmg5
rjmp hkdchkmg10
hkdchkmg5:
lds r16,mrsuml
lds r17,mrsumh
ldi r18,5
ldi r19,0
cp r16,r18
cpc r17,r19
brsh hkdchkmg6
ldi r16,4
sts errdisp,r16
rjmp hkderr
hkdchkmg6:
nop
hkdchkmg10:
lds r16,mrl
cpi r16,30
brlo hkdchkmg15
lds r16,mrr
cpi r16,30
brlo hkdchkmg15
lds r16,mrl1
cpi r16,30
brlo hkdchkmg15
lds r16,mrr1
cpi r16,30
brlo hkdchkmg15
lds r16,mrl2
cpi r16,30
brlo hkdchkmg15
lds r16,mrl2
cpi r16,30
brlo hkdchkmg15
ldi r16,4
sts errdisp,r16
rjmp hkderr
hkdchkmg15:
nop
hkdchkmg16:
clr r20
lds r16,mrl
cpi r16,40
brlo hkdchkmg16a1
inc r20
hkdchkmg16a1:
lds r16,mrr
cpi r16,40
brlo hkdchkmg16a2
inc r20
hkdchkmg16a2:
lds r16,mrl1
cpi r16,40
brlo hkdchkmg16a3
inc r20
hkdchkmg16a3:
lds r16,mrr1
cpi r16,40
brlo hkdchkmg16a4
inc r20
hkdchkmg16a4:
lds r16,mrl2
cpi r16,40
brlo hkdchkmg16a5
inc r20
hkdchkmg16a5:
lds r16,mrl2
cpi r16,40
brlo hkdchkmg16a6
inc r20
hkdchkmg16a6:
cpi r20,4
brlo hkdchkmg16a7
ldi r16,4
sts errdisp,r16
rjmp hkderr
hkdchkmg16a7:
nop
hkdchkmg19:
jmp ga65
;- - - - -
hkdchk70:
hkdchk80:
hkdchk90:
hkdexit:
lds r16,0x30 ;
call putc
jmp ga65
;- - - - -
hkderr:
jmp main60
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cnychk:
jmp ga65
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
usdchk:
usdchk10:
bst flag7,1
brts usdchk11
rjmp usdchk20
usdchk11:
lds r16,mrsuml
lds r17,mrsumh
ldi r18,20
ldi r19,0
cp r16,r18
cpc r17,r19
brsh usdchk19
ldi r16,20
sts errdisp,r16
jmp main60
usdchk19:
jmp ga65
usdchk20:
lds r16,wide
cpi r16,80
brlo usdchk21
ldi r16,1
sts errdisp,r16
jmp main60
usdchk21:
cpi r16,61
brlo usdchk22
ldi r16,0
sts errdisp,r16
jmp main60
usdchk22:
cpi r16,48
brsh usdchk23
ldi r16,0
sts errdisp,r16
jmp main60
usdchk23:
usdchk30:
bst flag6,1
brts usdchk31
rjmp usdchk40
usdchk31:
bst flag1,7
brts usdchk32
jmp usdqcnf
usdchk32:
jmp usdqcf
usdchk40:
bst flag1,7
brts usdchk42
jmp usdzcnf
usdchk42:
jmp usdzcf
;- - - - - - - - - - - - - - - - -
usdzcf:
ldi r16,0
sts note,r16
lds r16,usdnote
cpi r16,1
brne usdzcf1
jmp usdzcf10
usdzcf1:
cpi r16,2
brne usdzcf2
jmp usdzcf20
usdzcf2:
cpi r16,3
brne usdzcf3
jmp usdzcf30
usdzcf3:
jmp usdzcf50
;- - - - -
usdzcf10:
nop
usdzcf11a:
call usd100cmr
cpi r22,0
breq usdzcf11a1
rjmp usdzcf12
usdzcf11a1:
call usd100cir
cpi r22,0
breq usdzcf11a2
rjmp usdzcf12
usdzcf11a2:
call usd100cirm
cpi r22,0
breq usdzcf11a3
rjmp usdzcf12
usdzcf11a3:
ldi r16,100
sts note,r16
clt
bld flag1,7
set
bld flag1,6
jmp ga65
usdzcf12:
call usd99cmr
cpi r22,0
breq usdzcf12a1
rjmp usdzcf13
usdzcf12a1:
call usd99cir
cpi r22,0
breq usdzcf12a2
rjmp usdzcf13
usdzcf12a2:
call usd99cirm
cpi r22,0
breq usdzcf12a3
rjmp usdzcf13
usdzcf12a3:
ldi r16,99
sts note,r16
clt
bld flag1,7
set
bld flag1,6
jmp ga65
usdzcf13:
ldi r16,20
sts errdisp,r16
jmp main60
;- - -
usdzcf20:
nop
usdzcf21:
call usd50cmr
cpi r22,0
breq usdzcf21a1
rjmp usdzcf22
usdzcf21a1:
call usd50cir
cpi r22,0
breq usdzcf21a2
rjmp usdzcf22
usdzcf21a2:
call usd50cirm
cpi r22,0
breq usdzcf21a3
rjmp usdzcf22
usdzcf21a3:
ldi r16,50
sts note,r16
clt
bld flag1,7
set
bld flag1,6
jmp ga65
;- - - -
usdzcf22:
call usd51cmr
cpi r22,0
br
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?