?? time.lst
字號:
1 .file "Time.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
16 .Ltext0:
17 .global DS1371_BinaryToDate
19 DS1371_BinaryToDate:
20 .LFB9:
21 .LM1:
22 /* prologue: frame size=10 */
23 0000 3F92 push r3
24 0002 4F92 push r4
25 0004 5F92 push r5
26 0006 6F92 push r6
27 0008 7F92 push r7
28 000a 8F92 push r8
29 000c 9F92 push r9
30 000e AF92 push r10
31 0010 BF92 push r11
32 0012 CF92 push r12
33 0014 DF92 push r13
34 0016 EF92 push r14
35 0018 FF92 push r15
36 001a 0F93 push r16
37 001c 1F93 push r17
38 001e CF93 push r28
39 0020 DF93 push r29
40 0022 CDB7 in r28,__SP_L__
41 0024 DEB7 in r29,__SP_H__
42 0026 2A97 sbiw r28,10
43 0028 0FB6 in __tmp_reg__,__SREG__
44 002a F894 cli
45 002c DEBF out __SP_H__,r29
46 002e 0FBE out __SREG__,__tmp_reg__
47 0030 CDBF out __SP_L__,r28
48 /* prologue end (size=25) */
49 .LVL0:
50 0032 6D83 std Y+5,r22
51 0034 7E83 std Y+6,r23
52 0036 8F83 std Y+7,r24
53 0038 9887 std Y+8,r25
54 .LM2:
55 003a 2CE3 ldi r18,lo8(60)
56 003c 30E0 ldi r19,hi8(60)
57 003e 40E0 ldi r20,hlo8(60)
58 0040 50E0 ldi r21,hhi8(60)
59 0042 0E94 0000 call __udivmodsi4
60 .LVL1:
61 0046 2901 movw r4,r18
62 0048 3A01 movw r6,r20
63 .LVL2:
64 .LM3:
65 004a CA01 movw r24,r20
66 004c B901 movw r22,r18
67 004e 2CE3 ldi r18,lo8(60)
68 0050 30E0 ldi r19,hi8(60)
69 0052 40E0 ldi r20,hlo8(60)
70 0054 50E0 ldi r21,hhi8(60)
71 0056 0E94 0000 call __udivmodsi4
72 005a 2983 std Y+1,r18
73 005c 3A83 std Y+2,r19
74 005e 4B83 std Y+3,r20
75 0060 5C83 std Y+4,r21
76 .LVL3:
77 .LM4:
78 0062 CA01 movw r24,r20
79 0064 B901 movw r22,r18
80 .LVL4:
81 0066 28E1 ldi r18,lo8(24)
82 0068 30E0 ldi r19,hi8(24)
83 006a 40E0 ldi r20,hlo8(24)
84 006c 50E0 ldi r21,hhi8(24)
85 006e 0E94 0000 call __udivmodsi4
86 .LVL5:
87 0072 5901 movw r10,r18
88 0074 6A01 movw r12,r20
89 .LVL6:
90 .LM5:
91 0076 CA01 movw r24,r20
92 0078 B901 movw r22,r18
93 007a 25EB ldi r18,lo8(1461)
94 007c 35E0 ldi r19,hi8(1461)
95 007e 40E0 ldi r20,hlo8(1461)
96 0080 50E0 ldi r21,hhi8(1461)
97 0082 0E94 0000 call __udivmodsi4
98 0086 7901 movw r14,r18
99 0088 8A01 movw r16,r20
100 .LVL7:
101 .LM6:
102 008a C601 movw r24,r12
103 008c B501 movw r22,r10
104 008e 25EB ldi r18,lo8(1461)
105 0090 35E0 ldi r19,hi8(1461)
106 0092 40E0 ldi r20,hlo8(1461)
107 0094 50E0 ldi r21,hhi8(1461)
108 0096 0E94 0000 call __udivmodsi4
109 009a 7A87 std Y+10,r23
110 009c 6987 std Y+9,r22
111 .LVL8:
112 .LM7:
113 009e 6C33 cpi r22,60
114 00a0 7105 cpc r23,__zero_reg__
115 00a2 00F0 brlo .L2
116 .LM8:
117 00a4 0894 sec
118 00a6 E11C adc r14,__zero_reg__
119 00a8 F11C adc r15,__zero_reg__
120 00aa 011D adc r16,__zero_reg__
121 00ac 111D adc r17,__zero_reg__
122 .L2:
123 .LM9:
124 00ae C601 movw r24,r12
125 00b0 B501 movw r22,r10
126 00b2 6E19 sub r22,r14
127 00b4 7F09 sbc r23,r15
128 00b6 800B sbc r24,r16
129 00b8 910B sbc r25,r17
130 00ba 2DE6 ldi r18,lo8(365)
131 00bc 31E0 ldi r19,hi8(365)
132 00be 40E0 ldi r20,hlo8(365)
133 00c0 50E0 ldi r21,hhi8(365)
134 00c2 0E94 0000 call __udivmodsi4
135 00c6 322E mov r3,r18
136 .LVL9:
137 .LM10:
138 00c8 30E0 ldi r19,lo8(0)
139 00ca 8DE6 ldi r24,lo8(365)
140 00cc 91E0 ldi r25,hi8(365)
141 00ce DC01 movw r26,r24
142 00d0 2A9F mul r18,r26
143 00d2 C001 movw r24,r0
144 00d4 2B9F mul r18,r27
145 00d6 900D add r25,r0
146 00d8 3A9F mul r19,r26
147 00da 900D add r25,r0
148 00dc 1124 clr r1
149 00de 4501 movw r8,r10
150 .LVL10:
151 00e0 881A sub r8,r24
152 00e2 990A sbc r9,r25
153 00e4 8E18 sub r8,r14
154 00e6 9F08 sbc r9,r15
155 .LM11:
156 00e8 E985 ldd r30,Y+9
157 00ea FA85 ldd r31,Y+10
158 00ec FC97 sbiw r30,60
159 00ee E253 subi r30,lo8(306)
160 00f0 F140 sbci r31,hi8(306)
161 00f2 00F4 brsh .L4
162 .LM12:
163 00f4 0894 sec
164 00f6 811C adc r8,__zero_reg__
165 00f8 911C adc r9,__zero_reg__
166 .L4:
167 00fa 1DE0 ldi r17,lo8(13)
168 .LVL11:
169 00fc 4EE6 ldi r20,lo8(366)
170 00fe E42E mov r14,r20
171 0100 41E0 ldi r20,hi8(366)
172 0102 F42E mov r15,r20
173 .LVL12:
174 .LM13:
175 0104 C901 movw r24,r18
176 0106 8370 andi r24,lo8(3)
177 0108 9070 andi r25,hi8(3)
178 010a 00C0 rjmp .L15
179 .LVL13:
180 .L7:
181 .LM14:
182 010c 1150 subi r17,lo8(-(-1))
183 .LM15:
184 010e E12F mov r30,r17
185 0110 F0E0 ldi r31,lo8(0)
186 0112 EE0F lsl r30
187 0114 FF1F rol r31
188 .LVL14:
189 0116 E050 subi r30,lo8(-(DaysToMonth))
190 0118 F040 sbci r31,hi8(-(DaysToMonth))
191 011a E080 ld r14,Z
192 011c F180 ldd r15,Z+1
193 .LM16:
194 011e 1230 cpi r17,lo8(2)
195 0120 00F0 brlo .L15
196 .LVL15:
197 0122 0097 sbiw r24,0
198 0124 01F4 brne .L15
199 .LM17:
200 0126 0894 sec
201 0128 E11C adc r14,__zero_reg__
202 012a F11C adc r15,__zero_reg__
203 .L15:
204 .LM18:
205 012c 8E14 cp r8,r14
206 012e 9F04 cpc r9,r15
207 0130 00F0 brlo .L7
208 .LM19:
209 0132 C301 movw r24,r6
210 0134 B201 movw r22,r4
211 0136 2CE3 ldi r18,lo8(60)
212 0138 30E0 ldi r19,hi8(60)
213 013a 40E0 ldi r20,hlo8(60)
214 013c 50E0 ldi r21,hhi8(60)
215 013e 0E94 0000 call __mulsi3
216 0142 8D81 ldd r24,Y+5
217 0144 861B sub r24,r22
218 0146 8093 0000 sts _tm_,r24
219 .LM20:
220 014a 6981 ldd r22,Y+1
221 014c 7A81 ldd r23,Y+2
222 014e 8B81 ldd r24,Y+3
223 0150 9C81 ldd r25,Y+4
224 .LVL16:
225 0152 0E94 0000 call __mulsi3
226 0156 842D mov r24,r4
227 .LVL17:
228 0158 861B sub r24,r22
229 015a 8093 0000 sts _tm_+1,r24
230 .LM21:
231 015e C601 movw r24,r12
232 0160 B501 movw r22,r10
233 .LVL18:
234 0162 28E1 ldi r18,lo8(24)
235 0164 30E0 ldi r19,hi8(24)
236 0166 40E0 ldi r20,hlo8(24)
237 0168 50E0 ldi r21,hhi8(24)
238 016a 0E94 0000 call __mulsi3
239 016e 8981 ldd r24,Y+1
240 0170 861B sub r24,r22
241 0172 8093 0000 sts _tm_+2,r24
242 .LM22:
243 0176 882D mov r24,r8
244 .LVL19:
245 0178 8F5F subi r24,lo8(-(1))
246 017a 8E19 sub r24,r14
247 017c 8093 0000 sts _tm_+3,r24
248 .LM23:
249 0180 86E0 ldi r24,lo8(6)
250 0182 90E0 ldi r25,hi8(6)
251 0184 A0E0 ldi r26,hlo8(6)
252 0186 B0E0 ldi r27,hhi8(6)
253 0188 A80E add r10,r24
254 018a B91E adc r11,r25
255 018c CA1E adc r12,r26
256 018e DB1E adc r13,r27
257 0190 C601 movw r24,r12
258 0192 B501 movw r22,r10
259 0194 27E0 ldi r18,lo8(7)
260 0196 30E0 ldi r19,hi8(7)
261 0198 40E0 ldi r20,hlo8(7)
262 019a 50E0 ldi r21,hhi8(7)
263 019c 0E94 0000 call __udivmodsi4
264 01a0 6093 0000 sts _tm_+6,r22
265 .LM24:
266 01a4 1F5F subi r17,lo8(-(1))
267 01a6 1093 0000 sts _tm_+4,r17
268 .LM25:
269 01aa 3092 0000 sts _tm_+5,r3
270 /* epilogue: frame size=10 */
271 01ae 2A96 adiw r28,10
272 01b0 0FB6 in __tmp_reg__,__SREG__
273 01b2 F894 cli
274 01b4 DEBF out __SP_H__,r29
275 01b6 0FBE out __SREG__,__tmp_reg__
276 01b8 CDBF out __SP_L__,r28
277 01ba DF91 pop r29
278 01bc CF91 pop r28
279 01be 1F91 pop r17
280 01c0 0F91 pop r16
281 01c2 FF90 pop r15
282 01c4 EF90 pop r14
283 01c6 DF90 pop r13
284 01c8 CF90 pop r12
285 01ca BF90 pop r11
286 01cc AF90 pop r10
287 01ce 9F90 pop r9
288 01d0 8F90 pop r8
289 01d2 7F90 pop r7
290 01d4 6F90 pop r6
291 01d6 5F90 pop r5
292 01d8 4F90 pop r4
293 01da 3F90 pop r3
294 01dc 0895 ret
295 /* epilogue end (size=24) */
296 /* function DS1371_BinaryToDate size 240 (191) */
297 .LFE9:
299 .global bin_to_bcd
301 bin_to_bcd:
302 .LFB10:
303 .LM26:
304 /* prologue: frame size=0 */
305 /* prologue end (size=0) */
306 .LVL20:
307 01de 482F mov r20,r24
308 .LM27:
309 01e0 8436 cpi r24,lo8(100)
310 01e2 00F0 brlo .L17
311 .LM28:
312 01e4 80E0 ldi r24,lo8(0)
313 01e6 90E0 ldi r25,hi8(0)
314 .LVL21:
315 01e8 0895 ret
316 .LVL22:
317 .L17:
318 .LM29:
319 01ea 6AE0 ldi r22,lo8(10)
320 01ec 0E94 0000 call __udivmodqi4
321 .LVL23:
322 01f0 282F mov r18,r24
323 01f2 30E0 ldi r19,lo8(0)
324 01f4 54E0 ldi r21,4
325 01f6 220F 1: lsl r18
326 01f8 331F rol r19
327 01fa 5A95 dec r21
328 01fc 01F4 brne 1b
329 01fe 842F mov r24,r20
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -