-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathl2_1.lst
176 lines (161 loc) · 5.9 KB
/
l2_1.lst
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
l2_1.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 000000d6 0000016a 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 000000d6 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 000003e8 00800100 00800100 0000016a 2**0
ALLOC
3 .stab 000005ac 00000000 00000000 0000016c 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000c84 00000000 00000000 00000718 2**0
CONTENTS, READONLY, DEBUGGING
5 .comment 00000011 00000000 00000000 0000139c 2**0
CONTENTS, READONLY
6 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000013b0 2**2
CONTENTS, READONLY
7 .debug_info 000005f4 00000000 00000000 000013f0 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000005a2 00000000 00000000 000019e4 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 0000001a 00000000 00000000 00001f86 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 00000208 00000000 00000000 00001fa0 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end>
4: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
8: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
c: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
10: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
14: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
18: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
1c: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
20: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
24: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
28: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
2c: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
30: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
34: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
38: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
3c: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
40: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
44: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
48: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
4c: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
50: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
54: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
58: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
5c: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
60: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
64: 0c 94 46 00 jmp 0x8c ; 0x8c <__bad_interrupt>
00000068 <__ctors_end>:
68: 11 24 eor r1, r1
6a: 1f be out 0x3f, r1 ; 63
6c: cf ef ldi r28, 0xFF ; 255
6e: d8 e0 ldi r29, 0x08 ; 8
70: de bf out 0x3e, r29 ; 62
72: cd bf out 0x3d, r28 ; 61
00000074 <__do_clear_bss>:
74: 24 e0 ldi r18, 0x04 ; 4
76: a0 e0 ldi r26, 0x00 ; 0
78: b1 e0 ldi r27, 0x01 ; 1
7a: 01 c0 rjmp .+2 ; 0x7e <.do_clear_bss_start>
0000007c <.do_clear_bss_loop>:
7c: 1d 92 st X+, r1
0000007e <.do_clear_bss_start>:
7e: a8 3e cpi r26, 0xE8 ; 232
80: b2 07 cpc r27, r18
82: e1 f7 brne .-8 ; 0x7c <.do_clear_bss_loop>
84: 0e 94 48 00 call 0x90 ; 0x90 <main>
88: 0c 94 69 00 jmp 0xd2 ; 0xd2 <_exit>
0000008c <__bad_interrupt>:
8c: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
00000090 <main>:
uint8_t tab[1000];
int main()
{//konfigurowanie portow
LEDs_DDR |= 0b11100000;
90: 8a b1 in r24, 0x0a ; 10
92: 80 6e ori r24, 0xE0 ; 224
94: 8a b9 out 0x0a, r24 ; 10
LEDs_PORT &= 0b00000000;
96: 8b b1 in r24, 0x0b ; 11
98: 1b b8 out 0x0b, r1 ; 11
BUTTON_DDR &= 0b11111110;
9a: 38 98 cbi 0x07, 0 ; 7
BUTTON_PORT |= 0b00000001;
9c: 40 9a sbi 0x08, 0 ; 8
// program testowany
uint8_t num = 0;
9e: 80 e0 ldi r24, 0x00 ; 0
LEDs_PORT |=0b10000000;
else
LEDs_PORT &=0b01111111;
//czy naciśnięto guzik
if (!(PINC & 0b00000001) ){
tab[num]=1;
a0: 21 e0 ldi r18, 0x01 ; 1
a2: 0b c0 rjmp .+22 ; 0xba <main+0x2a>
uint8_t num = 0;
while(1) {
if(num>=1000)
num-=1000;
if(tab[num])
LEDs_PORT |=0b10000000;
a4: 5f 9a sbi 0x0b, 7 ; 11
else
LEDs_PORT &=0b01111111;
//czy naciśnięto guzik
if (!(PINC & 0b00000001) ){
a6: 30 99 sbic 0x06, 0 ; 6
a8: 12 c0 rjmp .+36 ; 0xce <main+0x3e>
tab[num]=1;
aa: 20 83 st Z, r18
} else
tab[num]=0;
num++;
ac: 8f 5f subi r24, 0xFF ; 255
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
ae: ef e9 ldi r30, 0x9F ; 159
b0: ff e0 ldi r31, 0x0F ; 15
b2: 31 97 sbiw r30, 0x01 ; 1
b4: f1 f7 brne .-4 ; 0xb2 <main+0x22>
b6: 00 c0 rjmp .+0 ; 0xb8 <main+0x28>
b8: 00 00 nop
// program testowany
uint8_t num = 0;
while(1) {
if(num>=1000)
num-=1000;
if(tab[num])
ba: e8 2f mov r30, r24
bc: f0 e0 ldi r31, 0x00 ; 0
be: e0 50 subi r30, 0x00 ; 0
c0: ff 4f sbci r31, 0xFF ; 255
c2: 90 81 ld r25, Z
c4: 91 11 cpse r25, r1
c6: ee cf rjmp .-36 ; 0xa4 <main+0x14>
LEDs_PORT |=0b10000000;
else
LEDs_PORT &=0b01111111;
c8: 5f 98 cbi 0x0b, 7 ; 11
//czy naciśnięto guzik
if (!(PINC & 0b00000001) ){
ca: 30 9b sbis 0x06, 0 ; 6
cc: ee cf rjmp .-36 ; 0xaa <main+0x1a>
tab[num]=1;
} else
tab[num]=0;
ce: 10 82 st Z, r1
d0: ed cf rjmp .-38 ; 0xac <main+0x1c>
000000d2 <_exit>:
d2: f8 94 cli
000000d4 <__stop_program>:
d4: ff cf rjmp .-2 ; 0xd4 <__stop_program>