mac_mem.s51

来自「TI的基于ZIGBEE2006的协议栈」· S51 代码 · 共 686 行 · 第 1/3 页

S51
686
字号
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign -1
        CFI ReturnAddress ?RET CODE
        CFI CFA_DOVERLAY Used
        CFI CFA_IOVERLAY Used
        CFI CFA_SP SP+-3
        CFI CFA_PSP16 PSP16+0
        CFI CFA_XSP16 XSP16+0
        CFI `PSW.CY` SameValue
        CFI `B.BR0` SameValue
        CFI `B.BR1` SameValue
        CFI `B.BR2` SameValue
        CFI `B.BR3` SameValue
        CFI `B.BR4` SameValue
        CFI `B.BR5` SameValue
        CFI `B.BR6` SameValue
        CFI `B.BR7` SameValue
        CFI `VB.BR8` SameValue
        CFI `VB.BR9` SameValue
        CFI `VB.BR10` SameValue
        CFI `VB.BR11` SameValue
        CFI `VB.BR12` SameValue
        CFI `VB.BR13` SameValue
        CFI `VB.BR14` SameValue
        CFI `VB.BR15` SameValue
        CFI VB SameValue
        CFI B Undefined
        CFI A Undefined
        CFI PSW SameValue
        CFI DPL0 SameValue
        CFI DPH0 SameValue
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 Undefined
        CFI R5 Undefined
        CFI R6 SameValue
        CFI R7 SameValue
        CFI V0 SameValue
        CFI V1 SameValue
        CFI V2 SameValue
        CFI V3 SameValue
        CFI V4 SameValue
        CFI V5 SameValue
        CFI V6 SameValue
        CFI V7 SameValue
        CFI PSPH Undefined
        CFI PSPL Undefined
        CFI XSPH Undefined
        CFI XSPL Undefined
        CFI ?RET Concat
        CFI ?BRET_EXT Frame(CFA_SP, 3)
        CFI ?RET_HIGH Frame(CFA_SP, 2)
        CFI ?RET_LOW Frame(CFA_SP, 1)
        CFI EndCommon cfiCommon0
        
        EXTERN halAssertHandler
        FUNCTION halAssertHandler,0202H
        ARGFRAME XSTACK, 9, STACK

// C:\Texas Instruments\ZStack-1.4.2\Components\mac\low_level\srf03\single_chip\mac_mem.c
//    1 /**************************************************************************************************
//    2     Filename:
//    3     Revised:        $Date: 2006-11-16 13:51:15 -0800 (Thu, 16 Nov 2006) $
//    4     Revision:       $Revision: 12756 $
//    5 
//    6     Description:
//    7 
//    8     Describe the purpose and contents of the file.
//    9 
//   10     Copyright (c) 2006 by Texas Instruments, Inc.
//   11     All Rights Reserved.  Permission to use, reproduce, copy, prepare
//   12     derivative works, modify, distribute, perform, display or sell this
//   13     software and/or its documentation for any purpose is prohibited
//   14     without the express written consent of Texas Instruments, Inc.
//   15 **************************************************************************************************/
//   16 
//   17 
//   18 
//   19 /* ------------------------------------------------------------------------------------------------
//   20  *                                           Includes
//   21  * ------------------------------------------------------------------------------------------------
//   22  */
//   23 
//   24 /* hal */
//   25 #include "hal_types.h"
//   26 
//   27 /* low-level specific */
//   28 #include "mac_mem.h"
//   29 
//   30 /* target specific */
//   31 #include "hal_mcu.h"

        ASEGN SFR_AN:DATA:NOROOT,0d9H
// unsigned char volatile __sfr RFD
RFD:
        DS 1
//   32 
//   33 /* debug */
//   34 #include "mac_assert.h"
//   35 
//   36 
//   37 /**************************************************************************************************
//   38  * @fn          macMemReadRamByte
//   39  *
//   40  * @brief       Read a byte from RAM.
//   41  *
//   42  * @param       pRam - pointer to byte RAM byte to read
//   43  *
//   44  * @return      byte read from RAM
//   45  **************************************************************************************************
//   46  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   47 uint8 macMemReadRamByte(macRam_t * pRam)
macMemReadRamByte:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function macMemReadRamByte
//   48 {
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 5)
        CFI CFA_SP SP+-5
        ; Saved register size: 2
        ; Auto size: 0
//   49   return(*pRam);
        MOV	DPL,R2
        MOV	DPH,R3
        MOVX	A,@DPTR
        MOV	R1,A
        POP	DPH
        CFI DPH0 SameValue
        CFI CFA_SP SP+-4
        POP	DPL
        CFI DPL0 SameValue
        CFI CFA_SP SP+-3
        LJMP	?BRET
        CFI EndBlock cfiBlock0
//   50 }
//   51 
//   52 
//   53 /**************************************************************************************************
//   54  * @fn          macMemWriteRam
//   55  *
//   56  * @brief       Write multiple bytes to RAM.
//   57  *
//   58  * @param       pRam  - pointer to RAM to be written to
//   59  * @param       pData - pointer to data to write
//   60  * @param       len   - number of bytes to write
//   61  *
//   62  * @return      none
//   63  **************************************************************************************************
//   64  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   65 void macMemWriteRam(macRam_t * pRam, uint8 * pData, uint8 len)
macMemWriteRam:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI Function macMemWriteRam
//   66 {
        MOV	A,#-0x9
        LCALL	?BANKED_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 9)
        ; Saved register size: 9
        ; Auto size: 0
        SJMP	??macMemWriteRam_0
//   67   while (len)
//   68   {
//   69     len--;
??macMemWriteRam_1:
        DEC	R1
//   70     *pRam = *pData;
        MOV	DPL,R4
        MOV	DPH,R5
        MOVX	A,@DPTR
        MOV	DPL,R2
        MOV	DPH,R3
        MOVX	@DPTR,A
//   71     pRam++;
        INC	DPTR
        MOV	R2,DPL
        MOV	R3,DPH
//   72     pData++;
        MOV	DPL,R4
        MOV	DPH,R5
        INC	DPTR
        MOV	R4,DPL
        MOV	R5,DPH
//   73   }
??macMemWriteRam_0:
        MOV	A,R1
        JNZ	??macMemWriteRam_1
//   74 }
        SJMP	?Subroutine0
        CFI EndBlock cfiBlock1
//   75 
//   76 
//   77 /**************************************************************************************************
//   78  * @fn          macMemReadRam
//   79  *
//   80  * @brief       Read multiple bytes from RAM.
//   81  *
//   82  * @param       pRam  - pointer to RAM to be read from
//   83  * @param       pData - pointer to location to store read data
//   84  * @param       len   - number of bytes to read
//   85  *
//   86  * @return      none
//   87  **************************************************************************************************
//   88  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   89 void macMemReadRam(macRam_t * pRam, uint8 * pData, uint8 len)
macMemReadRam:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI Function macMemReadRam

⌨️ 快捷键说明

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