亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_cpu_a.lst

?? uCOSKeillpc22xx系統(tǒng)
?? LST
?? 第 1 頁 / 共 3 頁
字號:



ARM Macro Assembler    Page 1 


    1 00000000         ;*******************************************************
                       *************************************************
    2 00000000         ;                                               uC/OS-II
                       
    3 00000000         ;                                         The Real-Time 
                       Kernel
    4 00000000         ;
    5 00000000         ;                               (c) Copyright 1992-2005,
                        Micrium, Weston, FL
    6 00000000         ;                                          All Rights Re
                       served
    7 00000000         ;
    8 00000000         ;                                           Generic ARM 
                       Port
    9 00000000         ;
   10 00000000         ; File      : OS_CPU_A.ASM
   11 00000000         ; Version   : V1.61
   12 00000000         ; By        : Jean J. Labrosse
   13 00000000         ;
   14 00000000         ; For       : ARM7 or ARM9
   15 00000000         ; Mode      : ARM or Thumb
   16 00000000         ; Toolchain : IAR's EWARM V4.11a and higher
   17 00000000         ;*******************************************************
                       *************************************************
   18 00000000         
   19 00000000                 IMPORT           OSRunning   ; IMPORTal referenc
                                                            es
   20 00000000                 IMPORT           OSPrioCur
   21 00000000                 IMPORT           OSPrioHighRdy
   22 00000000                 IMPORT           OSTCBCur
   23 00000000                 IMPORT           OSTCBHighRdy
   24 00000000                 IMPORT           OSIntNesting
   25 00000000                 IMPORT           OSIntExit
   26 00000000                 IMPORT           OSTaskSwHook
   27 00000000                 IMPORT           Timer0_Exception
   28 00000000         
   29 00000000         
   30 00000000                 EXPORT           OS_CPU_SR_Save ; Functions decl
                                                            ared in this file
   31 00000000                 EXPORT           OS_CPU_SR_Restore
   32 00000000                 EXPORT           OSStartHighRdy
   33 00000000                 EXPORT           OSCtxSw
   34 00000000                 EXPORT           OSIntCtxSw
   35 00000000                 EXPORT           OS_CPU_IRQ_ISR
   36 00000000         
   37 00000000         
   38 00000000 000000C0 
                       NO_INT  EQU              0xC0        ; Mask used to disa
                                                            ble interrupts (Bot
                                                            h FIR and IRQ)
   39 00000000 00000013 
                       SVC32_MODE
                               EQU              0x13
   40 00000000 00000011 
                       FIQ32_MODE
                               EQU              0x11
   41 00000000 00000012 
                       IRQ32_MODE
                               EQU              0x12



ARM Macro Assembler    Page 2 


   42 00000000         
   43 00000000         ;*******************************************************
                       **************************************************
   44 00000000         ;                                   CRITICAL SECTION MET
                       HOD 3 FUNCTIONS
   45 00000000         ;
   46 00000000         ; Description: Disable/Enable interrupts by preserving t
                       he state of interrupts.  Generally speaking you
   47 00000000         ;              would store the state of the interrupt di
                       sable flag in the local variable 'cpu_sr' and then
   48 00000000         ;              disable interrupts.  'cpu_sr' is allocate
                       d in all of uC/OS-II's functions that need to
   49 00000000         ;              disable interrupts.  You would restore th
                       e interrupt disable state by copying back 'cpu_sr'
   50 00000000         ;              into the CPU's status register.
   51 00000000         ;
   52 00000000         ; Prototypes :     OS_CPU_SR  OS_CPU_SR_Save(void);
   53 00000000         ;                  void       OS_CPU_SR_Restore(OS_CPU_S
                       R cpu_sr);
   54 00000000         ;
   55 00000000         ;
   56 00000000         ; Note(s)    : 1) These functions are used in general li
                       ke this:
   57 00000000         ;
   58 00000000         ;                 void Task (void *p_arg)
   59 00000000         ;                 {
   60 00000000         ;                 #if OS_CRITICAL_METHOD == 3          /
                       * Allocate storage for CPU status register */
   61 00000000         ;                     OS_CPU_SR  cpu_sr;
   62 00000000         ;                 #endif
   63 00000000         ;
   64 00000000         ;                          :
   65 00000000         ;                          :
   66 00000000         ;                     OS_ENTER_CRITICAL();             /
                       * cpu_sr = OS_CPU_SaveSR();                */
   67 00000000         ;                          :
   68 00000000         ;                          :
   69 00000000         ;                     OS_EXIT_CRITICAL();              /
                       * OS_CPU_RestoreSR(cpu_sr);                */
   70 00000000         ;                          :
   71 00000000         ;                          :
   72 00000000         ;                 }
   73 00000000         ;
   74 00000000         ;              2) OS_CPU_SaveSR() is implemented as reco
                       mmended by Atmel's application note:
   75 00000000         ;
   76 00000000         ;                    "Disabling Interrupts at Processor 
                       Level"
   77 00000000         ;*******************************************************
                       **************************************************
   78 00000000         
   79 00000000                 PRESERVE8
   80 00000000                 AREA             OS_CPU_SR_CODE32, CODE, READONL
Y
   81 00000000                 ARM
   82 00000000         
   83 00000000         OS_CPU_SR_Save
   84 00000000 E10F0000        MRS              R0,CPSR     ; Set IRQ and FIQ b
                                                            its in CPSR to disa



ARM Macro Assembler    Page 3 


                                                            ble all interrupts
   85 00000004 E38010C0        ORR              R1,R0,#NO_INT
   86 00000008 E121F001        MSR              CPSR_c,R1
   87 0000000C E10F1000        MRS              R1,CPSR     ; Confirm that CPSR
                                                             contains the prope
                                                            r interrupt disable
                                                             flags
   88 00000010 E20110C0        AND              R1,R1,#NO_INT
   89 00000014 E35100C0        CMP              R1,#NO_INT
   90 00000018 1AFFFFFE        BNE              OS_CPU_SR_Save ; Not properly d
                                                            isabled (try again)
                                                            
   91 0000001C E12FFF1E        BX               LR          ; Disabled, return 
                                                            the original CPSR c
                                                            ontents in R0
   92 00000020         
   93 00000020         
   94 00000020         OS_CPU_SR_Restore
   95 00000020 E121F000        MSR              CPSR_c,R0
   96 00000024 E12FFF1E        BX               LR
   97 00000028         
   98 00000028         
   99 00000028         ;*******************************************************
                       **************************************************
  100 00000028         ;                                          START MULTITA
                       SKING
  101 00000028         ;                                       void OSStartHigh
                       Rdy(void)
  102 00000028         ;
  103 00000028         ; Note(s) : 1) OSStartHighRdy() MUST:
  104 00000028         ;              a) Call OSTaskSwHook() then,
  105 00000028         ;              b) Set OSRunning to TRUE,
  106 00000028         ;              c) Switch to the highest priority task.
  107 00000028         ;*******************************************************
                       **************************************************
  108 00000028         
  109 00000028                 AREA             OSStartHighRdy_CODE32, CODE, RE
ADONLY
  110 00000000                 ARM
  111 00000000         
  112 00000000         OSStartHighRdy
  113 00000000         
  114 00000000 E51F0008        LDR              R0, OS_TaskSwHook 
                                                            ; OSTaskSwHook();
  115 00000004 E1A0E00F        MOV              LR, PC
  116 00000008 E12FFF10        BX               R0
  117 0000000C         
  118 0000000C E32FF0D3        MSR              CPSR_cxsf, #0xD3 ; Switch to SV
                                                            C mode with IRQ and
                                                             FIQ disabled
  119 00000010         
  120 00000010 E51F4008        LDR              R4, OS_Running 
                                                            ; OSRunning = TRUE
  121 00000014 E3A05001        MOV              R5, #1
  122 00000018 E5C45000        STRB             R5, [R4]
  123 0000001C         
  124 0000001C         ; SWITCH TO HIGHEST PRIORITY TASK
  125 0000001C E51F4008        LDR              R4, OS_TCBHighRdy ;    Get high
                                                            est priority task T



ARM Macro Assembler    Page 4 


                                                            CB address
  126 00000020 E5944000        LDR              R4, [R4]    ;    get stack poin
                                                            ter
  127 00000024 E594D000        LDR              SP, [R4]    ;    switch to the 
                                                            new stack
  128 00000028         
  129 00000028 E49D4004        LDR              R4,  [SP], #4 ;    pop new task
                                                            's CPSR
  130 0000002C E16FF004        MSR              SPSR_cxsf,R4
  131 00000030 E8FDDFFF        LDMFD            SP!, {R0-R12,LR,PC}^ ;    pop n
                                                            ew task's context
  132 00000034         
  133 00000034         
  134 00000034         ;*******************************************************
                       **************************************************
  135 00000034         ;                         PERFORM A CONTEXT SWITCH (From
                        task level) - OSCtxSw()
  136 00000034         ;
  137 00000034         ; Note(s) : 1) OSCtxSw() is called in SYS mode with BOTH
                        FIQ and IRQ interrupts DISABLED
  138 00000034         ;
  139 00000034         ;           2) The pseudo-code for OSCtxSw() is:
  140 00000034         ;              a) Save the current task's context onto t
                       he current task's stack
  141 00000034         ;              b) OSTCBCur->OSTCBStkPtr = SP;
  142 00000034         ;              c) OSTaskSwHook();
  143 00000034         ;              d) OSPrioCur             = OSPrioHighRdy;
                       
  144 00000034         ;              e) OSTCBCur              = OSTCBHighRdy;
  145 00000034         ;              f) SP                    = OSTCBHighRdy->
                       OSTCBStkPtr;
  146 00000034         ;              g) Restore the new task's context from th
                       e new task's stack
  147 00000034         ;              h) Return to new task's code
  148 00000034         ;
  149 00000034         ;           3) Upon entry:
  150 00000034         ;              OSTCBCur      points to the OS_TCB of the
                        task to suspend
  151 00000034         ;              OSTCBHighRdy  points to the OS_TCB of the
                        task to resume
  152 00000034         ;*******************************************************
                       **************************************************
  153 00000034         
  154 00000034                 AREA             OSCtxSw_CODE32, CODE, READONLY
  155 00000000                 ARM
  156 00000000         
  157 00000000         OSCtxSw
  158 00000000         ; SAVE CURRENT TASK'S CONTEXT
  159 00000000 E92D4000        STMFD            SP!, {LR}   ;     Push return a
                                                            ddress
  160 00000004 E92D4000        STMFD            SP!, {LR}
  161 00000008 E92D1FFF        STMFD            SP!, {R0-R12} ;     Push regist
                                                            ers
  162 0000000C E10F4000        MRS              R4,  CPSR   ;     Push current 
                                                            CPSR
  163 00000010 E31E0001        TST              LR, #1      ;     See if called
                                                             from Thumb mode
  164 00000014 13844020        ORRNE            R4,  R4, #0x20 ;     If yes, Se
                                                            t the T-bit



ARM Macro Assembler    Page 5 


  165 00000018 E92D0010        STMFD            SP!, {R4}
  166 0000001C         
  167 0000001C E51F4008        LDR              R4, OS_TCBCur ; OSTCBCur->OSTCB
                                                            StkPtr = SP;
  168 00000020 E5945000        LDR              R5, [R4]
  169 00000024 E585D000        STR              SP, [R5]
  170 00000028         
  171 00000028 E51F0008        LDR              R0, OS_TaskSwHook 
                                                            ; OSTaskSwHook();
  172 0000002C E1A0E00F        MOV              LR, PC
  173 00000030 E12FFF10        BX               R0
  174 00000034         
  175 00000034 E51F4008        LDR              R4, OS_PrioCur ; OSPrioCur = OS
                                                            PrioHighRdy
  176 00000038 E51F5008        LDR              R5, OS_PrioHighRdy
  177 0000003C E5D56000        LDRB             R6, [R5]
  178 00000040 E5C46000        STRB             R6, [R4]
  179 00000044         
  180 00000044 E51F4008        LDR              R4, OS_TCBCur ; OSTCBCur  = OST
                                                            CBHighRdy;
  181 00000048 E51F6008        LDR              R6, OS_TCBHighRdy
  182 0000004C E5966000        LDR              R6, [R6]
  183 00000050 E5846000        STR              R6, [R4]
  184 00000054         
  185 00000054 E596D000        LDR              SP, [R6]    ; SP = OSTCBHighRdy
                                                            ->OSTCBStkPtr;
  186 00000058         

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码久久午夜不卡| 日韩一区二区三区免费看| 一级女性全黄久久生活片免费| 亚洲人成小说网站色在线 | 欧美三级蜜桃2在线观看| 欧美精品 国产精品| 国产精品毛片高清在线完整版 | 国产精品夫妻自拍| 日韩免费高清av| 色综合婷婷久久| 国产91在线|亚洲| 蜜桃视频在线观看一区| 亚洲高清免费视频| 亚洲天堂免费在线观看视频| 日韩你懂的在线播放| 色综合天天在线| √…a在线天堂一区| 国产成人午夜精品5599| 蜜桃久久久久久久| 亚洲成国产人片在线观看| 91免费视频观看| av男人天堂一区| 亚洲人吸女人奶水| 色婷婷久久一区二区三区麻豆| 亚洲品质自拍视频网站| 国产精品乱码人人做人人爱| 91免费看`日韩一区二区| 成人免费视频视频在线观看免费| 久久成人精品无人区| 国产欧美一区二区精品性| 精品国内二区三区| 成人av免费在线播放| 午夜精品一区二区三区电影天堂 | 久久你懂得1024| 欧美自拍偷拍一区| 久久69国产一区二区蜜臀| 国产精品欧美精品| 欧美日韩国产免费一区二区| 精品午夜一区二区三区在线观看| 精品在线播放午夜| 亚洲国产一区二区在线播放| 26uuu亚洲| 亚洲精品国产无天堂网2021| 精品成人私密视频| 日韩中文字幕一区二区三区| 欧美美女网站色| 极品美女销魂一区二区三区| 激情文学综合网| 午夜精品福利一区二区三区蜜桃| 国产日产欧美一区二区三区| 国产精品成人在线观看| 亚洲国产美女搞黄色| 亚洲一区二区精品视频| 国内偷窥港台综合视频在线播放| proumb性欧美在线观看| 欧美一区二区三区免费视频 | 欧美日韩你懂得| 久久久久亚洲蜜桃| 欧洲精品一区二区| 欧美白人最猛性xxxxx69交| 欧美韩国日本综合| 亚洲自拍都市欧美小说| 日韩视频免费直播| 717成人午夜免费福利电影| 国产亚洲精品aa| 欧美一区二区三区公司| 亚洲人123区| 91社区在线播放| 在线观看一区二区精品视频| 欧美精品一区二区三区高清aⅴ| 亚洲福利视频一区| 色婷婷综合久久久久中文一区二区 | 色婷婷精品大视频在线蜜桃视频| 91影视在线播放| 亚洲精品欧美激情| 色呦呦网站一区| 亚洲在线视频网站| 天堂影院一区二区| 美脚の诱脚舐め脚责91 | 欧洲av在线精品| 一区二区三区在线视频播放| 一区二区在线免费| 欧美日韩一区小说| 日韩欧美国产综合| 精品一区二区三区在线播放 | 亚洲精选视频免费看| 91亚洲国产成人精品一区二区三 | 日韩你懂的在线播放| 久久精品国产99| 亚洲国产精品成人久久综合一区| 一区二区中文视频| 欧美性大战久久| 欧美aaaaaa午夜精品| 国产欧美日韩三区| 69堂成人精品免费视频| 国产精品视频线看| 琪琪一区二区三区| 国产精品久久久久久亚洲毛片 | 美女免费视频一区| 不卡一区在线观看| 日韩不卡在线观看日韩不卡视频| 成人av综合在线| 337p亚洲精品色噜噜狠狠| 国产一区二区主播在线| 亚洲精品免费在线播放| 日韩免费高清av| 日韩黄色免费电影| 欧美日韩在线一区二区| 国产精品色眯眯| 日韩午夜精品视频| 免费美女久久99| 一区二区三区.www| 91免费版在线| 国产91在线观看| 欧美高清在线精品一区| 日韩午夜在线播放| 亚洲a一区二区| 在线观看一区二区视频| 国产精品影视在线| 久草在线在线精品观看| 69久久夜色精品国产69蝌蚪网| 99视频在线精品| 一区二区三区四区乱视频| 94-欧美-setu| 91在线视频18| 91在线观看高清| 91亚洲精品一区二区乱码| 亚洲一二三四在线| 国产精品久久久一本精品| 国产一区 二区 三区一级| 奇米亚洲午夜久久精品| 久久久一区二区三区捆绑**| 99re热视频这里只精品| 亚洲最新视频在线播放| 亚洲黄色av一区| 午夜精品久久久久久久蜜桃app| 亚洲国产视频直播| 亚洲精品在线三区| 久久久精品国产免大香伊 | 欧美在线|欧美| 日韩一区二区电影网| 久久亚洲一级片| 国产精品色婷婷| 日韩天堂在线观看| 色综合色狠狠天天综合色| 久久av中文字幕片| 成人高清免费在线播放| 精品视频999| 久久精品欧美日韩精品| 亚洲精品国产无套在线观| 男女激情视频一区| 国产99久久久精品| 蜜臀国产一区二区三区在线播放| 久久精品视频一区二区| 国产亚洲成aⅴ人片在线观看| 亚洲免费观看高清完整版在线 | 日韩专区在线视频| 国产一区日韩二区欧美三区| 色天天综合久久久久综合片| 欧美精品在线观看播放| 亚洲欧美国产毛片在线| 国产电影精品久久禁18| 欧美一区二区三区在线观看 | 欧美日韩第一区日日骚| 国产亚洲va综合人人澡精品| 日韩av一区二区在线影视| 91网站在线观看视频| 国产欧美日韩激情| 国产精品影音先锋| 欧美va亚洲va国产综合| 日韩电影免费在线看| 欧美电影一区二区| 婷婷一区二区三区| 欧美日韩另类一区| 亚洲精品免费播放| 91视频www| 亚洲国产中文字幕| 欧美日韩小视频| 日韩成人免费电影| 日韩一区二区免费在线观看| 偷拍一区二区三区| 欧美一区二区三区在线观看| 久久精品噜噜噜成人88aⅴ| 日韩丝袜美女视频| 国产乱码精品一品二品| 久久精品夜色噜噜亚洲aⅴ| 国产乱码精品一品二品| 中文字幕的久久| 欧美少妇一区二区| 蜜桃视频在线一区| 久久网站热最新地址| 91在线你懂得| 蜜桃在线一区二区三区| 国产精品婷婷午夜在线观看| 91浏览器入口在线观看| 视频在线观看一区| 国产日韩欧美综合一区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 成人国产精品免费| 亚洲狠狠爱一区二区三区|