📄 proccess.lst
字号:
1 .file "proccess.c"
2 .arch atmega48
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 proc_calculate
20 proc_calculate:
21 .LFB10:
22 .LM1:
23 /* prologue: frame size=0 */
24 0000 EF92 push r14
25 0002 FF92 push r15
26 0004 0F93 push r16
27 0006 1F93 push r17
28 /* prologue end (size=4) */
29 .LM2:
30 0008 8091 0000 lds r24,flag0
31 000c 81FF sbrs r24,1
32 000e 00C0 rjmp .L9
33 .LM3:
34 0010 8091 0000 lds r24,flag0
35 0014 8D7F andi r24,lo8(-3)
36 0016 8093 0000 sts flag0,r24
37 .LM4:
38 001a 6091 0000 lds r22,sample_i
39 001e 7091 0000 lds r23,(sample_i)+1
40 0022 8827 clr r24
41 0024 9927 clr r25
42 .LVL0:
43 .LM5:
44 0026 20ED ldi r18,lo8(2000)
45 0028 37E0 ldi r19,hi8(2000)
46 002a 40E0 ldi r20,hlo8(2000)
47 002c 50E0 ldi r21,hhi8(2000)
48 .LVL1:
49 002e 00D0 rcall __mulsi3
50 .LM6:
51 0030 25EB ldi r18,lo8(8373)
52 0032 30E2 ldi r19,hi8(8373)
53 0034 40E0 ldi r20,hlo8(8373)
54 0036 50E0 ldi r21,hhi8(8373)
55 0038 00D0 rcall __udivmodsi4
56 003a 7901 movw r14,r18
57 003c 8A01 movw r16,r20
58 .LM7:
59 003e 2093 0000 sts disbuf,r18
60 0042 3093 0000 sts (disbuf)+1,r19
61 0046 4093 0000 sts (disbuf)+2,r20
62 004a 5093 0000 sts (disbuf)+3,r21
63 .LM8:
64 004e 6091 0000 lds r22,sample_v
65 0052 7091 0000 lds r23,(sample_v)+1
66 0056 8827 clr r24
67 0058 9927 clr r25
68 .LVL2:
69 .LM9:
70 005a 20E4 ldi r18,lo8(8000)
71 005c 3FE1 ldi r19,hi8(8000)
72 005e 40E0 ldi r20,hlo8(8000)
73 0060 50E0 ldi r21,hhi8(8000)
74 .LVL3:
75 0062 00D0 rcall __mulsi3
76 .LM10:
77 0064 22E1 ldi r18,lo8(8210)
78 0066 30E2 ldi r19,hi8(8210)
79 0068 40E0 ldi r20,hlo8(8210)
80 006a 50E0 ldi r21,hhi8(8210)
81 006c 00D0 rcall __udivmodsi4
82 006e 2093 0000 sts disbuf+4,r18
83 0072 3093 0000 sts (disbuf+4)+1,r19
84 0076 4093 0000 sts (disbuf+4)+2,r20
85 007a 5093 0000 sts (disbuf+4)+3,r21
86 .LM11:
87 007e E092 0000 sts disbuf+8,r14
88 0082 F092 0000 sts (disbuf+8)+1,r15
89 0086 0093 0000 sts (disbuf+8)+2,r16
90 008a 1093 0000 sts (disbuf+8)+3,r17
91 .LM12:
92 008e 8091 0000 lds r24,disbuf+12
93 0092 9091 0000 lds r25,(disbuf+12)+1
94 0096 A091 0000 lds r26,(disbuf+12)+2
95 009a B091 0000 lds r27,(disbuf+12)+3
96 009e 8E0D add r24,r14
97 00a0 9F1D adc r25,r15
98 00a2 A01F adc r26,r16
99 00a4 B11F adc r27,r17
100 00a6 8093 0000 sts disbuf+12,r24
101 00aa 9093 0000 sts (disbuf+12)+1,r25
102 00ae A093 0000 sts (disbuf+12)+2,r26
103 00b2 B093 0000 sts (disbuf+12)+3,r27
104 .LM13:
105 00b6 8091 0000 lds r24,disbuf+16
106 00ba 9091 0000 lds r25,(disbuf+16)+1
107 00be 0196 adiw r24,1
108 00c0 9093 0000 sts (disbuf+16)+1,r25
109 00c4 8093 0000 sts disbuf+16,r24
110 00c8 8151 subi r24,lo8(3601)
111 00ca 9E40 sbci r25,hi8(3601)
112 00cc 00F0 brlo .L10
113 .LM14:
114 00ce 1092 0000 sts (disbuf+16)+1,__zero_reg__
115 00d2 1092 0000 sts disbuf+16,__zero_reg__
116 .LM15:
117 00d6 9091 0000 lds r25,proflag
118 00da 9260 ori r25,lo8(2)
119 00dc 9093 0000 sts proflag,r25
120 .L4:
121 .LM16:
122 00e0 94FF sbrs r25,4
123 00e2 00C0 rjmp .L6
124 .LM17:
125 00e4 8091 0000 lds r24,disbuf+18
126 00e8 8150 subi r24,lo8(-(-1))
127 00ea 8093 0000 sts disbuf+18,r24
128 00ee 8823 tst r24
129 00f0 01F0 breq .L12
130 .L6:
131 .LM18:
132 00f2 9460 ori r25,lo8(4)
133 00f4 9093 0000 sts proflag,r25
134 00f8 00C0 rjmp .L9
135 .L10:
136 00fa 9091 0000 lds r25,proflag
137 00fe 00C0 rjmp .L4
138 .L12:
139 .LM19:
140 0100 8EE1 ldi r24,lo8(30)
141 0102 8093 0000 sts disbuf+18,r24
142 .LM20:
143 0106 1092 0000 sts disbuf+12,__zero_reg__
144 010a 1092 0000 sts (disbuf+12)+1,__zero_reg__
145 010e 1092 0000 sts (disbuf+12)+2,__zero_reg__
146 0112 1092 0000 sts (disbuf+12)+3,__zero_reg__
147 .LM21:
148 0116 1092 0000 sts save+2,__zero_reg__
149 011a 1092 0000 sts (save+2)+1,__zero_reg__
150 011e 1092 0000 sts (save+2)+2,__zero_reg__
151 0122 1092 0000 sts (save+2)+3,__zero_reg__
152 .LM22:
153 0126 9260 ori r25,lo8(2)
154 0128 9093 0000 sts proflag,r25
155 .LM23:
156 012c 9460 ori r25,lo8(4)
157 012e 9093 0000 sts proflag,r25
158 .L9:
159 /* epilogue: frame size=0 */
160 0132 1F91 pop r17
161 0134 0F91 pop r16
162 0136 FF90 pop r15
163 0138 EF90 pop r14
164 013a 0895 ret
165 /* epilogue end (size=5) */
166 /* function proc_calculate size 159 (150) */
167 .LFE10:
169 .global proc_test_sample
171 proc_test_sample:
172 .LFB14:
173 .LM24:
174 /* prologue: frame size=0 */
175 /* prologue end (size=0) */
176 .LM25:
177 013c 8091 0000 lds r24,flag0
178 0140 81FF sbrs r24,1
179 0142 0895 ret
180 .L17:
181 .LM26:
182 0144 4091 0000 lds r20,sample_i
183 0148 5091 0000 lds r21,(sample_i)+1
184 014c 6627 clr r22
185 014e 7727 clr r23
186 0150 80E0 ldi r24,lo8(bcd_buf)
187 0152 90E0 ldi r25,hi8(bcd_buf)
188 0154 00D0 rcall htobcd5
189 .LM27:
190 0156 4091 0000 lds r20,sample_v
191 015a 5091 0000 lds r21,(sample_v)+1
192 015e 6627 clr r22
193 0160 7727 clr r23
194 0162 80E0 ldi r24,lo8(bcd_buf+5)
195 0164 90E0 ldi r25,hi8(bcd_buf+5)
196 0166 00D0 rcall htobcd8
197 .LM28:
198 0168 8091 0000 lds r24,flag0
199 016c 8D7F andi r24,lo8(-3)
200 016e 8093 0000 sts flag0,r24
201 0172 0895 ret
202 /* epilogue: frame size=0 */
203 /* epilogue: noreturn */
204 /* epilogue end (size=0) */
205 /* function proc_test_sample size 29 (29) */
206 .LFE14:
208 .global proc_display
210 proc_display:
211 .LFB13:
212 .LM29:
213 /* prologue: frame size=0 */
214 0174 EF92 push r14
215 0176 FF92 push r15
216 0178 0F93 push r16
217 017a 1F93 push r17
218 /* prologue end (size=4) */
219 .LM30:
220 017c 8091 0000 lds r24,proflag
221 0180 82FF sbrs r24,2
222 0182 00C0 rjmp .L29
223 .LM31:
224 0184 6091 0000 lds r22,disbuf+12
225 0188 7091 0000 lds r23,(disbuf+12)+1
226 018c 8091 0000 lds r24,(disbuf+12)+2
227 0190 9091 0000 lds r25,(disbuf+12)+3
228 0194 685F subi r22,lo8(-(1800))
229 0196 784F sbci r23,hi8(-(1800))
230 0198 8F4F sbci r24,hlo8(-(1800))
231 019a 9F4F sbci r25,hhi8(-(1800))
232 .LM32:
233 019c E090 0000 lds r14,save+2
234 01a0 F090 0000 lds r15,(save+2)+1
235 01a4 0091 0000 lds r16,(save+2)+2
236 01a8 1091 0000 lds r17,(save+2)+3
237 .LVL4:
238 .LM33:
239 01ac 20E1 ldi r18,lo8(3600)
240 01ae 3EE0 ldi r19,hi8(3600)
241 01b0 40E0 ldi r20,hlo8(3600)
242 01b2 50E0 ldi r21,hhi8(3600)
243 01b4 00D0 rcall __udivmodsi4
244 .LVL5:
245 01b6 2E0D add r18,r14
246 01b8 3F1D adc r19,r15
247 01ba 401F adc r20,r16
248 01bc 511F adc r21,r17
249 .LM34:
250 01be 2030 cpi r18,lo8(100000000)
251 01c0 81EE ldi r24,hi8(100000000)
252 01c2 3807 cpc r19,r24
253 01c4 85EF ldi r24,hlo8(100000000)
254 01c6 4807 cpc r20,r24
255 01c8 85E0 ldi r24,hhi8(100000000)
256 01ca 5807 cpc r21,r24
257 01cc 00F4 brsh .L30
258 .L21:
259 .LM35:
260 01ce BA01 movw r22,r20
261 01d0 A901 movw r20,r18
262 01d2 80E0 ldi r24,lo8(bcd_buf+5)
263 01d4 90E0 ldi r25,hi8(bcd_buf+5)
264 01d6 00D0 rcall htobcd8
265 .LVL6:
266 .LM36:
267 01d8 8091 0000 lds r24,bcd_buf+11
268 01dc 8068 ori r24,lo8(-128)
269 01de 8093 0000 sts bcd_buf+11,r24
270 .LM37:
271 01e2 8091 0000 lds r24,proflag
272 01e6 84FD sbrc r24,4
273 01e8 00C0 rjmp .L31
274 .LM38:
275 01ea 9091 0000 lds r25,key_type
276 01ee 9130 cpi r25,lo8(1)
277 01f0 01F4 brne .+2
278 01f2 00C0 rjmp .L27
279 01f4 9130 cpi r25,lo8(1)
280 01f6 00F4 brsh .L32
281 .LM39:
282 01f8 4091 0000 lds r20,disbuf
283 01fc 5091 0000 lds r21,(disbuf)+1
284 0200 6091 0000 lds r22,(disbuf)+2
285 0204 7091 0000 lds r23,(disbuf)+3
286 0208 80E0 ldi r24,lo8(bcd_buf)
287 020a 90E0 ldi r25,hi8(bcd_buf)
288 020c 00D0 rcall htobcd5
289 .LM40:
290 020e 8091 0000 lds r24,bcd_buf+3
291 0212 8068 ori r24,lo8(-128)
292 0214 8093 0000 sts bcd_buf+3,r24
293 .LM41:
294 0218 4598 cbi 40-0x20,5
295 .LM42:
296 021a 449A sbi 40-0x20,4
297 .LM43:
298 021c 5D9A sbi 43-0x20,5
299 021e 8091 0000 lds r24,proflag
300 .LM44:
301 0222 8B7F andi r24,lo8(-5)
302 0224 8093 0000 sts proflag,r24
303 0228 00C0 rjmp .L29
304 .LVL7:
305 .L30:
306 .LM45:
307 022a 2050 subi r18,lo8(-(-100000000))
308 022c 314E sbci r19,hi8(-(-100000000))
309 022e 454F sbci r20,hlo8(-(-100000000))
310 0230 5540 sbci r21,hhi8(-(-100000000))
311 0232 00C0 rjmp .L21
312 .LVL8:
313 .L31:
314 .LM46:
315 0234 4091 0000 lds r20,disbuf+18
316 0238 5527 clr r21
317 023a 6627 clr r22
318 023c 7727 clr r23
319 023e 80E0 ldi r24,lo8(bcd_buf)
320 0240 90E0 ldi r25,hi8(bcd_buf)
321 0242 00D0 rcall htobcd5
322 .LM47:
323 0244 8FE0 ldi r24,lo8(15)
324 0246 8093 0000 sts bcd_buf,r24
325 .LM48:
326 024a 8093 0000 sts bcd_buf+1,r24
327 .LM49:
328 024e 8093 0000 sts bcd_buf+2,r24
329 0252 8091 0000 lds r24,proflag
330 .L25:
331 .LM50:
332 0256 8B7F andi r24,lo8(-5)
333 0258 8093 0000 sts proflag,r24
334 025c 00C0 rjmp .L29
335 .L32:
336 .LM51:
337 025e 9230 cpi r25,lo8(2)
338 0260 01F4 brne .L25
339 .LM52:
340 0262 4091 0000 lds r20,disbuf
341 0266 5091 0000 lds r21,(disbuf)+1
342 026a 6091 0000 lds r22,(disbuf)+2
343 026e 7091 0000 lds r23,(disbuf)+3
344 0272 80E0 ldi r24,lo8(bcd_buf)
345 0274 90E0 ldi r25,hi8(bcd_buf)
346 0276 00D0 rcall htobcd5
347 .LM53:
348 0278 8091 0000 lds r24,bcd_buf+3
349 027c 8068 ori r24,lo8(-128)
350 027e 8093 0000 sts bcd_buf+3,r24
351 .LM54:
352 0282 459A sbi 40-0x20,5
353 .LM55:
354 0284 449A sbi 40-0x20,4
355 .LM56:
356 0286 5D98 cbi 43-0x20,5
357 0288 8091 0000 lds r24,proflag
358 028c 00C0 rjmp .L25
359 .L27:
360 .LM57:
361 028e 4091 0000 lds r20,disbuf
362 0292 5091 0000 lds r21,(disbuf)+1
363 0296 6091 0000 lds r22,(disbuf)+2
364 029a 7091 0000 lds r23,(disbuf)+3
365 029e 80E0 ldi r24,lo8(bcd_buf)
366 02a0 90E0 ldi r25,hi8(bcd_buf)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -