0e310459e59aa07489d53c1a84fe66e94cb8bc68
[my-code/atmel.git] / beginners / test_port_d.asm
1 .include "../include/2313def.inc"
2
3 INIT:
4 ldi r31,0
5 ldi r30,0
6 ldi r29,0
7 out DDRD,r29 ; select all pins as input
8 jmp DECIDE
9
10 DECIDE:
11 adiw r30,1
12 cp r30,0
13 breq SET_0
14 cp r30,1
15 breq SET_1
16 cp r30,2
17 breq SET_2
18 ldi r30,0
19 jmp DECIDE
20
21 SET_0:
22 ldi r16,0
23 sbr r16,14
24 out PORTD,r16
25 jmp WAIT
26  
27 SET_1:
28 ldi r16,0
29 sbr r16,48
30 out PORTD,r16
31 jmp WAIT
32
33 SET_2:
34 ldi r16,0
35 sbr r16,42
36 out PORTD,r16
37 jmp WAIT
38
39 WAIT:
40 adiw r31,1
41 cpi r31,0xff
42 breq RESET
43 jmp WAIT
44
45 RESET:
46 ldi r31,0
47 jmp DECIDE