os_cpu_c.txt

来自「uc/os在lpc2100系列的KEIL模板 uc/os在lpc2100系列的」· 文本 代码 · 共 322 行 · 第 1/2 页

TXT
322
字号
;;;221                    }
;;;222                }
;;;223                break;
;;;224            case 0x83:                      /* 任务是THUMB代码 */
;;;225                if (Regs[0] <= OS_LOWEST_PRIO)
;;;226                {
;;;227                    ptcb = OSTCBPrioTbl[Regs[0]];
;;;228                    if (ptcb != NULL)
;;;229                    {
;;;230                        ptcb -> OSTCBStkPtr[1] |= (1 << 5);
;;;231                    }
;;;232                }
;;;233                break;
;;;234            default:
;;;235                break;
;;;236        }
;;;237    }
000094  e12fff1e          BX       lr
                  |L1.152|
000098  e59f20f4          LDR      r2,|L1.404|
00009c  e3500082          CMP      r0,#0x82              ;132
0000a0  0a000022          BEQ      |L1.304|
0000a4  e3500083          CMP      r0,#0x83              ;132
0000a8  1afffff9          BNE      |L1.148|
0000ac  e5910000          LDR      r0,[r1,#0]            ;225
0000b0  e350000c          CMP      r0,#0xc               ;225
0000b4  cafffff6          BGT      |L1.148|
0000b8  e7920100          LDR      r0,[r2,r0,LSL #2]     ;227
0000bc  e3500000          CMP      r0,#0                 ;228
0000c0  0afffff3          BEQ      |L1.148|
0000c4  e5900000          LDR      r0,[r0,#0]            ;230
0000c8  e5901004          LDR      r1,[r0,#4]            ;230
0000cc  e3811020          ORR      r1,r1,#0x20           ;230
0000d0  e5801004          STR      r1,[r0,#4]            ;230
0000d4  eaffffee          B        |L1.148|
                  |L1.216|
0000d8  e14f0000          MRS      r0,SPSR               ;141
0000dc  e3800080          ORR      r0,r0,#0x80           ;142
0000e0  e161f000          MSR      SPSR_c,r0             ;143
0000e4  e2810001          ADD      r0,r1,#1              ;145
0000e8  e5820000          STR      r0,[r2,#0]            ;145  ; OsEnterSum
0000ec  eaffffe8          B        |L1.148|
                  |L1.240|
0000f0  e3510000          CMP      r1,#0                 ;148
0000f4  0a000001          BEQ      |L1.256|
0000f8  e2410001          SUB      r0,r1,#1              ;148
0000fc  e5820000          STR      r0,[r2,#0]            ;148  ; OsEnterSum
                  |L1.256|
000100  e5920000          LDR      r0,[r2,#0]            ;149  ; OsEnterSum
000104  e3500000          CMP      r0,#0                 ;149
000108  1affffe1          BNE      |L1.148|
00010c  e14f0000          MRS      r0,SPSR               ;153
000110  e3c00080          BIC      r0,r0,#0x80           ;154
000114  e161f000          MSR      SPSR_c,r0             ;155
000118  eaffffdd          B        |L1.148|
                  |L1.284|
00011c  e14f0000          MRS      r0,SPSR               ;208
000120  e3c0001f          BIC      r0,r0,#0x1f           ;209
000124  e3800010          ORR      r0,r0,#0x10           ;210
000128  e161f000          MSR      SPSR_c,r0             ;211
00012c  eaffffd8          B        |L1.148|
                  |L1.304|
000130  e5910000          LDR      r0,[r1,#0]            ;215
000134  e350000c          CMP      r0,#0xc               ;215
000138  caffffd5          BGT      |L1.148|
00013c  e7920100          LDR      r0,[r2,r0,LSL #2]     ;217
000140  e3500000          CMP      r0,#0                 ;218
000144  0affffd2          BEQ      |L1.148|
000148  e5900000          LDR      r0,[r0,#0]            ;220
00014c  e5901004          LDR      r1,[r0,#4]            ;220
000150  e3c11020          BIC      r1,r1,#0x20           ;220
000154  e5801004          STR      r1,[r0,#4]            ;220
000158  eaffffcd          B        |L1.148|
;;;238    
                          ENDP

                  OSStartHighRdy PROC
;;;256            void OSStartHighRdy(void)
;;;257    {
00015c  e92d4010          PUSH     {r4,lr}
;;;258        _OSStartHighRdy();
000160  ef000001          SVC      #0x1
;;;259    }
000164  e8bd4010          POP      {r4,lr}
000168  e12fff1e          BX       lr
;;;260    
                          ENDP

                  OSInitHookBegin PROC
;;;279    {
;;;280    }
00016c  e12fff1e          BX       lr
;;;281    #endif
                          ENDP

                  OSInitHookEnd PROC
;;;297    {
;;;298    }
000170  e12fff1e          BX       lr
;;;299    #endif
                          ENDP

                  OSTaskCreateHook PROC
;;;315        ptcb = ptcb;                       /* Prevent compiler warning                                     */
;;;316    }
000174  e12fff1e          BX       lr
;;;317    
                          ENDP

                  OSTaskDelHook PROC
;;;332        ptcb = ptcb;                       /* Prevent compiler warning                                     */
;;;333    }
000178  e12fff1e          BX       lr
;;;334    
                          ENDP

                  OSTaskSwHook PROC
;;;351    {
;;;352    }
00017c  e12fff1e          BX       lr
;;;353    
                          ENDP

                  OSTaskStatHook PROC
;;;365    {
;;;366    }
000180  e12fff1e          BX       lr
;;;367    
                          ENDP

                  OSTCBInitHook PROC
;;;382        ptcb = ptcb;                                           /* Prevent Compiler warning                 */
;;;383    }
000184  e12fff1e          BX       lr
;;;384    #endif
                          ENDP

                  OSTimeTickHook PROC
;;;399    {
;;;400    }
000188  e12fff1e          BX       lr
;;;401    
                          ENDP

                  OSTaskIdleHook PROC
;;;417    {
;;;418    }
00018c  e12fff1e          BX       lr
;;;419    #endif
                          ENDP

                  |L1.400|
000190  00000000          DCD      ||.data||
                  |L1.404|
000194  00000000          DCD      OSTCBPrioTbl

                          AREA ||.data||, DATA, ALIGN=2

                  OsEnterSum
000000  00000000          DCD      0x00000000

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?