📄 buffer.lst
字号:
1 .file "buffer.c"
2 .arch atmega32
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global bufferInit
20 bufferInit:
21 .LFB2:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 0000 FC01 movw r30,r24
26 .LM2:
27 0002 7183 std Z+1,r23
28 0004 6083 st Z,r22
29 .LM3:
30 0006 5383 std Z+3,r21
31 0008 4283 std Z+2,r20
32 .LM4:
33 000a 1782 std Z+7,__zero_reg__
34 000c 1682 std Z+6,__zero_reg__
35 .LM5:
36 000e 1582 std Z+5,__zero_reg__
37 0010 1482 std Z+4,__zero_reg__
38 /* epilogue: frame size=0 */
39 0012 0895 ret
40 /* epilogue end (size=1) */
41 /* function bufferInit size 10 (9) */
42 .LFE2:
44 .global bufferGetFromFront
46 bufferGetFromFront:
47 .LFB3:
48 .LM6:
49 /* prologue: frame size=0 */
50 0014 CF93 push r28
51 0016 DF93 push r29
52 /* prologue end (size=2) */
53 0018 EC01 movw r28,r24
54 .LM7:
55 001a E0E0 ldi r30,lo8(0)
56 .LM8:
57 001c 2C81 ldd r18,Y+4
58 001e 3D81 ldd r19,Y+5
59 0020 2115 cp r18,__zero_reg__
60 0022 3105 cpc r19,__zero_reg__
61 0024 B9F0 breq .L3
62 .LM9:
63 0026 8E81 ldd r24,Y+6
64 0028 9F81 ldd r25,Y+7
65 002a E881 ld r30,Y
66 002c F981 ldd r31,Y+1
67 002e E80F add r30,r24
68 0030 F91F adc r31,r25
69 0032 E081 ld r30,Z
70 .LM10:
71 0034 0196 adiw r24,1
72 0036 9F83 std Y+7,r25
73 0038 8E83 std Y+6,r24
74 .LM11:
75 003a 6A81 ldd r22,Y+2
76 003c 7B81 ldd r23,Y+3
77 003e 8617 cp r24,r22
78 0040 9707 cpc r25,r23
79 0042 20F0 brlo .L4
80 .LM12:
81 0044 0E94 0000 call __udivmodhi4
82 0048 9F83 std Y+7,r25
83 004a 8E83 std Y+6,r24
84 .L4:
85 .LM13:
86 004c 2150 subi r18,lo8(-(-1))
87 004e 3040 sbci r19,hi8(-(-1))
88 0050 3D83 std Y+5,r19
89 0052 2C83 std Y+4,r18
90 .L3:
91 .LM14:
92 0054 8E2F mov r24,r30
93 0056 9927 clr r25
94 /* epilogue: frame size=0 */
95 0058 DF91 pop r29
96 005a CF91 pop r28
97 005c 0895 ret
98 /* epilogue end (size=3) */
99 /* function bufferGetFromFront size 37 (32) */
100 .LFE3:
102 .global bufferDumpFromFront
104 bufferDumpFromFront:
105 .LFB4:
106 .LM15:
107 /* prologue: frame size=0 */
108 005e CF93 push r28
109 0060 DF93 push r29
110 /* prologue end (size=2) */
111 0062 FC01 movw r30,r24
112 0064 EB01 movw r28,r22
113 .LM16:
114 0066 2481 ldd r18,Z+4
115 0068 3581 ldd r19,Z+5
116 006a 6217 cp r22,r18
117 006c 7307 cpc r23,r19
118 006e A0F4 brsh .L6
119 .LM17:
120 0070 8681 ldd r24,Z+6
121 0072 9781 ldd r25,Z+7
122 0074 860F add r24,r22
123 0076 971F adc r25,r23
124 0078 9783 std Z+7,r25
125 007a 8683 std Z+6,r24
126 .LM18:
127 007c 6281 ldd r22,Z+2
128 007e 7381 ldd r23,Z+3
129 0080 8617 cp r24,r22
130 0082 9707 cpc r25,r23
131 0084 20F0 brlo .L7
132 .LM19:
133 0086 0E94 0000 call __udivmodhi4
134 008a 9783 std Z+7,r25
135 008c 8683 std Z+6,r24
136 .L7:
137 .LM20:
138 008e 2C1B sub r18,r28
139 0090 3D0B sbc r19,r29
140 0092 3583 std Z+5,r19
141 0094 2483 std Z+4,r18
142 0096 02C0 rjmp .L5
143 .L6:
144 .LM21:
145 0098 1582 std Z+5,__zero_reg__
146 009a 1482 std Z+4,__zero_reg__
147 .L5:
148 /* epilogue: frame size=0 */
149 009c DF91 pop r29
150 009e CF91 pop r28
151 00a0 0895 ret
152 /* epilogue end (size=3) */
153 /* function bufferDumpFromFront size 34 (29) */
154 .LFE4:
156 .global bufferGetAtIndex
158 bufferGetAtIndex:
159 .LFB5:
160 .LM22:
161 /* prologue: frame size=0 */
162 /* prologue end (size=0) */
163 00a2 FC01 movw r30,r24
164 .LM23:
165 00a4 8681 ldd r24,Z+6
166 00a6 9781 ldd r25,Z+7
167 00a8 2281 ldd r18,Z+2
168 00aa 3381 ldd r19,Z+3
169 00ac 860F add r24,r22
170 00ae 971F adc r25,r23
171 00b0 B901 movw r22,r18
172 00b2 0E94 0000 call __udivmodhi4
173 00b6 0190 ld __tmp_reg__,Z+
174 00b8 F081 ld r31,Z
175 00ba E02D mov r30,__tmp_reg__
176 00bc E80F add r30,r24
177 00be F91F adc r31,r25
178 00c0 8081 ld r24,Z
179 .LM24:
180 00c2 9927 clr r25
181 /* epilogue: frame size=0 */
182 00c4 0895 ret
183 /* epilogue end (size=1) */
184 /* function bufferGetAtIndex size 18 (17) */
185 .LFE5:
187 .global bufferAddToEnd
189 bufferAddToEnd:
190 .LFB6:
191 .LM25:
192 /* prologue: frame size=0 */
193 00c6 CF93 push r28
194 00c8 DF93 push r29
195 /* prologue end (size=2) */
196 00ca EC01 movw r28,r24
197 00cc 462F mov r20,r22
198 .LM26:
199 00ce 2C81 ldd r18,Y+4
200 00d0 3D81 ldd r19,Y+5
201 00d2 6A81 ldd r22,Y+2
202 00d4 7B81 ldd r23,Y+3
203 00d6 2617 cp r18,r22
204 00d8 3707 cpc r19,r23
205 00da 98F4 brsh .L11
206 .LM27:
207 00dc 8E81 ldd r24,Y+6
208 00de 9F81 ldd r25,Y+7
209 00e0 820F add r24,r18
210 00e2 931F adc r25,r19
211 00e4 0E94 0000 call __udivmodhi4
212 00e8 E881 ld r30,Y
213 00ea F981 ldd r31,Y+1
214 00ec E80F add r30,r24
215 00ee F91F adc r31,r25
216 00f0 4083 st Z,r20
217 .LM28:
218 00f2 8C81 ldd r24,Y+4
219 00f4 9D81 ldd r25,Y+5
220 00f6 0196 adiw r24,1
221 00f8 9D83 std Y+5,r25
222 00fa 8C83 std Y+4,r24
223 .LM29:
224 00fc 8FEF ldi r24,lo8(255)
225 00fe 90E0 ldi r25,hi8(255)
226 0100 02C0 rjmp .L10
227 .L11:
228 .LM30:
229 0102 80E0 ldi r24,lo8(0)
230 0104 90E0 ldi r25,hi8(0)
231 .L10:
232 /* epilogue: frame size=0 */
233 0106 DF91 pop r29
234 0108 CF91 pop r28
235 010a 0895 ret
236 /* epilogue end (size=3) */
237 /* function bufferAddToEnd size 35 (30) */
238 .LFE6:
240 .global bufferIsNotFull
242 bufferIsNotFull:
243 .LFB7:
244 .LM31:
245 /* prologue: frame size=0 */
246 /* prologue end (size=0) */
247 010c FC01 movw r30,r24
248 .LM32:
249 010e 40E0 ldi r20,lo8(0)
250 0110 50E0 ldi r21,hi8(0)
251 0112 2481 ldd r18,Z+4
252 0114 3581 ldd r19,Z+5
253 0116 8281 ldd r24,Z+2
254 0118 9381 ldd r25,Z+3
255 011a 2817 cp r18,r24
256 011c 3907 cpc r19,r25
257 011e 10F4 brsh .L14
258 .LM33:
259 0120 41E0 ldi r20,lo8(1)
260 0122 50E0 ldi r21,hi8(1)
261 .L14:
262 .LM34:
263 0124 CA01 movw r24,r20
264 /* epilogue: frame size=0 */
265 0126 0895 ret
266 /* epilogue end (size=1) */
267 /* function bufferIsNotFull size 14 (13) */
268 .LFE7:
270 .global bufferFlush
272 bufferFlush:
273 .LFB8:
274 .LM35:
275 /* prologue: frame size=0 */
276 /* prologue end (size=0) */
277 .LM36:
278 0128 FC01 movw r30,r24
279 012a 1582 std Z+5,__zero_reg__
280 012c 1482 std Z+4,__zero_reg__
281 /* epilogue: frame size=0 */
282 012e 0895 ret
283 /* epilogue end (size=1) */
284 /* function bufferFlush size 4 (3) */
285 .LFE8:
287 .global bufferGetDataLength
289 bufferGetDataLength:
290 .LFB9:
291 .LM37:
292 /* prologue: frame size=0 */
293 /* prologue end (size=0) */
294 .LM38:
295 0130 FC01 movw r30,r24
296 0132 8481 ldd r24,Z+4
297 0134 9581 ldd r25,Z+5
298 /* epilogue: frame size=0 */
299 0136 0895 ret
300 /* epilogue end (size=1) */
301 /* function bufferGetDataLength size 4 (3) */
302 .LFE9:
304 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 buffer.c
f:\temp/cc4iaaaa.s:3 *ABS*:0000003f __SREG__
f:\temp/cc4iaaaa.s:4 *ABS*:0000003e __SP_H__
f:\temp/cc4iaaaa.s:5 *ABS*:0000003d __SP_L__
f:\temp/cc4iaaaa.s:6 *ABS*:00000000 __tmp_reg__
f:\temp/cc4iaaaa.s:7 *ABS*:00000001 __zero_reg__
f:\temp/cc4iaaaa.s:20 .text:00000000 bufferInit
f:\temp/cc4iaaaa.s:46 .text:00000014 bufferGetFromFront
f:\temp/cc4iaaaa.s:104 .text:0000005e bufferDumpFromFront
f:\temp/cc4iaaaa.s:158 .text:000000a2 bufferGetAtIndex
f:\temp/cc4iaaaa.s:189 .text:000000c6 bufferAddToEnd
f:\temp/cc4iaaaa.s:242 .text:0000010c bufferIsNotFull
f:\temp/cc4iaaaa.s:272 .text:00000128 bufferFlush
f:\temp/cc4iaaaa.s:289 .text:00000130 bufferGetDataLength
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodhi4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -