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 + -
显示快捷键?