📄 off
字号:
67 000000A0 E24DD00C SUB SP, SP, #4*3
68 000000A4
69 000000A4 E321F09F MSR CPSR_c, #(NoInt | SYS32Mode)
; 切换到系统模式
70 000000A8 E3510001 CMP R1, #1
71 000000AC 059FD050 LDREQ SP, =StackUsr
72 000000B0
73 000000B0 EBFFFFFE BL Timer0_Exception
; 调用c语言的中断处理程序
74 000000B4
75 000000B4 E321F09F MSR CPSR_c, #(NoInt | SYS32Mode)
; 切换到系统模式
76 000000B8 E59F2048 LDR R2, =OsEnterSum ; OsEnterSum,使OSIntExit
退出时中断关闭
77 000000BC E3A01001 MOV R1, #1
78 000000C0 E5821000 STR R1, [R2]
79 000000C4
80 000000C4 EBFFFFFE BL OSIntExit
81 000000C8
82 000000C8 E59F2038 LDR R2, =OsEnterSum ; 因为中断服务程序要退出
,所以OsEnterSum=0
83 000000CC E3A01000 MOV R1, #0
84 000000D0 E5821000 STR R1, [R2]
85 000000D4
86 000000D4 E321F092 MSR CPSR_c, #(NoInt | IRQ32Mode)
; 切换回irq模式
87 000000D8 E8DD6008 LDMFD SP, {R3, SP, LR}^ ; 恢复用户状态的R3,SP,
LR,注意不能回写
88 000000DC ; 如果回写的是用户的SP,所以后面要调整SP
89 000000DC E59F0028 LDR R0, =OSTCBHighRdy
90 000000E0 E5900000 LDR R0, [R0]
91 000000E4 E59F1024 LDR R1, =OSTCBCur
92 000000E8 E5911000 LDR R1, [R1]
93 000000EC E1500001 CMP R0, R1
94 000000F0
95 000000F0 E28DD00C ADD SP, SP, #4*3 ;
96 000000F4 E16FF003 MSR SPSR_cxsf, R3
97 000000F8 08FD900F LDMEQFD SP!, {R0-R3, R12, PC}^ ; 不进行任务切换
ARM Macro Assembler Page 6
98 000000FC E59FF010 LDR PC, =OSIntCtxSw ; 进行任务切换
45 00000100
46 00000100 END
00000000
00000000
00000000
00000000
00000000
00000000
Command Line: [C:\Program Files\ARM\ADSv1_2\Bin\ArmAsm -via irq._ia]
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
IRQ 00000000
Symbol: IRQ
Definitions
At line 48 in file src\..\..\arm\irq.inc
Uses
None
Comment: IRQ unused
IRQ_Handler 00000000
Symbol: IRQ_Handler
Definitions
At line 56 in macro LER
at line 39 in file src\IRQ.s
Uses
At line 53 in macro LER
at line 39 in file src\IRQ.s
Comment: IRQ_Handler used once
Timer0_Handler 00000080
Symbol: Timer0_Handler
Definitions
At line 56 in macro LER
at line 44 in file src\IRQ.s
Uses
At line 53 in macro LER
at line 44 in file src\IRQ.s
Comment: Timer0_Handler used once
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Absolute symbols
FIQ32Mode 00000011
Symbol: FIQ32Mode
Definitions
At line 34 in file src\..\..\arm\irq.inc
Uses
None
Comment: FIQ32Mode unused
IRQ32Mode 00000012
Symbol: IRQ32Mode
Definitions
At line 33 in file src\..\..\arm\irq.inc
Uses
At line 86 in macro LER
at line 39 in file src\IRQ.s
At line 86 in macro LER
at line 44 in file src\IRQ.s
NoInt 00000080
Symbol: NoInt
Definitions
At line 28 in file src\..\..\arm\irq.inc
Uses
At line 69 in macro LER
at line 39 in file src\IRQ.s
At line 75 in macro LER
at line 39 in file src\IRQ.s
At line 86 in macro LER
at line 39 in file src\IRQ.s
At line 69 in macro LER
at line 44 in file src\IRQ.s
At line 75 in macro LER
at line 44 in file src\IRQ.s
At line 86 in macro LER
at line 44 in file src\IRQ.s
SVC32Mode 00000013
Symbol: SVC32Mode
Definitions
At line 31 in file src\..\..\arm\irq.inc
Uses
None
Comment: SVC32Mode unused
SYS32Mode 0000001F
Symbol: SYS32Mode
Definitions
At line 32 in file src\..\..\arm\irq.inc
Uses
At line 69 in macro LER
at line 39 in file src\IRQ.s
At line 75 in macro LER
at line 39 in file src\IRQ.s
At line 69 in macro LER
at line 44 in file src\IRQ.s
At line 75 in macro LER
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Absolute symbols
at line 44 in file src\IRQ.s
USR32Mode 00000010
Symbol: USR32Mode
Definitions
At line 30 in file src\..\..\arm\irq.inc
Uses
None
Comment: USR32Mode unused
6 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
IRQ_Exception 00000000
Symbol: IRQ_Exception
Definitions
At line 54 in macro LER
at line 39 in file src\IRQ.s
Uses
At line 73 in macro LER
at line 39 in file src\IRQ.s
Comment: IRQ_Exception used once
OSIntCtxSw 00000000
Symbol: OSIntCtxSw
Definitions
At line 38 in file src\..\..\arm\irq.inc
Uses
At line 98 in macro LER
at line 39 in file src\IRQ.s
At line 98 in macro LER
at line 44 in file src\IRQ.s
OSIntExit 00000000
Symbol: OSIntExit
Definitions
At line 39 in file src\..\..\arm\irq.inc
Uses
At line 80 in macro LER
at line 39 in file src\IRQ.s
At line 80 in macro LER
at line 44 in file src\IRQ.s
OSIntNesting 00000000
Symbol: OSIntNesting
Definitions
At line 42 in file src\..\..\arm\irq.inc
Uses
At line 62 in macro LER
at line 39 in file src\IRQ.s
At line 62 in macro LER
at line 44 in file src\IRQ.s
OSTCBCur 00000000
Symbol: OSTCBCur
Definitions
At line 40 in file src\..\..\arm\irq.inc
Uses
At line 91 in macro LER
at line 39 in file src\IRQ.s
At line 91 in macro LER
at line 44 in file src\IRQ.s
OSTCBHighRdy 00000000
Symbol: OSTCBHighRdy
Definitions
At line 41 in file src\..\..\arm\irq.inc
ARM Macro Assembler Page 2 Alphabetic symbol ordering
External symbols
Uses
At line 89 in macro LER
at line 39 in file src\IRQ.s
At line 89 in macro LER
at line 44 in file src\IRQ.s
OsEnterSum 00000000
Symbol: OsEnterSum
Definitions
At line 44 in file src\..\..\arm\irq.inc
Uses
At line 76 in macro LER
at line 39 in file src\IRQ.s
At line 82 in macro LER
at line 39 in file src\IRQ.s
At line 76 in macro LER
at line 44 in file src\IRQ.s
At line 82 in macro LER
at line 44 in file src\IRQ.s
StackUsr 00000000
Symbol: StackUsr
Definitions
At line 43 in file src\..\..\arm\irq.inc
Uses
At line 71 in macro LER
at line 39 in file src\IRQ.s
At line 71 in macro LER
at line 44 in file src\IRQ.s
Timer0_Exception 00000000
Symbol: Timer0_Exception
Definitions
At line 54 in macro LER
at line 44 in file src\IRQ.s
Uses
At line 73 in macro LER
at line 44 in file src\IRQ.s
Comment: Timer0_Exception used once
9 symbols
271 symbols in table
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -