📄 os_cpu_c.s
字号:
; generated by Norcroft ARM C vsn 4.90 (ARM Ltd SDT2.50) [Build number 80]
;input para: a4,a3,a2,a1;opt,*ptos,*pada,*task,
AREA |C$$code|, CODE, READONLY
|x$codeseg| DATA
OSTaskStkInit
SUB a4,a3,#4 ;stk=(unsigned int *)ptos,stk--
STR a1,[a4],#-4 ;*--stk = (unsigned int) task;
STR a1,[a4],#-4 ;*--stk = (unsigned int) task;
STR a3,[a4,#0] ;a3->[a4|0]
SUB a3,a4,#4 ;a3=a4-4
MOV a1,#0 ;
STR a1,[a3],#-4 ;*--stk = 0;
STR a1,[a3],#-4 ;*--stk = 0;
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3],#-4
STR a1,[a3,#0]
MOV a1,a2
SUB a2,a3,#4
STR a1,[a2],#-4 ;*--stk = (unsigned int) pdata;
MOV a1,#0x13 ;a1=0x13 SVCmode
STR a1,[a2,#0] ;*--stk = (SVC32MODE|0x0);
MOV a3,a1
SUB a1,a2,#4
STR a3,[a1,#0] ;*--stk = (SVC32MODE|0x0);
MOV pc,lr
OSTaskCreateHook
MOV pc,lr ;return
OSTaskDelHook
MOV pc,lr ;return
OSTaskSwHook
MOV pc,lr ;return
OSTaskStatHook
MOV pc,lr ;return
OSTimeTickHook
MOV pc,lr ;return
ARMTargetInit
STR lr,[sp,#-4]!
ADD a1,pc,#L0000d8-.-8
BL uHALr_printf
ADD a1,pc,#L0000f0-.-8
BL uHALr_printf
ADD a1,pc,#L000100-.-8
BL uHALr_printf
ADD a1,pc,#L000114-.-8
BL uHALr_printf
ADD a1,pc,#L000118-.-8
BL uHALr_printf
ADD a1,pc,#L000114-.-8
BL uHALr_printf
BL uHALr_ResetMMU
BL ARMDisableInt
LDR a2,[pc, #L00012c-.-8]
LDR a1,[pc, #L000130-.-8]
MOV a3,#0
BL uHALir_DefineIRQ
BL uHALr_InitInterrupts
LDR lr,[sp],#4
B uHALr_InitTimers
L0000d8
DCB "uCOS"
DCB "-II "
DCB "Runn"
DCB "ing "
DCB "on a"
DCB "\0\0\0\0"
L0000f0
DCB " SAM"
DCB "SUNG"
DCB " boa"
DCB "rd\n\0"
L000100
DCB "Vers"
DCB "ion "
DCB "0.01"
DCB " CO"
DCB "iNS\0"
L000114
DCB "\n\0\0\0"
L000118
DCB "Date"
DCB ": Fe"
DCB "b 22"
DCB " 200"
DCB "1\n\0\0"
L00012c
DCD IrqFinish
L000130
DCD IrqStart
ARMTargetStart
STR lr,[sp,#-4]!
LDR a1,[pc, #L000158-.-8]
ADD a2,pc,#L00015c-.-8
BL uHALr_RequestSystemTimer
CMP a1,#0
ADDLE a1,pc,#L000164-.-8
BLLE uHALr_printf
LDR lr,[sp],#4
B uHALr_InstallSystemTimer
L000158
DCD OSTimeTick
L00015c
DCB "uCOS"
DCB "-II\0"
L000164
DCB "Time"
DCB "r/IR"
DCB "Q bu"
DCB "sy\n\0"
OSIntCtxSw
|L000174.J2.OSIntCtxSw|
LDR a1,[pc, #L000184-.-8]
MOV a2,#1
STR a2,[a1,#0]
MOV pc,lr
L000184
DCD |x$dataseg|
IrqStart
LDR a1,[pc, #L00019c-.-8]
LDRB a2,[a1,#0]
ADD a2,a2,#1
STRB a2,[a1,#0]
MOV pc,lr
L00019c
DCD OSIntNesting
IrqFinish
STR lr,[sp,#-4]!
BL OSIntExit
LDR a1,[pc, #L000184-.-8]
LDR a1,[a1,#0]
CMP a1,#0
LDRNE a1,[pc, #L0001bc-.-8]
LDR pc,[sp],#4
L0001bc
DCD IRQContextSwap
AREA |C$$data|, DATA
|x$dataseg|
need_to_swap_context
DCD 0x00000000
EXPORT OSIntCtxSw
EXPORT need_to_swap_context
EXPORT ARMTargetStart
EXPORT IrqStart
EXPORT IrqFinish
EXPORT ARMTargetInit
EXPORT OSTimeTickHook
EXPORT OSTaskStatHook
EXPORT OSTaskSwHook
EXPORT OSTaskDelHook
EXPORT OSTaskCreateHook
EXPORT OSTaskStkInit
IMPORT IRQContextSwap
IMPORT OSIntExit
IMPORT OSIntNesting
IMPORT uHALr_InstallSystemTimer
IMPORT uHALr_RequestSystemTimer
IMPORT OSTimeTick
IMPORT uHALr_InitTimers
IMPORT uHALr_InitInterrupts
IMPORT uHALir_DefineIRQ
IMPORT ARMDisableInt
IMPORT uHALr_ResetMMU
IMPORT uHALr_printf
IMPORT |Lib$$Request$$armlib$$_cn.32l|, WEAK
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -