📄 onewire.lst
字号:
1 .file "onewire.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 ow_reset
20 ow_reset:
21 .LFB7:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 E091 0000 lds r30,OW_OUT
27 0004 F091 0000 lds r31,(OW_OUT)+1
28 0008 9091 0000 lds r25,OW_PIN_MASK
29 000c 9095 com r25
30 000e 8081 ld r24,Z
31 0010 8923 and r24,r25
32 0012 8083 st Z,r24
33 .LM3:
34 0014 E091 0000 lds r30,OW_DDR
35 0018 F091 0000 lds r31,(OW_DDR)+1
36 001c 8081 ld r24,Z
37 001e 9091 0000 lds r25,OW_PIN_MASK
38 0022 892B or r24,r25
39 0024 8083 st Z,r24
40 .LBB2:
41 .LM4:
42 0026 8FEB ldi r24,lo8(959)
43 0028 93E0 ldi r25,hi8(959)
44 .LBB3:
45 .LM5:
46 /* #APP */
47 002a 8115 cp r24,__zero_reg__
48 002c 9105 cpc r25,__zero_reg__
49 002e 11F0 breq L_Exit_24
50 L_LOOP_24:
51 0030 0197 sbiw r24,1
52 0032 F1F7 brne L_LOOP_24
53 L_Exit_24:
54
55 /* #NOAPP */
56 .LBE3:
57 .LBE2:
58 .LM6:
59 0034 3FB7 in r19,95-0x20
60 .LM7:
61 /* #APP */
62 0036 F894 cli
63 .LM8:
64 /* #NOAPP */
65 0038 E091 0000 lds r30,OW_DDR
66 003c F091 0000 lds r31,(OW_DDR)+1
67 0040 9091 0000 lds r25,OW_PIN_MASK
68 0044 9095 com r25
69 0046 8081 ld r24,Z
70 0048 8923 and r24,r25
71 004a 8083 st Z,r24
72 .LBB4:
73 .LM9:
74 004c 83E8 ldi r24,lo8(131)
75 004e 90E0 ldi r25,hi8(131)
76 .LBB5:
77 .LM10:
78 /* #APP */
79 0050 8115 cp r24,__zero_reg__
80 0052 9105 cpc r25,__zero_reg__
81 0054 11F0 breq L_Exit_44
82 L_LOOP_44:
83 0056 0197 sbiw r24,1
84 0058 F1F7 brne L_LOOP_44
85 L_Exit_44:
86
87 /* #NOAPP */
88 .LBE5:
89 .LBE4:
90 .LM11:
91 005a E091 0000 lds r30,OW_IN
92 005e F091 0000 lds r31,(OW_IN)+1
93 0062 4081 ld r20,Z
94 0064 2091 0000 lds r18,OW_PIN_MASK
95 0068 4223 and r20,r18
96 .LM12:
97 006a 3FBF out 95-0x20,r19
98 .LBB6:
99 .LM13:
100 006c 8BE3 ldi r24,lo8(827)
101 006e 93E0 ldi r25,hi8(827)
102 .LBB7:
103 .LM14:
104 /* #APP */
105 0070 8115 cp r24,__zero_reg__
106 0072 9105 cpc r25,__zero_reg__
107 0074 11F0 breq L_Exit_60
108 L_LOOP_60:
109 0076 0197 sbiw r24,1
110 0078 F1F7 brne L_LOOP_60
111 L_Exit_60:
112
113 /* #NOAPP */
114 .LBE7:
115 .LBE6:
116 .LM15:
117 007a 8081 ld r24,Z
118 007c 8223 and r24,r18
119 007e 09F4 brne .L5
120 .LM16:
121 0080 41E0 ldi r20,lo8(1)
122 .L5:
123 .LM17:
124 0082 842F mov r24,r20
125 0084 9927 clr r25
126 /* epilogue: frame size=0 */
127 0086 0895 ret
128 /* epilogue end (size=1) */
129 /* function ow_reset size 103 (102) */
130 .LFE7:
132 .global ow_set_bus
134 ow_set_bus:
135 .LFB3:
136 .LM18:
137 /* prologue: frame size=0 */
138 /* prologue end (size=0) */
139 .LM19:
140 0088 5093 0000 sts (OW_DDR)+1,r21
141 008c 4093 0000 sts OW_DDR,r20
142 .LM20:
143 0090 7093 0000 sts (OW_OUT)+1,r23
144 0094 6093 0000 sts OW_OUT,r22
145 .LM21:
146 0098 9093 0000 sts (OW_IN)+1,r25
147 009c 8093 0000 sts OW_IN,r24
148 .LM22:
149 00a0 81E0 ldi r24,lo8(1)
150 00a2 90E0 ldi r25,hi8(1)
151 00a4 02C0 rjmp 2f
152 00a6 880F 1: lsl r24
153 00a8 991F rol r25
154 00aa 2A95 2: dec r18
155 00ac E2F7 brpl 1b
156 00ae 8093 0000 sts OW_PIN_MASK,r24
157 .LM23:
158 00b2 0E94 0000 call ow_reset
159 /* epilogue: frame size=0 */
160 00b6 0895 ret
161 /* epilogue end (size=1) */
162 /* function ow_set_bus size 25 (24) */
163 .LFE3:
165 .global ow_input_pin_state
167 ow_input_pin_state:
168 .LFB4:
169 .LM24:
170 /* prologue: frame size=0 */
171 /* prologue end (size=0) */
172 .LM25:
173 00b8 E091 0000 lds r30,OW_IN
174 00bc F091 0000 lds r31,(OW_IN)+1
175 00c0 8081 ld r24,Z
176 00c2 9091 0000 lds r25,OW_PIN_MASK
177 00c6 8923 and r24,r25
178 .LM26:
179 00c8 9927 clr r25
180 /* epilogue: frame size=0 */
181 00ca 0895 ret
182 /* epilogue end (size=1) */
183 /* function ow_input_pin_state size 10 (9) */
184 .LFE4:
186 .global ow_parasite_enable
188 ow_parasite_enable:
189 .LFB5:
190 .LM27:
191 /* prologue: frame size=0 */
192 /* prologue end (size=0) */
193 .LM28:
194 00cc E091 0000 lds r30,OW_OUT
195 00d0 F091 0000 lds r31,(OW_OUT)+1
196 00d4 8081 ld r24,Z
197 00d6 9091 0000 lds r25,OW_PIN_MASK
198 00da 892B or r24,r25
199 00dc 8083 st Z,r24
200 .LM29:
201 00de E091 0000 lds r30,OW_DDR
202 00e2 F091 0000 lds r31,(OW_DDR)+1
203 00e6 8081 ld r24,Z
204 00e8 9091 0000 lds r25,OW_PIN_MASK
205 00ec 892B or r24,r25
206 00ee 8083 st Z,r24
207 /* epilogue: frame size=0 */
208 00f0 0895 ret
209 /* epilogue end (size=1) */
210 /* function ow_parasite_enable size 19 (18) */
211 .LFE5:
213 .global ow_parasite_disable
215 ow_parasite_disable:
216 .LFB6:
217 .LM30:
218 /* prologue: frame size=0 */
219 /* prologue end (size=0) */
220 .LM31:
221 00f2 E091 0000 lds r30,OW_OUT
222 00f6 F091 0000 lds r31,(OW_OUT)+1
223 00fa 9091 0000 lds r25,OW_PIN_MASK
224 00fe 9095 com r25
225 0100 8081 ld r24,Z
226 0102 8923 and r24,r25
227 0104 8083 st Z,r24
228 .LM32:
229 0106 E091 0000 lds r30,OW_DDR
230 010a F091 0000 lds r31,(OW_DDR)+1
231 010e 9091 0000 lds r25,OW_PIN_MASK
232 0112 9095 com r25
233 0114 8081 ld r24,Z
234 0116 8923 and r24,r25
235 0118 8083 st Z,r24
236 /* epilogue: frame size=0 */
237 011a 0895 ret
238 /* epilogue end (size=1) */
239 /* function ow_parasite_disable size 21 (20) */
240 .LFE6:
242 .global ow_bit_io
244 ow_bit_io:
245 .LFB8:
246 .LM33:
247 /* prologue: frame size=0 */
248 /* prologue end (size=0) */
249 011c 382F mov r19,r24
250 .LM34:
251 011e 4FB7 in r20,95-0x20
252 .LM35:
253 /* #APP */
254 0120 F894 cli
255 .LM36:
256 /* #NOAPP */
257 0122 E091 0000 lds r30,OW_DDR
258 0126 F091 0000 lds r31,(OW_DDR)+1
259 012a 8081 ld r24,Z
260 012c 9091 0000 lds r25,OW_PIN_MASK
261 0130 892B or r24,r25
262 0132 8083 st Z,r24
263 .LBB8:
264 .LM37:
265 0134 81E0 ldi r24,lo8(1)
266 0136 90E0 ldi r25,hi8(1)
267 .LBB9:
268 .LM38:
269 /* #APP */
270 0138 8115 cp r24,__zero_reg__
271 013a 9105 cpc r25,__zero_reg__
272 013c 11F0 breq L_Exit_159
273 L_LOOP_159:
274 013e 0197 sbiw r24,1
275 0140 F1F7 brne L_LOOP_159
276 L_Exit_159:
277
278 /* #NOAPP */
279 .LBE9:
280 .LBE8:
281 .LM39:
282 0142 3323 tst r19
283 0144 51F0 breq .L12
284 .LM40:
285 0146 E091 0000 lds r30,OW_DDR
286 014a F091 0000 lds r31,(OW_DDR)+1
287 014e 9091 0000 lds r25,OW_PIN_MASK
288 0152 9095 com r25
289 0154 8081 ld r24,Z
290 0156 8923 and r24,r25
291 0158 8083 st Z,r24
292 .L12:
293 .LBB10:
294 .LM41:
295 015a 89E1 ldi r24,lo8(25)
296 015c 90E0 ldi r25,hi8(25)
297 .LBB11:
298 .LM42:
299 /* #APP */
300 015e 8115 cp r24,__zero_reg__
301 0160 9105 cpc r25,__zero_reg__
302 0162 11F0 breq L_Exit_180
303 L_LOOP_180:
304 0164 0197 sbiw r24,1
305 0166 F1F7 brne L_LOOP_180
306 L_Exit_180:
307
308 /* #NOAPP */
309 .LBE11:
310 .LBE10:
311 .LM43:
312 0168 E091 0000 lds r30,OW_IN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -