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:
Looking at the bottom of the generated ASM file I find this: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 ENDIFThis 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"?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
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.





Bookmarks