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

📄 os_mem.ls1

📁 uCOS-II_2.52在51上的移植程序
💻 LS1
📖 第 1 页 / 共 3 页
字号:
                     286     ;     if (ppdata == (OS_MEM_DATA *)0) {             /* Must release a valid storage area fo
                             r the data     */
                     287     ;         return (OS_MEM_INVALID_PDATA);
                     288     ;     }
                     289     ; #endif
                     290     ;     OS_ENTER_CRITICAL();
                     291     ;     ppdata->OSAddr     = pmem->OSMemAddr;
                     292     ;     ppdata->OSFreeList = pmem->OSMemFreeList;
                     293     ;     ppdata->OSBlkSize  = pmem->OSMemBlkSize;
                     294     ;     ppdata->OSNBlks    = pmem->OSMemNBlks;
                     295     ;     ppdata->OSNFree    = pmem->OSMemNFree;
                     296     ;     OS_EXIT_CRITICAL();
                     297     ;     ppdata->OSNUsed    = ppdata->OSNBlks - ppdata->OSNFree;
                     298     ;     return (OS_NO_ERR);
                     299     ; }
                     300     ; #endif                                           /* OS_MEM_QUERY_EN                      
                                           */
                     301     ; /*$PAGE*/
                     302     ; /*
                     303     ; *****************************************************************************************
                             ****************
                     304     ; *                                    INITIALIZE MEMORY PARTITION MANAGER
                     305     ; *
                     306     ; * Description : This function is called by uC/OS-II to initialize the memory partition ma
                             nager.  Your
                     307     ; *               application MUST NOT call this function.
                     308     ; *
                     309     ; * Arguments   : none
                     310     ; *
                     311     ; * Returns     : none
                     312     ; *
                     313     ; * Note(s)    : This function is INTERNAL to uC/OS-II and your application should not call
                              it.
                     314     ; *****************************************************************************************
                             ****************
                     315     ; */
                     316     ; 
                     317     ; void  OS_MemInit (void)
                     318     ; {
                     319     ; #if OS_MAX_MEM_PART == 1
                     320     ;     OSMemFreeList                = (OS_MEM *)&OSMemTbl[0]; /* Point to beginning of free 
                             list          */
                     321     ;     OSMemFreeList->OSMemFreeList = (void *)0;              /* Initialize last node       
                                           */
                     322     ;     OSMemFreeList->OSMemAddr     = (void *)0;              /* Store start address of memo
                             ry partition  */
                     323     ;     OSMemFreeList->OSMemNFree    = 0;                      /* No free blocks             
                                           */
                     324     ;     OSMemFreeList->OSMemNBlks    = 0;                      /* No blocks                  
A51 MACRO ASSEMBLER  OS_MEM                                                               08/08/2005 11:36:46 PAGE     7

                                           */
                     325     ;     OSMemFreeList->OSMemBlkSize  = 0;                      /* Zero size                  
                                           */
                     326     ; #endif
                     327     ; 
                     328     ; #if OS_MAX_MEM_PART >= 2
                     329     ;     OS_MEM  *pmem;
                     330     ;     INT16U   i;
                     331     ; 
                     332     ; 
                     333     ;     pmem = (OS_MEM *)&OSMemTbl[0];                    /* Point to memory control block (M
                             CB)           */
                     334     ;     for (i = 0; i < (OS_MAX_MEM_PART - 1); i++) {     /* Init. list of free memory partit
                             ions          */
                     335     ;         pmem->OSMemFreeList = (void *)&OSMemTbl[i+1]; /* Chain list of free partitions   
                                           */
                     336     ;         pmem->OSMemAddr     = (void *)0;              /* Store start address of memory pa
                             rtition       */
                     337     ;         pmem->OSMemNFree    = 0;                      /* No free blocks                  
                                           */
                     338     ;         pmem->OSMemNBlks    = 0;                      /* No blocks                       
                                           */
                     339     ;         pmem->OSMemBlkSize  = 0;                      /* Zero size                       
                                           */
                     340     ;         pmem++;
                     341     ;     }
                     342     ;     pmem->OSMemFreeList = (void *)0;                  /* Initialize last node            
                                           */
                     343     ;     pmem->OSMemAddr     = (void *)0;                  /* Store start address of memory pa
                             rtition       */
                     344     ;     pmem->OSMemNFree    = 0;                          /* No free blocks                  
                                           */
                     345     ;     pmem->OSMemNBlks    = 0;                          /* No blocks                       
                                           */
                     346     ;     pmem->OSMemBlkSize  = 0;                          /* Zero size                       
                                           */
                     347     ; 
                     348     ;     OSMemFreeList       = (OS_MEM *)&OSMemTbl[0];     /* Point to beginning of free list 
                                           */
                     349     ; #endif
                     350     ; }
                     351     ; #endif                                           /* OS_MEM_EN                            
                                           */
                     352     ; *** sync lost ***
                     353     ; *** sync lost ***
                     354     ; *** sync lost ***
                     355             END
A51 MACRO ASSEMBLER  OS_MEM                                                               08/08/2005 11:36:46 PAGE     8

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   
CY . . . . . . . .  B ADDR   00D0H.7 A   
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   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   
EX0. . . . . . . .  B ADDR   00A8H.0 A   
EX1. . . . . . . .  B ADDR   00A8H.2 A   
F0 . . . . . . . .  B ADDR   00D0H.5 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_MEM . . . . . .  N NUMB   -----       
OV . . . . . . . .  B ADDR   00D0H.2 A   
P. . . . . . . . .  B ADDR   00D0H.0 A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
PS . . . . . . . .  B ADDR   00B8H.4 A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT0. . . . . . . .  B ADDR   00B8H.1 A   
PT1. . . . . . . .  B ADDR   00B8H.3 A   
PX0. . . . . . . .  B ADDR   00B8H.0 A   
PX1. . . . . . . .  B ADDR   00B8H.2 A   
RB8. . . . . . . .  B ADDR   0098H.2 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   
TB8. . . . . . . .  B ADDR   0098H.3 A   
TCON . . . . . . .  D ADDR   0088H   A   
TF0. . . . . . . .  B ADDR   0088H.5 A   
TF1. . . . . . . .  B ADDR   0088H.7 A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
A51 MACRO ASSEMBLER  OS_MEM                                                               08/08/2005 11:36:46 PAGE     9

TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 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 + -