001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048 | ;********************** Wipe In ***********************
cblock h'40'
wipei_lp
wipei_ladr
wipei_radr
wipei_ladrw
wipei_radrw
wipei_data
endc
wipe_in
movlw d'8' ;Set loop count
movwf wipei_lp ;Save loop count
movlw scrnwhd ;Set screen work head adr
movwf wipei_ladrw ;Save work adr(Left)
addlw d'15' ;Set work adr(Right)
movwf wipei_radrw ;Save work adr(Right)
movlw scrnhd ;Set screen head adr
movwf wipei_ladr ;Save write adr(Left)
addlw d'15' ;Set write adr(Right)
movwf wipei_radr ;Save write adr(Right)
wipei_loop
movf wipei_ladrw,w ;Read work adr(Left)
movwf fsr ;Set work adr
movf indf,w ;Read work data
movwf wipei_data ;Save data
movf wipei_ladr,w ;Read screen adr(Left)
movwf fsr ;Set screen adr
movf wipei_data,w ;Read data
movwf indf ;Write data(Left)
movf wipei_radrw,w ;Read work adr(Right)
movwf fsr ;Set work adr
movf indf,w ;Read work data
movwf wipei_data ;Save data
movf wipei_radr,w ;Read screen adr(Right)
movwf fsr ;Set screen adr
movf wipei_data,w ;Read data
movwf indf ;Write data(Right)
call led_cnt ;LED control
call t100m ;Wait 100 msec
incf wipei_ladrw,f ;Work adr(Left) + 1
decf wipei_radrw,f ;Work adr(Right) - 1
incf wipei_ladr,f ;Screen adr(Left) + 1
decf wipei_radr,f ;Screen adr(Right) - 1
decfsz wipei_lp,f ;Wipe end ?
goto wipei_loop ;No. Next
return |