You cannot use a basic ISR
Hi,
It is very unclear what you are doing with your ISR. While you are using the asm interrupt you cannot mix it up with basic code. That will overwrite your PBP system variables and you will get weird results. As for the 18F series if you are not using calls within your asm code. You can simply use retfie fast to restore your W,S and FSR without saving them. This is a single level shadow stack featured in the 18F series.
Please post your basic code
Hi,
What are you doing inside the basic routine ? If you are sure that you program is not taking much time for a single example then depending on the input baud rate / execution speed you can even handle the entire stuff in PBP. But if it needs to be fast then it is best to write in asm completely. Saving the PBP variables can be a little tricky if your code grows with future requirement. As you mentioned you are new to asm (so am I) give it a try and there are guys out here who can help. Keep the Faith