📄 saddr.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 06/Nov/2008 11:13:28 #
# 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 = E:\解决\路由\Components\services\saddr\saddr.c #
# Command line = -f E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \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 #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\Tools\CC2430DB\f8wConfig.cfg #
# (-DSECURE=0 -DDEFAULT_CHANLIST=0x00000800 #
# -DZDAPP_CONFIG_PAN_ID=0xFFFF #
# -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M #
# ASK=0x007F -DBEACON_REQUEST_DELAY=100 #
# -DBEACON_REQ_DELAY_MASK=0x00FF #
# -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P #
# OLLED=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 "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\" -I "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\clib\" -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\ -I E:\解决\路由\Projects\zstack\Samples\S #
# ampleApp\CC2430DB\..\Source\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\ZMain\TI2430DB\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\mt\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\hal\include\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\hal\target\CC243 #
# 0DB\ -I E:\解决\路由\Projects\zstack\Samples\Samp #
# leApp\CC2430DB\..\..\..\..\..\Components\osal\mcu #
# \ccsoc\ -I E:\解决\路由\Projects\zstack\Samples\S #
# ampleApp\CC2430DB\..\..\..\..\..\Components\osal\ #
# include\ -I E:\解决\路由\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\af\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
# pleApp\CC2430DB\..\..\..\..\..\Components\stack\n #
# wk\ -I E:\解决\路由\Projects\zstack\Samples\Sampl #
# eApp\CC2430DB\..\..\..\..\..\Components\stack\sec #
# \ -I E:\解决\路由\Projects\zstack\Samples\SampleA #
# pp\CC2430DB\..\..\..\..\..\Components\stack\sys\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\stack\zdo\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\zmac\f8w\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\zmac\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\services\saddr\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\services\sdat #
# a\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
# App\CC2430DB\..\..\..\..\..\Components\mac\includ #
# e\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
# App\CC2430DB\..\..\..\..\..\Components\mac\high_l #
# evel\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
# pleApp\CC2430DB\..\..\..\..\..\Components\mac\low #
# _level\srf03\ -I E:\解决\路由\Projects\zstack\Sam #
# ples\SampleApp\CC2430DB\..\..\..\..\..\Components #
# \mac\low_level\srf03\single_chip\ -D CC2430DB #
# -lC E:\解决\路由\Projects\zstack\Samples\SampleAp #
# p\CC2430DB\CoordinatorDB\List\ -lA #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\ --diag_suppress #
# Pe001,Pa010 --diag_remark pe550 -o #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\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 #
# E:\解决\路由\Components\services\saddr\saddr.c #
# List file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\saddr.lst #
# Object file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\Obj\saddr.r51 #
# #
# #
##############################################################################
E:\解决\路由\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 */
\ In segment BANKED_CODE, align 1, keep-with-next
39 bool sAddrCmp(const sAddr_t *pAddr1, const sAddr_t *pAddr2)
\ sAddrCmp:
40 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
41 if (pAddr1->addrMode != pAddr2->addrMode)
\ 000005 8A82 MOV DPL,R2
\ 000007 8B83 MOV DPH,R3
\ 000009 A3 INC DPTR
\ 00000A A3 INC DPTR
\ 00000B A3 INC DPTR
\ 00000C A3 INC DPTR
\ 00000D A3 INC DPTR
\ 00000E A3 INC DPTR
\ 00000F A3 INC DPTR
\ 000010 A3 INC DPTR
\ 000011 E0 MOVX A,@DPTR
\ 000012 FE MOV R6,A
\ 000013 8C82 MOV DPL,R4
\ 000015 8D83 MOV DPH,R5
\ 000017 A3 INC DPTR
\ 000018 A3 INC DPTR
\ 000019 A3 INC DPTR
\ 00001A A3 INC DPTR
\ 00001B A3 INC DPTR
\ 00001C A3 INC DPTR
\ 00001D A3 INC DPTR
\ 00001E A3 INC DPTR
\ 00001F E0 MOVX A,@DPTR
\ 000020 6E XRL A,R6
\ 000021 6004 JZ ??sAddrCmp_0
42 {
43 return FALSE;
\ ??sAddrCmp_1:
\ 000023 7900 MOV R1,#0x0
\ 000025 8042 SJMP ??sAddrCmp_2
44 }
45 else if (pAddr1->addrMode == SADDR_MODE_NONE)
\ ??sAddrCmp_0:
\ 000027 8A82 MOV DPL,R2
\ 000029 8B83 MOV DPH,R3
\ 00002B A3 INC DPTR
\ 00002C A3 INC DPTR
\ 00002D A3 INC DPTR
\ 00002E A3 INC DPTR
\ 00002F A3 INC DPTR
\ 000030 A3 INC DPTR
\ 000031 A3 INC DPTR
\ 000032 A3 INC DPTR
\ 000033 E0 MOVX A,@DPTR
\ 000034 60ED JZ ??sAddrCmp_1
46 {
47 return FALSE;
48 }
49 else if (pAddr1->addrMode == SADDR_MODE_SHORT)
\ 000036 6402 XRL A,#0x2
\ 000038 8A82 MOV DPL,R2
\ 00003A 8B83 MOV DPH,R3
\ 00003C 7016 JNZ ??sAddrCmp_3
50 {
51 return (bool) (pAddr1->addr.shortAddr == pAddr2->addr.shortAddr);
\ 00003E E0 MOVX A,@DPTR
\ 00003F F8 MOV R0,A
\ 000040 A3 INC DPTR
\ 000041 E0 MOVX A,@DPTR
\ 000042 F9 MOV R1,A
\ 000043 8C82 MOV DPL,R4
\ 000045 8D83 MOV DPH,R5
\ 000047 E0 MOVX A,@DPTR
\ 000048 68 XRL A,R0
\ 000049 7003 JNZ ??sAddrCmp_4
\ 00004B A3 INC DPTR
\ 00004C E0 MOVX A,@DPTR
\ 00004D 69 XRL A,R1
\ ??sAddrCmp_4:
\ 00004E 70D3 JNZ ??sAddrCmp_1
\ 000050 7901 MOV R1,#0x1
\ 000052 8015 SJMP ??sAddrCmp_2
52 }
53 else if (pAddr1->addrMode == SADDR_MODE_EXT)
\ ??sAddrCmp_3:
\ 000054 A3 INC DPTR
\ 000055 A3 INC DPTR
\ 000056 A3 INC DPTR
\ 000057 A3 INC DPTR
\ 000058 A3 INC DPTR
\ 000059 A3 INC DPTR
\ 00005A A3 INC DPTR
\ 00005B A3 INC DPTR
\ 00005C E0 MOVX A,@DPTR
\ 00005D 6403 XRL A,#0x3
\ 00005F 70C2 JNZ ??sAddrCmp_1
54 {
55 return (sAddrExtCmp(pAddr1->addr.extAddr, pAddr2->addr.extAddr));
\ 000061 ; Setup parameters for call to function sAddrExtCmp
\ 000061 90.... MOV DPTR,#(sAddrExtCmp & 0xffff)
\ 000064 74.. MOV A,#((sAddrExtCmp >> 16) & 0xff)
\ 000066 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ ??sAddrCmp_2:
\ 000069 REQUIRE ?Subroutine0
\ 000069 ; // Fall through to label ?Subroutine0
56 }
57 else
58 {
59 return FALSE;
60 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -