I like the idea but its weird as to what happens. I push the button which generates the interrupt. I watch the status of the "HoldB" variable which is the first statement in the ISR - and it does change to reflect the change on pin 2 or 3 (what ever is pressed) but then HoldB immediately switches back to reflect POrtB again. I don't get it?

Example:

- Push button
- bit 3 of Port B changes from high to low causing interrupt
- Goes to ISR
- HoldB grabs PortB status
- Pin 2 switches back to high state
- HoldB automatically changes also (this is the part I don't understand)

Here is the sample code I used:

Disable

MyISR:
HoldB = PortB ' copy Port B into HoldB

Pause 100
CV = CV + 1
endif
INTCON.0 = 0

Resume