📄 ds3231.lst
字号:
1 .file "ds3231.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 BCDtoASCII
20 BCDtoASCII:
21 .LFB6:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LVL0:
26 0000 FB01 movw r30,r22
27 .LM2:
28 0002 982F mov r25,r24
29 0004 9295 swap r25
30 0006 9F70 andi r25,0x0f
31 0008 905D subi r25,lo8(-(48))
32 000a 9083 st Z,r25
33 .LM3:
34 000c 8F70 andi r24,lo8(15)
35 000e 805D subi r24,lo8(-(48))
36 0010 8183 std Z+1,r24
37 /* epilogue: frame size=0 */
38 0012 0895 ret
39 /* epilogue end (size=1) */
40 /* function BCDtoASCII size 10 (9) */
41 .LFE6:
43 .global decodeWEEK
45 decodeWEEK:
46 .LFB7:
47 .LM4:
48 /* prologue: frame size=0 */
49 /* prologue end (size=0) */
50 .LVL1:
51 .LM5:
52 0014 8770 andi r24,lo8(7)
53 .LVL2:
54 .LM6:
55 0016 880F lsl r24
56 .LM7:
57 0018 A0E0 ldi r26,lo8(WEEK)
58 001a B0E0 ldi r27,hi8(WEEK)
59 001c FD01 movw r30,r26
60 001e E80F add r30,r24
61 0020 F11D adc r31,__zero_reg__
62 0022 9081 ld r25,Z
63 0024 FB01 movw r30,r22
64 0026 9083 st Z,r25
65 .LM8:
66 0028 8F5F subi r24,lo8(-(1))
67 002a A80F add r26,r24
68 002c B11D adc r27,__zero_reg__
69 002e 8C91 ld r24,X
70 .LVL3:
71 0030 8183 std Z+1,r24
72 /* epilogue: frame size=0 */
73 0032 0895 ret
74 /* epilogue end (size=1) */
75 /* function decodeWEEK size 16 (15) */
76 .LFE7:
78 .global BcdToBin
80 BcdToBin:
81 .LFB8:
82 .LM9:
83 /* prologue: frame size=0 */
84 /* prologue end (size=0) */
85 .LVL4:
86 0034 282F mov r18,r24
87 0036 2295 swap r18
88 0038 2F70 andi r18,0x0f
89 003a 9AE0 ldi r25,lo8(10)
90 003c 299F mul r18,r25
91 003e 9001 movw r18,r0
92 0040 1124 clr r1
93 0042 8F70 andi r24,lo8(15)
94 0044 820F add r24,r18
95 .LM10:
96 0046 9927 clr r25
97 .LVL5:
98 /* epilogue: frame size=0 */
99 0048 0895 ret
100 /* epilogue end (size=1) */
101 /* function BcdToBin size 11 (10) */
102 .LFE8:
104 .global BinToBcd
106 BinToBcd:
107 .LFB9:
108 .LM11:
109 /* prologue: frame size=0 */
110 /* prologue end (size=0) */
111 .LVL6:
112 004a 282F mov r18,r24
113 004c 6AE0 ldi r22,lo8(10)
114 .LVL7:
115 004e 0E94 0000 call __udivmodqi4
116 0052 482F mov r20,r24
117 0054 5527 clr r21
118 0056 84E0 ldi r24,4
119 0058 440F 1: lsl r20
120 005a 551F rol r21
121 005c 8A95 dec r24
122 005e 01F4 brne 1b
123 0060 822F mov r24,r18
124 0062 0E94 0000 call __udivmodqi4
125 0066 940F add r25,r20
126 .LM12:
127 0068 892F mov r24,r25
128 006a 9927 clr r25
129 /* epilogue: frame size=0 */
130 006c 0895 ret
131 /* epilogue end (size=1) */
132 /* function BinToBcd size 18 (17) */
133 .LFE9:
135 .global ERROR
137 ERROR:
138 .LFB11:
139 .LM13:
140 /* prologue: frame size=0 */
141 /* prologue end (size=0) */
142 .LM14:
143 006e 81E0 ldi r24,lo8(1)
144 0070 8093 0000 sts systemerror,r24
145 .LM15:
146 0074 84E9 ldi r24,lo8(-108)
147 0076 86BF out 86-0x20,r24
148 /* epilogue: frame size=0 */
149 0078 0895 ret
150 /* epilogue end (size=1) */
151 /* function ERROR size 6 (5) */
152 .LFE11:
154 .global DS3231TWIRead
156 DS3231TWIRead:
157 .LFB12:
158 .LM16:
159 /* prologue: frame size=0 */
160 /* prologue end (size=0) */
161 .LVL8:
162 007a 9C01 movw r18,r24
163 .LM17:
164 007c 84EA ldi r24,lo8(-92)
165 .LVL9:
166 007e 86BF out 86-0x20,r24
167 .L12:
168 .LM18:
169 0080 06B6 in __tmp_reg__,86-0x20
170 0082 07FE sbrs __tmp_reg__,7
171 0084 00C0 rjmp .L12
172 .LM19:
173 0086 81B1 in r24,33-0x20
174 0088 887F andi r24,lo8(-8)
175 008a 8830 cpi r24,lo8(8)
176 008c 01F0 breq .L14
177 .LBB32:
178 .LBB33:
179 .LM20:
180 008e 81E0 ldi r24,lo8(1)
181 0090 8093 0000 sts systemerror,r24
182 .LM21:
183 0094 84E9 ldi r24,lo8(-108)
184 0096 86BF out 86-0x20,r24
185 .L14:
186 .LBE33:
187 .LBE32:
188 .LM22:
189 0098 80ED ldi r24,lo8(-48)
190 009a 83B9 out 35-0x20,r24
191 .LM23:
192 009c 84E8 ldi r24,lo8(-124)
193 009e 86BF out 86-0x20,r24
194 .L16:
195 .LM24:
196 00a0 06B6 in __tmp_reg__,86-0x20
197 00a2 07FE sbrs __tmp_reg__,7
198 00a4 00C0 rjmp .L16
199 .LM25:
200 00a6 81B1 in r24,33-0x20
201 00a8 887F andi r24,lo8(-8)
202 00aa 8831 cpi r24,lo8(24)
203 00ac 01F0 breq .L18
204 .LBB34:
205 .LBB35:
206 .LM26:
207 00ae 81E0 ldi r24,lo8(1)
208 00b0 8093 0000 sts systemerror,r24
209 .LM27:
210 00b4 84E9 ldi r24,lo8(-108)
211 00b6 86BF out 86-0x20,r24
212 .L18:
213 .LBE35:
214 .LBE34:
215 .LM28:
216 00b8 23B9 out 35-0x20,r18
217 .LM29:
218 00ba 84E8 ldi r24,lo8(-124)
219 00bc 86BF out 86-0x20,r24
220 .L20:
221 .LM30:
222 00be 06B6 in __tmp_reg__,86-0x20
223 00c0 07FE sbrs __tmp_reg__,7
224 00c2 00C0 rjmp .L20
225 .LM31:
226 00c4 81B1 in r24,33-0x20
227 00c6 887F andi r24,lo8(-8)
228 00c8 8832 cpi r24,lo8(40)
229 00ca 01F0 breq .L22
230 .LBB36:
231 .LBB37:
232 .LM32:
233 00cc 81E0 ldi r24,lo8(1)
234 00ce 8093 0000 sts systemerror,r24
235 .LM33:
236 00d2 84E9 ldi r24,lo8(-108)
237 00d4 86BF out 86-0x20,r24
238 .L22:
239 .LBE37:
240 .LBE36:
241 .LM34:
242 00d6 84EA ldi r24,lo8(-92)
243 00d8 86BF out 86-0x20,r24
244 .L24:
245 .LM35:
246 00da 06B6 in __tmp_reg__,86-0x20
247 00dc 07FE sbrs __tmp_reg__,7
248 00de 00C0 rjmp .L24
249 .LM36:
250 00e0 81B1 in r24,33-0x20
251 00e2 887F andi r24,lo8(-8)
252 00e4 8031 cpi r24,lo8(16)
253 00e6 01F0 breq .L26
254 .LBB38:
255 .LBB39:
256 .LM37:
257 00e8 81E0 ldi r24,lo8(1)
258 00ea 8093 0000 sts systemerror,r24
259 .LM38:
260 00ee 84E9 ldi r24,lo8(-108)
261 00f0 86BF out 86-0x20,r24
262 .L26:
263 .LBE39:
264 .LBE38:
265 .LM39:
266 00f2 81ED ldi r24,lo8(-47)
267 00f4 83B9 out 35-0x20,r24
268 .LM40:
269 00f6 84E8 ldi r24,lo8(-124)
270 00f8 86BF out 86-0x20,r24
271 .L28:
272 .LM41:
273 00fa 06B6 in __tmp_reg__,86-0x20
274 00fc 07FE sbrs __tmp_reg__,7
275 00fe 00C0 rjmp .L28
276 .LM42:
277 0100 81B1 in r24,33-0x20
278 0102 887F andi r24,lo8(-8)
279 0104 8034 cpi r24,lo8(64)
280 0106 01F0 breq .L30
281 .LBB40:
282 .LBB41:
283 .LM43:
284 0108 81E0 ldi r24,lo8(1)
285 010a 8093 0000 sts systemerror,r24
286 .LM44:
287 010e 84E9 ldi r24,lo8(-108)
288 0110 86BF out 86-0x20,r24
289 .L30:
290 .LBE41:
291 .LBE40:
292 .LM45:
293 0112 84E8 ldi r24,lo8(-124)
294 0114 86BF out 86-0x20,r24
295 .L32:
296 .LM46:
297 0116 06B6 in __tmp_reg__,86-0x20
298 0118 07FE sbrs __tmp_reg__,7
299 011a 00C0 rjmp .L32
300 .LM47:
301 011c 81B1 in r24,33-0x20
302 011e 887F andi r24,lo8(-8)
303 0120 8835 cpi r24,lo8(88)
304 0122 01F0 breq .L34
305 .LBB42:
306 .LBB43:
307 .LM48:
308 0124 81E0 ldi r24,lo8(1)
309 0126 8093 0000 sts systemerror,r24
310 .LM49:
311 012a 84E9 ldi r24,lo8(-108)
312 012c 86BF out 86-0x20,r24
313 .L34:
314 .LBE43:
315 .LBE42:
316 .LM50:
317 012e 83B1 in r24,35-0x20
318 .LVL10:
319 .LM51:
320 0130 94E9 ldi r25,lo8(-108)
321 0132 96BF out 86-0x20,r25
322 .LBB44:
323 .LBB45:
324 .LBB46:
325 .LBB47:
326 .LM52:
327 0134 E0E0 ldi r30,lo8(13824)
328 0136 F6E3 ldi r31,hi8(13824)
329 .LVL11:
330 /* #APP */
331 0138 3197 1: sbiw r30,1
332 013a 01F4 brne 1b
333 /* #NOAPP */
334 .LBE47:
335 .LBE46:
336 .LBE45:
337 .LBE44:
338 .LM53:
339 013c 9927 clr r25
340 .LVL12:
341 /* epilogue: frame size=0 */
342 013e 0895 ret
343 /* epilogue end (size=1) */
344 /* function DS3231TWIRead size 101 (100) */
345 .LFE12:
347 .global DS3231TWIWrite
349 DS3231TWIWrite:
350 .LFB13:
351 .LM54:
352 /* prologue: frame size=0 */
353 /* prologue end (size=0) */
354 .LVL13:
355 0140 9C01 movw r18,r24
356 .LM55:
357 0142 84EA ldi r24,lo8(-92)
358 .LVL14:
359 0144 86BF out 86-0x20,r24
360 .L50:
361 .LM56:
362 0146 06B6 in __tmp_reg__,86-0x20
363 0148 07FE sbrs __tmp_reg__,7
364 014a 00C0 rjmp .L50
365 .LM57:
366 014c 81B1 in r24,33-0x20
367 014e 887F andi r24,lo8(-8)
368 0150 8830 cpi r24,lo8(8)
369 0152 01F0 breq .L52
370 .LBB48:
371 .LBB49:
372 .LM58:
373 0154 81E0 ldi r24,lo8(1)
374 0156 8093 0000 sts systemerror,r24
375 .LM59:
376 015a 84E9 ldi r24,lo8(-108)
377 015c 86BF out 86-0x20,r24
378 .L52:
379 .LBE49:
380 .LBE48:
381 .LM60:
382 015e 80ED ldi r24,lo8(-48)
383 0160 83B9 out 35-0x20,r24
384 .LM61:
385 0162 84E8 ldi r24,lo8(-124)
386 0164 86BF out 86-0x20,r24
387 .L54:
388 .LM62:
389 0166 06B6 in __tmp_reg__,86-0x20
390 0168 07FE sbrs __tmp_reg__,7
391 016a 00C0 rjmp .L54
392 .LM63:
393 016c 81B1 in r24,33-0x20
394 016e 887F andi r24,lo8(-8)
395 0170 8831 cpi r24,lo8(24)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -