📄 sd2300.lst
字号:
1 .file "sd2300.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 hexToBcd
20 hexToBcd:
21 .LFB14:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 0000 482F mov r20,r24
26 .LM2:
27 0002 5AE0 ldi r21,lo8(10)
28 0004 652F mov r22,r21
29 0006 0E94 0000 call __udivmodqi4
30 000a 282F mov r18,r24
31 000c 3327 clr r19
32 000e 84E0 ldi r24,4
33 0010 220F 1: lsl r18
34 0012 331F rol r19
35 0014 8A95 dec r24
36 0016 E1F7 brne 1b
37 0018 842F mov r24,r20
38 001a 0E94 0000 call __udivmodqi4
39 001e 892F mov r24,r25
40 0020 820F add r24,r18
41 .LM3:
42 0022 9927 clr r25
43 /* epilogue: frame size=0 */
44 0024 0895 ret
45 /* epilogue end (size=1) */
46 /* function hexToBcd size 19 (18) */
47 .LFE14:
49 .global a2toi
51 a2toi:
52 .LFB15:
53 .LM4:
54 /* prologue: frame size=2 */
55 0026 CF93 push r28
56 0028 DF93 push r29
57 002a CDB7 in r28,__SP_L__
58 002c DEB7 in r29,__SP_H__
59 002e 2297 sbiw r28,2
60 0030 0FB6 in __tmp_reg__,__SREG__
61 0032 F894 cli
62 0034 DEBF out __SP_H__,r29
63 0036 0FBE out __SREG__,__tmp_reg__
64 0038 CDBF out __SP_L__,r28
65 /* prologue end (size=10) */
66 003a DC01 movw r26,r24
67 .LM5:
68 003c 8C91 ld r24,X
69 003e 8983 std Y+1,r24
70 .LM6:
71 0040 9E01 movw r18,r28
72 0042 2F5F subi r18,lo8(-(1))
73 0044 3F4F sbci r19,hi8(-(1))
74 0046 FD01 movw r30,r26
75 0048 8181 ldd r24,Z+1
76 004a F901 movw r30,r18
77 004c 8183 std Z+1,r24
78 .LM7:
79 004e C901 movw r24,r18
80 0050 0E94 0000 call atoi
81 .LM8:
82 0054 9927 clr r25
83 /* epilogue: frame size=2 */
84 0056 2296 adiw r28,2
85 0058 0FB6 in __tmp_reg__,__SREG__
86 005a F894 cli
87 005c DEBF out __SP_H__,r29
88 005e 0FBE out __SREG__,__tmp_reg__
89 0060 CDBF out __SP_L__,r28
90 0062 DF91 pop r29
91 0064 CF91 pop r28
92 0066 0895 ret
93 /* epilogue end (size=9) */
94 /* function a2toi size 33 (14) */
95 .LFE15:
97 .global hextoa2
99 hextoa2:
100 .LFB16:
101 .LM9:
102 /* prologue: frame size=0 */
103 /* prologue end (size=0) */
104 0068 FB01 movw r30,r22
105 .LM10:
106 006a 982F mov r25,r24
107 006c 9295 swap r25
108 006e 9F70 andi r25,0x0f
109 0070 905D subi r25,lo8(-(48))
110 0072 9083 st Z,r25
111 .LM11:
112 0074 8F70 andi r24,lo8(15)
113 0076 805D subi r24,lo8(-(48))
114 0078 8183 std Z+1,r24
115 /* epilogue: frame size=0 */
116 007a 0895 ret
117 /* epilogue end (size=1) */
118 /* function hextoa2 size 10 (9) */
119 .LFE16:
121 .global a2tobcd2
123 a2tobcd2:
124 .LFB17:
125 .LM12:
126 /* prologue: frame size=0 */
127 /* prologue end (size=0) */
128 .LM13:
129 007c 0E94 0000 call a2toi
130 0080 0E94 0000 call hexToBcd
131 .LM14:
132 0084 9927 clr r25
133 /* epilogue: frame size=0 */
134 0086 0895 ret
135 /* epilogue end (size=1) */
136 /* function a2tobcd2 size 6 (5) */
137 .LFE17:
139 .global twiInit
141 twiInit:
142 .LFB18:
143 .LM15:
144 /* prologue: frame size=0 */
145 /* prologue end (size=0) */
146 .LM16:
147 0088 84B3 in r24,52-0x20
148 008a 8A7F andi r24,lo8(-6)
149 008c 84BB out 52-0x20,r24
150 .LM17:
151 008e 85B3 in r24,53-0x20
152 0090 8560 ori r24,lo8(5)
153 0092 85BB out 53-0x20,r24
154 .LM18:
155 0094 8CE1 ldi r24,lo8(28)
156 0096 80B9 out 32-0x20,r24
157 /* epilogue: frame size=0 */
158 0098 0895 ret
159 /* epilogue end (size=1) */
160 /* function twiInit size 9 (8) */
161 .LFE18:
163 .global twiStart
165 twiStart:
166 .LFB19:
167 .LM19:
168 /* prologue: frame size=0 */
169 /* prologue end (size=0) */
170 .LM20:
171 009a 84EA ldi r24,lo8(-92)
172 009c 86BF out 86-0x20,r24
173 .L7:
174 .LM21:
175 009e 06B6 in __tmp_reg__,86-0x20
176 00a0 07FE sbrs __tmp_reg__,7
177 00a2 FDCF rjmp .L7
178 /* epilogue: frame size=0 */
179 00a4 0895 ret
180 /* epilogue end (size=1) */
181 /* function twiStart size 6 (5) */
182 .LFE19:
184 .global twiStop
186 twiStop:
187 .LFB20:
188 .LM22:
189 /* prologue: frame size=0 */
190 /* prologue end (size=0) */
191 .LM23:
192 00a6 84E9 ldi r24,lo8(-108)
193 00a8 86BF out 86-0x20,r24
194 /* epilogue: frame size=0 */
195 00aa 0895 ret
196 /* epilogue end (size=1) */
197 /* function twiStop size 3 (2) */
198 .LFE20:
200 .global twiWriteByte
202 twiWriteByte:
203 .LFB21:
204 .LM24:
205 /* prologue: frame size=0 */
206 /* prologue end (size=0) */
207 .LM25:
208 00ac 83B9 out 35-0x20,r24
209 .LM26:
210 00ae 84E8 ldi r24,lo8(-124)
211 00b0 86BF out 86-0x20,r24
212 .L12:
213 .LM27:
214 00b2 06B6 in __tmp_reg__,86-0x20
215 00b4 07FE sbrs __tmp_reg__,7
216 00b6 FDCF rjmp .L12
217 /* epilogue: frame size=0 */
218 00b8 0895 ret
219 /* epilogue end (size=1) */
220 /* function twiWriteByte size 7 (6) */
221 .LFE21:
223 .global twiReadByteACK
225 twiReadByteACK:
226 .LFB22:
227 .LM28:
228 /* prologue: frame size=0 */
229 /* prologue end (size=0) */
230 .LM29:
231 00ba 84EC ldi r24,lo8(-60)
232 00bc 86BF out 86-0x20,r24
233 .L16:
234 .LM30:
235 00be 06B6 in __tmp_reg__,86-0x20
236 00c0 07FE sbrs __tmp_reg__,7
237 00c2 FDCF rjmp .L16
238 .LM31:
239 00c4 83B1 in r24,35-0x20
240 .LM32:
241 00c6 9927 clr r25
242 /* epilogue: frame size=0 */
243 00c8 0895 ret
244 /* epilogue end (size=1) */
245 /* function twiReadByteACK size 8 (7) */
246 .LFE22:
248 .global twiReadByteNACK
250 twiReadByteNACK:
251 .LFB23:
252 .LM33:
253 /* prologue: frame size=0 */
254 /* prologue end (size=0) */
255 .LM34:
256 00ca 84E8 ldi r24,lo8(-124)
257 00cc 86BF out 86-0x20,r24
258 .L20:
259 .LM35:
260 00ce 06B6 in __tmp_reg__,86-0x20
261 00d0 07FE sbrs __tmp_reg__,7
262 00d2 FDCF rjmp .L20
263 .LM36:
264 00d4 83B1 in r24,35-0x20
265 .LM37:
266 00d6 9927 clr r25
267 /* epilogue: frame size=0 */
268 00d8 0895 ret
269 /* epilogue end (size=1) */
270 /* function twiReadByteNACK size 8 (7) */
271 .LFE23:
273 .global sd2300Init
275 sd2300Init:
276 .LFB24:
277 .LM38:
278 /* prologue: frame size=0 */
279 /* prologue end (size=0) */
280 .LM39:
281 00da 0E94 0000 call twiInit
282 /* epilogue: frame size=0 */
283 00de 0895 ret
284 /* epilogue end (size=1) */
285 /* function sd2300Init size 3 (2) */
286 .LFE24:
288 .global _rtcWriteNByte
290 _rtcWriteNByte:
291 .LFB25:
292 .LM40:
293 /* prologue: frame size=0 */
294 00e0 EF92 push r14
295 00e2 FF92 push r15
296 00e4 0F93 push r16
297 00e6 1F93 push r17
298 00e8 CF93 push r28
299 /* prologue end (size=5) */
300 00ea C82F mov r28,r24
301 00ec F62E mov r15,r22
302 00ee E42E mov r14,r20
303 00f0 8901 movw r16,r18
304 .LM41:
305 00f2 0E94 0000 call twiStart
306 .LM42:
307 00f6 81B1 in r24,33-0x20
308 00f8 8830 cpi r24,lo8(8)
309 00fa 19F0 breq .L25
310 .LM43:
311 00fc 88E0 ldi r24,lo8(8)
312 00fe 90E0 ldi r25,hi8(8)
313 0100 20C0 rjmp .L24
314 .L25:
315 .LM44:
316 0102 8C2F mov r24,r28
317 0104 0E94 0000 call twiWriteByte
318 .LM45:
319 0108 81B1 in r24,33-0x20
320 010a 8831 cpi r24,lo8(24)
321 010c 19F0 breq .L26
322 .LM46:
323 010e 88E1 ldi r24,lo8(24)
324 0110 90E0 ldi r25,hi8(24)
325 0112 17C0 rjmp .L24
326 .L26:
327 .LM47:
328 0114 8F2D mov r24,r15
329 0116 0E94 0000 call twiWriteByte
330 .LM48:
331 011a 81B1 in r24,33-0x20
332 011c 8832 cpi r24,lo8(40)
333 011e 19F0 breq .L27
334 .LM49:
335 0120 88E2 ldi r24,lo8(40)
336 0122 90E0 ldi r25,hi8(40)
337 0124 0EC0 rjmp .L24
338 .L27:
339 .LM50:
340 0126 C0E0 ldi r28,lo8(0)
341 .L34:
342 0128 CE15 cp r28,r14
343 012a 38F4 brsh .L33
344 .LM51:
345 012c F801 movw r30,r16
346 012e 8191 ld r24,Z+
347 0130 8F01 movw r16,r30
348 0132 0E94 0000 call twiWriteByte
349 .LM52:
350 0136 CF5F subi r28,lo8(-(1))
351 0138 F7CF rjmp .L34
352 .L33:
353 .LM53:
354 013a 0E94 0000 call twiStop
355 .LM54:
356 013e 80E0 ldi r24,lo8(0)
357 0140 90E0 ldi r25,hi8(0)
358 .L24:
359 /* epilogue: frame size=0 */
360 0142 CF91 pop r28
361 0144 1F91 pop r17
362 0146 0F91 pop r16
363 0148 FF90 pop r15
364 014a EF90 pop r14
365 014c 0895 ret
366 /* epilogue end (size=6) */
367 /* function _rtcWriteNByte size 55 (44) */
368 .LFE25:
370 .global _rtcReadNByte
372 _rtcReadNByte:
373 .LFB26:
374 .LM55:
375 /* prologue: frame size=0 */
376 014e EF92 push r14
377 0150 FF92 push r15
378 0152 0F93 push r16
379 0154 1F93 push r17
380 0156 CF93 push r28
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -