📄 ds1820.lst
字号:
1 .file "ds1820.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 read_DS1820
19 read_DS1820:
20 .LFB9:
21 .LM1:
22 /* prologue: frame size=0 */
23 0000 0F93 push r16
24 0002 1F93 push r17
25 /* prologue end (size=2) */
26 .LM2:
27 0004 B89A sbi 55-0x20,0
28 0006 00E0 ldi r16,lo8(0)
29 .LVL0:
30 0008 10E0 ldi r17,lo8(0)
31 .LVL1:
32 .L2:
33 .LM3:
34 000a 1695 lsr r17
35 .LM4:
36 000c C098 cbi 56-0x20,0
37 .LM5:
38 000e 85E0 ldi r24,lo8(5)
39 0010 90E0 ldi r25,hi8(5)
40 0012 0E94 0000 call delay_nus
41 .LM6:
42 0016 B898 cbi 55-0x20,0
43 .LM7:
44 0018 85E0 ldi r24,lo8(5)
45 001a 90E0 ldi r25,hi8(5)
46 001c 0E94 0000 call delay_nus
47 .LM8:
48 0020 B099 sbic 54-0x20,0
49 .LM9:
50 0022 1068 ori r17,lo8(-128)
51 .L3:
52 .LM10:
53 0024 80E5 ldi r24,lo8(80)
54 0026 90E0 ldi r25,hi8(80)
55 0028 0E94 0000 call delay_nus
56 .LM11:
57 002c C09A sbi 56-0x20,0
58 .LM12:
59 002e B89A sbi 55-0x20,0
60 .LM13:
61 0030 0F5F subi r16,lo8(-(1))
62 0032 0830 cpi r16,lo8(8)
63 0034 01F4 brne .L2
64 .LM14:
65 0036 812F mov r24,r17
66 0038 90E0 ldi r25,lo8(0)
67 /* epilogue: frame size=0 */
68 003a 1F91 pop r17
69 003c 0F91 pop r16
70 003e 0895 ret
71 /* epilogue end (size=3) */
72 /* function read_DS1820 size 33 (28) */
73 .LFE9:
75 .global write_DS1820
77 write_DS1820:
78 .LFB8:
79 .LM15:
80 /* prologue: frame size=0 */
81 0040 0F93 push r16
82 0042 1F93 push r17
83 /* prologue end (size=2) */
84 .LVL2:
85 0044 182F mov r17,r24
86 .LM16:
87 0046 B89A sbi 55-0x20,0
88 0048 00E0 ldi r16,lo8(0)
89 .LVL3:
90 .L10:
91 .LM17:
92 004a C098 cbi 56-0x20,0
93 .LM18:
94 004c 85E0 ldi r24,lo8(5)
95 004e 90E0 ldi r25,hi8(5)
96 0050 0E94 0000 call delay_nus
97 .LM19:
98 0054 10FF sbrs r17,0
99 0056 00C0 rjmp .L11
100 .LM20:
101 0058 C09A sbi 56-0x20,0
102 005a 00C0 rjmp .L13
103 .L11:
104 .LM21:
105 005c C098 cbi 56-0x20,0
106 .L13:
107 .LM22:
108 005e 8CE3 ldi r24,lo8(60)
109 0060 90E0 ldi r25,hi8(60)
110 0062 0E94 0000 call delay_nus
111 .LM23:
112 0066 C09A sbi 56-0x20,0
113 .LM24:
114 0068 8AE0 ldi r24,lo8(10)
115 006a 90E0 ldi r25,hi8(10)
116 006c 0E94 0000 call delay_nus
117 .LM25:
118 0070 0F5F subi r16,lo8(-(1))
119 0072 0830 cpi r16,lo8(8)
120 0074 01F0 breq .L14
121 .LM26:
122 0076 1695 lsr r17
123 0078 00C0 rjmp .L10
124 .L14:
125 .LM27:
126 007a C09A sbi 56-0x20,0
127 /* epilogue: frame size=0 */
128 007c 1F91 pop r17
129 007e 0F91 pop r16
130 0080 0895 ret
131 /* epilogue end (size=3) */
132 /* function write_DS1820 size 33 (28) */
133 .LFE8:
135 .global Init_DS1820
137 Init_DS1820:
138 .LFB7:
139 .LM28:
140 /* prologue: frame size=0 */
141 0082 1F93 push r17
142 /* prologue end (size=1) */
143 .LM29:
144 0084 B89A sbi 55-0x20,0
145 .LM30:
146 0086 C098 cbi 56-0x20,0
147 .LM31:
148 0088 84EF ldi r24,lo8(500)
149 008a 91E0 ldi r25,hi8(500)
150 008c 0E94 0000 call delay_nus
151 .LM32:
152 0090 B898 cbi 55-0x20,0
153 .LM33:
154 0092 80E5 ldi r24,lo8(80)
155 0094 90E0 ldi r25,hi8(80)
156 0096 0E94 0000 call delay_nus
157 .LM34:
158 009a 16B3 in r17,54-0x20
159 .LM35:
160 009c 80EF ldi r24,lo8(240)
161 009e 90E0 ldi r25,hi8(240)
162 00a0 0E94 0000 call delay_nus
163 .LM36:
164 00a4 B89A sbi 55-0x20,0
165 .LM37:
166 00a6 C09A sbi 56-0x20,0
167 00a8 1095 com r17
168 00aa 1170 andi r17,lo8(1)
169 .LM38:
170 00ac 812F mov r24,r17
171 00ae 90E0 ldi r25,lo8(0)
172 /* epilogue: frame size=0 */
173 00b0 1F91 pop r17
174 00b2 0895 ret
175 /* epilogue end (size=2) */
176 /* function Init_DS1820 size 25 (22) */
177 .LFE7:
179 .global GetTemperature
181 GetTemperature:
182 .LFB11:
183 .LM39:
184 /* prologue: frame size=9 */
185 00b4 CF92 push r12
186 00b6 DF92 push r13
187 00b8 EF92 push r14
188 00ba FF92 push r15
189 00bc 0F93 push r16
190 00be 1F93 push r17
191 00c0 CF93 push r28
192 00c2 DF93 push r29
193 00c4 CDB7 in r28,__SP_L__
194 00c6 DEB7 in r29,__SP_H__
195 00c8 2997 sbiw r28,9
196 00ca 0FB6 in __tmp_reg__,__SREG__
197 00cc F894 cli
198 00ce DEBF out __SP_H__,r29
199 00d0 0FBE out __SREG__,__tmp_reg__
200 00d2 CDBF out __SP_L__,r28
201 /* prologue end (size=16) */
202 .LM40:
203 00d4 0E94 0000 call Init_DS1820
204 .LM41:
205 00d8 8CEC ldi r24,lo8(-52)
206 00da 0E94 0000 call write_DS1820
207 .LM42:
208 00de 84E4 ldi r24,lo8(68)
209 00e0 0E94 0000 call write_DS1820
210 .LM43:
211 00e4 88EE ldi r24,lo8(1000)
212 00e6 93E0 ldi r25,hi8(1000)
213 00e8 0E94 0000 call delay_nms
214 .LM44:
215 00ec 0E94 0000 call Init_DS1820
216 .LM45:
217 00f0 8CEC ldi r24,lo8(-52)
218 00f2 0E94 0000 call write_DS1820
219 .LM46:
220 00f6 8EEB ldi r24,lo8(-66)
221 00f8 0E94 0000 call write_DS1820
222 00fc 8E01 movw r16,r28
223 00fe 0F5F subi r16,lo8(-(1))
224 0100 1F4F sbci r17,hi8(-(1))
225 .LM47:
226 0102 6801 movw r12,r16
227 .LM48:
228 0104 3AE0 ldi r19,lo8(10)
229 0106 E32E mov r14,r19
230 0108 F12C mov r15,__zero_reg__
231 010a EC0E add r14,r28
232 010c FD1E adc r15,r29
233 .L20:
234 .LM49:
235 010e 0E94 0000 call read_DS1820
236 0112 F801 movw r30,r16
237 0114 8193 st Z+,r24
238 0116 8F01 movw r16,r30
239 .LM50:
240 0118 EE15 cp r30,r14
241 011a FF05 cpc r31,r15
242 011c 01F4 brne .L20
243 .LM51:
244 011e E981 ldd r30,Y+1
245 0120 F0E0 ldi r31,lo8(0)
246 0122 E050 subi r30,lo8(-(CRC_Code))
247 0124 F040 sbci r31,hi8(-(CRC_Code))
248 0126 E081 ld r30,Z
249 .LVL4:
250 0128 DE01 movw r26,r28
251 012a 1296 adiw r26,2
252 .LM52:
253 012c 9601 movw r18,r12
254 012e 285F subi r18,lo8(-(8))
255 0130 3F4F sbci r19,hi8(-(8))
256 .L22:
257 .LM53:
258 0132 8D91 ld r24,X+
259 0134 E827 eor r30,r24
260 0136 F0E0 ldi r31,lo8(0)
261 0138 E050 subi r30,lo8(-(CRC_Code))
262 013a F040 sbci r31,hi8(-(CRC_Code))
263 .LVL5:
264 013c E081 ld r30,Z
265 .LVL6:
266 .LM54:
267 013e A217 cp r26,r18
268 0140 B307 cpc r27,r19
269 0142 01F4 brne .L22
270 .LM55:
271 0144 8985 ldd r24,Y+9
272 0146 E817 cp r30,r24
273 0148 01F0 breq .L24
274 014a 60E0 ldi r22,lo8(0xc2c80000)
275 014c 70E0 ldi r23,hi8(0xc2c80000)
276 014e 88EC ldi r24,hlo8(0xc2c80000)
277 0150 92EC ldi r25,hhi8(0xc2c80000)
278 .LVL7:
279 0152 00C0 rjmp .L26
280 .LVL8:
281 .L24:
282 .LM56:
283 0154 8A81 ldd r24,Y+2
284 0156 83FF sbrs r24,3
285 0158 00C0 rjmp .L27
286 .LM57:
287 015a 8095 com r24
288 015c 8A83 std Y+2,r24
289 .LM58:
290 015e 9981 ldd r25,Y+1
291 .LM59:
292 0160 8FB7 in r24,95-0x20
293 0162 8E7F andi r24,lo8(-2)
294 0164 8FBF out 95-0x20,r24
295 .LM60:
296 0166 9195 neg r25
297 0168 9983 std Y+1,r25
298 .LM61:
299 016a 0FB6 in __tmp_reg__,95-0x20
300 016c 00FE sbrs __tmp_reg__,0
301 016e 00C0 rjmp .L27
302 .LM62:
303 0170 8A81 ldd r24,Y+2
304 0172 8F5F subi r24,lo8(-(1))
305 0174 8A83 std Y+2,r24
306 .L27:
307 .LM63:
308 0176 6A81 ldd r22,Y+2
309 0178 70E0 ldi r23,lo8(0)
310 017a 80E0 ldi r24,lo8(0)
311 017c 90E0 ldi r25,hi8(0)
312 017e 982F mov r25,r24
313 0180 872F mov r24,r23
314 0182 762F mov r23,r22
315 0184 6627 clr r22
316 .LM64:
317 0186 2981 ldd r18,Y+1
318 0188 620F add r22,r18
319 018a 711D adc r23,__zero_reg__
320 018c 811D adc r24,__zero_reg__
321 018e 911D adc r25,__zero_reg__
322 0190 0E94 0000 call __floatunsisf
323 .LVL9:
324 0194 20E0 ldi r18,lo8(0x3d800000)
325 0196 30E0 ldi r19,hi8(0x3d800000)
326 0198 40E8 ldi r20,hlo8(0x3d800000)
327 019a 5DE3 ldi r21,hhi8(0x3d800000)
328 019c 0E94 0000 call __mulsf3
329 .LVL10:
330 .L26:
331 .LVL11:
332 /* epilogue: frame size=9 */
333 01a0 2996 adiw r28,9
334 01a2 0FB6 in __tmp_reg__,__SREG__
335 01a4 F894 cli
336 01a6 DEBF out __SP_H__,r29
337 01a8 0FBE out __SREG__,__tmp_reg__
338 01aa CDBF out __SP_L__,r28
339 01ac DF91 pop r29
340 01ae CF91 pop r28
341 01b0 1F91 pop r17
342 01b2 0F91 pop r16
343 01b4 FF90 pop r15
344 01b6 EF90 pop r14
345 01b8 DF90 pop r13
346 01ba CF90 pop r12
347 01bc 0895 ret
348 /* epilogue end (size=15) */
349 /* function GetTemperature size 133 (102) */
350 .LFE11:
352 .global DS1820CRCDETECT
354 DS1820CRCDETECT:
355 .LFB10:
356 .LM65:
357 /* prologue: frame size=8 */
358 01be EF92 push r14
359 01c0 FF92 push r15
360 01c2 0F93 push r16
361 01c4 1F93 push r17
362 01c6 CF93 push r28
363 01c8 DF93 push r29
364 01ca CDB7 in r28,__SP_L__
365 01cc DEB7 in r29,__SP_H__
366 01ce 2897 sbiw r28,8
367 01d0 0FB6 in __tmp_reg__,__SREG__
368 01d2 F894 cli
369 01d4 DEBF out __SP_H__,r29
370 01d6 0FBE out __SREG__,__tmp_reg__
371 01d8 CDBF out __SP_L__,r28
372 /* prologue end (size=14) */
373 .LM66:
374 01da 0E94 0000 call Init_DS1820
375 .LM67:
376 01de 8CEC ldi r24,lo8(-52)
377 01e0 0E94 0000 call write_DS1820
378 .LM68:
379 01e4 8EE4 ldi r24,lo8(78)
380 01e6 0E94 0000 call write_DS1820
381 .LM69:
382 01ea 82E0 ldi r24,lo8(2)
383 01ec 0E94 0000 call write_DS1820
384 .LM70:
385 01f0 80E8 ldi r24,lo8(-128)
386 01f2 0E94 0000 call write_DS1820
387 .LM71:
388 01f6 8FE7 ldi r24,lo8(127)
389 01f8 0E94 0000 call write_DS1820
390 .LM72:
391 01fc 0E94 0000 call Init_DS1820
392 .LM73:
393 0200 83E3 ldi r24,lo8(51)
394 0202 0E94 0000 call write_DS1820
395 0206 8E01 movw r16,r28
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -