📄 m16_pwm.lst
字号:
1 .file "M16_PWM.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global display
20 display:
21 .LFB6:
22 .LM1:
23 .LVL0:
24 /* prologue: function */
25 /* frame size = 0 */
26 0000 BC01 movw r22,r24
27 .LM2:
28 0002 41E0 ldi r20,lo8(1)
29 .LVL1:
30 0004 20E0 ldi r18,lo8(0)
31 0006 30E0 ldi r19,hi8(0)
32 .LBB45:
33 .LBB46:
34 .LBB47:
35 .LBB48:
36 .LBB49:
37 .LM3:
38 0008 A4EC ldi r26,lo8(2500)
39 000a B9E0 ldi r27,hi8(2500)
40 .LVL2:
41 .L2:
42 .LBE49:
43 .LBE48:
44 .LBE47:
45 .LBE46:
46 .LM4:
47 000c 45BB out 53-32,r20
48 .LM5:
49 000e FB01 movw r30,r22
50 0010 E20F add r30,r18
51 0012 F31F adc r31,r19
52 0014 E081 ld r30,Z
53 0016 F0E0 ldi r31,lo8(0)
54 0018 E050 subi r30,lo8(-(table))
55 001a F040 sbci r31,hi8(-(table))
56 001c 8081 ld r24,Z
57 001e 8095 com r24
58 0020 8BBB out 59-32,r24
59 .LBB53:
60 .LBB52:
61 .LBB51:
62 .LBB50:
63 .LM6:
64 0022 FD01 movw r30,r26
65 .LVL3:
66 /* #APP */
67 ; 105 "d:/learning/mcu/winavr-20080610/lib/gcc/../../avr/include/util/delay_basic.h" 1
68 0024 3197 1: sbiw r30,1
69 0026 01F4 brne 1b
70 ; 0 "" 2
71 /* #NOAPP */
72 .LBE50:
73 .LBE51:
74 .LBE52:
75 .LBE53:
76 .LM7:
77 0028 440F lsl r20
78 002a 2F5F subi r18,lo8(-(1))
79 002c 3F4F sbci r19,hi8(-(1))
80 .LM8:
81 002e 2430 cpi r18,4
82 0030 3105 cpc r19,__zero_reg__
83 0032 01F4 brne .L2
84 /* epilogue start */
85 .LBE45:
86 .LM9:
87 0034 0895 ret
88 .LFE6:
90 .global add
92 add:
93 .LFB7:
94 .LM10:
95 .LVL4:
96 /* prologue: function */
97 /* frame size = 0 */
98 0036 FC01 movw r30,r24
99 .LM11:
100 0038 8181 ldd r24,Z+1
101 .LVL5:
102 003a 8130 cpi r24,lo8(1)
103 003c 01F0 breq .L7
104 .LM12:
105 003e 8281 ldd r24,Z+2
106 0040 8F5F subi r24,lo8(-(1))
107 0042 8283 std Z+2,r24
108 .LM13:
109 0044 8A30 cpi r24,lo8(10)
110 0046 01F4 brne .L7
111 .LM14:
112 0048 1282 std Z+2,__zero_reg__
113 .LM15:
114 004a 8181 ldd r24,Z+1
115 004c 8F5F subi r24,lo8(-(1))
116 004e 8183 std Z+1,r24
117 .L7:
118 0050 0895 ret
119 .LFE7:
121 .global sub
123 sub:
124 .LFB8:
125 .LM16:
126 .LVL6:
127 /* prologue: function */
128 /* frame size = 0 */
129 0052 FC01 movw r30,r24
130 .LM17:
131 0054 8181 ldd r24,Z+1
132 .LVL7:
133 0056 2AE0 ldi r18,lo8(10)
134 0058 829F mul r24,r18
135 005a C001 movw r24,r0
136 005c 1124 clr r1
137 005e 2281 ldd r18,Z+2
138 .LVL8:
139 0060 280F add r18,r24
140 .LM18:
141 0062 01F0 breq .L10
142 .LM19:
143 0064 2150 subi r18,lo8(-(-1))
144 .LVL9:
145 .LM20:
146 0066 822F mov r24,r18
147 0068 6AE0 ldi r22,lo8(10)
148 006a 0E94 0000 call __udivmodqi4
149 006e 8183 std Z+1,r24
150 .LM21:
151 0070 822F mov r24,r18
152 0072 0E94 0000 call __udivmodqi4
153 0076 9283 std Z+2,r25
154 .L10:
155 0078 0895 ret
156 .LFE8:
158 .global key_process
160 key_process:
161 .LFB9:
162 .LM22:
163 /* prologue: function */
164 /* frame size = 0 */
165 .LM23:
166 007a 31E0 ldi r19,lo8(1)
167 .LBB54:
168 .LBB55:
169 .LBB56:
170 .LBB57:
171 .LBB58:
172 .LBB59:
173 .LBB60:
174 .LM24:
175 007c 44EC ldi r20,lo8(2500)
176 007e 59E0 ldi r21,hi8(2500)
177 0080 00C0 rjmp .L12
178 .LVL10:
179 .L13:
180 .LBE60:
181 .LBE59:
182 .LBE58:
183 .LBE57:
184 .LM25:
185 0082 25BB out 53-32,r18
186 .LM26:
187 0084 ED91 ld r30,X+
188 0086 F0E0 ldi r31,lo8(0)
189 0088 E050 subi r30,lo8(-(table))
190 008a F040 sbci r31,hi8(-(table))
191 008c 8081 ld r24,Z
192 008e 8095 com r24
193 0090 8BBB out 59-32,r24
194 .LBB64:
195 .LBB63:
196 .LBB62:
197 .LBB61:
198 .LM27:
199 0092 CA01 movw r24,r20
200 .LVL11:
201 /* #APP */
202 ; 105 "d:/learning/mcu/winavr-20080610/lib/gcc/../../avr/include/util/delay_basic.h" 1
203 0094 0197 1: sbiw r24,1
204 0096 01F4 brne 1b
205 ; 0 "" 2
206 /* #NOAPP */
207 .LBE61:
208 .LBE62:
209 .LBE63:
210 .LBE64:
211 .LM28:
212 0098 220F lsl r18
213 .LM29:
214 009a 80E0 ldi r24,hi8(data1+4)
215 009c A030 cpi r26,lo8(data1+4)
216 009e B807 cpc r27,r24
217 .LVL12:
218 00a0 01F4 brne .L13
219 .LBE56:
220 .LBE55:
221 .LBE54:
222 .LM30:
223 00a2 3093 0000 sts key1,r19
224 .L12:
225 .LM31:
226 00a6 B099 sbic 54-32,0
227 00a8 00C0 rjmp .L14
228 00aa A0E0 ldi r26,lo8(data1)
229 00ac B0E0 ldi r27,hi8(data1)
230 00ae 21E0 ldi r18,lo8(1)
231 00b0 00C0 rjmp .L13
232 .LVL13:
233 .L15:
234 .LBB65:
235 .LBB66:
236 .LBB67:
237 .LM32:
238 00b2 25BB out 53-32,r18
239 .LM33:
240 00b4 ED91 ld r30,X+
241 00b6 F0E0 ldi r31,lo8(0)
242 00b8 E050 subi r30,lo8(-(table))
243 00ba F040 sbci r31,hi8(-(table))
244 00bc 8081 ld r24,Z
245 00be 8095 com r24
246 00c0 8BBB out 59-32,r24
247 .LBB68:
248 .LBB69:
249 .LBB70:
250 .LBB71:
251 .LM34:
252 00c2 CA01 movw r24,r20
253 .LVL14:
254 /* #APP */
255 ; 105 "d:/learning/mcu/winavr-20080610/lib/gcc/../../avr/include/util/delay_basic.h" 1
256 00c4 0197 1: sbiw r24,1
257 00c6 01F4 brne 1b
258 ; 0 "" 2
259 /* #NOAPP */
260 .LBE71:
261 .LBE70:
262 .LBE69:
263 .LBE68:
264 .LM35:
265 00c8 220F lsl r18
266 .LM36:
267 00ca 80E0 ldi r24,hi8(data1+4)
268 00cc A030 cpi r26,lo8(data1+4)
269 00ce B807 cpc r27,r24
270 .LVL15:
271 00d0 01F4 brne .L15
272 .LBE67:
273 .LBE66:
274 .LBE65:
275 .LM37:
276 00d2 3093 0000 sts key2,r19
277 00d6 00C0 rjmp .L22
278 .LVL16:
279 .L14:
280 .LM38:
281 00d8 31E0 ldi r19,lo8(1)
282 .LBB78:
283 .LBB77:
284 .LBB76:
285 .LBB75:
286 .LBB74:
287 .LBB73:
288 .LBB72:
289 .LM39:
290 00da 44EC ldi r20,lo8(2500)
291 00dc 59E0 ldi r21,hi8(2500)
292 .LVL17:
293 .L22:
294 .LBE72:
295 .LBE73:
296 .LBE74:
297 .LBE75:
298 .LBE76:
299 .LBE77:
300 .LBE78:
301 .LM40:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -