Bill Meadows wrote: > > Can anyone please tell me why the following Pic16C84 code doesn't work! > ; > count equ 0c > countn equ 0d > countm equ 0e > shift equ 0f > > org 000 > start clrf portb bsf status,rp0 ;SELECT REG. BANK 1 > movlw 00 ;set port B > tris portb ; for output bcf status,rp0 ;SELECT REG. BANK 0 >; clrf portb ;all lines low (8 LED's off) > ; > movlw .9 ;number of > movwf count ; shifts > ; > bcf status, c ;clear carry flag > movlw b'00000001' ;store > movwf shift ; pattern > ; > repeat > movf shift, w ;get pattern > movwf portb ;display pattern > call delay ; slowly > rlf shift ;rotate pattern left > decfsz count ;count-1 to count register by default > goto repeat ;LEDs flash one at a time from right to left > done goto done ;program never gets to 'done'! > ; > delay ;Easy PIC'n pause routine(delay works great) > > movlw 0ff ;m > movwf countm ; to counter > loadn > movlw 0ff ;n > movwf countn ; to counter > decn > decfsz countn ;decrement n > goto decn ;again > decfsz countm ;decrement m > goto loadn ;again > return ;done > > Thanks for the help, > Bill Meadows Hi, Try this. Saras.