📄 a2d.lst
字号:
1 .file "a2d.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 a2dSetPrescaler
20 a2dSetPrescaler:
21 .LFB4:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 96B1 in r25,38-0x20
27 0002 987F andi r25,lo8(-8)
28 0004 982B or r25,r24
29 0006 96B9 out 38-0x20,r25
30 /* epilogue: frame size=0 */
31 0008 0895 ret
32 /* epilogue end (size=1) */
33 /* function a2dSetPrescaler size 5 (4) */
34 .LFE4:
36 .global a2dSetReference
38 a2dSetReference:
39 .LFB5:
40 .LM3:
41 /* prologue: frame size=0 */
42 /* prologue end (size=0) */
43 .LM4:
44 000a 27B1 in r18,39-0x20
45 000c 2F73 andi r18,lo8(63)
46 000e 9927 clr r25
47 0010 36E0 ldi r19,6
48 0012 880F 1: lsl r24
49 0014 991F rol r25
50 0016 3A95 dec r19
51 0018 E1F7 brne 1b
52 001a 282B or r18,r24
53 001c 27B9 out 39-0x20,r18
54 /* epilogue: frame size=0 */
55 001e 0895 ret
56 /* epilogue end (size=1) */
57 /* function a2dSetReference size 11 (10) */
58 .LFE5:
60 .global a2dInit
62 a2dInit:
63 .LFB2:
64 .LM5:
65 /* prologue: frame size=0 */
66 /* prologue end (size=0) */
67 .LM6:
68 0020 379A sbi 38-0x20,7
69 .LM7:
70 0022 359A sbi 38-0x20,5
71 .LM8:
72 0024 86E0 ldi r24,lo8(6)
73 0026 0E94 0000 call a2dSetPrescaler
74 .LM9:
75 002a 80E0 ldi r24,lo8(0)
76 002c 0E94 0000 call a2dSetReference
77 .LM10:
78 0030 1092 0000 sts a2dCompleteFlag,__zero_reg__
79 /* epilogue: frame size=0 */
80 0034 0895 ret
81 /* epilogue end (size=1) */
82 /* function a2dInit size 11 (10) */
83 .LFE2:
85 .global a2dOff
87 a2dOff:
88 .LFB3:
89 .LM11:
90 /* prologue: frame size=0 */
91 /* prologue end (size=0) */
92 .LM12:
93 0036 3798 cbi 38-0x20,7
94 /* epilogue: frame size=0 */
95 0038 0895 ret
96 /* epilogue end (size=1) */
97 /* function a2dOff size 2 (1) */
98 .LFE3:
100 .global a2dSetChannel
102 a2dSetChannel:
103 .LFB6:
104 .LM13:
105 /* prologue: frame size=0 */
106 /* prologue end (size=0) */
107 .LM14:
108 003a 97B1 in r25,39-0x20
109 003c 907E andi r25,lo8(-32)
110 003e 8F71 andi r24,lo8(31)
111 0040 982B or r25,r24
112 0042 97B9 out 39-0x20,r25
113 /* epilogue: frame size=0 */
114 0044 0895 ret
115 /* epilogue end (size=1) */
116 /* function a2dSetChannel size 6 (5) */
117 .LFE6:
119 .global a2dStartConvert
121 a2dStartConvert:
122 .LFB7:
123 .LM15:
124 /* prologue: frame size=0 */
125 /* prologue end (size=0) */
126 .LM16:
127 0046 379A sbi 38-0x20,7
128 /* epilogue: frame size=0 */
129 0048 0895 ret
130 /* epilogue end (size=1) */
131 /* function a2dStartConvert size 2 (1) */
132 .LFE7:
134 .global a2dIsComplete
136 a2dIsComplete:
137 .LFB8:
138 .LM17:
139 /* prologue: frame size=0 */
140 /* prologue end (size=0) */
141 .LM18:
142 004a 86B1 in r24,38-0x20
143 004c 9927 clr r25
144 .LM19:
145 004e 8074 andi r24,lo8(64)
146 0050 9070 andi r25,hi8(64)
147 /* epilogue: frame size=0 */
148 0052 0895 ret
149 /* epilogue end (size=1) */
150 /* function a2dIsComplete size 5 (4) */
151 .LFE8:
153 .global a2dConvert10bit
155 a2dConvert10bit:
156 .LFB9:
157 .LM20:
158 /* prologue: frame size=0 */
159 /* prologue end (size=0) */
160 .LM21:
161 0054 80E0 ldi r24,lo8(0)
162 0056 90E0 ldi r25,hi8(0)
163 .LM22:
164 0058 369A sbi 38-0x20,6
165 .L9:
166 .LM23:
167 005a 369B sbis 38-0x20,6
168 005c 02C0 rjmp .L10
169 005e 0196 adiw r24,1
170 0060 E1F7 brne .L9
171 .L10:
172 .LM24:
173 0062 84B1 in r24,36-0x20
174 0064 282F mov r18,r24
175 0066 3327 clr r19
176 0068 85B1 in r24,37-0x20
177 006a 9927 clr r25
178 006c 982F mov r25,r24
179 006e 8827 clr r24
180 .LM25:
181 0070 822B or r24,r18
182 0072 932B or r25,r19
183 /* epilogue: frame size=0 */
184 0074 0895 ret
185 /* epilogue end (size=1) */
186 /* function a2dConvert10bit size 18 (17) */
187 .LFE9:
189 .global __vector_16
191 __vector_16:
192 .LFB10:
193 .LM26:
194 /* prologue: frame size=0 */
195 0076 1F92 push __zero_reg__
196 0078 0F92 push __tmp_reg__
197 007a 0FB6 in __tmp_reg__,__SREG__
198 007c 0F92 push __tmp_reg__
199 007e 1124 clr __zero_reg__
200 0080 8F93 push r24
201 /* prologue end (size=6) */
202 .LM27:
203 0082 8FEF ldi r24,lo8(-1)
204 0084 8093 0000 sts a2dCompleteFlag,r24
205 /* epilogue: frame size=0 */
206 0088 8F91 pop r24
207 008a 0F90 pop __tmp_reg__
208 008c 0FBE out __SREG__,__tmp_reg__
209 008e 0F90 pop __tmp_reg__
210 0090 1F90 pop __zero_reg__
211 0092 1895 reti
212 /* epilogue end (size=6) */
213 /* function __vector_16 size 15 (3) */
214 .LFE10:
216 .global do_a2d
218 do_a2d:
219 .LFB11:
220 .LM28:
221 /* prologue: frame size=12 */
222 0094 8F92 push r8
223 0096 9F92 push r9
224 0098 AF92 push r10
225 009a BF92 push r11
226 009c DF92 push r13
227 009e EF92 push r14
228 00a0 FF92 push r15
229 00a2 0F93 push r16
230 00a4 1F93 push r17
231 00a6 CF93 push r28
232 00a8 DF93 push r29
233 00aa CDB7 in r28,__SP_L__
234 00ac DEB7 in r29,__SP_H__
235 00ae 2C97 sbiw r28,12
236 00b0 0FB6 in __tmp_reg__,__SREG__
237 00b2 F894 cli
238 00b4 DEBF out __SP_H__,r29
239 00b6 0FBE out __SREG__,__tmp_reg__
240 00b8 CDBF out __SP_L__,r28
241 /* prologue end (size=19) */
242 .LM29:
243 00ba AA24 clr r10
244 00bc BB24 clr r11
245 00be 75E0 ldi r23,lo8(5)
246 00c0 D72E mov r13,r23
247 00c2 7501 movw r14,r10
248 .L17:
249 .LM30:
250 00c4 4E01 movw r8,r28
251 00c6 0894 sec
252 00c8 811C adc r8,__zero_reg__
253 00ca 911C adc r9,__zero_reg__
254 00cc 8701 movw r16,r14
255 00ce 080D add r16,r8
256 00d0 191D adc r17,r9
257 00d2 0E94 0000 call a2dConvert10bit
258 00d6 F801 movw r30,r16
259 00d8 9183 std Z+1,r25
260 00da 8083 st Z,r24
261 .LM31:
262 00dc DA94 dec r13
263 00de 82E0 ldi r24,lo8(2)
264 00e0 90E0 ldi r25,hi8(2)
265 00e2 E80E add r14,r24
266 00e4 F91E adc r15,r25
267 00e6 D7FE sbrs r13,7
268 00e8 EDCF rjmp .L17
269 00ea 00E0 ldi r16,lo8(0)
270 00ec 10E0 ldi r17,hi8(0)
271 00ee 46E0 ldi r20,lo8(6)
272 00f0 50E0 ldi r21,hi8(6)
273 00f2 BA01 movw r22,r20
274 00f4 B4E0 ldi r27,lo8(4)
275 .L26:
276 .LM32:
277 00f6 A0E0 ldi r26,lo8(0)
278 00f8 0617 cp r16,r22
279 00fa 1707 cpc r17,r23
280 00fc BCF4 brge .L36
281 .L25:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -