📄 test.lst
字号:
1 .file "test.c"
2 .arch atmega64
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 stringCopy
20 stringCopy:
21 .LFB7:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 0000 AC01 movw r20,r24
26 .LM2:
27 0002 30E0 ldi r19,lo8(0)
28 0004 232F mov r18,r19
29 0006 8091 0000 lds r24,UartRxBuf+1
30 000a 8823 tst r24
31 000c 21F4 brne .L13
32 .LM3:
33 000e 8091 0000 lds r24,UartRxBuf+2
34 .L14:
35 0012 8823 tst r24
36 0014 81F0 breq .L10
37 .L13:
38 .LM4:
39 0016 E22F mov r30,r18
40 0018 FF27 clr r31
41 001a E050 subi r30,lo8(-(UartRxBuf))
42 001c F040 sbci r31,hi8(-(UartRxBuf))
43 001e 8081 ld r24,Z
44 0020 3827 eor r19,r24
45 .LM5:
46 0022 2F5F subi r18,lo8(-(1))
47 0024 E22F mov r30,r18
48 0026 FF27 clr r31
49 0028 E050 subi r30,lo8(-(UartRxBuf))
50 002a F040 sbci r31,hi8(-(UartRxBuf))
51 002c 8181 ldd r24,Z+1
52 002e 8823 tst r24
53 0030 91F7 brne .L13
54 0032 8281 ldd r24,Z+2
55 0034 EECF rjmp .L14
56 .L10:
57 .LM6:
58 0036 E22F mov r30,r18
59 0038 FF27 clr r31
60 003a E050 subi r30,lo8(-(UartRxBuf))
61 003c F040 sbci r31,hi8(-(UartRxBuf))
62 003e 8081 ld r24,Z
63 0040 3817 cp r19,r24
64 0042 41F4 brne .L7
65 .LM7:
66 0044 60E0 ldi r22,lo8(UartRxBuf)
67 0046 70E0 ldi r23,hi8(UartRxBuf)
68 0048 CA01 movw r24,r20
69 004a 0E94 0000 call strcpy
70 .LM8:
71 004e 81E0 ldi r24,lo8(1)
72 0050 90E0 ldi r25,hi8(1)
73 0052 0895 ret
74 .L7:
75 .LM9:
76 0054 80E0 ldi r24,lo8(0)
77 0056 90E0 ldi r25,hi8(0)
78 .LM10:
79 0058 0895 ret
80 /* epilogue: frame size=0 */
81 005a 0895 ret
82 /* epilogue end (size=1) */
83 /* function stringCopy size 46 (45) */
84 .LFE7:
86 .global sendChar1
88 sendChar1:
89 .LFB8:
90 .LM11:
91 /* prologue: frame size=0 */
92 /* prologue end (size=0) */
93 005c 982F mov r25,r24
94 .LM12:
95 /* #APP */
96 005e F894 cli
97 .LM13:
98 /* #NOAPP */
99 0060 C69A sbi 56-0x20,6
100 .L16:
101 .LM14:
102 0062 8091 9B00 lds r24,155
103 0066 85FF sbrs r24,5
104 0068 FCCF rjmp .L16
105 .LM15:
106 006a 8091 9B00 lds r24,155
107 006e 8064 ori r24,lo8(64)
108 0070 8093 9B00 sts 155,r24
109 .LM16:
110 0074 9093 9C00 sts 156,r25
111 .L19:
112 .LM17:
113 0078 8091 9B00 lds r24,155
114 007c 86FF sbrs r24,6
115 007e FCCF rjmp .L19
116 .LM18:
117 0080 C698 cbi 56-0x20,6
118 .LM19:
119 /* #APP */
120 0082 7894 sei
121 /* #NOAPP */
122 /* epilogue: frame size=0 */
123 0084 0895 ret
124 /* epilogue end (size=1) */
125 /* function sendChar1 size 23 (22) */
126 .LFE8:
128 .global clearBuf
130 clearBuf:
131 .LFB9:
132 .LM20:
133 /* prologue: frame size=0 */
134 /* prologue end (size=0) */
135 .LM21:
136 0086 40E0 ldi r20,lo8(0)
137 0088 2091 0000 lds r18,UartRxCounter
138 008c 3091 0000 lds r19,(UartRxCounter)+1
139 0090 2115 cp r18,__zero_reg__
140 0092 3105 cpc r19,__zero_reg__
141 0094 59F0 breq .L28
142 .L26:
143 .LM22:
144 0096 E42F mov r30,r20
145 0098 FF27 clr r31
146 009a E050 subi r30,lo8(-(UartRxBuf))
147 009c F040 sbci r31,hi8(-(UartRxBuf))
148 009e 1082 st Z,__zero_reg__
149 .LM23:
150 00a0 4F5F subi r20,lo8(-(1))
151 00a2 842F mov r24,r20
152 00a4 9927 clr r25
153 00a6 8217 cp r24,r18
154 00a8 9307 cpc r25,r19
155 00aa A8F3 brlo .L26
156 .L28:
157 .LM24:
158 00ac 1092 0000 sts (UartRxCounter)+1,__zero_reg__
159 00b0 1092 0000 sts UartRxCounter,__zero_reg__
160 /* epilogue: frame size=0 */
161 00b4 0895 ret
162 /* epilogue end (size=1) */
163 /* function clearBuf size 24 (23) */
164 .LFE9:
166 .global Printf
168 Printf:
169 .LFB10:
170 .LM25:
171 /* prologue: frame size=0 */
172 00b6 CF93 push r28
173 00b8 DF93 push r29
174 /* prologue end (size=2) */
175 00ba EC01 movw r28,r24
176 .LM26:
177 00bc 8881 ld r24,Y
178 00be 8823 tst r24
179 00c0 19F4 brne .L39
180 .LM27:
181 00c2 8981 ldd r24,Y+1
182 00c4 8823 tst r24
183 00c6 49F0 breq .L35
184 .L39:
185 00c8 8991 ld r24,Y+
186 00ca 0E94 0000 call sendChar1
187 00ce 8881 ld r24,Y
188 00d0 8823 tst r24
189 00d2 D1F7 brne .L39
190 00d4 8981 ldd r24,Y+1
191 00d6 8823 tst r24
192 00d8 B9F7 brne .L39
193 .L35:
194 /* epilogue: frame size=0 */
195 00da DF91 pop r29
196 00dc CF91 pop r28
197 00de 0895 ret
198 /* epilogue end (size=3) */
199 /* function Printf size 21 (16) */
200 .LFE10:
202 .global HexToAscii
204 HexToAscii:
205 .LFB11:
206 .LM28:
207 /* prologue: frame size=0 */
208 /* prologue end (size=0) */
209 .LM29:
210 00e0 8A30 cpi r24,lo8(10)
211 00e2 18F0 brlo .L41
212 .LM30:
213 00e4 895C subi r24,lo8(-(55))
214 00e6 9927 clr r25
215 00e8 0895 ret
216 .L41:
217 .LM31:
218 00ea 805D subi r24,lo8(-(48))
219 00ec 9927 clr r25
220 .LM32:
221 00ee 0895 ret
222 /* epilogue: frame size=0 */
223 00f0 0895 ret
224 /* epilogue end (size=1) */
225 /* function HexToAscii size 9 (8) */
226 .LFE11:
228 .global sendChar0
230 sendChar0:
231 .LFB12:
232 .LM33:
233 /* prologue: frame size=0 */
234 /* prologue end (size=0) */
235 .L44:
236 .LM34:
237 00f2 5D9B sbis 43-0x20,5
238 00f4 FECF rjmp .L44
239 .LM35:
240 00f6 5E9A sbi 43-0x20,6
241 .LM36:
242 00f8 8CB9 out 44-0x20,r24
243 .L47:
244 .LM37:
245 00fa 5E9B sbis 43-0x20,6
246 00fc FECF rjmp .L47
247 /* epilogue: frame size=0 */
248 00fe 0895 ret
249 /* epilogue end (size=1) */
250 /* function sendChar0 size 7 (6) */
251 .LFE12:
253 .global Put_Byte
255 Put_Byte:
256 .LFB13:
257 .LM38:
258 /* prologue: frame size=0 */
259 0100 1F93 push r17
260 /* prologue end (size=1) */
261 0102 182F mov r17,r24
262 .LM39:
263 0104 8295 swap r24
264 0106 8F70 andi r24,0x0f
265 0108 0E94 0000 call HexToAscii
266 010c 0E94 0000 call sendChar0
267 .LM40:
268 0110 812F mov r24,r17
269 0112 8F70 andi r24,lo8(15)
270 0114 0E94 0000 call HexToAscii
271 0118 0E94 0000 call sendChar0
272 /* epilogue: frame size=0 */
273 011c 1F91 pop r17
274 011e 0895 ret
275 /* epilogue end (size=2) */
276 /* function Put_Byte size 16 (13) */
277 .LFE13:
279 .global Print
281 Print:
282 .LFB14:
283 .LM41:
284 /* prologue: frame size=0 */
285 0120 CF93 push r28
286 0122 DF93 push r29
287 /* prologue end (size=2) */
288 0124 EC01 movw r28,r24
289 .LM42:
290 0126 8881 ld r24,Y
291 0128 8823 tst r24
292 012a 31F0 breq .L56
293 .L54:
294 .LM43:
295 012c 8991 ld r24,Y+
296 012e 0E94 0000 call sendChar0
297 0132 8881 ld r24,Y
298 0134 8823 tst r24
299 0136 D1F7 brne .L54
300 .L56:
301 /* epilogue: frame size=0 */
302 0138 DF91 pop r29
303 013a CF91 pop r28
304 013c 0895 ret
305 /* epilogue end (size=3) */
306 /* function Print size 15 (10) */
307 .LFE14:
309 .data
310 .LC0:
311 0000 7465 7374 .string "testState"
311 5374 6174
311 6500
312 .LC1:
313 000a 646F 2073 .string "do something"
313 6F6D 6574
313 6869 6E67
313 00
314 .text
315 .global Task1
317 Task1:
318 .LFB15:
319 .LM44:
320 /* prologue: frame size=11 */
321 013e CF93 push r28
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -