Hi,
I'm trying to find what ASM code PBP produces for a specific routine. I'm doing this for two reasons:
1) To learn more about ASM and how PBP works and
2) To find out which system variables and registers the routine may use. (So I can save only the needed ones during a "PBP ASM interrupt")

For example, I compile this code:
Code:
If PIR1.5 THEN
  RxBuffer[RxPtr] = RCREG
  If RxBuffer[RxPtr] = 13 THEN
   ReceivedCR = 1
  ENDIF

RxPtr = RxPtr + 1

If RxPtr = BufferLength THEN
  RxPtr = 0
ENDIF
Looking at the bottom of the generated ASM file I find this:
Code:
AIN?BBB	RCREG, _RxBuffer, _RxPtr
AOUT?BBB	_RxBuffer, _RxPtr, T1
CMPNE?BCL	T1, 00Dh, L00003
MOVE?CT	001h, _ReceivedCR
LABEL?L	L00003	
ADD?BCB	_RxPtr, 001h, _RxPtr
CMPNE?BCL	_RxPtr, _BufferLength, L00005
MOVE?CB	000h, _RxPtr
LABEL?L	L00005	
LABEL?L	L00001	

END
This doesn't look much like the ASM I've seen before.... ;-) But between the above ASM file and the LST file I think I've come to the conclusion that I need to save T1 and the FSR0 registers for the above PBP code to work as an "ASM interrupt" without disturbing the PBP main program. Or is it not that "simple"?

I guess my question is: Is there a way to get a file containing only the ASM code that will actually generate the final .hex file and not all the "extra" that is in the LST file?

Thanks!
/Henrik.