armcan solderpad

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