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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? os_mbox.lst

?? stm32+ucos-ii
?? LST
?? 第 1 頁 / 共 5 頁
字號:
   \                     ??OSMboxDel_11:
   \   000000AC   ....               ADR.N    R0,??DataTable3  ;; "\?"
   \   000000AE   C9F81400           STR      R0,[R9, #+20]
    227          #endif
    228                       pevent->OSEventType    = OS_EVENT_TYPE_UNUSED;
   \   000000B2   0020               MOVS     R0,#+0
   \   000000B4   89F80000           STRB     R0,[R9, #+0]
    229                       pevent->OSEventPtr     = OSEventFreeList;     /* Return Event Control Block to free list  */
   \   000000B8   ....               LDR.N    R0,??DataTable3_2
   \   000000BA   0068               LDR      R0,[R0, #+0]
   \   000000BC   C9F80400           STR      R0,[R9, #+4]
    230                       pevent->OSEventCnt     = 0u;
   \   000000C0   0020               MOVS     R0,#+0
   \   000000C2   A9F80800           STRH     R0,[R9, #+8]
    231                       OSEventFreeList        = pevent;              /* Get next free event control block        */
   \   000000C6   ....               LDR.N    R0,??DataTable3_2
   \   000000C8   C0F80090           STR      R9,[R0, #+0]
    232                       OS_EXIT_CRITICAL();
   \   000000CC   4046               MOV      R0,R8
   \   000000CE   ........           BL       OS_CPU_SR_Restore
    233                       if (tasks_waiting == OS_TRUE) {               /* Reschedule only if task(s) were waiting  */
   \   000000D2   F6B2               UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
   \   000000D4   012E               CMP      R6,#+1
   \   000000D6   01D1               BNE.N    ??OSMboxDel_12
    234                           OS_Sched();                               /* Find highest priority task ready to run  */
   \   000000D8   ........           BL       OS_Sched
    235                       }
    236                       *perr         = OS_ERR_NONE;
   \                     ??OSMboxDel_12:
   \   000000DC   0020               MOVS     R0,#+0
   \   000000DE   2870               STRB     R0,[R5, #+0]
    237                       pevent_return = (OS_EVENT *)0;                /* Mailbox has been deleted                 */
   \   000000E0   0020               MOVS     R0,#+0
   \   000000E2   0700               MOVS     R7,R0
    238                       break;
   \   000000E4   05E0               B.N      ??OSMboxDel_10
    239          
    240                  default:
    241                       OS_EXIT_CRITICAL();
   \                     ??OSMboxDel_7:
   \   000000E6   4046               MOV      R0,R8
   \   000000E8   ........           BL       OS_CPU_SR_Restore
    242                       *perr         = OS_ERR_INVALID_OPT;
   \   000000EC   0720               MOVS     R0,#+7
   \   000000EE   2870               STRB     R0,[R5, #+0]
    243                       pevent_return = pevent;
   \   000000F0   4F46               MOV      R7,R9
    244                       break;
    245              }
    246              return (pevent_return);
   \                     ??OSMboxDel_10:
   \   000000F2   3800               MOVS     R0,R7
   \                     ??OSMboxDel_1:
   \   000000F4   BDE8F283           POP      {R1,R4-R9,PC}    ;; return
    247          }
    248          #endif
    249          
    250          /*$PAGE*/
    251          /*
    252          *********************************************************************************************************
    253          *                                      PEND ON MAILBOX FOR A MESSAGE
    254          *
    255          * Description: This function waits for a message to be sent to a mailbox
    256          *
    257          * Arguments  : pevent        is a pointer to the event control block associated with the desired mailbox
    258          *
    259          *              timeout       is an optional timeout period (in clock ticks).  If non-zero, your task will
    260          *                            wait for a message to arrive at the mailbox up to the amount of time
    261          *                            specified by this argument.  If you specify 0, however, your task will wait
    262          *                            forever at the specified mailbox or, until a message arrives.
    263          *
    264          *              perr          is a pointer to where an error message will be deposited.  Possible error
    265          *                            messages are:
    266          *
    267          *                            OS_ERR_NONE         The call was successful and your task received a
    268          *                                                message.
    269          *                            OS_ERR_TIMEOUT      A message was not received within the specified 'timeout'.
    270          *                            OS_ERR_PEND_ABORT   The wait on the mailbox was aborted.
    271          *                            OS_ERR_EVENT_TYPE   Invalid event type
    272          *                            OS_ERR_PEND_ISR     If you called this function from an ISR and the result
    273          *                                                would lead to a suspension.
    274          *                            OS_ERR_PEVENT_NULL  If 'pevent' is a NULL pointer
    275          *                            OS_ERR_PEND_LOCKED  If you called this function when the scheduler is locked
    276          *
    277          * Returns    : != (void *)0  is a pointer to the message received
    278          *              == (void *)0  if no message was received or,
    279          *                            if 'pevent' is a NULL pointer or,
    280          *                            if you didn't pass the proper pointer to the event control block.
    281          *********************************************************************************************************
    282          */
    283          /*$PAGE*/

   \                                 In section .text, align 2, keep-with-next
    284          void  *OSMboxPend (OS_EVENT  *pevent,
    285                             INT32U     timeout,
    286                             INT8U     *perr)
    287          {
   \                     OSMboxPend:
   \   00000000   2DE9F041           PUSH     {R4-R8,LR}
   \   00000004   0400               MOVS     R4,R0
   \   00000006   0D00               MOVS     R5,R1
   \   00000008   1600               MOVS     R6,R2
    288              void      *pmsg;
    289          #if OS_CRITICAL_METHOD == 3u                          /* Allocate storage for CPU status register      */
    290              OS_CPU_SR  cpu_sr = 0u;
   \   0000000A   5FF00008           MOVS     R8,#+0
    291          #endif
    292          
    293          
    294          
    295          #ifdef OS_SAFETY_CRITICAL
    296              if (perr == (INT8U *)0) {
    297                  OS_SAFETY_CRITICAL_EXCEPTION();
    298                  return ((void *)0);
    299              }
    300          #endif
    301          
    302          #if OS_ARG_CHK_EN > 0u
    303              if (pevent == (OS_EVENT *)0) {                    /* Validate 'pevent'                             */
    304                  *perr = OS_ERR_PEVENT_NULL;
    305                  return ((void *)0);
    306              }
    307          #endif
    308              if (pevent->OSEventType != OS_EVENT_TYPE_MBOX) {  /* Validate event block type                     */
   \   0000000E   2078               LDRB     R0,[R4, #+0]
   \   00000010   0128               CMP      R0,#+1
   \   00000012   03D0               BEQ.N    ??OSMboxPend_0
    309                  *perr = OS_ERR_EVENT_TYPE;
   \   00000014   0120               MOVS     R0,#+1
   \   00000016   3070               STRB     R0,[R6, #+0]
    310                  return ((void *)0);
   \   00000018   0020               MOVS     R0,#+0
   \   0000001A   74E0               B.N      ??OSMboxPend_1
    311              }
    312              if (OSIntNesting > 0u) {                          /* See if called from ISR ...                    */
   \                     ??OSMboxPend_0:
   \   0000001C   ....               LDR.N    R0,??DataTable3_1
   \   0000001E   0078               LDRB     R0,[R0, #+0]
   \   00000020   0028               CMP      R0,#+0
   \   00000022   03D0               BEQ.N    ??OSMboxPend_2
    313                  *perr = OS_ERR_PEND_ISR;                      /* ... can't PEND from an ISR                    */
   \   00000024   0220               MOVS     R0,#+2
   \   00000026   3070               STRB     R0,[R6, #+0]
    314                  return ((void *)0);
   \   00000028   0020               MOVS     R0,#+0
   \   0000002A   6CE0               B.N      ??OSMboxPend_1
    315              }
    316              if (OSLockNesting > 0u) {                         /* See if called with scheduler locked ...       */
   \                     ??OSMboxPend_2:
   \   0000002C   ....               LDR.N    R0,??DataTable3_3
   \   0000002E   0078               LDRB     R0,[R0, #+0]
   \   00000030   0028               CMP      R0,#+0
   \   00000032   03D0               BEQ.N    ??OSMboxPend_3
    317                  *perr = OS_ERR_PEND_LOCKED;                   /* ... can't PEND when locked                    */
   \   00000034   0D20               MOVS     R0,#+13
   \   00000036   3070               STRB     R0,[R6, #+0]
    318                  return ((void *)0);
   \   00000038   0020               MOVS     R0,#+0
   \   0000003A   64E0               B.N      ??OSMboxPend_1
    319              }
    320              OS_ENTER_CRITICAL();
   \                     ??OSMboxPend_3:
   \   0000003C   ........           BL       OS_CPU_SR_Save
   \   00000040   8046               MOV      R8,R0
    321              pmsg = pevent->OSEventPtr;
   \   00000042   6068               LDR      R0,[R4, #+4]
   \   00000044   0700               MOVS     R7,R0
    322              if (pmsg != (void *)0) {                          /* See if there is already a message             */
   \   00000046   002F               CMP      R7,#+0
   \   00000048   08D0               BEQ.N    ??OSMboxPend_4
    323                  pevent->OSEventPtr = (void *)0;               /* Clear the mailbox                             */
   \   0000004A   0020               MOVS     R0,#+0
   \   0000004C   6060               STR      R0,[R4, #+4]
    324                  OS_EXIT_CRITICAL();
   \   0000004E   4046               MOV      R0,R8
   \   00000050   ........           BL       OS_CPU_SR_Restore
    325                  *perr = OS_ERR_NONE;
   \   00000054   0020               MOVS     R0,#+0
   \   00000056   3070               STRB     R0,[R6, #+0]
    326                  return (pmsg);                                /* Return the message received (or NULL)         */
   \   00000058   3800               MOVS     R0,R7
   \   0000005A   54E0               B.N      ??OSMboxPend_1
    327              }
    328              OSTCBCur->OSTCBStat     |= OS_STAT_MBOX;          /* Message not available, task will pend         */
   \                     ??OSMboxPend_4:
   \   0000005C   ....               LDR.N    R0,??DataTable3_4
   \   0000005E   0068               LDR      R0,[R0, #+0]
   \   00000060   90F83400           LDRB     R0,[R0, #+52]
   \   00000064   50F00200           ORRS     R0,R0,#0x2
   \   00000068   ....               LDR.N    R1,??DataTable3_4
   \   0000006A   0968               LDR      R1,[R1, #+0]
   \   0000006C   81F83400           STRB     R0,[R1, #+52]
    329              OSTCBCur->OSTCBStatPend  = OS_STAT_PEND_OK;
   \   00000070   ....               LDR.N    R0,??DataTable3_4
   \   00000072   0068               LDR      R0,[R0, #+0]
   \   00000074   0021               MOVS     R1,#+0
   \   00000076   80F83510           STRB     R1,[R0, #+53]
    330              OSTCBCur->OSTCBDly       = timeout;               /* Load timeout in TCB                           */
   \   0000007A   ....               LDR.N    R0,??DataTable3_4
   \   0000007C   0068               LDR      R0,[R0, #+0]
   \   0000007E   0563               STR      R5,[R0, #+48]
    331              OS_EventTaskWait(pevent);                         /* Suspend task until event or timeout occurs    */
   \   00000080   2000               MOVS     R0,R4
   \   00000082   ........           BL       OS_EventTaskWait
    332              OS_EXIT_CRITICAL();
   \   00000086   4046               MOV      R0,R8
   \   00000088   ........           BL       OS_CPU_SR_Restore
    333              OS_Sched();                                       /* Find next highest priority task ready to run  */
   \   0000008C   ........           BL       OS_Sched
    334              OS_ENTER_CRITICAL();
   \   00000090   ........           BL       OS_CPU_SR_Save

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产老肥熟一区二区三区| 天天av天天翘天天综合网 | 午夜精品一区二区三区免费视频 | 成人精品一区二区三区四区| 国产精品18久久久久久久久| 韩国中文字幕2020精品| 精品写真视频在线观看 | 久久久亚洲国产美女国产盗摄| 日韩精品一区二区三区四区视频 | 欧美老女人在线| 日韩三级精品电影久久久 | 国产成人午夜电影网| 成人亚洲一区二区一| 99视频热这里只有精品免费| 99精品视频一区| 欧美午夜影院一区| 精品国产青草久久久久福利| 国产日韩欧美麻豆| 亚洲色图在线播放| 日韩中文欧美在线| 高清不卡一二三区| 欧美在线观看一区二区| 日韩欧美中文字幕精品| 国产精品私房写真福利视频| 亚洲少妇屁股交4| 久久精品国产精品亚洲红杏| 成人app在线| 欧美丰满少妇xxxxx高潮对白| 欧美本精品男人aⅴ天堂| 欧美激情资源网| 午夜不卡av免费| 成人午夜碰碰视频| 欧美精品视频www在线观看 | 国产精品污www在线观看| 亚洲人成在线播放网站岛国| 天堂资源在线中文精品| 99在线视频精品| 精品欧美一区二区在线观看 | 日韩久久精品一区| 中文字幕亚洲在| 激情成人午夜视频| 欧美日韩一区高清| 一区精品在线播放| 国产精品1区2区3区| 欧美三区在线观看| 国产精品久久一卡二卡| 卡一卡二国产精品 | 国产一区二区精品久久| 欧美性三三影院| 国产欧美日韩综合| 久久精品免费看| 欧美日韩国产综合一区二区三区| 亚洲国产成人自拍| 国产一区二区三区综合| 91精品国产色综合久久久蜜香臀| 国产精品久久久久一区二区三区| 免费观看30秒视频久久| 欧美久久久久中文字幕| 亚洲黄色尤物视频| 99国内精品久久| 欧美国产国产综合| 国产成a人无v码亚洲福利| 欧美电影免费提供在线观看| 一区二区在线看| 97精品国产露脸对白| 国产午夜一区二区三区| 国产精品一区一区| 2023国产精品视频| 国内精品伊人久久久久av一坑| 欧美精品在线观看一区二区| 午夜久久久久久久久久一区二区| 在线精品观看国产| 午夜国产不卡在线观看视频| 欧美日韩一区二区电影| 亚洲大片精品永久免费| 欧美午夜一区二区三区| 午夜精品一区二区三区免费视频| 欧美日韩一区二区三区在线看| 亚洲一卡二卡三卡四卡无卡久久| 日本丶国产丶欧美色综合| 亚洲精品伦理在线| 欧美日本一区二区在线观看| 日韩精品久久理论片| 911精品国产一区二区在线| 麻豆久久一区二区| 中文字幕高清不卡| 一本久久综合亚洲鲁鲁五月天| 樱桃国产成人精品视频| 欧美日高清视频| 国产乱理伦片在线观看夜一区| 国产亚洲精品aa| 97久久精品人人做人人爽50路| 亚洲免费在线看| 欧美视频一区二区三区在线观看| 婷婷六月综合亚洲| 久久精品视频网| 91麻豆精品一区二区三区| 亚洲18女电影在线观看| 精品久久国产老人久久综合| 成人性生交大片免费看中文| 亚洲一区影音先锋| 精品日本一线二线三线不卡| 风流少妇一区二区| 天天综合色天天综合色h| 精品国产伦一区二区三区免费| 成人午夜电影久久影院| 亚洲第一电影网| 国产欧美一区二区三区在线老狼| 色婷婷亚洲精品| 国产精品一区一区| 午夜国产精品影院在线观看| 国产欧美日韩在线视频| 欧美乱妇23p| 丁香啪啪综合成人亚洲小说| 亚洲成人动漫在线免费观看| 国产丝袜欧美中文另类| 欧美日韩精品一区二区在线播放| 国产成人免费视频| 欧美96一区二区免费视频| 国产精品乱码久久久久久| 制服丝袜亚洲播放| 色呦呦网站一区| 国产91综合网| 久久国产福利国产秒拍| 亚洲综合色成人| 中文字幕亚洲区| 久久久国产综合精品女国产盗摄| 在线观看视频91| 97久久精品人人做人人爽| 国内精品第一页| 免费成人性网站| 五月天激情综合| 亚洲在线成人精品| 亚洲欧洲综合另类| 国产精品理伦片| 久久精品免视看| 精品国产一区二区三区忘忧草| 欧美日韩二区三区| 欧美久久久久久蜜桃| 欧美无乱码久久久免费午夜一区 | 日韩免费视频一区二区| 欧美日韩国产中文| 欧美色窝79yyyycom| 色嗨嗨av一区二区三区| 不卡的看片网站| www.亚洲色图| av在线不卡观看免费观看| 国产精品亚洲一区二区三区妖精| 久久成人免费电影| 久久爱另类一区二区小说| 男女性色大片免费观看一区二区| 偷窥国产亚洲免费视频| 日本中文字幕一区二区视频| 日本中文字幕一区| 精品中文字幕一区二区小辣椒| 免费日本视频一区| 精品在线你懂的| 国产一区二区三区四区五区美女 | 国产精品伦理一区二区| 1024成人网色www| 一区二区三区久久久| 亚洲国产精品一区二区久久| 亚洲伦在线观看| 亚洲成人先锋电影| 毛片av中文字幕一区二区| 精品一二三四区| 99精品久久只有精品| 欧美性猛交xxxxxx富婆| 欧美日韩免费一区二区三区| 91精品在线观看入口| 久久亚洲一区二区三区四区| 日本一区二区三区免费乱视频 | 欧美高清dvd| 久久久久久久综合色一本| 国产精品麻豆网站| 婷婷国产v国产偷v亚洲高清| 国产一区二区女| 色婷婷av一区二区三区之一色屋| 欧美色图第一页| 欧美成人精品二区三区99精品| 国产午夜一区二区三区| 亚洲一卡二卡三卡四卡五卡| 国内不卡的二区三区中文字幕| 成人小视频免费观看| 欧美视频自拍偷拍| 久久精品欧美日韩| 香蕉av福利精品导航| 国产精品羞羞答答xxdd| 欧美在线小视频| 国产亚洲欧美日韩日本| 丝袜国产日韩另类美女| 国产福利一区在线| 91精品国产综合久久久久久久久久 | 国产剧情一区二区三区| 欧美视频中文字幕| 中文字幕精品在线不卡| 青青草国产精品亚洲专区无| 91在线一区二区三区| 精品国产精品一区二区夜夜嗨| 一区二区三区在线视频观看58|