armcan / pic / boot.asm
670 B · raw
#define Erase 1
#define Poff 4
#define LoopCtr 0x10
INCLUDE "P10F200.inc"
org 0
nop
clrwdt
bcf OSCCAL,0
clrf GPIO ; all outputs low
movlw 0
tris GPIO; all pins are output
movlw 0xc7
option
movlw 0
tris GPIO
movlw 0
movwf OSCCAL
Loop:
movlw Erase
movwf GPIO
call dlyLong
movlw Poff
movwf GPIO
call dlyShort
movlw 0
movwf GPIO
fin:
goto fin
;goto Loop
dlyLong:
movlw 7
goto dly
dlyShort:
movlw 1
dly:
movwf LoopCtr
dly2:
movlw 1
movwf TMR0
dly1:
movlw 0
subwf TMR0, 0
btfss STATUS, Z
goto dly1
nop
decf LoopCtr, 1
btfss STATUS, Z
goto dly2
retlw 0
end