the ASM example i have is one where a set pin is used to output , but i required pins to be multi as per my other code , my asm sucks , another area to get better at
Code:

Pulse:              ' Generate "Cycles" number of 40kHz pulses
ASM                 ; Keep this routine in code page 1, and jump over to Main
   	BSF	IRTX,PIN		      ; 1 MAKE IR HIGH 35% Duty cycle = 9 uS
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	BCF	IRTX,PIN		      ; 1 MAKE IR LOW 17 uS
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	DECFSZ	Cycles,F	
	GOTO	_Pulse	      ; 2    26 uS
ENDASM
   return           ' Return to caller