⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_mutex.ls1

📁 UCOS在51上的移植,绝对经典!可以较少开发人员的工作量
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     602     ;         return (OS_ERR_QUERY_ISR);                         /* ... can't QUERY mutex from 
                             an ISR        */
                     603     ;     }
                     604     ; #if OS_ARG_CHK_EN > 0
                     605     ;     if (pevent == (OS_EVENT *)0) {                         /* Validate 'pevent'          
                                           */
                     606     ;         return (OS_ERR_PEVENT_NULL);
                     607     ;     }
                     608     ;     if (pevent->OSEventType != OS_EVENT_TYPE_MUTEX) {      /* Validate event block type  
                                           */
                     609     ;         return (OS_ERR_EVENT_TYPE);
                     610     ;     }
                     611     ; #endif
                     612     ;     OS_ENTER_CRITICAL();
                     613     ;     os_pdata->OSMutexPIP  = (INT8U)(pevent->OSEventCnt >> 8);
                     614     ;     os_pdata->OSOwnerPrio = (INT8U)(pevent->OSEventCnt & OS_MUTEX_KEEP_LOWER_8);
                     615     ;     if (os_pdata->OSOwnerPrio == 0xFF) {
                     616     ;         os_pdata->OSValue = 1;
                     617     ;     } else {
                     618     ;         os_pdata->OSValue = 0;
                     619     ;     }
                     620     ;     os_pdata->OSEventGrp  = pevent->OSEventGrp;               /* Copy wait list          
                                              */
A51 MACRO ASSEMBLER  OS_MUTEX                                                             05/17/2005 11:19:51 PAGE    13

                     621     ;     psrc               = &pevent->OSEventTbl[0];
                     622     ;     pdest              = &os_pdata->OSEventTbl[0];
                     623     ; #if OS_EVENT_TBL_SIZE > 0
                     624     ;     *pdest++           = *psrc++;
                     625     ; #endif
                     626     ; 
                     627     ; #if OS_EVENT_TBL_SIZE > 1
                     628     ;     *pdest++           = *psrc++;
                     629     ; #endif
                     630     ; 
                     631     ; #if OS_EVENT_TBL_SIZE > 2
                     632     ;     *pdest++           = *psrc++;
                     633     ; #endif
                     634     ; 
                     635     ; #if OS_EVENT_TBL_SIZE > 3
                     636     ;     *pdest++           = *psrc++;
                     637     ; #endif
                     638     ; 
                     639     ; #if OS_EVENT_TBL_SIZE > 4
                     640     ;     *pdest++           = *psrc++;
                     641     ; #endif
                     642     ; 
                     643     ; #if OS_EVENT_TBL_SIZE > 5
                     644     ;     *pdest++           = *psrc++;
                     645     ; #endif
                     646     ; 
                     647     ; #if OS_EVENT_TBL_SIZE > 6
                     648     ;     *pdest++           = *psrc++;
                     649     ; #endif
                     650     ; 
                     651     ; #if OS_EVENT_TBL_SIZE > 7
                     652     ;     *pdest             = *psrc;
                     653     ; #endif
                     654     ;     OS_EXIT_CRITICAL();
                     655     ;     return (OS_NO_ERR);
                     656     ; }
                     657     ; #endif                                                     /* OS_MUTEX_QUERY_EN          
                                           */
                     658     ; #endif                                                     /* OS_MUTEX_EN                
                                           */
                     659     ; *** sync lost ***
                     660     ; *** sync lost ***
                     661     ; *** sync lost ***
                     662             END
A51 MACRO ASSEMBLER  OS_MUTEX                                                             05/17/2005 11:19:51 PAGE    14

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

AC . . . . . . . .  B ADDR   00D0H.6 A   
ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CP_RL2 . . . . . .  B ADDR   00C8H.0 A   
CY . . . . . . . .  B ADDR   00D0H.7 A   
C_T2 . . . . . . .  B ADDR   00C8H.1 A   
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   A   
DPS. . . . . . . .  D ADDR   00A2H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
ET1. . . . . . . .  B ADDR   00A8H.3 A   
ET2. . . . . . . .  B ADDR   00A8H.5 A   
EX0. . . . . . . .  B ADDR   00A8H.0 A   
EX1. . . . . . . .  B ADDR   00A8H.2 A   
EXEN2. . . . . . .  B ADDR   00C8H.3 A   
EXF2 . . . . . . .  B ADDR   00C8H.6 A   
F0 . . . . . . . .  B ADDR   00D0H.5 A   
F1 . . . . . . . .  B ADDR   00D0H.1 A   
IE . . . . . . . .  D ADDR   00A8H   A   
IE0. . . . . . . .  B ADDR   0088H.1 A   
IE1. . . . . . . .  B ADDR   0088H.3 A   
INT0 . . . . . . .  B ADDR   00B0H.2 A   
INT1 . . . . . . .  B ADDR   00B0H.3 A   
IP . . . . . . . .  D ADDR   00B8H   A   
IT0. . . . . . . .  B ADDR   0088H.0 A   
IT1. . . . . . . .  B ADDR   0088H.2 A   
OS_MUTEX . . . . .  N NUMB   -----       
OV . . . . . . . .  B ADDR   00D0H.2 A   
P. . . . . . . . .  B ADDR   00D0H.0 A   
P0 . . . . . . . .  D ADDR   0080H   A   
P0_0 . . . . . . .  B ADDR   0080H.0 A   
P0_1 . . . . . . .  B ADDR   0080H.1 A   
P0_2 . . . . . . .  B ADDR   0080H.2 A   
P0_3 . . . . . . .  B ADDR   0080H.3 A   
P0_4 . . . . . . .  B ADDR   0080H.4 A   
P0_5 . . . . . . .  B ADDR   0080H.5 A   
P0_6 . . . . . . .  B ADDR   0080H.6 A   
P0_7 . . . . . . .  B ADDR   0080H.7 A   
P1 . . . . . . . .  D ADDR   0090H   A   
P1_0 . . . . . . .  B ADDR   0090H.0 A   
P1_1 . . . . . . .  B ADDR   0090H.1 A   
P1_2 . . . . . . .  B ADDR   0090H.2 A   
P1_3 . . . . . . .  B ADDR   0090H.3 A   
P1_4 . . . . . . .  B ADDR   0090H.4 A   
P1_5 . . . . . . .  B ADDR   0090H.5 A   
P1_6 . . . . . . .  B ADDR   0090H.6 A   
P1_7 . . . . . . .  B ADDR   0090H.7 A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P2_0 . . . . . . .  B ADDR   00A0H.0 A   
P2_1 . . . . . . .  B ADDR   00A0H.1 A   
P2_2 . . . . . . .  B ADDR   00A0H.2 A   
P2_3 . . . . . . .  B ADDR   00A0H.3 A   
P2_4 . . . . . . .  B ADDR   00A0H.4 A   
P2_5 . . . . . . .  B ADDR   00A0H.5 A   
P2_6 . . . . . . .  B ADDR   00A0H.6 A   
P2_7 . . . . . . .  B ADDR   00A0H.7 A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
A51 MACRO ASSEMBLER  OS_MUTEX                                                             05/17/2005 11:19:51 PAGE    15

PS . . . . . . . .  B ADDR   00B8H.4 A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT0. . . . . . . .  B ADDR   00B8H.1 A   
PT1. . . . . . . .  B ADDR   00B8H.3 A   
PT2. . . . . . . .  B ADDR   00B8H.5 A   
PX0. . . . . . . .  B ADDR   00B8H.0 A   
PX1. . . . . . . .  B ADDR   00B8H.2 A   
RB8. . . . . . . .  B ADDR   0098H.2 A   
RCAP2H . . . . . .  D ADDR   00CBH   A   
RCAP2L . . . . . .  D ADDR   00CAH   A   
RCLK . . . . . . .  B ADDR   00C8H.5 A   
RD . . . . . . . .  B ADDR   00B0H.7 A   
REN. . . . . . . .  B ADDR   0098H.4 A   
RI . . . . . . . .  B ADDR   0098H.0 A   
RS0. . . . . . . .  B ADDR   00D0H.3 A   
RS1. . . . . . . .  B ADDR   00D0H.4 A   
RXD. . . . . . . .  B ADDR   00B0H.0 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SM0. . . . . . . .  B ADDR   0098H.7 A   
SM1. . . . . . . .  B ADDR   0098H.6 A   
SM2. . . . . . . .  B ADDR   0098H.5 A   
SP . . . . . . . .  D ADDR   0081H   A   
T0 . . . . . . . .  B ADDR   00B0H.4 A   
T1 . . . . . . . .  B ADDR   00B0H.5 A   
T2 . . . . . . . .  B ADDR   0090H.0 A   
T2CON. . . . . . .  D ADDR   00C8H   A   
T2MOD. . . . . . .  D ADDR   00C9H   A   
T2_EX. . . . . . .  B ADDR   0090H.1 A   
TB8. . . . . . . .  B ADDR   0098H.3 A   
TCLK . . . . . . .  B ADDR   00C8H.4 A   
TCON . . . . . . .  D ADDR   0088H   A   
TF0. . . . . . . .  B ADDR   0088H.5 A   
TF1. . . . . . . .  B ADDR   0088H.7 A   
TF2. . . . . . . .  B ADDR   00C8H.7 A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TH2. . . . . . . .  D ADDR   00CDH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TL2. . . . . . . .  D ADDR   00CCH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
TR2. . . . . . . .  B ADDR   00C8H.2 A   
TXD. . . . . . . .  B ADDR   00B0H.1 A   
WR . . . . . . . .  B ADDR   00B0H.6 A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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