📄 os_mem.ls1
字号:
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 + -