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

📄 os_mem.ls1

📁 UCOS在51上的移植,绝对经典!可以较少开发人员的工作量
💻 LS1
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  OS_MEM                                                               05/17/2005 11:19:55 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN OS_MEM.OBJ
ASSEMBLER INVOKED BY: D:\tools\Keil\C51\BIN\A51.EXE OS_MEM.src PR(.\OS_MEM.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\OS_MEM.SRC generated from: SOURCE\OS_MEM.C
                       2     ; COMPILER INVOKED BY:
                       3     ;        D:\tools\Keil\C51\BIN\C51.EXE SOURCE\OS_MEM.C LARGE OPTIMIZE(SIZE) REGFILE(.\OS_AT
                             89C55WD.ORC) BROWSE NOINTPROMOTE INCDIR(D:\MY\empolder\uCOS-II\MCS-51\AT89C55WD\Keil 7_5\) 
                             DEBUG OBJECTEXTEND NOPRINT SRC(.\OS_MEM.SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    OS_MEM
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00D6                13     AC      BIT     0D0H.6
  00B4                14     T0      BIT     0B0H.4
  0091                15     T2_EX   BIT     090H.1
  00B5                16     T1      BIT     0B0H.5
  00AF                17     EA      BIT     0A8H.7
  0090                18     T2      BIT     090H.0
  00A8                19     IE      DATA    0A8H
  0080                20     P0_0    BIT     080H.0
  0090                21     P1_0    BIT     090H.0
  0081                22     P0_1    BIT     080H.1
  00A0                23     P2_0    BIT     0A0H.0
  0091                24     P1_1    BIT     090H.1
  0082                25     P0_2    BIT     080H.2
  00A1                26     P2_1    BIT     0A0H.1
  0092                27     P1_2    BIT     090H.2
  0083                28     P0_3    BIT     080H.3
  00A2                29     P2_2    BIT     0A0H.2
  0093                30     P1_3    BIT     090H.3
  0084                31     P0_4    BIT     080H.4
  00A3                32     P2_3    BIT     0A0H.3
  0094                33     P1_4    BIT     090H.4
  0085                34     P0_5    BIT     080H.5
  00CE                35     EXF2    BIT     0C8H.6
  00B7                36     RD      BIT     0B0H.7
  00A4                37     P2_4    BIT     0A0H.4
  0095                38     P1_5    BIT     090H.5
  0086                39     P0_6    BIT     080H.6
  00A5                40     P2_5    BIT     0A0H.5
  0096                41     P1_6    BIT     090H.6
  0087                42     P0_7    BIT     080H.7
  00AC                43     ES      BIT     0A8H.4
  00A6                44     P2_6    BIT     0A0H.6
  0097                45     P1_7    BIT     090H.7
  00A7                46     P2_7    BIT     0A0H.7
  00B8                47     IP      DATA    0B8H
  0098                48     RI      BIT     098H.0
  00D7                49     CY      BIT     0D0H.7
  00B2                50     INT0    BIT     0B0H.2
  0099                51     TI      BIT     098H.1
  00B3                52     INT1    BIT     0B0H.3
  00CB                53     RCAP2H  DATA    0CBH
  00BC                54     PS      BIT     0B8H.4
  0081                55     SP      DATA    081H
  00D2                56     OV      BIT     0D0H.2
A51 MACRO ASSEMBLER  OS_MEM                                                               05/17/2005 11:19:55 PAGE     2

  00CA                57     RCAP2L  DATA    0CAH
  00C9                58     C_T2    BIT     0C8H.1
  00B6                59     WR      BIT     0B0H.6
  00CD                60     RCLK    BIT     0C8H.5
  00CC                61     TCLK    BIT     0C8H.4
  0087                62     PCON    DATA    087H
  0099                63     SBUF    DATA    099H
  0098                64     SCON    DATA    098H
  0089                65     TMOD    DATA    089H
  0088                66     TCON    DATA    088H
  0089                67     IE0     BIT     088H.1
  008B                68     IE1     BIT     088H.3
  00F0                69     B       DATA    0F0H
  00C8                70     CP_RL2  BIT     0C8H.0
  00E0                71     ACC     DATA    0E0H
  00A9                72     ET0     BIT     0A8H.1
  008D                73     TF0     BIT     088H.5
  00AB                74     ET1     BIT     0A8H.3
  008F                75     TF1     BIT     088H.7
  00AD                76     ET2     BIT     0A8H.5
  00CF                77     TF2     BIT     0C8H.7
  009A                78     RB8     BIT     098H.2
  008C                79     TH0     DATA    08CH
  0088                80     IT0     BIT     088H.0
  00A8                81     EX0     BIT     0A8H.0
  008D                82     TH1     DATA    08DH
  008A                83     IT1     BIT     088H.2
  00AA                84     EX1     BIT     0A8H.2
  009B                85     TB8     BIT     098H.3
  00CD                86     TH2     DATA    0CDH
  00D0                87     P       BIT     0D0H.0
  009F                88     SM0     BIT     098H.7
  008A                89     TL0     DATA    08AH
  009E                90     SM1     BIT     098H.6
  008B                91     TL1     DATA    08BH
  009D                92     SM2     BIT     098H.5
  00CC                93     TL2     DATA    0CCH
  00B9                94     PT0     BIT     0B8H.1
  00BB                95     PT1     BIT     0B8H.3
  00D3                96     RS0     BIT     0D0H.3
  008C                97     TR0     BIT     088H.4
  00BD                98     PT2     BIT     0B8H.5
  00D4                99     RS1     BIT     0D0H.4
  008E               100     TR1     BIT     088H.6
  00CA               101     TR2     BIT     0C8H.2
  00B8               102     PX0     BIT     0B8H.0
  00BA               103     PX1     BIT     0B8H.2
  0083               104     DPH     DATA    083H
  0082               105     DPL     DATA    082H
  00CB               106     EXEN2   BIT     0C8H.3
  009C               107     REN     BIT     098H.4
  00C9               108     T2MOD   DATA    0C9H
  00C8               109     T2CON   DATA    0C8H
  00A2               110     DPS     DATA    0A2H
  00B0               111     RXD     BIT     0B0H.0
  00B1               112     TXD     BIT     0B0H.1
  00D5               113     F0      BIT     0D0H.5
  00D1               114     F1      BIT     0D0H.1
  00D0               115     PSW     DATA    0D0H
                     116     ; /*
                     117     ; *****************************************************************************************
                             ****************
                     118     ; *                                                uC/OS-II
                     119     ; *                                          The Real-Time Kernel
                     120     ; *                                            MEMORY MANAGEMENT
                     121     ; *
A51 MACRO ASSEMBLER  OS_MEM                                                               05/17/2005 11:19:55 PAGE     3

                     122     ; *                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
                     123     ; *                                           All Rights Reserved
                     124     ; *
                     125     ; * File : OS_MEM.C
                     126     ; * By   : Jean J. Labrosse
                     127     ; *****************************************************************************************
                             ****************
                     128     ; */
                     129     ; 
                     130     ; #ifndef  OS_MASTER_FILE
                     131     ; #include "includes.h"
                     132     ; #endif
                     133     ; 
                     134     ; #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
                     135     ; /*
                     136     ; *****************************************************************************************
                             ****************
                     137     ; *                                        CREATE A MEMORY PARTITION
                     138     ; *
                     139     ; * Description : Create a fixed-sized memory partition that will be managed by uC/OS-II.
                     140     ; *
                     141     ; * Arguments   : addr     is the starting address of the memory partition
                     142     ; *
                     143     ; *               nblks    is the number of memory blocks to create from the partition.
                     144     ; *
                     145     ; *               blksize  is the size (in bytes) of each block in the memory partition.
                     146     ; *
                     147     ; *               err      is a pointer to a variable containing an error message which wil
                             l be set by
                     148     ; *                        this function to either:
                     149     ; *
                     150     ; *                        OS_NO_ERR            if the memory partition has been created co
                             rrectly.
                     151     ; *                        OS_MEM_INVALID_ADDR  you are specifying an invalid address for t
                             he memory 
                     152     ; *                                             storage of the partition.
                     153     ; *                        OS_MEM_INVALID_PART  no free partitions available
                     154     ; *                        OS_MEM_INVALID_BLKS  user specified an invalid number of blocks 
                             (must be >= 2)
                     155     ; *                        OS_MEM_INVALID_SIZE  user specified an invalid block size
                     156     ; *                                             (must be greater than the size of a pointer
                             )
                     157     ; * Returns    : != (OS_MEM *)0  is the partition was created
                     158     ; *              == (OS_MEM *)0  if the partition was not created because of invalid argume
                             nts or, no
                     159     ; *                              free partition is available.
                     160     ; *****************************************************************************************
                             ****************
                     161     ; */
                     162     ; 
                     163     ; OS_MEM  *OSMemCreate (void *addr, INT32U nblks, INT32U blksize, INT8U *err)LG_REENTRANT
                     164     ; {
                     165     ; #if OS_CRITICAL_METHOD == 3                           /* Allocate storage for CPU status 
                             register      */
                     166     ;     OS_CPU_SR  cpu_sr;
                     167     ; #endif    
                     168     ;     OS_MEM    *pmem;
                     169     ;     INT8U     *pblk;
                     170     ;     void     **plink;
                     171     ;     INT32U     i;
                     172     ; 
                     173     ; 
                     174     ; #if OS_ARG_CHK_EN > 0
                     175     ;     if (addr == (void *)0) {                          /* Must pass a valid address for th
                             e memory part. */
                     176     ;         *err = OS_MEM_INVALID_ADDR;
A51 MACRO ASSEMBLER  OS_MEM                                                               05/17/2005 11:19:55 PAGE     4

                     177     ;         return ((OS_MEM *)0);
                     178     ;     }
                     179     ;     if (nblks < 2) {                                  /* Must have at least 2 blocks per 
                             partition      */
                     180     ;         *err = OS_MEM_INVALID_BLKS;
                     181     ;         return ((OS_MEM *)0);
                     182     ;     }
                     183     ;     if (blksize < sizeof(void *)) {                   /* Must contain space for at least 
                             a pointer      */

⌨️ 快捷键说明

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