school

thing1's amazing school repo
Log | Files | Refs | Submodules | README

7.asm (760B)


      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 
     12 	VARA 	 equ B20
     13 	VARB 	 equ B21
     14 
     15 	goto     main 
     16 main: 
     17 	btfsc	 PORTA, 0
     18 	incf	 VARA, 0
     19 
     20 	btfsc	 PORTA, 1
     21 	goto 	 NEXTVAR
     22 	
     23 	goto 	 main
     24 
     25 NEXTVAR:
     26 	btfsc	 PORTA, 0
     27 	incf	 VARB, 0
     28 
     29 	btfsc	 PORTA, 1
     30 	goto 	 ADDITION
     31 
     32 	goto 	 NEXTVAR
     33 
     34 ADDITION:
     35 	movlw	 0
     36 	addwf	 VARA, 0
     37 	addwf	 VARB, 0
     38 	
     39 	movwf	 PORTB
     40 
     41 	END		        ; ends the program