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 | ;******************* Wipe to Left *********************
cblock h'40'
wipel_lp
wipel_adr
wipel_adrw
wipel_data
endc
wipe_left
movlw d'16' ;Set loop count
movwf wipel_lp ;Save loop count
movlw scrnwhd ;Set screen work head adr
addlw d'15' ;Set work adr
movwf wipel_adrw ;Save work adr
movlw scrnhd ;Set screen head adr
addlw d'15' ;Set write adr
movwf wipel_adr ;Save write adr
wipel_loop
movf wipel_adrw,w ;Read work adr
movwf fsr ;Set work adr
movf indf,w ;Read work data
movwf wipel_data ;Save data
movf wipel_adr,w ;Read screen adr
movwf fsr ;Set screen adr
movf wipel_data,w ;Read data
movwf indf ;Write data to screen
call led_cnt ;LED control
call t100m ;Wait 100 msec
decf wipel_adr,f ;Screen adr - 1
decf wipel_adrw,f ;Work adr - 1
decfsz wipel_lp,f ;Wipe end ?
goto wipel_loop ;No. Next
return |