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 + -
显示快捷键?