📄 zdprofile.s51
字号:
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 SameValue
CFI A SameValue
CFI PSW SameValue
CFI DPL0 SameValue
CFI DPH0 SameValue
CFI R0 SameValue
CFI R1 SameValue
CFI R2 SameValue
CFI R3 SameValue
CFI R4 SameValue
CFI R5 SameValue
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 SameValue
CFI ?RET_HIGH Frame(CFA_SP, 2)
CFI ?RET_LOW Frame(CFA_SP, 1)
CFI EndCommon cfiCommon1
EXTERN AF_DataRequest
FUNCTION AF_DataRequest,0202H
ARGFRAME XSTACK, 28, STACK
EXTERN NLME_GetProtocolVersion
FUNCTION NLME_GetProtocolVersion,0202H
ARGFRAME XSTACK, 22, STACK
EXTERN osal_ExtAddrEqual
FUNCTION osal_ExtAddrEqual,0202H
ARGFRAME XSTACK, 17, STACK
EXTERN osal_cpyExtAddr
FUNCTION osal_cpyExtAddr,0202H
ARGFRAME XSTACK, 19, STACK
EXTERN osal_memcpy
FUNCTION osal_memcpy,0202H
ARGFRAME XSTACK, 20, STACK
EXTERN NLME_GetExtAddr
FUNCTION NLME_GetExtAddr,0202H
ARGFRAME XSTACK, 19, STACK
EXTERN ZDO_ProcessEPListRsp
FUNCTION ZDO_ProcessEPListRsp,0202H
ARGFRAME XSTACK, 24, STACK
EXTERN ZDO_ProcessBindUnbindRsp
FUNCTION ZDO_ProcessBindUnbindRsp,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDO_ProcessNodeDescReq
FUNCTION ZDO_ProcessNodeDescReq,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDO_ProcessPowerDescReq
FUNCTION ZDO_ProcessPowerDescReq,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDO_ProcessSimpleDescReq
FUNCTION ZDO_ProcessSimpleDescReq,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDO_ProcessActiveEPReq
FUNCTION ZDO_ProcessActiveEPReq,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDO_ProcessMatchDescReq
FUNCTION ZDO_ProcessMatchDescReq,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDApp_InMsgCB
FUNCTION ZDApp_InMsgCB,0202H
ARGFRAME XSTACK, 27, STACK
EXTERN ZDAppNwkAddr
EXTERN ZDApp_epDesc
EXTERN saveExtAddr
// C:\Texas Instruments\ZStack-1.4.2-1.1.0\Components\stack\zdo\ZDProfile.c
// 1 /*********************************************************************
// 2 Filename: ZDProfile.c
// 3 Revised: $Date: 2007-05-14 17:34:18 -0700 (Mon, 14 May 2007) $
// 4 Revision: $Revision: 14296 $
// 5
// 6 Description:
// 7
// 8 This Zigbee Device Profile.
// 9
// 10 Notes:
// 11
// 12 Copyright (c) 2006 by Texas Instruments, Inc.
// 13 All Rights Reserved. Permission to use, reproduce, copy, prepare
// 14 derivative works, modify, distribute, perform, display or sell this
// 15 software and/or its documentation for any purpose is prohibited
// 16 without the express written consent of Texas Instruments, Inc.
// 17 *********************************************************************/
// 18
// 19 /*********************************************************************
// 20 * INCLUDES
// 21 */
// 22 #include "ZComdef.h"
// 23 #include "OSAL.h"
// 24 #include "AF.h"
// 25 #include "NLMEDE.h"
// 26 #include "nwk_util.h"
// 27 #include "APS.h"
// 28
// 29 #include "ZDCache.h"
// 30 #include "ZDConfig.h"
// 31 #include "ZDProfile.h"
// 32 #include "ZDObject.h"
// 33
// 34 #if defined( LCD_SUPPORTED )
// 35 #include "OnBoard.h"
// 36 #endif
// 37
// 38 #include "nwk_util.h"
// 39
// 40 /*********************************************************************
// 41 * MACROS
// 42 */
// 43
// 44 #define ZADDR_TO_AFADDR( pZADDR, AFADDR ) { \
// 45 (AFADDR).endPoint = ZDP_AF_ENDPOINT; \
// 46 (AFADDR).addrMode = (afAddrMode_t)(pZADDR)->addrMode; \
// 47 (AFADDR).addr.shortAddr = (pZADDR)->addr.shortAddr; \
// 48 }
// 49
// 50 #define FillAndSendBuffer( TRANSSEQ, ADDR, ID, LEN, BUF ) { \
// 51 afStatus_t stat; \
// 52 ZDP_TmpBuf = (BUF)+1; \
// 53 stat = fillAndSend( (TRANSSEQ), (ADDR), (ID), (LEN) ); \
// 54 ZDP_TmpBuf = ZDP_Buf+1; \
// 55 return stat; \
// 56 }
// 57
// 58 #define FillAndSendTxOptions( TRANSSEQ, ADDR, ID, LEN, TxO ) { \
// 59 afStatus_t stat; \
// 60 ZDP_TxOptions = (TxO); \
// 61 stat = fillAndSend( (TRANSSEQ), (ADDR), (ID), (LEN) ); \
// 62 ZDP_TxOptions = AF_TX_OPTIONS_NONE; \
// 63 return stat; \
// 64 }
// 65
// 66 /*********************************************************************
// 67 * CONSTANTS
// 68 */
// 69
// 70 #define ZDP_BUF_SZ 80
// 71
RSEG CODE_C:CODE:REORDER:NOROOT(0)
// 72 CONST byte ZDP_AF_ENDPOINT = 0;
ZDP_AF_ENDPOINT:
DB 0
// 73
// 74 /*********************************************************************
// 75 * TYPEDEFS
// 76 */
// 77
// 78 /*********************************************************************
// 79 * GLOBAL VARIABLES
// 80 */
// 81
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 82 byte ZDP_TransID = 0;
ZDP_TransID:
DS 1
// 83
// 84 /*********************************************************************
// 85 * EXTERNAL VARIABLES
// 86 */
// 87
// 88 extern endPointDesc_t ZDApp_epDesc;
// 89
// 90 /*********************************************************************
// 91 * EXTERNAL FUNCTIONS
// 92 */
// 93
// 94 /*********************************************************************
// 95 * LOCAL FUNCTIONS
// 96 */
// 97
// 98 static afStatus_t fillAndSend( uint8 *transSeq, zAddrType_t *addr, cId_t clusterID, byte len );
// 99
// 100 /*********************************************************************
// 101 * LOCAL VARIABLES
// 102 */
// 103
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 104 static byte ZDP_Buf[ ZDP_BUF_SZ ];
??ZDP_Buf:
DS 80
RSEG XDATA_I:XDATA:NOROOT(0)
// 105 static byte *ZDP_TmpBuf = ZDP_Buf+1;
??ZDP_TmpBuf:
DS 2
REQUIRE `?<Initializer for ZDP_TmpBuf>`
REQUIRE __INIT_XDATA_I
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 106 static byte ZDP_TxOptions = AF_TX_OPTIONS_NONE;
??ZDP_TxOptions:
DS 1
// 107
// 108 /*********************************************************************
// 109 * @fn fillAndSend
// 110 *
// 111 * @brief Combined to reduce space
// 112 *
// 113 * @param
// 114 * @param
// 115 *
// 116 * @return afStatus_t
// 117 */
RSEG BANKED_CODE:CODE:NOROOT(0)
// 118 static afStatus_t fillAndSend( uint8 *transSeq, zAddrType_t *addr, cId_t clusterID, byte len )
??fillAndSend:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function ??fillAndSend
// 119 {
FUNCALL ??fillAndSend, AF_DataRequest
LOCFRAME XSTACK, 28, STACK
ARGFRAME XSTACK, 28, STACK
MOV A,#-0xf
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 V6 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 15)
; Saved register size: 15
; Auto size: 4
MOV A,#-0x4
LCALL ?ALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 19)
MOV ?V0 + 0,R2
MOV ?V0 + 1,R3
MOV A,#0x13
LCALL ?XSTACK_DISP0_8
LCALL ?Subroutine30 & 0xFFFF
// 120 #if ( AF_V1_SUPPORT )
// 121
// 122 byte proVer = NLME_GetProtocolVersion();
// 123 #endif
// 124 afAddrType_t afAddr;
// 125
// 126 ZADDR_TO_AFADDR( addr, afAddr );
??CrossCallReturnLabel_63:
MOV A,#0x3
LCALL ?XSTACK_DISP0_8
CLR A
MOVX @DPTR,A
MOV DPL,R4
MOV DPH,R5
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x2
LCALL ?XSTACK_DISP0_8
POP A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -