avr-lib-uart/Release/avr-lib-uart.lss
2017-09-25 23:35:01 +02:00

447 lines
16 KiB
Plaintext

avr-lib-uart.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 0000000a 00800100 0000036a 000003fe 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000036a 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000021 0080010a 0080010a 00000408 2**0
ALLOC
3 .comment 00000011 00000000 00000000 00000408 2**0
CONTENTS, READONLY
4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000041c 2**2
CONTENTS, READONLY
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end>
4: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
8: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
10: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
14: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
18: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
1c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
20: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
24: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
28: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
2c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
30: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
34: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
38: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
3c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
40: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
44: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
48: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
4c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
50: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
54: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
58: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
5c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
60: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
64: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__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: d4 e0 ldi r29, 0x04 ; 4
70: de bf out 0x3e, r29 ; 62
72: cd bf out 0x3d, r28 ; 61
00000074 <__do_copy_data>:
74: 11 e0 ldi r17, 0x01 ; 1
76: a0 e0 ldi r26, 0x00 ; 0
78: b1 e0 ldi r27, 0x01 ; 1
7a: ea e6 ldi r30, 0x6A ; 106
7c: f3 e0 ldi r31, 0x03 ; 3
7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10>
80: 05 90 lpm r0, Z+
82: 0d 92 st X+, r0
84: aa 30 cpi r26, 0x0A ; 10
86: b1 07 cpc r27, r17
88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc>
0000008a <__do_clear_bss>:
8a: 21 e0 ldi r18, 0x01 ; 1
8c: aa e0 ldi r26, 0x0A ; 10
8e: b1 e0 ldi r27, 0x01 ; 1
90: 01 c0 rjmp .+2 ; 0x94 <.do_clear_bss_start>
00000092 <.do_clear_bss_loop>:
92: 1d 92 st X+, r1
00000094 <.do_clear_bss_start>:
94: ab 32 cpi r26, 0x2B ; 43
96: b2 07 cpc r27, r18
98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop>
9a: 0e 94 64 01 call 0x2c8 ; 0x2c8 <main>
9e: 0c 94 b3 01 jmp 0x366 ; 0x366 <_exit>
000000a2 <__bad_interrupt>:
a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000a6 <uart_init>:
a6: 88 e1 ldi r24, 0x18 ; 24
a8: 80 93 c1 00 sts 0x00C1, r24 ; 0x8000c1 <__TEXT_REGION_LENGTH__+0x7e00c1>
ac: 86 e0 ldi r24, 0x06 ; 6
ae: 80 93 c2 00 sts 0x00C2, r24 ; 0x8000c2 <__TEXT_REGION_LENGTH__+0x7e00c2>
b2: 10 92 c5 00 sts 0x00C5, r1 ; 0x8000c5 <__TEXT_REGION_LENGTH__+0x7e00c5>
b6: 83 e3 ldi r24, 0x33 ; 51
b8: 80 93 c4 00 sts 0x00C4, r24 ; 0x8000c4 <__TEXT_REGION_LENGTH__+0x7e00c4>
bc: 08 95 ret
000000be <uart_sendChar>:
be: 90 91 c0 00 lds r25, 0x00C0 ; 0x8000c0 <__TEXT_REGION_LENGTH__+0x7e00c0>
c2: 95 ff sbrs r25, 5
c4: fc cf rjmp .-8 ; 0xbe <uart_sendChar>
c6: 80 93 c6 00 sts 0x00C6, r24 ; 0x8000c6 <__TEXT_REGION_LENGTH__+0x7e00c6>
ca: 08 95 ret
000000cc <uart_sendString>:
cc: cf 93 push r28
ce: df 93 push r29
d0: ec 01 movw r28, r24
d2: 89 91 ld r24, Y+
d4: 88 23 and r24, r24
d6: 19 f0 breq .+6 ; 0xde <uart_sendString+0x12>
d8: 0e 94 5f 00 call 0xbe ; 0xbe <uart_sendChar>
dc: fa cf rjmp .-12 ; 0xd2 <uart_sendString+0x6>
de: df 91 pop r29
e0: cf 91 pop r28
e2: 08 95 ret
000000e4 <uart_sendInt>:
e4: cf 93 push r28
e6: df 93 push r29
e8: cd b7 in r28, 0x3d ; 61
ea: de b7 in r29, 0x3e ; 62
ec: 27 97 sbiw r28, 0x07 ; 7
ee: 0f b6 in r0, 0x3f ; 63
f0: f8 94 cli
f2: de bf out 0x3e, r29 ; 62
f4: 0f be out 0x3f, r0 ; 63
f6: cd bf out 0x3d, r28 ; 61
f8: 4a e0 ldi r20, 0x0A ; 10
fa: be 01 movw r22, r28
fc: 6f 5f subi r22, 0xFF ; 255
fe: 7f 4f sbci r23, 0xFF ; 255
100: 0e 94 7e 01 call 0x2fc ; 0x2fc <__itoa_ncheck>
104: ce 01 movw r24, r28
106: 01 96 adiw r24, 0x01 ; 1
108: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
10c: 27 96 adiw r28, 0x07 ; 7
10e: 0f b6 in r0, 0x3f ; 63
110: f8 94 cli
112: de bf out 0x3e, r29 ; 62
114: 0f be out 0x3f, r0 ; 63
116: cd bf out 0x3d, r28 ; 61
118: df 91 pop r29
11a: cf 91 pop r28
11c: 08 95 ret
0000011e <uart_sendBinary>:
11e: cf 93 push r28
120: df 93 push r29
122: cd b7 in r28, 0x3d ; 61
124: de b7 in r29, 0x3e ; 62
126: 27 97 sbiw r28, 0x07 ; 7
128: 0f b6 in r0, 0x3f ; 63
12a: f8 94 cli
12c: de bf out 0x3e, r29 ; 62
12e: 0f be out 0x3f, r0 ; 63
130: cd bf out 0x3d, r28 ; 61
132: 42 e0 ldi r20, 0x02 ; 2
134: be 01 movw r22, r28
136: 6f 5f subi r22, 0xFF ; 255
138: 7f 4f sbci r23, 0xFF ; 255
13a: 0e 94 7e 01 call 0x2fc ; 0x2fc <__itoa_ncheck>
13e: ce 01 movw r24, r28
140: 01 96 adiw r24, 0x01 ; 1
142: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
146: 27 96 adiw r28, 0x07 ; 7
148: 0f b6 in r0, 0x3f ; 63
14a: f8 94 cli
14c: de bf out 0x3e, r29 ; 62
14e: 0f be out 0x3f, r0 ; 63
150: cd bf out 0x3d, r28 ; 61
152: df 91 pop r29
154: cf 91 pop r28
156: 08 95 ret
00000158 <uart_sendHex>:
158: cf 93 push r28
15a: df 93 push r29
15c: cd b7 in r28, 0x3d ; 61
15e: de b7 in r29, 0x3e ; 62
160: 27 97 sbiw r28, 0x07 ; 7
162: 0f b6 in r0, 0x3f ; 63
164: f8 94 cli
166: de bf out 0x3e, r29 ; 62
168: 0f be out 0x3f, r0 ; 63
16a: cd bf out 0x3d, r28 ; 61
16c: 40 e1 ldi r20, 0x10 ; 16
16e: be 01 movw r22, r28
170: 6f 5f subi r22, 0xFF ; 255
172: 7f 4f sbci r23, 0xFF ; 255
174: 0e 94 7e 01 call 0x2fc ; 0x2fc <__itoa_ncheck>
178: ce 01 movw r24, r28
17a: 01 96 adiw r24, 0x01 ; 1
17c: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
180: 27 96 adiw r28, 0x07 ; 7
182: 0f b6 in r0, 0x3f ; 63
184: f8 94 cli
186: de bf out 0x3e, r29 ; 62
188: 0f be out 0x3f, r0 ; 63
18a: cd bf out 0x3d, r28 ; 61
18c: df 91 pop r29
18e: cf 91 pop r28
190: 08 95 ret
00000192 <uart_sendLF>:
192: 8a e0 ldi r24, 0x0A ; 10
194: 0c 94 5f 00 jmp 0xbe ; 0xbe <uart_sendChar>
00000198 <uart_receiveChar>:
198: 80 91 c0 00 lds r24, 0x00C0 ; 0x8000c0 <__TEXT_REGION_LENGTH__+0x7e00c0>
19c: 87 ff sbrs r24, 7
19e: fc cf rjmp .-8 ; 0x198 <uart_receiveChar>
1a0: 80 91 c6 00 lds r24, 0x00C6 ; 0x8000c6 <__TEXT_REGION_LENGTH__+0x7e00c6>
1a4: 08 95 ret
000001a6 <uart_receiveString>:
1a6: 1f 93 push r17
1a8: cf 93 push r28
1aa: df 93 push r29
1ac: 0e 94 cc 00 call 0x198 ; 0x198 <uart_receiveChar>
1b0: ca e0 ldi r28, 0x0A ; 10
1b2: d1 e0 ldi r29, 0x01 ; 1
1b4: 1c 2f mov r17, r28
1b6: 10 5e subi r17, 0xE0 ; 224
1b8: 8a 30 cpi r24, 0x0A ; 10
1ba: 41 f0 breq .+16 ; 0x1cc <uart_receiveString+0x26>
1bc: 88 23 and r24, r24
1be: 31 f0 breq .+12 ; 0x1cc <uart_receiveString+0x26>
1c0: 1c 17 cp r17, r28
1c2: 21 f0 breq .+8 ; 0x1cc <uart_receiveString+0x26>
1c4: 89 93 st Y+, r24
1c6: 0e 94 cc 00 call 0x198 ; 0x198 <uart_receiveChar>
1ca: f6 cf rjmp .-20 ; 0x1b8 <uart_receiveString+0x12>
1cc: 18 82 st Y, r1
1ce: 8a e0 ldi r24, 0x0A ; 10
1d0: 91 e0 ldi r25, 0x01 ; 1
1d2: df 91 pop r29
1d4: cf 91 pop r28
1d6: 1f 91 pop r17
1d8: 08 95 ret
000001da <led_initPorts>:
1da: 8a b1 in r24, 0x0a ; 10
1dc: 80 6e ori r24, 0xE0 ; 224
1de: 8a b9 out 0x0a, r24 ; 10
1e0: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
1e4: 81 ff sbrs r24, 1
1e6: 03 c0 rjmp .+6 ; 0x1ee <led_initPorts+0x14>
1e8: 8b b1 in r24, 0x0b ; 11
1ea: 8f 71 andi r24, 0x1F ; 31
1ec: 8b b9 out 0x0b, r24 ; 11
1ee: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
1f2: 80 ff sbrs r24, 0
1f4: 03 c0 rjmp .+6 ; 0x1fc <led_initPorts+0x22>
1f6: 8b b1 in r24, 0x0b ; 11
1f8: 80 6e ori r24, 0xE0 ; 224
1fa: 8b b9 out 0x0b, r24 ; 11
1fc: 08 95 ret
000001fe <led_config>:
1fe: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__data_start>
202: 08 95 ret
00000204 <led_init>:
204: 0c 94 ed 00 jmp 0x1da ; 0x1da <led_initPorts>
00000208 <led_off>:
208: 48 2f mov r20, r24
20a: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
20e: 81 ff sbrs r24, 1
210: 0b c0 rjmp .+22 ; 0x228 <led_off+0x20>
212: 9b b1 in r25, 0x0b ; 11
214: 21 e0 ldi r18, 0x01 ; 1
216: 30 e0 ldi r19, 0x00 ; 0
218: 04 2e mov r0, r20
21a: 01 c0 rjmp .+2 ; 0x21e <led_off+0x16>
21c: 22 0f add r18, r18
21e: 0a 94 dec r0
220: ea f7 brpl .-6 ; 0x21c <led_off+0x14>
222: 20 95 com r18
224: 29 23 and r18, r25
226: 2b b9 out 0x0b, r18 ; 11
228: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
22c: 80 ff sbrs r24, 0
22e: 0a c0 rjmp .+20 ; 0x244 <led_off+0x3c>
230: 5b b1 in r21, 0x0b ; 11
232: 21 e0 ldi r18, 0x01 ; 1
234: 30 e0 ldi r19, 0x00 ; 0
236: c9 01 movw r24, r18
238: 01 c0 rjmp .+2 ; 0x23c <led_off+0x34>
23a: 88 0f add r24, r24
23c: 4a 95 dec r20
23e: ea f7 brpl .-6 ; 0x23a <led_off+0x32>
240: 85 2b or r24, r21
242: 8b b9 out 0x0b, r24 ; 11
244: 08 95 ret
00000246 <led_on>:
246: 90 91 00 01 lds r25, 0x0100 ; 0x800100 <__data_start>
24a: 91 ff sbrs r25, 1
24c: 0a c0 rjmp .+20 ; 0x262 <led_on+0x1c>
24e: 9b b1 in r25, 0x0b ; 11
250: 21 e0 ldi r18, 0x01 ; 1
252: 30 e0 ldi r19, 0x00 ; 0
254: 08 2e mov r0, r24
256: 01 c0 rjmp .+2 ; 0x25a <led_on+0x14>
258: 22 0f add r18, r18
25a: 0a 94 dec r0
25c: ea f7 brpl .-6 ; 0x258 <led_on+0x12>
25e: 29 2b or r18, r25
260: 2b b9 out 0x0b, r18 ; 11
262: 90 91 00 01 lds r25, 0x0100 ; 0x800100 <__data_start>
266: 90 ff sbrs r25, 0
268: 0d c0 rjmp .+26 ; 0x284 <led_on+0x3e>
26a: 4b b1 in r20, 0x0b ; 11
26c: 21 e0 ldi r18, 0x01 ; 1
26e: 30 e0 ldi r19, 0x00 ; 0
270: b9 01 movw r22, r18
272: 02 c0 rjmp .+4 ; 0x278 <led_on+0x32>
274: 66 0f add r22, r22
276: 77 1f adc r23, r23
278: 8a 95 dec r24
27a: e2 f7 brpl .-8 ; 0x274 <led_on+0x2e>
27c: cb 01 movw r24, r22
27e: 80 95 com r24
280: 84 23 and r24, r20
282: 8b b9 out 0x0b, r24 ; 11
284: 08 95 ret
00000286 <led_flash>:
286: cf 93 push r28
288: c8 2f mov r28, r24
28a: 0e 94 23 01 call 0x246 ; 0x246 <led_on>
28e: 8f e1 ldi r24, 0x1F ; 31
290: 9e e4 ldi r25, 0x4E ; 78
292: 01 97 sbiw r24, 0x01 ; 1
294: f1 f7 brne .-4 ; 0x292 <led_flash+0xc>
296: 00 c0 rjmp .+0 ; 0x298 <led_flash+0x12>
298: 00 00 nop
29a: 8c 2f mov r24, r28
29c: 0e 94 04 01 call 0x208 ; 0x208 <led_off>
2a0: 9f ef ldi r25, 0xFF ; 255
2a2: 2a e6 ldi r18, 0x6A ; 106
2a4: 83 e0 ldi r24, 0x03 ; 3
2a6: 91 50 subi r25, 0x01 ; 1
2a8: 20 40 sbci r18, 0x00 ; 0
2aa: 80 40 sbci r24, 0x00 ; 0
2ac: e1 f7 brne .-8 ; 0x2a6 <led_flash+0x20>
2ae: 00 c0 rjmp .+0 ; 0x2b0 <led_flash+0x2a>
2b0: 00 00 nop
2b2: cf 91 pop r28
2b4: 08 95 ret
000002b6 <disco>:
2b6: 85 e0 ldi r24, 0x05 ; 5
2b8: 0e 94 43 01 call 0x286 ; 0x286 <led_flash>
2bc: 86 e0 ldi r24, 0x06 ; 6
2be: 0e 94 43 01 call 0x286 ; 0x286 <led_flash>
2c2: 87 e0 ldi r24, 0x07 ; 7
2c4: 0c 94 43 01 jmp 0x286 ; 0x286 <led_flash>
000002c8 <main>:
2c8: 82 e0 ldi r24, 0x02 ; 2
2ca: 0e 94 ff 00 call 0x1fe ; 0x1fe <led_config>
2ce: 0e 94 02 01 call 0x204 ; 0x204 <led_init>
2d2: 0e 94 53 00 call 0xa6 ; 0xa6 <uart_init>
2d6: 0e 94 5b 01 call 0x2b6 ; 0x2b6 <disco>
2da: 81 e0 ldi r24, 0x01 ; 1
2dc: 91 e0 ldi r25, 0x01 ; 1
2de: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
2e2: 85 e0 ldi r24, 0x05 ; 5
2e4: 0e 94 43 01 call 0x286 ; 0x286 <led_flash>
2e8: 2f ef ldi r18, 0xFF ; 255
2ea: 89 e6 ldi r24, 0x69 ; 105
2ec: 98 e1 ldi r25, 0x18 ; 24
2ee: 21 50 subi r18, 0x01 ; 1
2f0: 80 40 sbci r24, 0x00 ; 0
2f2: 90 40 sbci r25, 0x00 ; 0
2f4: e1 f7 brne .-8 ; 0x2ee <main+0x26>
2f6: 00 c0 rjmp .+0 ; 0x2f8 <main+0x30>
2f8: 00 00 nop
2fa: ef cf rjmp .-34 ; 0x2da <main+0x12>
000002fc <__itoa_ncheck>:
2fc: bb 27 eor r27, r27
2fe: 4a 30 cpi r20, 0x0A ; 10
300: 31 f4 brne .+12 ; 0x30e <__itoa_ncheck+0x12>
302: 99 23 and r25, r25
304: 22 f4 brpl .+8 ; 0x30e <__itoa_ncheck+0x12>
306: bd e2 ldi r27, 0x2D ; 45
308: 90 95 com r25
30a: 81 95 neg r24
30c: 9f 4f sbci r25, 0xFF ; 255
30e: 0c 94 8a 01 jmp 0x314 ; 0x314 <__utoa_common>
00000312 <__utoa_ncheck>:
312: bb 27 eor r27, r27
00000314 <__utoa_common>:
314: fb 01 movw r30, r22
316: 55 27 eor r21, r21
318: aa 27 eor r26, r26
31a: 88 0f add r24, r24
31c: 99 1f adc r25, r25
31e: aa 1f adc r26, r26
320: a4 17 cp r26, r20
322: 10 f0 brcs .+4 ; 0x328 <__utoa_common+0x14>
324: a4 1b sub r26, r20
326: 83 95 inc r24
328: 50 51 subi r21, 0x10 ; 16
32a: b9 f7 brne .-18 ; 0x31a <__utoa_common+0x6>
32c: a0 5d subi r26, 0xD0 ; 208
32e: aa 33 cpi r26, 0x3A ; 58
330: 08 f0 brcs .+2 ; 0x334 <__utoa_common+0x20>
332: a9 5d subi r26, 0xD9 ; 217
334: a1 93 st Z+, r26
336: 00 97 sbiw r24, 0x00 ; 0
338: 79 f7 brne .-34 ; 0x318 <__utoa_common+0x4>
33a: b1 11 cpse r27, r1
33c: b1 93 st Z+, r27
33e: 11 92 st Z+, r1
340: cb 01 movw r24, r22
342: 0c 94 a3 01 jmp 0x346 ; 0x346 <strrev>
00000346 <strrev>:
346: dc 01 movw r26, r24
348: fc 01 movw r30, r24
34a: 67 2f mov r22, r23
34c: 71 91 ld r23, Z+
34e: 77 23 and r23, r23
350: e1 f7 brne .-8 ; 0x34a <strrev+0x4>
352: 32 97 sbiw r30, 0x02 ; 2
354: 04 c0 rjmp .+8 ; 0x35e <strrev+0x18>
356: 7c 91 ld r23, X
358: 6d 93 st X+, r22
35a: 70 83 st Z, r23
35c: 62 91 ld r22, -Z
35e: ae 17 cp r26, r30
360: bf 07 cpc r27, r31
362: c8 f3 brcs .-14 ; 0x356 <strrev+0x10>
364: 08 95 ret
00000366 <_exit>:
366: f8 94 cli
00000368 <__stop_program>:
368: ff cf rjmp .-2 ; 0x368 <__stop_program>