📄 os_cpu_a.lst
字号:
115:AVR/OS_CPU_A.S **** push r8
116:AVR/OS_CPU_A.S **** push r7
117:AVR/OS_CPU_A.S **** push r6
118:AVR/OS_CPU_A.S **** push r5
119:AVR/OS_CPU_A.S **** push r4
120:AVR/OS_CPU_A.S **** push r3
121:AVR/OS_CPU_A.S **** push r2
122:AVR/OS_CPU_A.S **** push r1
123:AVR/OS_CPU_A.S **** push r0
124:AVR/OS_CPU_A.S **** in r0,_SFR_IO_ADDR(SREG)
125:AVR/OS_CPU_A.S **** push r0
126
127
128:AVR/OS_CPU_A.S **** in r16,_SFR_IO_ADDR(SPL)
129:AVR/OS_CPU_A.S **** in r17,_SFR_IO_ADDR(SPH)
130:AVR/OS_CPU_A.S **** lds r30,OSTCBCur
131:AVR/OS_CPU_A.S **** lds r31,OSTCBCur+1
132:AVR/OS_CPU_A.S **** st z+,r16
133:AVR/OS_CPU_A.S **** st z,r17
134
135 #if OS_CPU_HOOKS_EN > 0
136 .extern OSTaskSwHook
137:AVR/OS_CPU_A.S **** call OSTaskSwHook
138 #endif
139
140:AVR/OS_CPU_A.S **** lds r16,OSTCBHighRdy
141:AVR/OS_CPU_A.S **** lds r17,OSTCBHighRdy+1
142:AVR/OS_CPU_A.S **** sts OSTCBCur,r16
143:AVR/OS_CPU_A.S **** sts OSTCBCur+1,r17
144
145:AVR/OS_CPU_A.S **** lds r16,OSPrioHighRdy
146:AVR/OS_CPU_A.S **** sts OSPrioCur,r16
147
148:AVR/OS_CPU_A.S **** lds r30,OSTCBHighRdy
149:AVR/OS_CPU_A.S **** lds r31,OSTCBHighRdy+1
150:AVR/OS_CPU_A.S **** ld r16,z+
151:AVR/OS_CPU_A.S **** ld r17,z
152:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SPL),r16 ;
153:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SPH),r17 ;
154
155:AVR/OS_CPU_A.S **** pop r0
156:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SREG),r0 ;
157
158:AVR/OS_CPU_A.S **** pop r0
159:AVR/OS_CPU_A.S **** pop r1
160:AVR/OS_CPU_A.S **** pop r2
161:AVR/OS_CPU_A.S **** pop r3
162:AVR/OS_CPU_A.S **** pop r4
163:AVR/OS_CPU_A.S **** pop r5
164:AVR/OS_CPU_A.S **** pop r6
165:AVR/OS_CPU_A.S **** pop r7
166:AVR/OS_CPU_A.S **** pop r8
167:AVR/OS_CPU_A.S **** pop r9
168:AVR/OS_CPU_A.S **** pop r10
169:AVR/OS_CPU_A.S **** pop r11
170:AVR/OS_CPU_A.S **** pop r12
171:AVR/OS_CPU_A.S **** pop r13
172:AVR/OS_CPU_A.S **** pop r14
173:AVR/OS_CPU_A.S **** pop r15
174:AVR/OS_CPU_A.S **** pop r16
175:AVR/OS_CPU_A.S **** pop r17
176:AVR/OS_CPU_A.S **** pop r18
177:AVR/OS_CPU_A.S **** pop r19
178:AVR/OS_CPU_A.S **** pop r20
179:AVR/OS_CPU_A.S **** pop r21
180:AVR/OS_CPU_A.S **** pop r22
181:AVR/OS_CPU_A.S **** pop r23
182:AVR/OS_CPU_A.S **** pop r24
183:AVR/OS_CPU_A.S **** pop r25
184:AVR/OS_CPU_A.S **** pop r26
185:AVR/OS_CPU_A.S **** pop r27
186:AVR/OS_CPU_A.S **** pop r28
187:AVR/OS_CPU_A.S **** pop r29
188:AVR/OS_CPU_A.S **** pop r30
189:AVR/OS_CPU_A.S **** pop r31
190
191:AVR/OS_CPU_A.S **** ret
192 ;**************************************************************************************************
193 .global OSIntCtxSw
195 .section .text,"ax"
196 OSIntCtxSw:
197:AVR/OS_CPU_A.S **** in r24,_SFR_IO_ADDR(SPL)
198:AVR/OS_CPU_A.S **** in r25,_SFR_IO_ADDR(SPH)
199:AVR/OS_CPU_A.S **** adiw r24,4
200 #if OS_CRITICAL_METHOD == 2
201:AVR/OS_CPU_A.S **** adiw r24,1
202 #endif
203
204 #if OS_CRITICAL_METHOD == 3
205 adiw r24,1
206 #endif
207
208:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SPL),r24
209:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SPH),r25
210
211:AVR/OS_CPU_A.S **** lds r30,OSTCBCur
212:AVR/OS_CPU_A.S **** lds r31,OSTCBCur+1
213:AVR/OS_CPU_A.S **** st z+,r24
214:AVR/OS_CPU_A.S **** st z,r25
215
216 #if OS_CPU_HOOKS_EN > 0
217 .extern OSTaskSwHook
218:AVR/OS_CPU_A.S **** call OSTaskSwHook
219 #endif
220
221:AVR/OS_CPU_A.S **** lds r16,OSTCBHighRdy
222:AVR/OS_CPU_A.S **** lds r17,OSTCBHighRdy+1
223:AVR/OS_CPU_A.S **** sts OSTCBCur,r16
224:AVR/OS_CPU_A.S **** sts OSTCBCur+1,r17
225
226:AVR/OS_CPU_A.S **** lds r16,OSPrioHighRdy
227:AVR/OS_CPU_A.S **** sts OSPrioCur,r16
228
229:AVR/OS_CPU_A.S **** lds r30,OSTCBHighRdy
230:AVR/OS_CPU_A.S **** lds r31,OSTCBHighRdy+1
231:AVR/OS_CPU_A.S **** ld r16,z+
232:AVR/OS_CPU_A.S **** ld r17,z
233:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SPL),r16 ;
234:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SPH),r17 ;
235
236:AVR/OS_CPU_A.S **** pop r0
237:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SREG),r0 ;
238
239:AVR/OS_CPU_A.S **** pop r0
240:AVR/OS_CPU_A.S **** pop r1
241:AVR/OS_CPU_A.S **** pop r2
242:AVR/OS_CPU_A.S **** pop r3
243:AVR/OS_CPU_A.S **** pop r4
244:AVR/OS_CPU_A.S **** pop r5
245:AVR/OS_CPU_A.S **** pop r6
246:AVR/OS_CPU_A.S **** pop r7
247:AVR/OS_CPU_A.S **** pop r8
248:AVR/OS_CPU_A.S **** pop r9
249:AVR/OS_CPU_A.S **** pop r10
250:AVR/OS_CPU_A.S **** pop r11
251:AVR/OS_CPU_A.S **** pop r12
252:AVR/OS_CPU_A.S **** pop r13
253:AVR/OS_CPU_A.S **** pop r14
254:AVR/OS_CPU_A.S **** pop r15
255:AVR/OS_CPU_A.S **** pop r16
256:AVR/OS_CPU_A.S **** pop r17
257:AVR/OS_CPU_A.S **** pop r18
258:AVR/OS_CPU_A.S **** pop r19
259:AVR/OS_CPU_A.S **** pop r20
260:AVR/OS_CPU_A.S **** pop r21
261:AVR/OS_CPU_A.S **** pop r22
262:AVR/OS_CPU_A.S **** pop r23
263:AVR/OS_CPU_A.S **** pop r24
264:AVR/OS_CPU_A.S **** pop r25
265:AVR/OS_CPU_A.S **** pop r26
266:AVR/OS_CPU_A.S **** pop r27
267:AVR/OS_CPU_A.S **** pop r28
268:AVR/OS_CPU_A.S **** pop r29
269:AVR/OS_CPU_A.S **** pop r30
270:AVR/OS_CPU_A.S **** pop r31
271
272
273:AVR/OS_CPU_A.S **** ret
274 ;**************************************************************************************************
275 .extern OSTimeTick
276 .extern OSIntExit
277 .global OSTickISR
278 .global SIG_OUTPUT_COMPARE0
279 SIG_OUTPUT_COMPARE0:
280 OSTickISR:
281:AVR/OS_CPU_A.S **** push r31
282:AVR/OS_CPU_A.S **** push r30
283:AVR/OS_CPU_A.S **** push r29
284:AVR/OS_CPU_A.S **** push r28
285:AVR/OS_CPU_A.S **** push r27
286:AVR/OS_CPU_A.S **** push r26
287:AVR/OS_CPU_A.S **** push r25
288:AVR/OS_CPU_A.S **** push r24
289:AVR/OS_CPU_A.S **** push r23
290:AVR/OS_CPU_A.S **** push r22
291:AVR/OS_CPU_A.S **** push r21
292:AVR/OS_CPU_A.S **** push r20
293:AVR/OS_CPU_A.S **** push r19
294:AVR/OS_CPU_A.S **** push r18
295:AVR/OS_CPU_A.S **** push r17
296:AVR/OS_CPU_A.S **** push r16
297:AVR/OS_CPU_A.S **** push r15
298:AVR/OS_CPU_A.S **** push r14
299:AVR/OS_CPU_A.S **** push r13
300:AVR/OS_CPU_A.S **** push r12
301:AVR/OS_CPU_A.S **** push r11
302:AVR/OS_CPU_A.S **** push r10
303:AVR/OS_CPU_A.S **** push r9
304:AVR/OS_CPU_A.S **** push r8
305:AVR/OS_CPU_A.S **** push r7
306:AVR/OS_CPU_A.S **** push r6
307:AVR/OS_CPU_A.S **** push r5
308:AVR/OS_CPU_A.S **** push r4
309:AVR/OS_CPU_A.S **** push r3
310:AVR/OS_CPU_A.S **** push r2
311:AVR/OS_CPU_A.S **** push r1
312:AVR/OS_CPU_A.S **** push r0
313:AVR/OS_CPU_A.S **** in r16,_SFR_IO_ADDR(SREG)
314:AVR/OS_CPU_A.S **** ori r16,0x80
315:AVR/OS_CPU_A.S **** push r16
316
317:AVR/OS_CPU_A.S **** lds r16,OSIntNesting
318:AVR/OS_CPU_A.S **** inc r16
319:AVR/OS_CPU_A.S **** sts OSIntNesting,r16
320
321
322
323:AVR/OS_CPU_A.S **** call OSTimeTick
324:AVR/OS_CPU_A.S **** call OSIntExit
325
326:AVR/OS_CPU_A.S **** pop r0
327:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SREG),r0 ;
328
329:AVR/OS_CPU_A.S **** pop r0
330:AVR/OS_CPU_A.S **** pop r1
331:AVR/OS_CPU_A.S **** pop r2
332:AVR/OS_CPU_A.S **** pop r3
333:AVR/OS_CPU_A.S **** pop r4
334:AVR/OS_CPU_A.S **** pop r5
335:AVR/OS_CPU_A.S **** pop r6
336:AVR/OS_CPU_A.S **** pop r7
337:AVR/OS_CPU_A.S **** pop r8
338:AVR/OS_CPU_A.S **** pop r9
339:AVR/OS_CPU_A.S **** pop r10
340:AVR/OS_CPU_A.S **** pop r11
341:AVR/OS_CPU_A.S **** pop r12
342:AVR/OS_CPU_A.S **** pop r13
343:AVR/OS_CPU_A.S **** pop r14
344:AVR/OS_CPU_A.S **** pop r15
345:AVR/OS_CPU_A.S **** pop r16
346:AVR/OS_CPU_A.S **** pop r17
347:AVR/OS_CPU_A.S **** pop r18
348:AVR/OS_CPU_A.S **** pop r19
349:AVR/OS_CPU_A.S **** pop r20
350:AVR/OS_CPU_A.S **** pop r21
351:AVR/OS_CPU_A.S **** pop r22
352:AVR/OS_CPU_A.S **** pop r23
353:AVR/OS_CPU_A.S **** pop r24
354:AVR/OS_CPU_A.S **** pop r25
355:AVR/OS_CPU_A.S **** pop r26
356:AVR/OS_CPU_A.S **** pop r27
357:AVR/OS_CPU_A.S **** pop r28
358:AVR/OS_CPU_A.S **** pop r29
359:AVR/OS_CPU_A.S **** pop r30
360:AVR/OS_CPU_A.S **** pop r31
361
362:AVR/OS_CPU_A.S **** reti
363 ;**************************************************************************************************
364 .global PushSREG
365 PushSREG:
366:AVR/OS_CPU_A.S **** in r0,_SFR_IO_ADDR(SREG)
367:AVR/OS_CPU_A.S **** push r0
368:AVR/OS_CPU_A.S **** ret
369
370 .global PopSreg
371 PopSREG:
372:AVR/OS_CPU_A.S **** pop r0
373:AVR/OS_CPU_A.S **** out _SFR_IO_ADDR(SREG),r0
374:AVR/OS_CPU_A.S **** ret
375
376 .end
DEFINED SYMBOLS
*ABS*:00000000 AVR/OS_CPU_A.S
*ABS*:00000000 AVR/../Config/os_cfg.h
*ABS*:00000000 AVR/OS_CPU_A.S
*ABS*:00000000 AVR/../AVR/os_cpu.h
*ABS*:00000000 AVR/OS_CPU_A.S
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/io.h
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/portpins.h
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/io.h
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/iom128.h
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/io.h
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/sfr_defs.h
*ABS*:00000000 C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/io.h
*ABS*:00000000 AVR/OS_CPU_A.S
*ABS*:00000000 <command line>
*ABS*:00000000 <built-in>
*ABS*:00000000 AVR/OS_CPU_A.S
AVR/OS_CPU_A.S:31 .text:00000000 OSStartHighRdy
AVR/OS_CPU_A.S:91 .text:00000064 OSCtxSw
AVR/OS_CPU_A.S:196 .text:0000012a OSIntCtxSw
AVR/OS_CPU_A.S:280 .text:000001b4 OSTickISR
AVR/OS_CPU_A.S:279 .text:000001b4 __vector_15
AVR/OS_CPU_A.S:365 .text:00000252 PushSREG
AVR/OS_CPU_A.S:371 .text:00000258 PopSREG
UNDEFINED SYMBOLS
OSTaskSwHook
OSRunning
OSTCBHighRdy
OSTCBCur
OSPrioHighRdy
OSPrioCur
OSIntNesting
OSTimeTick
OSIntExit
PopSreg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -