I wrote the listing below and it assembled fine and it runs on the microchip simulator. I have programmed the 16c84 with the serial programmer and the code reads back fine which confirms that it has been programmed but when I put the PIC in circuit nothing happens. I am holding the MCLR line high and am using a 4MHz crystal with 15p capacitors to ground and LEDs on port b outputs. Is this circuit correct and does the code check out ok? (reset vector etc.?) Any help would be appreciated. (If I can't get this working, there's not much hope for anything more advanced!) count1 equ 0C count2 equ 0D portb equ 06 org 0 init movlw 0 tris portb ; set as outputs movwf portb ; set portb levels all low start bsf portb,0 ; set working reg bit 0 high rot_L call wait rlf portb,same btfss portb,7 goto rot_L rot_R call wait rrf portb,same btfss portb,0 goto rot_R goto rot_L ; ---------------------------- ; wait subroutine ; ---------------------------- wait movlw .4 ; load count1 with decimal 4 movwf count1 d1 movlw .100 ; load count2 with decimal 100 movwf count2 d2 decfsz count2,same ; decrement and skip next line if zero goto d2 ; if not zero decfsz count1 ; decrement count1 if count2 is zero goto d1 ; do inside loop again if count2 nz retlw 00 ; ---------------------------- END -- /\/\att.