bikegenerator/display/software/powerboard_v2/src/uart.lst

257 lines
9.5 KiB
Plaintext

1 .file "uart.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .global __vector_11
10 __vector_11:
11 0000 1F92 push r1
12 0002 0F92 push r0
13 0004 0FB6 in r0,__SREG__
14 0006 0F92 push r0
15 0008 1124 clr __zero_reg__
16 000a 2F93 push r18
17 000c 8F93 push r24
18 000e 9F93 push r25
19 0010 EF93 push r30
20 0012 FF93 push r31
21 /* prologue: Signal */
22 /* frame size = 0 */
23 /* stack size = 8 */
24 .L__stack_usage = 8
25 0014 8BB1 in r24,0xb
26 0016 9CB1 in r25,0xc
27 0018 8871 andi r24,lo8(24)
28 001a E091 0000 lds r30,UART_RxHead
29 001e EF5F subi r30,lo8(-(1))
30 0020 EF71 andi r30,lo8(31)
31 0022 2091 0000 lds r18,UART_RxTail
32 0026 E217 cp r30,r18
33 0028 01F0 breq .L3
34 002a E093 0000 sts UART_RxHead,r30
35 002e F0E0 ldi r31,0
36 0030 E050 subi r30,lo8(-(UART_RxBuf))
37 0032 F040 sbci r31,hi8(-(UART_RxBuf))
38 0034 9083 st Z,r25
39 0036 00C0 rjmp .L2
40 .L3:
41 0038 82E0 ldi r24,lo8(2)
42 .L2:
43 003a 9091 0000 lds r25,UART_LastRxError
44 003e 982B or r25,r24
45 0040 9093 0000 sts UART_LastRxError,r25
46 /* epilogue start */
47 0044 FF91 pop r31
48 0046 EF91 pop r30
49 0048 9F91 pop r25
50 004a 8F91 pop r24
51 004c 2F91 pop r18
52 004e 0F90 pop r0
53 0050 0FBE out __SREG__,r0
54 0052 0F90 pop r0
55 0054 1F90 pop r1
56 0056 1895 reti
58 .global __vector_12
60 __vector_12:
61 0058 1F92 push r1
62 005a 0F92 push r0
63 005c 0FB6 in r0,__SREG__
64 005e 0F92 push r0
65 0060 1124 clr __zero_reg__
66 0062 8F93 push r24
67 0064 9F93 push r25
68 0066 EF93 push r30
69 0068 FF93 push r31
70 /* prologue: Signal */
71 /* frame size = 0 */
72 /* stack size = 7 */
73 .L__stack_usage = 7
74 006a 9091 0000 lds r25,UART_TxHead
75 006e 8091 0000 lds r24,UART_TxTail
76 0072 9817 cp r25,r24
77 0074 01F0 breq .L5
78 0076 E091 0000 lds r30,UART_TxTail
79 007a EF5F subi r30,lo8(-(1))
80 007c EF71 andi r30,lo8(31)
81 007e E093 0000 sts UART_TxTail,r30
82 0082 F0E0 ldi r31,0
83 0084 E050 subi r30,lo8(-(UART_TxBuf))
84 0086 F040 sbci r31,hi8(-(UART_TxBuf))
85 0088 8081 ld r24,Z
86 008a 8CB9 out 0xc,r24
87 008c 00C0 rjmp .L4
88 .L5:
89 008e 5598 cbi 0xa,5
90 .L4:
91 /* epilogue start */
92 0090 FF91 pop r31
93 0092 EF91 pop r30
94 0094 9F91 pop r25
95 0096 8F91 pop r24
96 0098 0F90 pop r0
97 009a 0FBE out __SREG__,r0
98 009c 0F90 pop r0
99 009e 1F90 pop r1
100 00a0 1895 reti
102 .global uart_init
104 uart_init:
105 /* prologue: function */
106 /* frame size = 0 */
107 /* stack size = 0 */
108 .L__stack_usage = 0
109 00a2 1092 0000 sts UART_TxHead,__zero_reg__
110 00a6 1092 0000 sts UART_TxTail,__zero_reg__
111 00aa 1092 0000 sts UART_RxHead,__zero_reg__
112 00ae 1092 0000 sts UART_RxTail,__zero_reg__
113 00b2 97FF sbrs r25,7
114 00b4 00C0 rjmp .L8
115 00b6 22E0 ldi r18,lo8(2)
116 00b8 2BB9 out 0xb,r18
117 00ba 9F77 andi r25,127
118 .L8:
119 00bc 90BD out 0x20,r25
120 00be 89B9 out 0x9,r24
121 00c0 88E9 ldi r24,lo8(-104)
122 00c2 8AB9 out 0xa,r24
123 00c4 86E8 ldi r24,lo8(-122)
124 00c6 80BD out 0x20,r24
125 00c8 0895 ret
127 .global uart_getc
129 uart_getc:
130 /* prologue: function */
131 /* frame size = 0 */
132 /* stack size = 0 */
133 .L__stack_usage = 0
134 00ca 9091 0000 lds r25,UART_RxHead
135 00ce 8091 0000 lds r24,UART_RxTail
136 00d2 9817 cp r25,r24
137 00d4 01F0 breq .L11
138 00d6 E091 0000 lds r30,UART_RxTail
139 00da EF5F subi r30,lo8(-(1))
140 00dc EF71 andi r30,lo8(31)
141 00de E093 0000 sts UART_RxTail,r30
142 00e2 F0E0 ldi r31,0
143 00e4 E050 subi r30,lo8(-(UART_RxBuf))
144 00e6 F040 sbci r31,hi8(-(UART_RxBuf))
145 00e8 2081 ld r18,Z
146 00ea 8091 0000 lds r24,UART_LastRxError
147 00ee 1092 0000 sts UART_LastRxError,__zero_reg__
148 00f2 30E0 ldi r19,0
149 00f4 00C0 rjmp .L10
150 .L11:
151 00f6 20E0 ldi r18,0
152 00f8 31E0 ldi r19,lo8(1)
153 .L10:
154 00fa C901 movw r24,r18
155 00fc 0895 ret
157 .global uart_putc
159 uart_putc:
160 /* prologue: function */
161 /* frame size = 0 */
162 /* stack size = 0 */
163 .L__stack_usage = 0
164 00fe 9091 0000 lds r25,UART_TxHead
165 0102 9F5F subi r25,lo8(-(1))
166 0104 9F71 andi r25,lo8(31)
167 .L13:
168 0106 2091 0000 lds r18,UART_TxTail
169 010a 9217 cp r25,r18
170 010c 01F0 breq .L13
171 010e E92F mov r30,r25
172 0110 F0E0 ldi r31,0
173 0112 E050 subi r30,lo8(-(UART_TxBuf))
174 0114 F040 sbci r31,hi8(-(UART_TxBuf))
175 0116 8083 st Z,r24
176 0118 9093 0000 sts UART_TxHead,r25
177 011c 559A sbi 0xa,5
178 011e 0895 ret
180 .global uart_puts
182 uart_puts:
183 0120 CF93 push r28
184 0122 DF93 push r29
185 /* prologue: function */
186 /* frame size = 0 */
187 /* stack size = 2 */
188 .L__stack_usage = 2
189 0124 EC01 movw r28,r24
190 0126 00C0 rjmp .L16
191 .L17:
192 0128 00D0 rcall uart_putc
193 .L16:
194 012a 8991 ld r24,Y+
195 012c 8111 cpse r24,__zero_reg__
196 012e 00C0 rjmp .L17
197 /* epilogue start */
198 0130 DF91 pop r29
199 0132 CF91 pop r28
200 0134 0895 ret
202 .global uart_puts_p
204 uart_puts_p:
205 0136 CF93 push r28
206 0138 DF93 push r29
207 /* prologue: function */
208 /* frame size = 0 */
209 /* stack size = 2 */
210 .L__stack_usage = 2
211 013a EC01 movw r28,r24
212 013c 00C0 rjmp .L19
213 .L20:
214 013e 00D0 rcall uart_putc
215 .L19:
216 0140 FE01 movw r30,r28
217 0142 2196 adiw r28,1
218 /* #APP */
219 ; 474 "src/uart.c" 1
220 0144 8491 lpm r24, Z
221
222 ; 0 "" 2
223 /* #NOAPP */
224 0146 8111 cpse r24,__zero_reg__
225 0148 00C0 rjmp .L20
226 /* epilogue start */
227 014a DF91 pop r29
228 014c CF91 pop r28
229 014e 0895 ret
231 .local UART_LastRxError
232 .comm UART_LastRxError,1,1
233 .local UART_RxTail
234 .comm UART_RxTail,1,1
235 .local UART_RxHead
236 .comm UART_RxHead,1,1
237 .local UART_TxTail
238 .comm UART_TxTail,1,1
239 .local UART_TxHead
240 .comm UART_TxHead,1,1
241 .local UART_RxBuf
242 .comm UART_RxBuf,32,1
243 .local UART_TxBuf
244 .comm UART_TxBuf,32,1
245 .ident "GCC: (GNU) 4.7.2"
246 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:0000000000000000 uart.c
/tmp/ccbMxLMX.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccbMxLMX.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccbMxLMX.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccbMxLMX.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccbMxLMX.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccbMxLMX.s:10 .text:0000000000000000 __vector_11
/tmp/ccbMxLMX.s:234 .bss:0000000000000002 UART_RxHead
/tmp/ccbMxLMX.s:232 .bss:0000000000000001 UART_RxTail
/tmp/ccbMxLMX.s:240 .bss:0000000000000005 UART_RxBuf
.bss:0000000000000000 UART_LastRxError
/tmp/ccbMxLMX.s:60 .text:0000000000000058 __vector_12
/tmp/ccbMxLMX.s:238 .bss:0000000000000004 UART_TxHead
/tmp/ccbMxLMX.s:236 .bss:0000000000000003 UART_TxTail
/tmp/ccbMxLMX.s:242 .bss:0000000000000025 UART_TxBuf
/tmp/ccbMxLMX.s:104 .text:00000000000000a2 uart_init
/tmp/ccbMxLMX.s:129 .text:00000000000000ca uart_getc
/tmp/ccbMxLMX.s:159 .text:00000000000000fe uart_putc
/tmp/ccbMxLMX.s:182 .text:0000000000000120 uart_puts
/tmp/ccbMxLMX.s:204 .text:0000000000000136 uart_puts_p
UNDEFINED SYMBOLS
__do_clear_bss