Friends, I've got a routine that polls a switch and turns an LED on or off. I solved some of my earlier problems (subject: [OT] Newbie Toggle Woes...) by adding a debouncing scheme. I'm using the Kunz (1999) method of TMR0 and checking three times. Works great. However, if I hold the button down (RA1 is high), I get a flashing LED (RB1) - because it's toggling on and off. I've been staring at this thing for a few hours (trying stuff) and I can't seem to come up with a way to recognize if the switch is being held down. I am using a file register for the switch for status bits (and other future information), so I could probably set some more checking bits. The way I want it to behave is after it's debounced, and set on or off, stop checking until RA1 is low. I can't seem to figure out where to do this (I think the answer is in there). Almost like I need a "while" loop. I'm bummed. Trying to translate my higher-level language skills to ASM is a challenge. It would be cool if Tony Nixon would add a module in PinNPoke that is "What you did there works like this here" or "You're not in Kansas anymore". Also, I'm dying for a subroutine that I can pass parameters. This whole switch routine has to work for 4 switches. I'm thinking that if I throw the switch information in a "generic" register, I'll get what I want. Any clues? Not looking for code - just looking for a nudge to "discover" the best way. TIA -DO