📄 os_cpu_a.lst
字号:
204.24 00000182 9069 LD R6,Y+
204.25 00000184 9059 LD R5,Y+
204.26 00000186 9049 LD R4,Y+
204.27 00000188 9039 LD R3,Y+
204.28 0000018A 9029 LD R2,Y+
204.29 0000018C 9019 LD R1,Y+
204.30 0000018E 9009 LD R0,Y+
204.31 00000190 ENDM
205 00000190 9508 RET
206 00000192
207 00000192
208 00000192 ;*********************************************
**********************************************
*************
209 00000192 ;
SYSTEM TICK ISR
210 00000192 ;
211 00000192 ; Description : This function is the ISR used
to notify uC/OS-II that a system tick has
occurred.
212 00000192 ;
213 00000192 ;
214 00000192 ;*********************************************
**********************************************
*************
215 00000192
216 00000192 OSTickISR: PUSHRS
; Save interrupted task's context
216.1 00000192 920A ST -Y,R0
216.2 00000194 921A ST -Y,R1
216.3 00000196 922A ST -Y,R2
216.4 00000198 923A ST -Y,R3
216.5 0000019A 924A ST -Y,R4
216.6 0000019C 925A ST -Y,R5
216.7 0000019E 926A ST -Y,R6
216.8 000001A0 927A ST -Y,R7
216.9 000001A2 928A ST -Y,R8
216.10 000001A4 929A ST -Y,R9
216.11 000001A6 92AA ST -Y,R10
216.12 000001A8 92BA ST -Y,R11
216.13 000001AA 92CA ST -Y,R12
216.14 000001AC 92DA ST -Y,R13
216.15 000001AE 92EA ST -Y,R14
216.16 000001B0 92FA ST -Y,R15
216.17 000001B2 930A ST -Y,R16
216.18 000001B4 931A ST -Y,R17
216.19 000001B6 932A ST -Y,R18
216.20 000001B8 933A ST -Y,R19
216.21 000001BA 934A ST -Y,R20
216.22 000001BC 935A ST -Y,R21
216.23 000001BE 936A ST -Y,R22
216.24 000001C0 937A ST -Y,R23
216.25 000001C2 938A ST -Y,R24
216.26 000001C4 939A ST -Y,R25
216.27 000001C6 93AA ST -Y,R26
216.28 000001C8 93BA ST -Y,R27
216.29 000001CA 93EA ST -Y,R30
216.30 000001CC 93FA ST -Y,R31
216.31 000001CE ENDM
217 000001CE B70F IN R16,SREG
218 000001D0 6800 SBR R16,0x80
; Set
interrupt bit in
status reg and
save
219 000001D2 930A ST -Y,R16
220 000001D4 PUSHSP
220.1 000001D4 B70E IN R16,SPH
220.2 000001D6 930A ST -Y,R16
220.3 000001D8 B70D IN R16,SPL
220.4 000001DA 930A ST -Y,R16
220.5 000001DC ENDM
221 000001DC
222 000001DC E700 LDI R16,256-(7372800/50/10
24) ; Reload
timer to overflow
at a rate of
50Hz
223 000001DE BF02 OUT TCNT0,R16
; at a
prescaler of
1024 and 7.3728
MHz AVR
clock
224 000001E0
225 000001E0 9100.... LDS R16,OSIntNesting
; Notify
uC/OS-II of
ISR
226 000001E4 9503 INC R16
;
227 000001E6 9300.... STS OSIntNesting,R16
;
228 000001EA
229 000001EA 9478 SEI
; Enable interrupts
230 000001EC .... RCALL OSTimeTick
; Call uC/OS-II's tick updating function
231 000001EE .... RCALL OSIntExit
; Notify uC/OS-II about end of ISR
232 000001F0
233 000001F0 POPSP
233.1 000001F0 9109 LD R16,Y+
233.2 000001F2 BF0D OUT SPL,R16
233.3 000001F4 9109 LD R16,Y+
233.4 000001F6 BF0E OUT SPH,R16
233.5 000001F8 ENDM
234 000001F8 POPSREG
; Restore status register
234.1 000001F8 9109 LD R16,Y+
234.2 000001FA BF0F OUT SREG,R16
234.3 000001FC ENDM
235 000001FC POPRS
; Restore all registers
235.1 000001FC 91F9 LD R31,Y+
235.2 000001FE 91E9 LD R30,Y+
235.3 00000200 91B9 LD R27,Y+
235.4 00000202 91A9 LD R26,Y+
235.5 00000204 9199 LD R25,Y+
235.6 00000206 9189 LD R24,Y+
235.7 00000208 9179 LD R23,Y+
235.8 0000020A 9169 LD R22,Y+
235.9 0000020C 9159 LD R21,Y+
235.10 0000020E 9149 LD R20,Y+
235.11 00000210 9139 LD R19,Y+
235.12 00000212 9129 LD R18,Y+
235.13 00000214 9119 LD R17,Y+
235.14 00000216 9109 LD R16,Y+
235.15 00000218 90F9 LD R15,Y+
235.16 0000021A 90E9 LD R14,Y+
235.17 0000021C 90D9 LD R13,Y+
235.18 0000021E 90C9 LD R12,Y+
235.19 00000220 90B9 LD R11,Y+
235.20 00000222 90A9 LD R10,Y+
235.21 00000224 9099 LD R9,Y+
235.22 00000226 9089 LD R8,Y+
235.23 00000228 9079 LD R7,Y+
235.24 0000022A 9069 LD R6,Y+
235.25 0000022C 9059 LD R5,Y+
235.26 0000022E 9049 LD R4,Y+
235.27 00000230 9039 LD R3,Y+
235.28 00000232 9029 LD R2,Y+
235.29 00000234 9019 LD R1,Y+
235.30 00000236 9009 LD R0,Y+
235.31 00000238 ENDM
236 00000238 9508 RET
; Note: RET instead of RETI
237 0000023A
238 0000023A
239 0000023A ;*********************************************
**********************************************
*************
240 0000023A ;
INTVEC
241 0000023A ;
242 0000023A ; Description : Set up the AVR interrupt
vector table so that the TIMER0 overflow
interrupt
243 0000023A ; vectors to the function
above.
244 0000023A ;
245 0000023A ;*********************************************
**********************************************
*************
246 0000023A
247 00000000 COMMON INTVEC
248 00000000 DS 14
249 0000000E .... RJMP OSTickISR
250 00000010
251 00000010 END
##############################
# CRC:41E0 #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 572 #
##############################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -