📄 os_cpu_a.lst
字号:
319.4 00000176 91E9 LD R30,Y+
319.5 00000178 91B9 LD R27,Y+
319.6 0000017A 91A9 LD R26,Y+
319.7 0000017C 9199 LD R25,Y+
319.8 0000017E 9189 LD R24,Y+
319.9 00000180 9179 LD R23,Y+
319.10 00000182 9169 LD R22,Y+
319.11 00000184 9159 LD R21,Y+
319.12 00000186 9149 LD R20,Y+
319.13 00000188 9139 LD R19,Y+
319.14 0000018A 9129 LD R18,Y+
319.15 0000018C 9119 LD R17,Y+
319.16 0000018E 9109 LD R16,Y+
319.17 00000190 90F9 LD R15,Y+
319.18 00000192 90E9 LD R14,Y+
319.19 00000194 90D9 LD R13,Y+
319.20 00000196 90C9 LD R12,Y+
319.21 00000198 90B9 LD R11,Y+
319.22 0000019A 90A9 LD R10,Y+
319.23 0000019C 9099 LD R9,Y+
319.24 0000019E 9089 LD R8,Y+
319.25 000001A0 9079 LD R7,Y+
319.26 000001A2 9069 LD R6,Y+
319.27 000001A4 9059 LD R5,Y+
319.28 000001A6 9049 LD R4,Y+
319.29 000001A8 9039 LD R3,Y+
319.30 000001AA 9029 LD R2,Y+
319.31 000001AC 9019 LD R1,Y+
319.32 000001AE 9009 LD R0,Y+
319.33 000001B0 ENDM
320 000001B0 9508 RET
321 000001B2
322 000001B2 ;*********************************************
**********************************************
*************
323 000001B2 ;
SYSTEM TICK ISR
324 000001B2 ;
325 000001B2 ; Description : This function is the ISR used
to notify uC/OS-II that a system tick has
occurred.
326 000001B2 ;
327 000001B2 ;
328 000001B2 ;*********************************************
**********************************************
*************
329 000001B2
330 000001B2 OSTickISR: PUSHRS
; Save all registers and status
register
330.1 000001B2 920A ST -Y,R0
330.2 000001B4 921A ST -Y,R1
330.3 000001B6 922A ST -Y,R2
330.4 000001B8 923A ST -Y,R3
330.5 000001BA 924A ST -Y,R4
330.6 000001BC 925A ST -Y,R5
330.7 000001BE 926A ST -Y,R6
330.8 000001C0 927A ST -Y,R7
330.9 000001C2 928A ST -Y,R8
330.10 000001C4 929A ST -Y,R9
330.11 000001C6 92AA ST -Y,R10
330.12 000001C8 92BA ST -Y,R11
330.13 000001CA 92CA ST -Y,R12
330.14 000001CC 92DA ST -Y,R13
330.15 000001CE 92EA ST -Y,R14
330.16 000001D0 92FA ST -Y,R15
330.17 000001D2 930A ST -Y,R16
330.18 000001D4 931A ST -Y,R17
330.19 000001D6 932A ST -Y,R18
330.20 000001D8 933A ST -Y,R19
330.21 000001DA 934A ST -Y,R20
330.22 000001DC 935A ST -Y,R21
330.23 000001DE 936A ST -Y,R22
330.24 000001E0 937A ST -Y,R23
330.25 000001E2 938A ST -Y,R24
330.26 000001E4 939A ST -Y,R25
330.27 000001E6 93AA ST -Y,R26
330.28 000001E8 93BA ST -Y,R27
330.29 000001EA 93EA ST -Y,R30
330.30 000001EC 93FA ST -Y,R31
330.31 000001EE B70B IN R16,RAMPZ
330.32 000001F0 930A ST -Y,R16
330.33 000001F2 ENDM
331 000001F2 B70F IN R16,SREG
332 000001F4 6800 SBR R16,0x80
; Set
interrupt bit in
status reg and
save
333 000001F6 930A ST -Y,R16
334 000001F8
335 000001F8 EB02 LDI R16,256-(4000000/50/10
24) ; Reload
timer to overflow
at a rate of
50Hz
336 000001FA BF02 OUT TCNT0,R16
; at a
prescaler of
1024 and 4.0
MHz AVR
clock
337 000001FC
338 000001FC 9100.... LDS R16,OSIntNesting
; Notify
uC/OS-II of
ISR
339 00000200 9503 INC R16
;
340 00000202 9300.... STS OSIntNesting,R16
;
341 00000206
342 00000206 9478 SEI
343 00000208
344 00000208 ........ CALL OSTimeTick
; Call uC/OS-II's tick updating function
345 0000020C ........ CALL OSIntExit
; Notify uC/OS-II about end of ISR
346 00000210
347 00000210 POPSREG
; Restore status register
347.1 00000210 9109 LD R16,Y+
347.2 00000212 BF0F OUT SREG,R16
347.3 00000214 ENDM
348 00000214 POPRS
; Restore all registers
348.1 00000214 9109 LD R16,Y+
348.2 00000216 BF0B OUT RAMPZ,R16
348.3 00000218 91F9 LD R31,Y+
348.4 0000021A 91E9 LD R30,Y+
348.5 0000021C 91B9 LD R27,Y+
348.6 0000021E 91A9 LD R26,Y+
348.7 00000220 9199 LD R25,Y+
348.8 00000222 9189 LD R24,Y+
348.9 00000224 9179 LD R23,Y+
348.10 00000226 9169 LD R22,Y+
348.11 00000228 9159 LD R21,Y+
348.12 0000022A 9149 LD R20,Y+
348.13 0000022C 9139 LD R19,Y+
348.14 0000022E 9129 LD R18,Y+
348.15 00000230 9119 LD R17,Y+
348.16 00000232 9109 LD R16,Y+
348.17 00000234 90F9 LD R15,Y+
348.18 00000236 90E9 LD R14,Y+
348.19 00000238 90D9 LD R13,Y+
348.20 0000023A 90C9 LD R12,Y+
348.21 0000023C 90B9 LD R11,Y+
348.22 0000023E 90A9 LD R10,Y+
348.23 00000240 9099 LD R9,Y+
348.24 00000242 9089 LD R8,Y+
348.25 00000244 9079 LD R7,Y+
348.26 00000246 9069 LD R6,Y+
348.27 00000248 9059 LD R5,Y+
348.28 0000024A 9049 LD R4,Y+
348.29 0000024C 9039 LD R3,Y+
348.30 0000024E 9029 LD R2,Y+
348.31 00000250 9019 LD R1,Y+
348.32 00000252 9009 LD R0,Y+
348.33 00000254 ENDM
349 00000254 9508 RET
; Note: RET instead of RETI
350 00000256
351 00000256 ;*********************************************
**********************************************
*************
352 00000256 ;
INTVEC
353 00000256 ;
354 00000256 ; Description : Set up the AVR interrupt
vector table so that the TIMER0 overflow
interrupt
355 00000256 ; vectors to the function
above.
356 00000256 ;
357 00000256 ;*********************************************
**********************************************
*************
358 00000256
359 00000000 COMMON INTVEC
360 00000000 DS 16*4
361 00000040 ........ JMP OSTickISR
362 00000044 END
##############################
# CRC:7429 #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 602 #
##############################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -