Hi Robert, a couple of things I might have done differently, just out of personal preference not to get bogged down in unnecessary problems I generally wouldn't do a goto $ + 3. goto +/- 1 or bra +/- 2 I'm OK with, but further than that I'd use a label, eg goto DecTmrE. Without a label to jump to, later code editing can easily miss the destination of the goto or bra xorwf could be a source of read-modify-write issues on those PICs without an output latch movlw LED_MASK ; Sound a tone to remind the user that xorwf GPIO,f ; the door is open. The xorwf reads the port and then writes the modified value back to it. In some situations this could cause unexpected pin values, leading to much head scratching and profane language Modifying a shadow register is safer. Something like movfw gpio ;read port movwf shadow ;into shadow register movlw led_mask ;modify shadow register xorwf shadow,w movwf gpio ;write it to port http://www.piclist.com/techref/readmodwrite.htm Joe --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .