ich würde mal grob sagen:

du beginnst mit subsection mit "call subblubb" aufrufen
dann:
Code:
subblubb:

	movlw 	0x10            ; hier gewünschten Wert (das ist dein i)
	movwf 	DVAR           ; Delay-Variable wird runtergezaehlt

PLoop:
	decfsz	DVAR,F          ; DVAR wird runtergezaehlt, die goto-Anweisung

...auszuführender code............

	goto PLoop
return