📄 os_cpu_c.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.0 [Build 951] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\ULINK-RAM\Obj\os_cpu_c.o --device=DARMATS --apcs=interwork -I..\..\..\..\uCOS-II\Source -I..\..\..\..\uCOS-II\Ports\ARM\Generic\KEILRV -I.\APP -I.\BSP -IC:\DEVELOP\Keil\ARM\INC\Atmel\SAM7S ..\..\..\..\uCOS-II\Ports\ARM\Generic\KEILRV\os_cpu_c.c]
ARM
AREA ||.text.7||, CODE, READONLY, ALIGN=2
OSInitHookBegin PROC
;;;50 {
;;;51 }
000000 e12fff1e BX lr
ENDP
OSInitHookEnd PROC
;;;71 #endif
;;;72 }
000004 e12fff1e BX lr
ENDP
OSTaskCreateHook PROC
;;;93 #endif
;;;94 }
000008 e12fff1e BX lr
ENDP
OSTaskDelHook PROC
;;;112 (void)ptcb; /* Prevent compiler warning */
;;;113 }
00000c e12fff1e BX lr
ENDP
OSTaskIdleHook PROC
;;;130 {
;;;131 }
000010 e12fff1e BX lr
ENDP
OSTaskStatHook PROC
;;;147 {
;;;148 }
000014 e12fff1e BX lr
ENDP
OSTaskStkInit PROC
;;;180 OS_STK *OSTaskStkInit (void (*task)(void *p_arg), void *p_arg, OS_STK *ptos, INT16U opt)
;;;181 {
000018 e1a03000 MOV r3,r0
;;;182 OS_STK *stk;
;;;183
;;;184
;;;185 opt = opt; /* 'opt' is not used, prevent warning */
;;;186 stk = ptos; /* Load stack pointer */
;;;187 *(stk) = (OS_STK)task; /* Entry Point */
;;;188 *(--stk) = (INT32U)0x14L; /* R14 (LR) */
00001c e5820000 STR r0,[r2,#0]
000020 e3a0c014 MOV r12,#0x14
000024 e2420004 SUB r0,r2,#4
000028 e502c004 STR r12,[r2,#-4]
;;;189 *(--stk) = (INT32U)0x12L; /* R12 */
00002c e3a02012 MOV r2,#0x12
000030 e5002004 STR r2,[r0,#-4]
;;;190 *(--stk) = (INT32U)0x11L; /* R11 */
000034 e3a02011 MOV r2,#0x11
000038 e5002008 STR r2,[r0,#-8]
;;;191 *(--stk) = (INT32U)0x10L; /* R10 */
00003c e3a02010 MOV r2,#0x10
000040 e500200c STR r2,[r0,#-0xc]
;;;192 *(--stk) = (INT32U)0x09L; /* R9 */
000044 e3a02009 MOV r2,#9
000048 e5002010 STR r2,[r0,#-0x10]
;;;193 *(--stk) = (INT32U)0x08L; /* R8 */
00004c e3a02008 MOV r2,#8
000050 e5002014 STR r2,[r0,#-0x14]
;;;194 *(--stk) = (INT32U)0x07L; /* R7 */
000054 e3a02007 MOV r2,#7
000058 e5002018 STR r2,[r0,#-0x18]
;;;195 *(--stk) = (INT32U)0x06L; /* R6 */
00005c e3a02006 MOV r2,#6
000060 e500201c STR r2,[r0,#-0x1c]
;;;196 *(--stk) = (INT32U)0x05L; /* R5 */
000064 e3a02005 MOV r2,#5
000068 e5002020 STR r2,[r0,#-0x20]
;;;197 *(--stk) = (INT32U)0x04L; /* R4 */
00006c e3a02004 MOV r2,#4
000070 e5002024 STR r2,[r0,#-0x24]
;;;198 *(--stk) = (INT32U)0x03L; /* R3 */
000074 e3a02003 MOV r2,#3
000078 e5002028 STR r2,[r0,#-0x28]
;;;199 *(--stk) = (INT32U)0x02L; /* R2 */
00007c e3a02002 MOV r2,#2
000080 e500202c STR r2,[r0,#-0x2c]
;;;200 *(--stk) = (INT32U)0x01L; /* R1 */
000084 e3a02001 MOV r2,#1
;;;201 *(--stk) = (INT32U)p_arg; /* R0 : argument */
000088 e240c034 SUB r12,r0,#0x34
00008c e88c0006 STM r12,{r1,r2}
;;;202 *(--stk) = (INT32U)ARM_SYS_MODE; /* CPSR (Enable both IRQ and FIQ interrupts) */
000090 e3a0101f MOV r1,#0x1f
;;;203
;;;204 if ((INT32U)task & 0x1) /* See if task is Thumb mode */
000094 e3130001 TST r3,#1
000098 e5201038 STR r1,[r0,#-0x38]! ;202
;;;205 *stk = ARM_SYS_MODE|ARM_MODE_THUMB; /* If yes, Set the T-bit */
00009c 13a0103f MOVNE r1,#0x3f
0000a0 15801000 STRNE r1,[r0,#0]
;;;206
;;;207 return (stk);
;;;208 }
0000a4 e12fff1e BX lr
ENDP
OSTCBInitHook PROC
;;;248 (void)ptcb; /* Prevent Compiler warning */
;;;249 }
0000a8 e12fff1e BX lr
ENDP
OSTimeTickHook PROC
;;;269 #endif
;;;270 }
0000ac e12fff1e BX lr
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -