5.asm (831B)
1 start: 2 init: 3 clrf PORTA ; make sure port A output latches are low 4 clrf PORTB ; make sure port B output latches are low 5 bsf STATUS,RP0 ; select memory bank 1 6 movlw b'11111111' ; set port A data direction to inputs 7 movwf TRISA 8 movlw b'00000000' ; set port B data direction to outputs 9 movwf TRISB 10 bcf STATUS,RP0 ; select memory bank 0 11 goto main 12 13 main: 14 btfsc PORTA, 0 15 goto led0 16 17 btfsc PORTA, 1 18 goto led1 19 20 btfsc PORTA, 2 21 goto led2 22 23 call wait1000ms 24 call wait1000ms 25 26 movlw b'00000000' 27 movwf PORTB 28 goto main 29 30 led0: 31 movlw b'00000001' 32 movwf PORTB 33 goto main 34 35 led1: 36 movlw b'00000010' 37 movwf PORTB 38 goto main 39 40 led2: 41 movlw b'00000100' 42 movwf PORTB 43 goto main 44 45 end ; ends the program