i'm not 100% sure but close to be. Please someone shoot me if i'm not correct.
  1. You can't use a gosub in a ISR
  2. You can't use var definition elsewhere than at the begining... There's no local variable in PBP.
  3. :ISR should be ISR:

without checking in the datasheet, this is the firsts thing that spring to mind.