📄 saddr.s51
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// IAR 8051 C/C++ Compiler V7.20H/W32 08/Mar/2009 09:13:22 /
// Copyright 2004-2006 IAR Systems. All rights reserved. /
// /
// Core = plain /
// Code model = banked /
// Data model = large /
// Calling convention = xdata reentrant /
// Constant location = data /
// Dptr setup = 1,16 /
// Source file = C:\Texas Instruments\ZStack-1.4.2-1.1.0\Componen /
// ts\services\saddr\saddr.c /
// Command line = -f "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Proj /
// ects\zstack\Samples\GenericApp\CC2430DB\..\..\.. /
// \Tools\CC2430DB\f8wCoord.cfg" (-DCPU32MHZ /
// -DFORCE_MAC_NEAR -DROOT=__near_func /
// -DMAC_CFG_APP_PENDING_QUEUE=TRUE /
// -DZDO_COORDINATOR -DRTR_NWK -DBLINK_LEDS /
// "-DCONST=const __code" -DGENERIC=__generic) -f /
// "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Project /
// s\zstack\Samples\GenericApp\CC2430DB\..\..\..\To /
// ols\CC2430DB\f8wConfig.cfg" (-DSECURE=0 /
// -DDEFAULT_CHANLIST=0x00000800 /
// -DZDAPP_CONFIG_PAN_ID=0xFFFF /
// -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_ /
// MASK=0x007F -DBEACON_REQUEST_DELAY=100 /
// -DBEACON_REQ_DELAY_MASK=0x00FF /
// -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_ /
// POLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7 /
// -DMAX_RREQ_ENTRIES=10 -DAPSC_MAX_FRAME_RETRIES=3 /
// -DNWK_MAX_DATA_RETRIES=2 /
// -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9 /
// -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=20 /
// -DNWK_MAX_BINDING_ENTRIES=10 /
// -DMAX_BINDING_CLUSTER_IDS=5 /
// "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07, 0x09, /
// 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, /
// 0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE /
// -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 /
// -DRESPONSE_POLL_RATE=100 -DREJOIN_POLL_RATE=440 /
// -DTOP_BOOT_PAGES=0) -I "C:\Program Files\IAR /
// Systems\Embedded Workbench 4.05 Evaluation /
// version\8051\inc\" -I "C:\Program Files\IAR /
// Systems\Embedded Workbench 4.05 Evaluation /
// version\8051\inc\clib\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\Source\" -I /
// "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Project /
// s\zstack\Samples\GenericApp\CC2430DB\..\..\..\ZM /
// ain\TI2430DB\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\mt\" -I "C:\Texas Instruments\ZStack-1.4.2- /
// 1.1.0\Projects\zstack\Samples\GenericApp\CC2430D /
// B\..\..\..\..\..\Components\hal\include\" -I /
// "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Project /
// s\zstack\Samples\GenericApp\CC2430DB\..\..\..\.. /
// \..\Components\hal\target\CC2430DB\" -I /
// "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Project /
// s\zstack\Samples\GenericApp\CC2430DB\..\..\..\.. /
// \..\Components\osal\mcu\ccsoc\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\osal\include\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\stack\af\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\stack\nwk\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\stack\sec\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\stack\sys\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\stack\zdo\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\zmac\f8w\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\zmac\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\services\saddr\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\services\sdata\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\mac\include\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\mac\high_level\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\mac\low_level\srf03\" -I "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\..\..\..\..\..\Compon /
// ents\mac\low_level\srf03\single_chip\" -D /
// CC2430DB -D COORDINATOR_BINDING -D xZTOOL_P2 -D /
// xMT_TASK -D xMT_ZDO_FUNC -D /
// xLCD_SUPPORTED=DEBUG -lC "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\CoordinatorDB\List\" /
// -lA "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Pro /
// jects\zstack\Samples\GenericApp\CC2430DB\Coordin /
// atorDB\List\" --diag_suppress Pe001,Pa010 /
// --diag_remark pe550 -o "C:\Texas /
// Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\S /
// amples\GenericApp\CC2430DB\CoordinatorDB\Obj\" /
// -e --require_prototypes -z9 --no_code_motion /
// --debug --core=plain --dptr=16,1 /
// --data_model=large --code_model=banked /
// --calling_convention=xdata_reentrant /
// --place_constants=data --nr_virtual_regs 8 /
// "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Compone /
// nts\services\saddr\saddr.c" /
// List file = C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects /
// \zstack\Samples\GenericApp\CC2430DB\CoordinatorD /
// B\List\saddr.s51 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME saddr
RTMODEL "__calling_convention", "xdata_reentrant"
RTMODEL "__code_model", "banked"
RTMODEL "__core", "plain"
RTMODEL "__data_model", "large"
RTMODEL "__dptr_size", "16"
RTMODEL "__extended_stack", "disabled"
RTMODEL "__location_for_constants", "data"
RTMODEL "__number_of_dptrs", "1"
RTMODEL "__rt_version", "1"
RSEG DOVERLAY:DATA:NOROOT(0)
RSEG IOVERLAY:IDATA:NOROOT(0)
RSEG ISTACK:IDATA:NOROOT(0)
RSEG PSTACK:XDATA:NOROOT(0)
RSEG XSTACK:XDATA:NOROOT(0)
EXTERN ?BANKED_ENTER_XDATA
EXTERN ?BANKED_LEAVE_XDATA
EXTERN ?BCALL
EXTERN ?DEALLOC_XSTACK8
EXTERN ?PUSH_XSTACK_I_THREE
EXTERN ?V0
PUBLIC sAddrCmp
FUNCTION sAddrCmp,021203H
LOCFRAME XSTACK, 9, STACK
PUBLIC sAddrCpy
FUNCTION sAddrCpy,021203H
LOCFRAME ISTACK, 1, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC sAddrExtCmp
FUNCTION sAddrExtCmp,0203H
ARGFRAME XSTACK, 9, STACK
LOCFRAME XSTACK, 10, STACK
PUBLIC sAddrExtCpy
FUNCTION sAddrExtCpy,021203H
ARGFRAME XSTACK, 9, STACK
LOCFRAME XSTACK, 14, STACK
CFI Names cfiNames0
CFI StackFrame CFA_SP SP DATA
CFI StackFrame CFA_PSP16 PSP16 XDATA
CFI StackFrame CFA_XSP16 XSP16 XDATA
CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
CFI VirtualResource ?RET:24
CFI Resource ?BRET_EXT:8
CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
CFI ResourceParts PSP16 PSPH, PSPL
CFI ResourceParts XSP16 XSPH, XSPL
CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
CFI EndNames cfiNames0
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 osal_memcpy
FUNCTION osal_memcpy,0202H
ARGFRAME XSTACK, 14, STACK
// C:\Texas Instruments\ZStack-1.4.2-1.1.0\Components\services\saddr\saddr.c
// 1 /****************************************************************************
// 2 Filename: saddr.c
// 3 Revised: $Date: 2006-04-06 08:19:08 -0700 (Thu, 06 Apr 2006) $
// 4 Revision: $Revision: 10396 $
// 5
// 6 Description:
// 7
// 8 Zigbee and 802.15.4 device address utility functions.
// 9
// 10
// 11 Copyright (c) 2006 by Texas Instruments, Inc.
// 12 All Rights Reserved. Permission to use, reproduce, copy, prepare
// 13 derivative works, modify, distribute, perform, display or sell this
// 14 software and/or its documentation for any purpose is prohibited
// 15 without the express written consent of Texas Instruments, Inc.
// 16 ****************************************************************************/
// 17
// 18 /****************************************************************************
// 19 * INCLUDES
// 20 */
// 21 #include "hal_types.h"
// 22 #include "OSAL.h"
// 23 #include "saddr.h"
// 24
// 25 /****************************************************************************
// 26 * @fn sAddrCmp
// 27 *
// 28 * @brief Compare two device addresses.
// 29 *
// 30 * input parameters
// 31 *
// 32 * @param pAddr1 - Pointer to first address.
// 33 * @param pAddr2 - Pointer to second address.
// 34 *
// 35 * output parameters
// 36 *
// 37 * @return TRUE if addresses are equal, FALSE otherwise
// 38 */
RSEG BANKED_CODE:CODE:NOROOT(0)
// 39 bool sAddrCmp(const sAddr_t *pAddr1, const sAddr_t *pAddr2)
sAddrCmp:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function sAddrCmp
// 40 {
FUNCALL sAddrCmp, sAddrExtCmp
LOCFRAME XSTACK, 9, STACK
ARGFRAME XSTACK, 9, STACK
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
// 41 if (pAddr1->addrMode != pAddr2->addrMode)
MOV DPL,R2
MOV DPH,R3
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV R6,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
XRL A,R6
JZ ??sAddrCmp_0
// 42 {
// 43 return FALSE;
??sAddrCmp_1:
MOV R1,#0x0
SJMP ??sAddrCmp_2
// 44 }
// 45 else if (pAddr1->addrMode == SADDR_MODE_NONE)
??sAddrCmp_0:
MOV DPL,R2
MOV DPH,R3
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -