summaryrefslogtreecommitdiff
path: root/electronics/asm/7.asm
blob: 4d7585c11ffe55e412d0994c56217ab776ffdc21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
start: 
init: 
	clrf     PORTA          ; make sure port A output latches are low 
	clrf     PORTB          ; make sure port B output latches are low 
	bsf      STATUS,RP0     ; select memory bank 1 
	movlw 	 b'11111111'    ; set port A data direction to inputs 
	movwf 	 TRISA         
	movlw 	 b'00000000'    ; set port B data direction to outputs 
	movwf 	 TRISB          
	bcf      STATUS,RP0     ; select memory bank 0 

	VARA 	 equ B20
	VARB 	 equ B21

	goto     main 
main: 
	btfsc	 PORTA, 0
	incf	 VARA, 0

	btfsc	 PORTA, 1
	goto 	 NEXTVAR
	
	goto 	 main

NEXTVAR:
	btfsc	 PORTA, 0
	incf	 VARB, 0

	btfsc	 PORTA, 1
	goto 	 ADDITION

	goto 	 NEXTVAR

ADDITION:
	movlw	 0
	addwf	 VARA, 0
	addwf	 VARB, 0
	
	movwf	 PORTB

	END		        ; ends the program