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 | ;******************* Wipe to Right ********************
cblock h'40'
wiper_lp
wiper_adr
wiper_adrw
wiper_data
endc
wipe_right
movlw d'16' ;Set loop count
movwf wiper_lp ;Save loop count
movlw scrnwhd ;Set screen work head adr
movwf wiper_adrw ;Save work adr
movlw scrnhd ;Set screen head adr
movwf wiper_adr ;Save write adr
wiper_loop
movf wiper_adrw,w ;Read work adr
movwf fsr ;Set work adr
movf indf,w ;Read work data
movwf wiper_data ;Save data
movf wiper_adr,w ;Read screen adr
movwf fsr ;Set screen adr
movf wiper_data,w ;Read data
movwf indf ;Write data to screen
call led_cnt ;LED control
call t100m ;Wait 100 msec
incf wiper_adr,f ;Screen adr + 1
incf wiper_adrw,f ;Work adr + 1
decfsz wiper_lp,f ;Wipe end ?
goto wiper_loop ;No. Next
return |