📄 ds18b20-shm-c51-avr.lst
字号:
1 .file "DS18B20-SHM-C51-AVR.c"
2 .arch atmega8515
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 RomCode
19 .data
22 RomCode:
23 0000 28 .byte 40
24 0001 D6 .byte -42
25 0002 31 .byte 49
26 0003 8A .byte -118
27 0004 00 .byte 0
28 0005 00 .byte 0
29 0006 00 .byte 0
30 0007 E3 .byte -29
31 0008 28 .byte 40
32 0009 0E .byte 14
33 000a 4E .byte 78
34 000b B3 .byte -77
35 000c 00 .byte 0
36 000d 00 .byte 0
37 000e 00 .byte 0
38 000f 5F .byte 95
39 .global ditab
42 ditab:
43 0010 00 .byte 0
44 0011 01 .byte 1
45 0012 01 .byte 1
46 0013 02 .byte 2
47 0014 03 .byte 3
48 0015 03 .byte 3
49 0016 04 .byte 4
50 0017 04 .byte 4
51 0018 05 .byte 5
52 0019 06 .byte 6
53 001a 06 .byte 6
54 001b 07 .byte 7
55 001c 08 .byte 8
56 001d 08 .byte 8
57 001e 09 .byte 9
58 001f 09 .byte 9
59 .global display
60 .global display
61 .section .bss
64 display:
65 0000 0000 0000 .skip 5,0
65 00
66 .global temp_data
67 .global temp_data
70 temp_data:
71 0005 0000 .skip 2,0
72 .global LEDData
73 .data
76 LEDData:
77 0020 C0 .byte -64
78 0021 F9 .byte -7
79 0022 A4 .byte -92
80 0023 B0 .byte -80
81 0024 99 .byte -103
82 0025 92 .byte -110
83 0026 82 .byte -126
84 0027 F8 .byte -8
85 0028 80 .byte -128
86 0029 90 .byte -112
87 002a FF .byte -1
88 002b BF .byte -65
89 .global flash
90 .global flash
91 .section .bss
94 flash:
95 0007 00 .skip 1,0
96 .text
97 .global delay_nms
99 delay_nms:
100 .LFB6:
101 .LM1:
102 /* prologue: frame size=0 */
103 /* prologue end (size=0) */
104 .LM2:
105 0000 0097 sbiw r24,0
106 0002 41F0 breq .L8
107 0004 9C01 movw r18,r24
108 .L6:
109 .LBB2:
110 .LM3:
111 0006 80ED ldi r24,lo8(2000)
112 0008 97E0 ldi r25,hi8(2000)
113 .LBB3:
114 .LM4:
115 /* #APP */
116 000a 0197 1: sbiw r24,1
117 000c F1F7 brne 1b
118 /* #NOAPP */
119 .LBE3:
120 .LBE2:
121 .LM5:
122 000e 2150 subi r18,lo8(-(-1))
123 0010 3040 sbci r19,hi8(-(-1))
124 0012 C9F7 brne .L6
125 .L8:
126 0014 0895 ret
127 /* epilogue: frame size=0 */
128 /* epilogue: noreturn */
129 /* epilogue end (size=0) */
130 /* function delay_nms size 15 (15) */
131 .LFE6:
133 .global Delay
135 Delay:
136 .LFB7:
137 .LM6:
138 /* prologue: frame size=0 */
139 /* prologue end (size=0) */
140 .LBB4:
141 .LM7:
142 0016 880F lsl r24
143 0018 991F rol r25
144 .LBB5:
145 .LM8:
146 /* #APP */
147 001a 0197 1: sbiw r24,1
148 001c F1F7 brne 1b
149 /* #NOAPP */
150 .LBE5:
151 .LBE4:
152 /* epilogue: frame size=0 */
153 001e 0895 ret
154 /* epilogue end (size=1) */
155 /* function Delay size 7 (6) */
156 .LFE7:
158 .global beep
160 beep:
161 .LFB8:
162 .LM9:
163 /* prologue: frame size=0 */
164 0020 CF93 push r28
165 /* prologue end (size=1) */
166 0022 C3E6 ldi r28,lo8(99)
167 .L15:
168 .LM10:
169 0024 9798 cbi 50-0x20,7
170 .LM11:
171 0026 84EF ldi r24,lo8(500)
172 0028 91E0 ldi r25,hi8(500)
173 002a F5DF rcall Delay
174 .LM12:
175 002c 80E8 ldi r24,lo8(-128)
176 002e 82BB out 50-0x20,r24
177 .LM13:
178 0030 84EF ldi r24,lo8(500)
179 0032 91E0 ldi r25,hi8(500)
180 0034 F0DF rcall Delay
181 .LM14:
182 0036 C150 subi r28,lo8(-(-1))
183 0038 C7FF sbrs r28,7
184 003a F4CF rjmp .L15
185 .LM15:
186 003c 979A sbi 50-0x20,7
187 .LM16:
188 003e 88EC ldi r24,lo8(200)
189 0040 90E0 ldi r25,hi8(200)
190 0042 DEDF rcall delay_nms
191 /* epilogue: frame size=0 */
192 0044 CF91 pop r28
193 0046 0895 ret
194 /* epilogue end (size=2) */
195 /* function beep size 20 (17) */
196 .LFE8:
198 .global init_io
200 init_io:
201 .LFB9:
202 .LM17:
203 /* prologue: frame size=0 */
204 /* prologue end (size=0) */
205 .LM18:
206 0048 8FEF ldi r24,lo8(-1)
207 004a 8ABB out 58-0x20,r24
208 .LM19:
209 004c 8BBB out 59-0x20,r24
210 .LM20:
211 004e 87BB out 55-0x20,r24
212 .LM21:
213 0050 88BB out 56-0x20,r24
214 .LM22:
215 0052 84BB out 52-0x20,r24
216 .LM23:
217 0054 85BB out 53-0x20,r24
218 .LM24:
219 0056 81BB out 49-0x20,r24
220 .LM25:
221 0058 82BB out 50-0x20,r24
222 /* epilogue: frame size=0 */
223 005a 0895 ret
224 /* epilogue end (size=1) */
225 /* function init_io size 10 (9) */
226 .LFE9:
228 .global Init_DS18B20
230 Init_DS18B20:
231 .LFB10:
232 .LM26:
233 /* prologue: frame size=0 */
234 /* prologue end (size=0) */
235 .LM27:
236 005c 939A sbi 50-0x20,3
237 .LM28:
238 005e 86E4 ldi r24,lo8(70)
239 0060 90E0 ldi r25,hi8(70)
240 0062 D9DF rcall Delay
241 .LM29:
242 0064 9398 cbi 50-0x20,3
243 .LM30:
244 0066 8CE0 ldi r24,lo8(780)
245 0068 93E0 ldi r25,hi8(780)
246 006a D5DF rcall Delay
247 .LM31:
248 006c 939A sbi 50-0x20,3
249 .LM32:
250 006e 8B98 cbi 49-0x20,3
251 .LM33:
252 0070 86E4 ldi r24,lo8(70)
253 0072 90E0 ldi r25,hi8(70)
254 0074 D0DF rcall Delay
255 .LM34:
256 0076 839B sbis 48-0x20,3
257 0078 04C0 rjmp .L20
258 .LM35:
259 007a 81E0 ldi r24,lo8(1)
260 007c 8093 0000 sts presence,r24
261 0080 02C0 rjmp .L21
262 .L20:
263 .LM36:
264 0082 1092 0000 sts presence,__zero_reg__
265 .L21:
266 .LM37:
267 0086 86E6 ldi r24,lo8(870)
268 0088 93E0 ldi r25,hi8(870)
269 008a C5DF rcall Delay
270 .LM38:
271 008c 8B9A sbi 49-0x20,3
272 .LM39:
273 008e 939A sbi 50-0x20,3
274 .LM40:
275 0090 8091 0000 lds r24,presence
276 .LM41:
277 0094 9927 clr r25
278 /* epilogue: frame size=0 */
279 0096 0895 ret
280 /* epilogue end (size=1) */
281 /* function Init_DS18B20 size 30 (29) */
282 .LFE10:
284 .global ReadOneChar
286 ReadOneChar:
287 .LFB11:
288 .LM42:
289 /* prologue: frame size=0 */
290 0098 1F93 push r17
291 009a CF93 push r28
292 /* prologue end (size=2) */
293 .LM43:
294 009c C0E0 ldi r28,lo8(0)
295 .LM44:
296 009e 18E0 ldi r17,lo8(8)
297 .L27:
298 .LM45:
299 00a0 9398 cbi 50-0x20,3
300 .LM46:
301 00a2 C695 lsr r28
302 .LM47:
303 00a4 939A sbi 50-0x20,3
304 .LM48:
305 00a6 8B98 cbi 49-0x20,3
306 .LM49:
307 00a8 8399 sbic 48-0x20,3
308 .LM50:
309 00aa C068 ori r28,lo8(-128)
310 .L26:
311 .LM51:
312 00ac 86E4 ldi r24,lo8(70)
313 00ae 90E0 ldi r25,hi8(70)
314 00b0 B2DF rcall Delay
315 .LM52:
316 00b2 8B9A sbi 49-0x20,3
317 .LM53:
318 00b4 939A sbi 50-0x20,3
319 .LM54:
320 00b6 1150 subi r17,lo8(-(-1))
321 00b8 99F7 brne .L27
322 .LM55:
323 00ba 8C2F mov r24,r28
324 00bc 9927 clr r25
325 /* epilogue: frame size=0 */
326 00be CF91 pop r28
327 00c0 1F91 pop r17
328 00c2 0895 ret
329 /* epilogue end (size=3) */
330 /* function ReadOneChar size 24 (19) */
331 .LFE11:
333 .global WriteOneChar
335 WriteOneChar:
336 .LFB12:
337 .LM56:
338 /* prologue: frame size=0 */
339 00c4 1F93 push r17
340 00c6 CF93 push r28
341 /* prologue end (size=2) */
342 00c8 C82F mov r28,r24
343 .LM57:
344 00ca 18E0 ldi r17,lo8(8)
345 .L36:
346 .LM58:
347 00cc 9398 cbi 50-0x20,3
348 .LM59:
349 00ce C0FF sbrs r28,0
350 00d0 02C0 rjmp .L34
351 .LM60:
352 00d2 939A sbi 50-0x20,3
353 00d4 01C0 rjmp .L35
354 .L34:
355 .LM61:
356 00d6 9398 cbi 50-0x20,3
357 .L35:
358 .LM62:
359 00d8 86E4 ldi r24,lo8(70)
360 00da 90E0 ldi r25,hi8(70)
361 00dc 9CDF rcall Delay
362 .LM63:
363 00de 939A sbi 50-0x20,3
364 .LM64:
365 00e0 C695 lsr r28
366 .LM65:
367 00e2 1150 subi r17,lo8(-(-1))
368 00e4 99F7 brne .L36
369 /* epilogue: frame size=0 */
370 00e6 CF91 pop r28
371 00e8 1F91 pop r17
372 00ea 0895 ret
373 /* epilogue end (size=3) */
374 /* function WriteOneChar size 21 (16) */
375 .LFE12:
377 .global Read_Temperature
379 Read_Temperature:
380 .LFB13:
381 .LM66:
382 /* prologue: frame size=0 */
383 00ec 0F93 push r16
384 00ee 1F93 push r17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -