Files
OldPeopleHome/zigbee/ZStack-CC2530-r200/Projects/SappWsn/EndDeviceEB/List/zmac.s51
LitterDryFish 6b0d1c0743 add node
2019-08-23 12:26:53 +08:00

3786 lines
146 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:14:02
// Copyright 2004-2018 IAR Systems AB.
// PC-locked license - IAR Embedded Workbench for 8051
//
// Core = plain
// Code model = banked
// Data model = large
// Calling convention = xdata reentrant
// Constant location = data_rom
// Dptr setup = 1,16
//
// Source file =
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\zmac\f8w\zmac.c
// Command line =
// -f C:\Users\VULCAN\AppData\Local\Temp\EWB315.tmp
// (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\zmac\f8w\zmac.c
// -D ZIGBEEPRO -D NWK_AUTO_POLL -D ZTOOL_P1 -D xMT_TASK -D xMT_SYS_FUNC
// -D MT_ZDO_FUNC -D SAPP_ZSTACK -lC
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\List
// -lA
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\List
// --diag_suppress Pe001,Pa010 -o
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\Obj
// -e --debug --core=plain --dptr=16,1 --data_model=large
// --code_model=banked --calling_convention=xdata_reentrant
// --place_constants=data_rom --nr_virtual_regs 8 -f
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wEndev.cfg
// (-DCPU32MHZ -DROOT=__near_func -DMAC_CFG_TX_DATA_MAX=3
// -DMAC_CFG_TX_MAX=6 -DMAC_CFG_RX_MAX=3) -f
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wConfig.cfg
// (-DZIGBEEPRO -DSECURE=0 -DZG_SECURE_DYNAMIC=0 -DREFLECTOR
// -DDEFAULT_CHANLIST=0x00800000 -DZDAPP_CONFIG_PAN_ID=0x0057
// -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_MASK=0x007F
// -DBEACON_REQUEST_DELAY=100 -DBEACON_REQ_DELAY_MASK=0x00FF
// -DLINK_STATUS_JITTER_MASK=0x007F -DROUTE_EXPIRY_TIME=30
// -DAPSC_ACK_WAIT_DURATION_POLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7
// -DMAX_RREQ_ENTRIES=8 -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=40 -DNWK_MAX_BINDING_ENTRIES=4
// -DMAX_BINDING_CLUSTER_IDS=4 "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07,
// 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C,
// 0x0D}" -DMAC_MAX_FRAME_SIZE=116 -DZDNWKMGR_MIN_TRANSMISSIONS=20
// "-DCONST=const __code" -DGENERIC=__generic -DRFD_RCVC_ALWAYS_ON=FALSE
// -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 -DRESPONSE_POLL_RATE=100
// -DREJOIN_POLL_RATE=440) -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\Source\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\ZMain\TI2530DB\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\include\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\target\CC2530EB\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\include\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\high_level\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\single_chip\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mt\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\osal\include\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\saddr\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\sdata\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\af\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\nwk\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sapi\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sec\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sys\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\zdo\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\f8w\
// -Ohz --require_prototypes --no_code_motion)
// Locale = Chinese (Simplified)_CHN.936
// List file =
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\List\zmac.s51
//
///////////////////////////////////////////////////////////////////////////////
NAME zmac
RTMODEL "__SystemLibrary", "CLib"
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 "__register_banks", "*"
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 ?V0
EXTERN ?V1
EXTERN ?V2
EXTERN ?V4
EXTERN ?V5
EXTERN ?V6
EXTERN ?V7
EXTERN ?V3
EXTERN ?ALLOC_XSTACK8
EXTERN ?BANKED_ENTER_XDATA
EXTERN ?BANKED_LEAVE_XDATA
EXTERN ?BDISPATCH
EXTERN ?BRET
EXTERN ?CALL_IND
EXTERN ?DEALLOC_XSTACK8
EXTERN ?PUSH_XSTACK_I_THREE
EXTERN ?XLOAD_R0123
EXTERN ?XSP
EXTERN ?XSTORE_R0123
EXTERN __INIT_XDATA_Z
PUBLIC `??ZMacAssociateReq::?relay`
FUNCTION `??ZMacAssociateReq::?relay`,0203H
PUBLIC `??ZMacAssociateRsp::?relay`
FUNCTION `??ZMacAssociateRsp::?relay`,0203H
PUBLIC `??ZMacDataReq::?relay`
FUNCTION `??ZMacDataReq::?relay`,0203H
PUBLIC `??ZMacDataReqSec::?relay`
FUNCTION `??ZMacDataReqSec::?relay`,0203H
PUBLIC `??ZMacDisassociateReq::?relay`
FUNCTION `??ZMacDisassociateReq::?relay`,0203H
PUBLIC `??ZMacGetReq::?relay`
FUNCTION `??ZMacGetReq::?relay`,0203H
PUBLIC `??ZMacInit::?relay`
FUNCTION `??ZMacInit::?relay`,0203H
PUBLIC `??ZMacOrphanRsp::?relay`
FUNCTION `??ZMacOrphanRsp::?relay`,0203H
PUBLIC `??ZMacPollReq::?relay`
FUNCTION `??ZMacPollReq::?relay`,0203H
PUBLIC `??ZMacPurgeReq::?relay`
FUNCTION `??ZMacPurgeReq::?relay`,0203H
PUBLIC `??ZMacPwrOnReq::?relay`
FUNCTION `??ZMacPwrOnReq::?relay`,0203H
PUBLIC `??ZMacReset::?relay`
FUNCTION `??ZMacReset::?relay`,0203H
PUBLIC `??ZMacScanReq::?relay`
FUNCTION `??ZMacScanReq::?relay`,0203H
PUBLIC `??ZMacSendNoData::?relay`
FUNCTION `??ZMacSendNoData::?relay`,0203H
PUBLIC `??ZMacSetReq::?relay`
FUNCTION `??ZMacSetReq::?relay`,0203H
PUBLIC `??ZMacSetTransmitPower::?relay`
FUNCTION `??ZMacSetTransmitPower::?relay`,0203H
PUBLIC `??ZMacSrcMatchAckAllPending::?relay`
FUNCTION `??ZMacSrcMatchAckAllPending::?relay`,0203H
PUBLIC `??ZMacSrcMatchAddEntry::?relay`
FUNCTION `??ZMacSrcMatchAddEntry::?relay`,0203H
PUBLIC `??ZMacSrcMatchCheckAllPending::?relay`
FUNCTION `??ZMacSrcMatchCheckAllPending::?relay`,0203H
PUBLIC `??ZMacSrcMatchDeleteEntry::?relay`
FUNCTION `??ZMacSrcMatchDeleteEntry::?relay`,0203H
PUBLIC `??ZMacSrcMatchEnable::?relay`
FUNCTION `??ZMacSrcMatchEnable::?relay`,0203H
PUBLIC `??ZMacStartReq::?relay`
FUNCTION `??ZMacStartReq::?relay`,0203H
PUBLIC `??ZMacStateIdle::?relay`
FUNCTION `??ZMacStateIdle::?relay`,0203H
PUBLIC `??ZMacSyncReq::?relay`
FUNCTION `??ZMacSyncReq::?relay`,0203H
PUBLIC `??ZMac_PwrMode::?relay`
FUNCTION `??ZMac_PwrMode::?relay`,0203H
PUBLIC ZMacAssociateReq
FUNCTION ZMacAssociateReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacAssociateRsp
FUNCTION ZMacAssociateRsp,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacDataReq
FUNCTION ZMacDataReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacDataReqSec
FUNCTION ZMacDataReqSec,0a1203H
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
LOCFRAME XSTACK, 19, STACK
PUBLIC ZMacDisassociateReq
FUNCTION ZMacDisassociateReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacGetReq
FUNCTION ZMacGetReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC ZMacInit
FUNCTION ZMacInit,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC ZMacOrphanRsp
FUNCTION ZMacOrphanRsp,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacPollReq
FUNCTION ZMacPollReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacPurgeReq
FUNCTION ZMacPurgeReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC ZMacPwrOnReq
FUNCTION ZMacPwrOnReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacReset
FUNCTION ZMacReset,021203H
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
LOCFRAME XSTACK, 10, STACK
PUBLIC ZMacScanReq
FUNCTION ZMacScanReq,0a1203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
PUBLIC ZMacSendNoData
FUNCTION ZMacSendNoData,0a1203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 12, STACK
PUBLIC ZMacSetReq
FUNCTION ZMacSetReq,0a1203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC ZMacSetTransmitPower
FUNCTION ZMacSetTransmitPower,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 3, STACK
LOCFRAME XSTACK, 1, STACK
PUBLIC ZMacSrcMatchAckAllPending
FUNCTION ZMacSrcMatchAckAllPending,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC ZMacSrcMatchAddEntry
FUNCTION ZMacSrcMatchAddEntry,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacSrcMatchCheckAllPending
FUNCTION ZMacSrcMatchCheckAllPending,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacSrcMatchDeleteEntry
FUNCTION ZMacSrcMatchDeleteEntry,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacSrcMatchEnable
FUNCTION ZMacSrcMatchEnable,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
PUBLIC ZMacStartReq
FUNCTION ZMacStartReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
PUBLIC ZMacStateIdle
FUNCTION ZMacStateIdle,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMacSyncReq
FUNCTION ZMacSyncReq,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMac_PwrMode
FUNCTION ZMac_PwrMode,021203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC ZMac_ScanBuf
PUBLIC _ScanChannels
CFI Names cfiNames0
CFI StackFrame CFA_SP SP IDATA
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
CFI Common cfiCommon1 Using cfiNames0
CFI CodeAlign 1
CFI DataAlign -1
CFI ReturnAddress ?RET CODE
CFI CFA_DOVERLAY Used
CFI CFA_IOVERLAY Used
CFI CFA_SP SP+-2
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 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
MAC_Init SYMBOL "MAC_Init"
`??MAC_Init::?relay` SYMBOL "?relay", MAC_Init
MAC_InitDevice SYMBOL "MAC_InitDevice"
`??MAC_InitDevice::?relay` SYMBOL "?relay", MAC_InitDevice
MAC_McpsDataAlloc SYMBOL "MAC_McpsDataAlloc"
`??MAC_McpsDataAlloc::?relay` SYMBOL "?relay", MAC_McpsDataAlloc
MAC_McpsDataReq SYMBOL "MAC_McpsDataReq"
`??MAC_McpsDataReq::?relay` SYMBOL "?relay", MAC_McpsDataReq
MAC_McpsPurgeReq SYMBOL "MAC_McpsPurgeReq"
`??MAC_McpsPurgeReq::?relay` SYMBOL "?relay", MAC_McpsPurgeReq
MAC_MlmeAssociateReq SYMBOL "MAC_MlmeAssociateReq"
`??MAC_MlmeAssociateReq::?relay` SYMBOL "?relay", MAC_MlmeAssociateReq
MAC_MlmeAssociateRsp SYMBOL "MAC_MlmeAssociateRsp"
`??MAC_MlmeAssociateRsp::?relay` SYMBOL "?relay", MAC_MlmeAssociateRsp
MAC_MlmeDisassociateReq SYMBOL "MAC_MlmeDisassociateReq"
`??MAC_MlmeDisassociateReq::?relay` SYMBOL "?relay", MAC_MlmeDisassociateReq
MAC_MlmeGetReq SYMBOL "MAC_MlmeGetReq"
`??MAC_MlmeGetReq::?relay` SYMBOL "?relay", MAC_MlmeGetReq
MAC_MlmeOrphanRsp SYMBOL "MAC_MlmeOrphanRsp"
`??MAC_MlmeOrphanRsp::?relay` SYMBOL "?relay", MAC_MlmeOrphanRsp
MAC_MlmePollReq SYMBOL "MAC_MlmePollReq"
`??MAC_MlmePollReq::?relay` SYMBOL "?relay", MAC_MlmePollReq
MAC_MlmeResetReq SYMBOL "MAC_MlmeResetReq"
`??MAC_MlmeResetReq::?relay` SYMBOL "?relay", MAC_MlmeResetReq
MAC_MlmeScanReq SYMBOL "MAC_MlmeScanReq"
`??MAC_MlmeScanReq::?relay` SYMBOL "?relay", MAC_MlmeScanReq
MAC_MlmeSetReq SYMBOL "MAC_MlmeSetReq"
`??MAC_MlmeSetReq::?relay` SYMBOL "?relay", MAC_MlmeSetReq
MAC_MlmeStartReq SYMBOL "MAC_MlmeStartReq"
`??MAC_MlmeStartReq::?relay` SYMBOL "?relay", MAC_MlmeStartReq
MAC_MlmeSyncReq SYMBOL "MAC_MlmeSyncReq"
`??MAC_MlmeSyncReq::?relay` SYMBOL "?relay", MAC_MlmeSyncReq
MAC_PwrMode SYMBOL "MAC_PwrMode"
`??MAC_PwrMode::?relay` SYMBOL "?relay", MAC_PwrMode
MAC_PwrOnReq SYMBOL "MAC_PwrOnReq"
`??MAC_PwrOnReq::?relay` SYMBOL "?relay", MAC_PwrOnReq
MAC_SrcMatchAckAllPending SYMBOL "MAC_SrcMatchAckAllPending"
`??MAC_SrcMatchAckAllPending::?relay` SYMBOL "?relay", MAC_SrcMatchAckAllPending
MAC_SrcMatchAddEntry SYMBOL "MAC_SrcMatchAddEntry"
`??MAC_SrcMatchAddEntry::?relay` SYMBOL "?relay", MAC_SrcMatchAddEntry
MAC_SrcMatchCheckAllPending SYMBOL "MAC_SrcMatchCheckAllPending"
`??MAC_SrcMatchCheckAllPending::?relay` SYMBOL "?relay", MAC_SrcMatchCheckAllPending
MAC_SrcMatchDeleteEntry SYMBOL "MAC_SrcMatchDeleteEntry"
`??MAC_SrcMatchDeleteEntry::?relay` SYMBOL "?relay", MAC_SrcMatchDeleteEntry
MAC_SrcMatchEnable SYMBOL "MAC_SrcMatchEnable"
`??MAC_SrcMatchEnable::?relay` SYMBOL "?relay", MAC_SrcMatchEnable
macStateIdle SYMBOL "macStateIdle"
`??macStateIdle::?relay` SYMBOL "?relay", macStateIdle
osal_int_disable SYMBOL "osal_int_disable"
`??osal_int_disable::?relay` SYMBOL "?relay", osal_int_disable
osal_mem_alloc SYMBOL "osal_mem_alloc"
`??osal_mem_alloc::?relay` SYMBOL "?relay", osal_mem_alloc
osal_mem_free SYMBOL "osal_mem_free"
`??osal_mem_free::?relay` SYMBOL "?relay", osal_mem_free
osal_memcpy SYMBOL "osal_memcpy"
`??osal_memcpy::?relay` SYMBOL "?relay", osal_memcpy
osal_memset SYMBOL "osal_memset"
`??osal_memset::?relay` SYMBOL "?relay", osal_memset
osal_msg_deallocate SYMBOL "osal_msg_deallocate"
`??osal_msg_deallocate::?relay` SYMBOL "?relay", osal_msg_deallocate
sAddrExtCpy SYMBOL "sAddrExtCpy"
`??sAddrExtCpy::?relay` SYMBOL "?relay", sAddrExtCpy
ZMacAssociateReq SYMBOL "ZMacAssociateReq"
`??ZMacAssociateReq::?relay` SYMBOL "?relay", ZMacAssociateReq
ZMacAssociateRsp SYMBOL "ZMacAssociateRsp"
`??ZMacAssociateRsp::?relay` SYMBOL "?relay", ZMacAssociateRsp
ZMacDataReq SYMBOL "ZMacDataReq"
`??ZMacDataReq::?relay` SYMBOL "?relay", ZMacDataReq
ZMacDataReqSec SYMBOL "ZMacDataReqSec"
`??ZMacDataReqSec::?relay` SYMBOL "?relay", ZMacDataReqSec
ZMacDisassociateReq SYMBOL "ZMacDisassociateReq"
`??ZMacDisassociateReq::?relay` SYMBOL "?relay", ZMacDisassociateReq
ZMacGetReq SYMBOL "ZMacGetReq"
`??ZMacGetReq::?relay` SYMBOL "?relay", ZMacGetReq
ZMacInit SYMBOL "ZMacInit"
`??ZMacInit::?relay` SYMBOL "?relay", ZMacInit
ZMacOrphanRsp SYMBOL "ZMacOrphanRsp"
`??ZMacOrphanRsp::?relay` SYMBOL "?relay", ZMacOrphanRsp
ZMacPollReq SYMBOL "ZMacPollReq"
`??ZMacPollReq::?relay` SYMBOL "?relay", ZMacPollReq
ZMacPurgeReq SYMBOL "ZMacPurgeReq"
`??ZMacPurgeReq::?relay` SYMBOL "?relay", ZMacPurgeReq
ZMacPwrOnReq SYMBOL "ZMacPwrOnReq"
`??ZMacPwrOnReq::?relay` SYMBOL "?relay", ZMacPwrOnReq
ZMacReset SYMBOL "ZMacReset"
`??ZMacReset::?relay` SYMBOL "?relay", ZMacReset
ZMacScanReq SYMBOL "ZMacScanReq"
`??ZMacScanReq::?relay` SYMBOL "?relay", ZMacScanReq
ZMacSendNoData SYMBOL "ZMacSendNoData"
`??ZMacSendNoData::?relay` SYMBOL "?relay", ZMacSendNoData
ZMacSetReq SYMBOL "ZMacSetReq"
`??ZMacSetReq::?relay` SYMBOL "?relay", ZMacSetReq
ZMacSetTransmitPower SYMBOL "ZMacSetTransmitPower"
`??ZMacSetTransmitPower::?relay` SYMBOL "?relay", ZMacSetTransmitPower
ZMacSrcMatchAckAllPending SYMBOL "ZMacSrcMatchAckAllPending"
`??ZMacSrcMatchAckAllPending::?relay` SYMBOL "?relay", ZMacSrcMatchAckAllPending
ZMacSrcMatchAddEntry SYMBOL "ZMacSrcMatchAddEntry"
`??ZMacSrcMatchAddEntry::?relay` SYMBOL "?relay", ZMacSrcMatchAddEntry
ZMacSrcMatchCheckAllPending SYMBOL "ZMacSrcMatchCheckAllPending"
`??ZMacSrcMatchCheckAllPending::?relay` SYMBOL "?relay", ZMacSrcMatchCheckAllPending
ZMacSrcMatchDeleteEntry SYMBOL "ZMacSrcMatchDeleteEntry"
`??ZMacSrcMatchDeleteEntry::?relay` SYMBOL "?relay", ZMacSrcMatchDeleteEntry
ZMacSrcMatchEnable SYMBOL "ZMacSrcMatchEnable"
`??ZMacSrcMatchEnable::?relay` SYMBOL "?relay", ZMacSrcMatchEnable
ZMacStartReq SYMBOL "ZMacStartReq"
`??ZMacStartReq::?relay` SYMBOL "?relay", ZMacStartReq
ZMacStateIdle SYMBOL "ZMacStateIdle"
`??ZMacStateIdle::?relay` SYMBOL "?relay", ZMacStateIdle
ZMacSyncReq SYMBOL "ZMacSyncReq"
`??ZMacSyncReq::?relay` SYMBOL "?relay", ZMacSyncReq
ZMac_PwrMode SYMBOL "ZMac_PwrMode"
`??ZMac_PwrMode::?relay` SYMBOL "?relay", ZMac_PwrMode
EXTERN `??MAC_Init::?relay`
FUNCTION `??MAC_Init::?relay`,00H
EXTERN `??MAC_InitDevice::?relay`
FUNCTION `??MAC_InitDevice::?relay`,00H
EXTERN `??MAC_McpsDataAlloc::?relay`
FUNCTION `??MAC_McpsDataAlloc::?relay`,00H
EXTERN `??MAC_McpsDataReq::?relay`
FUNCTION `??MAC_McpsDataReq::?relay`,00H
EXTERN `??MAC_McpsPurgeReq::?relay`
FUNCTION `??MAC_McpsPurgeReq::?relay`,00H
EXTERN `??MAC_MlmeAssociateReq::?relay`
FUNCTION `??MAC_MlmeAssociateReq::?relay`,00H
EXTERN `??MAC_MlmeAssociateRsp::?relay`
FUNCTION `??MAC_MlmeAssociateRsp::?relay`,00H
EXTERN `??MAC_MlmeDisassociateReq::?relay`
FUNCTION `??MAC_MlmeDisassociateReq::?relay`,00H
EXTERN `??MAC_MlmeGetReq::?relay`
FUNCTION `??MAC_MlmeGetReq::?relay`,00H
EXTERN `??MAC_MlmeOrphanRsp::?relay`
FUNCTION `??MAC_MlmeOrphanRsp::?relay`,00H
EXTERN `??MAC_MlmePollReq::?relay`
FUNCTION `??MAC_MlmePollReq::?relay`,00H
EXTERN `??MAC_MlmeResetReq::?relay`
FUNCTION `??MAC_MlmeResetReq::?relay`,00H
EXTERN `??MAC_MlmeScanReq::?relay`
FUNCTION `??MAC_MlmeScanReq::?relay`,00H
EXTERN `??MAC_MlmeSetReq::?relay`
FUNCTION `??MAC_MlmeSetReq::?relay`,00H
EXTERN `??MAC_MlmeStartReq::?relay`
FUNCTION `??MAC_MlmeStartReq::?relay`,00H
EXTERN `??MAC_MlmeSyncReq::?relay`
FUNCTION `??MAC_MlmeSyncReq::?relay`,00H
EXTERN `??MAC_PwrMode::?relay`
FUNCTION `??MAC_PwrMode::?relay`,00H
EXTERN `??MAC_PwrOnReq::?relay`
FUNCTION `??MAC_PwrOnReq::?relay`,00H
EXTERN `??MAC_SrcMatchAckAllPending::?relay`
FUNCTION `??MAC_SrcMatchAckAllPending::?relay`,00H
EXTERN `??MAC_SrcMatchAddEntry::?relay`
FUNCTION `??MAC_SrcMatchAddEntry::?relay`,00H
EXTERN `??MAC_SrcMatchCheckAllPending::?relay`
FUNCTION `??MAC_SrcMatchCheckAllPending::?relay`,00H
EXTERN `??MAC_SrcMatchDeleteEntry::?relay`
FUNCTION `??MAC_SrcMatchDeleteEntry::?relay`,00H
EXTERN `??MAC_SrcMatchEnable::?relay`
FUNCTION `??MAC_SrcMatchEnable::?relay`,00H
EXTERN `??macStateIdle::?relay`
FUNCTION `??macStateIdle::?relay`,00H
EXTERN `??osal_int_disable::?relay`
FUNCTION `??osal_int_disable::?relay`,00H
EXTERN `??osal_mem_alloc::?relay`
FUNCTION `??osal_mem_alloc::?relay`,00H
EXTERN `??osal_mem_free::?relay`
FUNCTION `??osal_mem_free::?relay`,00H
EXTERN `??osal_memcpy::?relay`
FUNCTION `??osal_memcpy::?relay`,00H
EXTERN `??osal_memset::?relay`
FUNCTION `??osal_memset::?relay`,00H
EXTERN `??osal_msg_deallocate::?relay`
FUNCTION `??osal_msg_deallocate::?relay`,00H
EXTERN `??sAddrExtCpy::?relay`
FUNCTION `??sAddrExtCpy::?relay`,00H
EXTERN MAC_Init
FUNCTION MAC_Init,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_InitDevice
FUNCTION MAC_InitDevice,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_McpsDataAlloc
FUNCTION MAC_McpsDataAlloc,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 16, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_McpsDataReq
FUNCTION MAC_McpsDataReq,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 16, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_McpsPurgeReq
FUNCTION MAC_McpsPurgeReq,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeAssociateReq
FUNCTION MAC_MlmeAssociateReq,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeAssociateRsp
FUNCTION MAC_MlmeAssociateRsp,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeDisassociateReq
FUNCTION MAC_MlmeDisassociateReq,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeGetReq
FUNCTION MAC_MlmeGetReq,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeOrphanRsp
FUNCTION MAC_MlmeOrphanRsp,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmePollReq
FUNCTION MAC_MlmePollReq,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeResetReq
FUNCTION MAC_MlmeResetReq,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeScanReq
FUNCTION MAC_MlmeScanReq,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeSetReq
FUNCTION MAC_MlmeSetReq,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeStartReq
FUNCTION MAC_MlmeStartReq,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_MlmeSyncReq
FUNCTION MAC_MlmeSyncReq,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_PwrMode
FUNCTION MAC_PwrMode,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_PwrOnReq
FUNCTION MAC_PwrOnReq,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_SrcMatchAckAllPending
FUNCTION MAC_SrcMatchAckAllPending,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_SrcMatchAddEntry
FUNCTION MAC_SrcMatchAddEntry,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_SrcMatchCheckAllPending
FUNCTION MAC_SrcMatchCheckAllPending,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_SrcMatchDeleteEntry
FUNCTION MAC_SrcMatchDeleteEntry,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN MAC_SrcMatchEnable
FUNCTION MAC_SrcMatchEnable,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN aExtendedAddress
EXTERN macStateIdle
FUNCTION macStateIdle,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_int_disable
FUNCTION osal_int_disable,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_mem_alloc
FUNCTION osal_mem_alloc,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_mem_free
FUNCTION osal_mem_free,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_memcpy
FUNCTION osal_memcpy,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 19, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_memset
FUNCTION osal_memset,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_msg_deallocate
FUNCTION osal_msg_deallocate,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 16, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN sAddrExtCpy
FUNCTION sAddrExtCpy,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\zmac\f8w\zmac.c
// 1 /**************************************************************************************************
// 2 Filename: zmac.c
// 3 Revised: $Date: 2011-02-28 16:59:59 -0800 (Mon, 28 Feb 2011) $
// 4 Revision: $Revision: 25230 $
// 5
// 6
// 7 Description: This file contains the ZStack MAC Porting Layer
// 8
// 9
// 10 Copyright 2005-2010 Texas Instruments Incorporated. All rights reserved.
// 11
// 12 IMPORTANT: Your use of this Software is limited to those specific rights
// 13 granted under the terms of a software license agreement between the user
// 14 who downloaded the software, his/her employer (which must be your employer)
// 15 and Texas Instruments Incorporated (the "License"). You may not use this
// 16 Software unless you agree to abide by the terms of the License. The License
// 17 limits your use, and you acknowledge, that the Software may not be modified,
// 18 copied or distributed unless embedded on a Texas Instruments microcontroller
// 19 or used solely and exclusively in conjunction with a Texas Instruments radio
// 20 frequency transceiver, which is integrated into your product. Other than for
// 21 the foregoing purpose, you may not use, reproduce, copy, prepare derivative
// 22 works of, modify, distribute, perform, display or sell this Software and/or
// 23 its documentation for any purpose.
// 24
// 25 YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
// 26 PROVIDED 揂S IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
// 27 INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
// 28 NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
// 29 TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
// 30 NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
// 31 LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
// 32 INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
// 33 OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
// 34 OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
// 35 (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
// 36
// 37 Should you have any questions regarding your right to use this Software,
// 38 contact Texas Instruments Incorporated at www.TI.com.
// 39 **************************************************************************************************/
// 40
// 41 /********************************************************************************************************
// 42 * INCLUDES
// 43 ********************************************************************************************************/
// 44
// 45 #include "ZComDef.h"
// 46 #include "OSAL.h"
// 47 #include "ZMAC.h"
// 48 #include "mac_main.h"
// 49 #include "ssp.h"
// 50
// 51 #if !defined NONWK
// 52 #include "ZGlobals.h"
// 53 #endif
// 54
// 55 /********************************************************************************************************
// 56 * MACROS
// 57 ********************************************************************************************************/
// 58
// 59 /********************************************************************************************************
// 60 * CONSTANTS
// 61 ********************************************************************************************************/
// 62
// 63 /********************************************************************************************************
// 64 * GLOBALS
// 65 ********************************************************************************************************/
RSEG XDATA_Z:XDATA:NOROOT(0)
DATA32
// 66 uint32 _ScanChannels;
_ScanChannels:
DS 4
REQUIRE __INIT_XDATA_Z
// 67
// 68 extern uint8 aExtendedAddress[];
// 69
// 70 /**************************************************************************************************
// 71 * @fn MAC_SetRandomSeedCB
// 72 *
// 73 * @brief MAC function: Set the function pointer for the random seed callback.
// 74 *
// 75 * input parameters
// 76 *
// 77 * @param pCBFcn - function pointer of the random seed callback
// 78 *
// 79 * output parameters
// 80 *
// 81 * None.
// 82 *
// 83 * @return none
// 84 **************************************************************************************************
// 85 */
// 86 extern void MAC_SetRandomSeedCB(macRNGFcn_t pCBFcn);
// 87 /********************************************************************************************************
// 88 * LOCALS
// 89 ********************************************************************************************************/
// 90
// 91 /* Pointer to scan result buffer */
RSEG XDATA_Z:XDATA:NOROOT(0)
DATA16
// 92 void *ZMac_ScanBuf = NULL;
ZMac_ScanBuf:
DS 2
REQUIRE __INIT_XDATA_Z
// 93
// 94 /********************************************************************************************************
// 95 * LOCAL FUNCTION PROTOTYPES
// 96 ********************************************************************************************************/
// 97
// 98 /********************************************************************************************************
// 99 * TYPEDEFS
// 100 ********************************************************************************************************/
// 101
// 102
// 103 /********************************************************************************************************
// 104 * FUNCTIONS
// 105 ********************************************************************************************************/
// 106
// 107 /********************************************************************************************************
// 108 * @fn ZMacInit
// 109 *
// 110 * @brief Initialize MAC.
// 111 *
// 112 * @param none.
// 113 *
// 114 * @return status.
// 115 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 116 uint8 ZMacInit( void )
ZMacInit:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function ZMacInit
CODE
// 117 {
FUNCALL ZMacInit, MAC_Init
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacInit, MAC_InitDevice
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacInit, ZMacReset
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacInit, osal_int_disable
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 118 uint8 stat;
// 119
// 120 #if defined( ZCL_KEY_ESTABLISH )
// 121 /* Set the callback function for 16 byte random seed */
// 122 MAC_SetRandomSeedCB( SSP_StoreRandomSeedNV);
// 123 #endif
// 124
// 125 MAC_Init();
; Setup parameters for call to function MAC_Init
LCALL `??MAC_Init::?relay`; Banked call to: MAC_Init
// 126 MAC_InitDevice();
; Setup parameters for call to function MAC_InitDevice
LCALL `??MAC_InitDevice::?relay`; Banked call to: MAC_InitDevice
// 127
// 128 #if !defined NONWK
// 129 if ( ZG_BUILD_RTR_TYPE )
// 130 {
// 131 MAC_InitCoord();
// 132 }
// 133 #endif
// 134
// 135 // If OK, initialize the MAC
// 136 stat = ZMacReset( TRUE );
; Setup parameters for call to function ZMacReset
MOV R1,#0x1
LCALL `??ZMacReset::?relay`; Banked call to: ZMacReset
MOV A,R1
MOV R6,A
// 137
// 138 // Turn off interrupts
// 139 osal_int_disable( INTS_ALL );
; Setup parameters for call to function osal_int_disable
MOV R1,#-0x1
LCALL `??osal_int_disable::?relay`; Banked call to: osal_int_disable
// 140
// 141 return ( stat );
MOV A,R6
MOV R1,A
LJMP ??Subroutine9_0 & 0xFFFF
// 142 }
CFI EndBlock cfiBlock0
// 143
// 144 /********************************************************************************************************
// 145 * @fn ZMacReset
// 146 *
// 147 * @brief Reset the MAC.
// 148 *
// 149 * @param Default to PIB defaults.
// 150 *
// 151 * @return status.
// 152 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 153 uint8 ZMacReset( bool SetDefaultPIB )
ZMacReset:
CFI Block cfiBlock1 Using cfiCommon0
CFI Function ZMacReset
CODE
// 154 {
FUNCALL ZMacReset, MAC_MlmeResetReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacReset, MAC_MlmeSetReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacReset, MAC_MlmeSetReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacReset, osal_mem_free
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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: 1
MOV A,#-0x1
LCALL ?ALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 10)
// 155 byte stat;
// 156 byte value;
// 157
// 158 stat = MAC_MlmeResetReq( SetDefaultPIB );
; Setup parameters for call to function MAC_MlmeResetReq
LCALL `??MAC_MlmeResetReq::?relay`; Banked call to: MAC_MlmeResetReq
MOV A,R1
MOV R6,A
// 159
// 160 // Don't send PAN ID conflict
// 161 value = FALSE;
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
CLR A
MOVX @DPTR,A
// 162 MAC_MlmeSetReq( MAC_ASSOCIATED_PAN_COORD, &value );
; Setup parameters for call to function MAC_MlmeSetReq
MOV R2,?XSP + 0
MOV R3,?XSP + 1
MOV R1,#0x56
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
// 163 MAC_MlmeSetReq( MAC_EXTENDED_ADDRESS, &aExtendedAddress );
; Setup parameters for call to function MAC_MlmeSetReq
MOV R2,#aExtendedAddress & 0xff
MOV R3,#(aExtendedAddress >> 8) & 0xff
MOV R1,#-0x1e
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
// 164
// 165 if (ZMac_ScanBuf)
LCALL ?Subroutine4 & 0xFFFF
??CrossCallReturnLabel_10:
JZ ??ZMacReset_0
// 166 {
// 167 osal_mem_free(ZMac_ScanBuf);
; Setup parameters for call to function osal_mem_free
MOV DPTR,#ZMac_ScanBuf
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL `??osal_mem_free::?relay`; Banked call to: osal_mem_free
// 168 ZMac_ScanBuf = NULL;
MOV DPTR,#ZMac_ScanBuf
CLR A
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
// 169 }
// 170
// 171 return ( stat );
??ZMacReset_0:
MOV A,R6
MOV R1,A
SJMP ?Subroutine0
// 172 }
CFI EndBlock cfiBlock1
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine4:
CFI Block cfiCond2 Using cfiCommon0
CFI Function ZMacReset
CFI Conditional ??CrossCallReturnLabel_10
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 10)
CFI Block cfiCond3 Using cfiCommon0
CFI (cfiCond3) Function ZMacScanReq
CFI (cfiCond3) Conditional ??CrossCallReturnLabel_11
CFI (cfiCond3) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond3) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond3) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond3) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond3) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond3) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond3) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond3) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond3) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond3) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond3) CFA_SP SP+-2
CFI (cfiCond3) CFA_XSP16 add(XSP16, 10)
CFI Block cfiPicker4 Using cfiCommon1
CFI (cfiPicker4) NoFunction
CFI (cfiPicker4) Picker
MOV DPTR,#ZMac_ScanBuf
CFI EndBlock cfiCond2
CFI EndBlock cfiCond3
CFI EndBlock cfiPicker4
REQUIRE ??Subroutine8_0
; // Fall through to label ??Subroutine8_0
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
??Subroutine8_0:
CFI Block cfiCond5 Using cfiCommon0
CFI Function ZMacDataReqSec
CFI Conditional ??CrossCallReturnLabel_9
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 16)
CFI Block cfiCond6 Using cfiCommon0
CFI (cfiCond6) Function ZMacReset
CFI (cfiCond6) Conditional ??CrossCallReturnLabel_10
CFI (cfiCond6) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond6) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond6) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond6) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond6) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond6) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond6) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond6) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond6) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond6) CFA_SP SP+-2
CFI (cfiCond6) CFA_XSP16 add(XSP16, 10)
CFI Block cfiCond7 Using cfiCommon0
CFI (cfiCond7) Function ZMacScanReq
CFI (cfiCond7) Conditional ??CrossCallReturnLabel_11
CFI (cfiCond7) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond7) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond7) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond7) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond7) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond7) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond7) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond7) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond7) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond7) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond7) CFA_SP SP+-2
CFI (cfiCond7) CFA_XSP16 add(XSP16, 10)
CFI Block cfiPicker8 Using cfiCommon1
CFI (cfiPicker8) NoFunction
CFI (cfiPicker8) Picker
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV A,R0
ORL A,R1
RET
CFI EndBlock cfiCond5
CFI EndBlock cfiCond6
CFI EndBlock cfiCond7
CFI EndBlock cfiPicker8
// 173
// 174
// 175 /********************************************************************************************************
// 176 * @fn ZMacGetReq
// 177 *
// 178 * @brief Read a MAC PIB attribute.
// 179 *
// 180 * @param attr - PIB attribute to get
// 181 * @param value - pointer to the buffer to store the attribute
// 182 *
// 183 * @return status
// 184 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 185 uint8 ZMacGetReq( uint8 attr, uint8 *value )
ZMacGetReq:
CFI Block cfiBlock9 Using cfiCommon0
CFI Function ZMacGetReq
CODE
// 186 {
FUNCALL ZMacGetReq, sAddrExtCpy
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacGetReq, MAC_MlmeGetReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
MOV A,R1
MOV R6,A
// 187 if ( attr == ZMacExtAddr )
MOV A,#-0x1e
XRL A,R6
JNZ ??ZMacGetReq_0
// 188 {
// 189 osal_cpyExtAddr( value, &aExtendedAddress );
; Setup parameters for call to function sAddrExtCpy
MOV R4,#aExtendedAddress & 0xff
MOV R5,#(aExtendedAddress >> 8) & 0xff
LCALL `??sAddrExtCpy::?relay`; Banked call to: sAddrExtCpy
// 190 return ZMacSuccess;
MOV R1,#0x0
SJMP ??ZMacGetReq_1
// 191 }
// 192
// 193 return (ZMacStatus_t) MAC_MlmeGetReq( attr, value );
??ZMacGetReq_0:
; Setup parameters for call to function MAC_MlmeGetReq
LCALL `??MAC_MlmeGetReq::?relay`; Banked call to: MAC_MlmeGetReq
??ZMacGetReq_1:
SJMP ??Subroutine9_0
// 194 }
CFI EndBlock cfiBlock9
// 195
// 196
// 197 /********************************************************************************************************
// 198 * @fn ZMacSetReq
// 199 *
// 200 * @brief Write a MAC PIB attribute.
// 201 *
// 202 * @param attr - PIB attribute to Set
// 203 * @param value - pointer to the data
// 204 *
// 205 * @return status
// 206 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 207 uint8 ZMacSetReq( uint8 attr, byte *value )
ZMacSetReq:
CFI Block cfiBlock10 Using cfiCommon0
CFI Function ZMacSetReq
CODE
// 208 {
FUNCALL ZMacSetReq, sAddrExtCpy
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacSetReq, MAC_MlmeSetReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
REQUIRE ?V0
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
MOV ?V0,R1
MOV A,R2
MOV R6,A
MOV A,R3
MOV R7,A
// 209 if ( attr == ZMacExtAddr )
MOV A,#-0x1e
XRL A,R1
JNZ ??ZMacSetReq_0
// 210 {
// 211 osal_cpyExtAddr( aExtendedAddress, value );
; Setup parameters for call to function sAddrExtCpy
MOV A,R2
MOV R4,A
MOV A,R3
MOV R5,A
MOV R2,#aExtendedAddress & 0xff
MOV R3,#(aExtendedAddress >> 8) & 0xff
LCALL `??sAddrExtCpy::?relay`; Banked call to: sAddrExtCpy
// 212 }
// 213
// 214 return (ZMacStatus_t) MAC_MlmeSetReq( attr, value );
??ZMacSetReq_0:
; Setup parameters for call to function MAC_MlmeSetReq
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
MOV R1,?V0
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
SJMP ??Subroutine9_0
// 215 }
CFI EndBlock cfiBlock10
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine0:
CFI Block cfiBlock11 Using cfiCommon0
CFI NoFunction
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 10)
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
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)))
MOV A,#0x1
LCALL ?DEALLOC_XSTACK8
CFI EndBlock cfiBlock11
REQUIRE ??Subroutine9_0
; // Fall through to label ??Subroutine9_0
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
??Subroutine9_0:
CFI Block cfiBlock12 Using cfiCommon0
CFI NoFunction
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 9)
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
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)))
MOV R7,#0x1
LJMP ?BANKED_LEAVE_XDATA
CFI EndBlock cfiBlock12
// 216
// 217 #ifdef MAC_SECURITY
// 218 /********************************************************************************************************
// 219 * @fn ZMacSecurityGetReq
// 220 *
// 221 * @brief Read a MAC Security PIB attribute.
// 222 *
// 223 * @param attr - PIB attribute to get
// 224 * @param value - pointer to the buffer to store the attribute
// 225 *
// 226 * @return status
// 227 ********************************************************************************************************/
// 228 uint8 ZMacSecurityGetReq( uint8 attr, uint8 *value )
// 229 {
// 230 return (ZMacStatus_t) MAC_MlmeGetSecurityReq( attr, value );
// 231 }
// 232
// 233
// 234 /********************************************************************************************************
// 235 * @fn ZMacSecuritySetReq
// 236 *
// 237 * @brief Write a MAC Security PIB attribute.
// 238 *
// 239 * @param attr - PIB attribute to Set
// 240 * @param value - pointer to the data
// 241 *
// 242 * @return status
// 243 ********************************************************************************************************/
// 244 uint8 ZMacSecuritySetReq( uint8 attr, byte *value )
// 245 {
// 246 return (ZMacStatus_t) MAC_MlmeSetSecurityReq( attr, value );
// 247 }
// 248 #endif /* MAC_SECURITY */
// 249
// 250 /********************************************************************************************************
// 251 * @fn ZMacAssociateReq
// 252 *
// 253 * @brief Request an association with a coordinator.
// 254 *
// 255 * @param structure with info need to associate.
// 256 *
// 257 * @return status
// 258 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 259 uint8 ZMacAssociateReq( ZMacAssociateReq_t *pData )
ZMacAssociateReq:
CFI Block cfiBlock13 Using cfiCommon0
CFI Function ZMacAssociateReq
CODE
// 260 {
FUNCALL ZMacAssociateReq, MAC_MlmeAssociateReq
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 261 /* Right now, set security to zero */
// 262 pData->Sec.SecurityLevel = false;
MOV A,R2
ADD A,#0x16
LCALL ?Subroutine6 & 0xFFFF
// 263
// 264 MAC_MlmeAssociateReq ( (macMlmeAssociateReq_t *)pData);
??CrossCallReturnLabel_3:
; Setup parameters for call to function MAC_MlmeAssociateReq
LCALL `??MAC_MlmeAssociateReq::?relay`; Banked call to: MAC_MlmeAssociateReq
// 265 return ( ZMacSuccess );
LJMP ?Subroutine1 & 0xFFFF
// 266 }
CFI EndBlock cfiBlock13
// 267
// 268 /********************************************************************************************************
// 269 * @fn ZMacAssociateRsp
// 270 *
// 271 * @brief Request to send an association response message.
// 272 *
// 273 * @param structure with associate response and info needed to send it.
// 274 *
// 275 * @return MAC_SUCCESS or MAC error code
// 276 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 277 uint8 ZMacAssociateRsp( ZMacAssociateRsp_t *pData )
ZMacAssociateRsp:
CFI Block cfiBlock14 Using cfiCommon0
CFI Function ZMacAssociateRsp
CODE
// 278 {
FUNCALL ZMacAssociateRsp, MAC_MlmeAssociateRsp
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 279 /* TBD: set security to zero for now. Require Ztool change */
// 280 pData->Sec.SecurityLevel = false;
LCALL ?Subroutine3 & 0xFFFF
// 281
// 282 return ( MAC_MlmeAssociateRsp( (macMlmeAssociateRsp_t *) pData ) );
??CrossCallReturnLabel_0:
; Setup parameters for call to function MAC_MlmeAssociateRsp
LCALL `??MAC_MlmeAssociateRsp::?relay`; Banked call to: MAC_MlmeAssociateRsp
LJMP ??Subroutine11_0 & 0xFFFF
// 283 }
CFI EndBlock cfiBlock14
// 284
// 285 /********************************************************************************************************
// 286 * @fn ZMacDisassociateReq
// 287 *
// 288 * @brief Request to send a disassociate request message.
// 289 *
// 290 * @param structure with info need send it.
// 291 *
// 292 * @return status
// 293 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 294 uint8 ZMacDisassociateReq( ZMacDisassociateReq_t *pData )
ZMacDisassociateReq:
CFI Block cfiBlock15 Using cfiCommon0
CFI Function ZMacDisassociateReq
CODE
// 295 {
FUNCALL ZMacDisassociateReq, MAC_MlmeDisassociateReq
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 296 /* Right now, set security to zero */
// 297 pData->Sec.SecurityLevel = false;
MOV A,R2
ADD A,#0x15
LCALL ?Subroutine6 & 0xFFFF
// 298
// 299 MAC_MlmeDisassociateReq( (macMlmeDisassociateReq_t *)pData);
??CrossCallReturnLabel_4:
; Setup parameters for call to function MAC_MlmeDisassociateReq
LCALL `??MAC_MlmeDisassociateReq::?relay`; Banked call to: MAC_MlmeDisassociateReq
// 300 return ( ZMacSuccess );
LJMP ?Subroutine1 & 0xFFFF
// 301 }
CFI EndBlock cfiBlock15
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine6:
CFI Block cfiCond16 Using cfiCommon0
CFI Function ZMacAssociateReq
CFI Conditional ??CrossCallReturnLabel_3
CFI DPL0 Frame(CFA_SP, 4)
CFI DPH0 Frame(CFA_SP, 5)
CFI CFA_SP SP+-7
CFI Block cfiCond17 Using cfiCommon0
CFI (cfiCond17) Function ZMacDisassociateReq
CFI (cfiCond17) Conditional ??CrossCallReturnLabel_4
CFI (cfiCond17) DPL0 Frame(CFA_SP, 4)
CFI (cfiCond17) DPH0 Frame(CFA_SP, 5)
CFI (cfiCond17) CFA_SP SP+-7
CFI Block cfiCond18 Using cfiCommon0
CFI (cfiCond18) Function ZMacSendNoData
CFI (cfiCond18) Conditional ??CrossCallReturnLabel_5
CFI (cfiCond18) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond18) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond18) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond18) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond18) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond18) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond18) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond18) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond18) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond18) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond18) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond18) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond18) CFA_SP SP+-2
CFI (cfiCond18) CFA_XSP16 add(XSP16, 12)
CFI Block cfiCond19 Using cfiCommon0
CFI (cfiCond19) Function ZMacSendNoData
CFI (cfiCond19) Conditional ??CrossCallReturnLabel_6
CFI (cfiCond19) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond19) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond19) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond19) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond19) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond19) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond19) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond19) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond19) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond19) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond19) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond19) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond19) CFA_SP SP+-2
CFI (cfiCond19) CFA_XSP16 add(XSP16, 12)
CFI Block cfiPicker20 Using cfiCommon1
CFI (cfiPicker20) NoFunction
CFI (cfiPicker20) Picker
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
CLR A
MOVX @DPTR,A
RET
CFI EndBlock cfiCond16
CFI EndBlock cfiCond17
CFI EndBlock cfiCond18
CFI EndBlock cfiCond19
CFI EndBlock cfiPicker20
// 302
// 303 /********************************************************************************************************
// 304 * @fn ZMacOrphanRsp
// 305 *
// 306 * @brief Allows next higher layer to respond to an orphan indication message.
// 307 *
// 308 * @param structure with info need send it.
// 309 *
// 310 * @return status
// 311 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 312 uint8 ZMacOrphanRsp( ZMacOrphanRsp_t *pData )
ZMacOrphanRsp:
CFI Block cfiBlock21 Using cfiCommon0
CFI Function ZMacOrphanRsp
CODE
// 313 {
FUNCALL ZMacOrphanRsp, MAC_MlmeOrphanRsp
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 314 /* Right now, set security to zero */
// 315 pData->Sec.SecurityLevel = false;
LCALL ?Subroutine3 & 0xFFFF
// 316
// 317 MAC_MlmeOrphanRsp( (macMlmeOrphanRsp_t *)pData);
??CrossCallReturnLabel_1:
; Setup parameters for call to function MAC_MlmeOrphanRsp
LCALL `??MAC_MlmeOrphanRsp::?relay`; Banked call to: MAC_MlmeOrphanRsp
// 318 return ( ZMacSuccess );
LJMP ?Subroutine1 & 0xFFFF
// 319 }
CFI EndBlock cfiBlock21
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine3:
CFI Block cfiCond22 Using cfiCommon0
CFI Function ZMacAssociateRsp
CFI Conditional ??CrossCallReturnLabel_0
CFI DPL0 Frame(CFA_SP, 4)
CFI DPH0 Frame(CFA_SP, 5)
CFI CFA_SP SP+-7
CFI Block cfiCond23 Using cfiCommon0
CFI (cfiCond23) Function ZMacOrphanRsp
CFI (cfiCond23) Conditional ??CrossCallReturnLabel_1
CFI (cfiCond23) DPL0 Frame(CFA_SP, 4)
CFI (cfiCond23) DPH0 Frame(CFA_SP, 5)
CFI (cfiCond23) CFA_SP SP+-7
CFI Block cfiCond24 Using cfiCommon0
CFI (cfiCond24) Function ZMacPollReq
CFI (cfiCond24) Conditional ??CrossCallReturnLabel_2
CFI (cfiCond24) DPL0 Frame(CFA_SP, 4)
CFI (cfiCond24) DPH0 Frame(CFA_SP, 5)
CFI (cfiCond24) CFA_SP SP+-7
CFI Block cfiPicker25 Using cfiCommon1
CFI (cfiPicker25) NoFunction
CFI (cfiPicker25) Picker
MOV A,R2
ADD A,#0x13
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
CLR A
MOVX @DPTR,A
RET
CFI EndBlock cfiCond22
CFI EndBlock cfiCond23
CFI EndBlock cfiCond24
CFI EndBlock cfiPicker25
// 320
// 321 /********************************************************************************************************
// 322 * @fn ZMacScanReq
// 323 *
// 324 * @brief This function is called to perform a network scan.
// 325 *
// 326 * @param param - structure with info need send it.
// 327 *
// 328 * @return status
// 329 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 330 uint8 ZMacScanReq( ZMacScanReq_t *pData )
ZMacScanReq:
CFI Block cfiBlock26 Using cfiCommon0
CFI Function ZMacScanReq
CODE
// 331 {
FUNCALL ZMacScanReq, osal_mem_alloc
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacScanReq, osal_memset
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacScanReq, MAC_MlmeScanReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacScanReq, osal_mem_alloc
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
REQUIRE ?V0
REQUIRE ?V1
MOV A,#-0xa
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 V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 10)
; Saved register size: 10
; Auto size: 0
MOV A,R2
MOV R6,A
MOV A,R3
MOV R7,A
// 332 _ScanChannels = pData->ScanChannels;
MOV DPL,R2
MOV DPH,A
LCALL ?XLOAD_R0123
MOV DPTR,#_ScanChannels
LCALL ?XSTORE_R0123
// 333
// 334 /* scan in progress */
// 335 if (ZMac_ScanBuf != NULL)
LCALL ?Subroutine4 & 0xFFFF
??CrossCallReturnLabel_11:
JZ ??ZMacScanReq_0
// 336 {
// 337 return MAC_SCAN_IN_PROGRESS;
MOV R1,#-0x4
SJMP ??ZMacScanReq_1
// 338 }
// 339
// 340 if (pData->ScanType != ZMAC_ORPHAN_SCAN)
??ZMacScanReq_0:
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
XRL A,#0x3
JZ ??ZMacScanReq_2
// 341 {
// 342 /* Allocate memory depends on the scan type */
// 343 if (pData->ScanType == ZMAC_ED_SCAN)
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
JNZ ??ZMacScanReq_3
// 344 {
// 345 if ((ZMac_ScanBuf = osal_mem_alloc(ZMAC_ED_SCAN_MAXCHANNELS)) == NULL)
; Setup parameters for call to function osal_mem_alloc
MOV R2,#0x1b
MOV R3,#0x0
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
MOV ?V1,R3
MOV R1,?V1
MOV DPTR,#ZMac_ScanBuf
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
MOV A,R2
ORL A,R1
JZ ??ZMacScanReq_4
// 346 {
// 347 return MAC_NO_RESOURCES;
// 348 }
// 349 osal_memset(ZMac_ScanBuf, 0, ZMAC_ED_SCAN_MAXCHANNELS);
; Setup parameters for call to function osal_memset
MOV R4,#0x1b
MOV R5,#0x0
MOV R1,#0x0
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
// 350 pData->Result.pEnergyDetect = ((uint8*)ZMac_ScanBuf) + MAC_CHAN_11;
MOV DPTR,#ZMac_ScanBuf
MOVX A,@DPTR
ADD A,#0xb
MOV R0,A
INC DPTR
MOVX A,@DPTR
ADDC A,#0x0
MOV R1,A
LCALL ?Subroutine7 & 0xFFFF
// 351 }
??CrossCallReturnLabel_7:
MOV A,R0
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
// 352 else if (pData->MaxResults > 0)
// 353 {
// 354 if ((ZMac_ScanBuf = pData->Result.pPanDescriptor =
// 355 osal_mem_alloc( sizeof( ZMacPanDesc_t ) * pData->MaxResults )) == NULL)
// 356 {
// 357 return MAC_NO_RESOURCES;
// 358 }
// 359 }
// 360 }
// 361
// 362 /* Channel Page */
// 363 pData->ChannelPage = 0x00;
??ZMacScanReq_2:
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
CLR A
MOVX @DPTR,A
// 364
// 365 MAC_MlmeScanReq ((macMlmeScanReq_t *)pData);
; Setup parameters for call to function MAC_MlmeScanReq
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
LCALL `??MAC_MlmeScanReq::?relay`; Banked call to: MAC_MlmeScanReq
// 366
// 367 return ZMacSuccess;
MOV R1,#0x0
??ZMacScanReq_1:
MOV R7,#0x2
LJMP ?BANKED_LEAVE_XDATA
??ZMacScanReq_3:
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
JZ ??ZMacScanReq_2
; Setup parameters for call to function osal_mem_alloc
MOV B,#0x21
MUL AB
MOV R2,A
MOV R3,B
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
MOV ?V1,R3
MOV R1,?V1
LCALL ?Subroutine7 & 0xFFFF
??CrossCallReturnLabel_8:
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
MOV DPTR,#ZMac_ScanBuf
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
MOV A,R2
ORL A,R1
JNZ ??ZMacScanReq_2
??ZMacScanReq_4:
MOV R1,#0x1a
SJMP ??ZMacScanReq_1
// 368 }
CFI EndBlock cfiBlock26
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine7:
CFI Block cfiCond27 Using cfiCommon0
CFI Function ZMacScanReq
CFI Conditional ??CrossCallReturnLabel_7
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 10)
CFI Block cfiCond28 Using cfiCommon0
CFI (cfiCond28) Function ZMacScanReq
CFI (cfiCond28) Conditional ??CrossCallReturnLabel_8
CFI (cfiCond28) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond28) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond28) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond28) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond28) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond28) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond28) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond28) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond28) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond28) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond28) CFA_SP SP+-2
CFI (cfiCond28) CFA_XSP16 add(XSP16, 10)
CFI Block cfiPicker29 Using cfiCommon1
CFI (cfiPicker29) NoFunction
CFI (cfiPicker29) Picker
MOV A,R6
ADD A,#0x13
MOV DPL,A
CLR A
ADDC A,R7
MOV DPH,A
RET
CFI EndBlock cfiCond27
CFI EndBlock cfiCond28
CFI EndBlock cfiPicker29
// 369
// 370
// 371 /********************************************************************************************************
// 372 * @fn ZMacStartReq
// 373 *
// 374 * @brief This function is called to tell the MAC to transmit beacons
// 375 * and become a coordinator.
// 376 *
// 377 * @param structure with info need send it.
// 378 *
// 379 * @return status
// 380 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 381 uint8 ZMacStartReq( ZMacStartReq_t *pData )
ZMacStartReq:
CFI Block cfiBlock30 Using cfiCommon0
CFI Function ZMacStartReq
CODE
// 382 {
FUNCALL ZMacStartReq, MAC_MlmeSetReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacStartReq, MAC_MlmeStartReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 10, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 10, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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: 1
MOV A,#-0x1
LCALL ?ALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 10)
MOV A,R2
MOV R6,A
MOV A,R3
MOV R7,A
// 383 uint8 stat;
// 384
// 385 // Probably want to keep the receiver on
// 386 stat = true;
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV A,#0x1
MOVX @DPTR,A
// 387 MAC_MlmeSetReq( MAC_RX_ON_WHEN_IDLE, &stat );
; Setup parameters for call to function MAC_MlmeSetReq
MOV R2,?XSP + 0
MOV R3,?XSP + 1
MOV R1,#0x52
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
// 388
// 389 /* Right now, set security to zero */
// 390 pData->RealignSec.SecurityLevel = false;
MOV A,R6
ADD A,#0x15
MOV DPL,A
CLR A
ADDC A,R7
MOV DPH,A
CLR A
MOVX @DPTR,A
// 391 pData->BeaconSec.SecurityLevel = false;
MOV A,R6
ADD A,#0x20
MOV DPL,A
CLR A
ADDC A,R7
MOV DPH,A
CLR A
MOVX @DPTR,A
// 392
// 393
// 394 MAC_MlmeStartReq((macMlmeStartReq_t *) pData);
; Setup parameters for call to function MAC_MlmeStartReq
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
LCALL `??MAC_MlmeStartReq::?relay`; Banked call to: MAC_MlmeStartReq
// 395
// 396 // MAC does not issue mlmeStartConfirm(), so we have to
// 397 // mlmeStartConfirm( stat ); This needs to be addressed some how
// 398
// 399 return ZMacSuccess;
MOV R1,#0x0
LJMP ?Subroutine0 & 0xFFFF
// 400 }
CFI EndBlock cfiBlock30
// 401
// 402 /********************************************************************************************************
// 403 * @fn ZMacSyncReq
// 404 *
// 405 * @brief This function is called to request a sync to the current
// 406 * networks beacons.
// 407 *
// 408 * @param LogicalChannel -
// 409 * @param TrackBeacon - true/false
// 410 *
// 411 * @return status
// 412 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 413 uint8 ZMacSyncReq( ZMacSyncReq_t *pData )
ZMacSyncReq:
CFI Block cfiBlock31 Using cfiCommon0
CFI Function ZMacSyncReq
CODE
// 414 {
FUNCALL ZMacSyncReq, MAC_MlmeSyncReq
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 415 MAC_MlmeSyncReq( (macMlmeSyncReq_t *)pData);
; Setup parameters for call to function MAC_MlmeSyncReq
LCALL `??MAC_MlmeSyncReq::?relay`; Banked call to: MAC_MlmeSyncReq
// 416 return ZMacSuccess;
LJMP ?Subroutine1 & 0xFFFF
// 417 }
CFI EndBlock cfiBlock31
// 418
// 419 /********************************************************************************************************
// 420 * @fn ZMacPollReq
// 421 *
// 422 * @brief This function is called to request MAC data request poll.
// 423 *
// 424 * @param coordAddr -
// 425 * @param coordPanId -
// 426 * @param SecurityEnable - true or false.
// 427 *
// 428 * @return status
// 429 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 430 uint8 ZMacPollReq( ZMacPollReq_t *pData )
ZMacPollReq:
CFI Block cfiBlock32 Using cfiCommon0
CFI Function ZMacPollReq
CODE
// 431 {
FUNCALL ZMacPollReq, MAC_MlmePollReq
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 432 /* Right now, set security to zero */
// 433 pData->Sec.SecurityLevel = false;
LCALL ?Subroutine3 & 0xFFFF
// 434
// 435 MAC_MlmePollReq ((macMlmePollReq_t *)pData);
??CrossCallReturnLabel_2:
; Setup parameters for call to function MAC_MlmePollReq
LCALL `??MAC_MlmePollReq::?relay`; Banked call to: MAC_MlmePollReq
// 436 return ( ZMacSuccess );
LJMP ?Subroutine1 & 0xFFFF
// 437 }
CFI EndBlock cfiBlock32
// 438
// 439 /********************************************************************************************************
// 440 * @fn ZMacDataReqSec
// 441 *
// 442 * @brief Send a MAC Data Frame packet, calls the passed in function to apply non-MAC security
// 443 * on the MAC data field after the MAC buffer allocation.
// 444 *
// 445 * @param pData - structure containing data and where to send it.
// 446 * @param secCB - callback function to apply security, NULL indicates no security
// 447 *
// 448 * @return status
// 449 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 450 uint8 ZMacDataReqSec( ZMacDataReq_t *pData, applySecCB_t secCB )
ZMacDataReqSec:
CFI Block cfiBlock33 Using cfiCommon0
CFI Function ZMacDataReqSec
CODE
// 451 {
FUNCALL ZMacDataReqSec, MAC_McpsDataAlloc
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 16, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 16, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacDataReqSec, osal_memcpy
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 19, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 19, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacDataReqSec, osal_memcpy
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 19, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 19, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacDataReqSec, osal_memcpy
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 19, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 19, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacDataReqSec, osal_msg_deallocate
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 16, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 16, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacDataReqSec, MAC_McpsDataReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 16, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 16, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
REQUIRE ?V0
REQUIRE ?V1
REQUIRE ?V2
REQUIRE ?V4
REQUIRE ?V5
REQUIRE ?V6
REQUIRE ?V7
MOV A,#-0x10
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 V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 16)
; Saved register size: 16
; Auto size: 0
MOV ?V4,R2
MOV ?V5,R3
MOV ?V6,R4
MOV ?V7,R5
// 452 macMcpsDataReq_t *pBuf;
// 453
// 454 /* Allocate memory */
// 455 pBuf = MAC_McpsDataAlloc( pData->msduLength, pData->Sec.SecurityLevel, pData->Sec.KeyIdMode );
; Setup parameters for call to function MAC_McpsDataAlloc
MOV A,R2
ADD A,#0x19
LCALL ??Subroutine10_0 & 0xFFFF
??CrossCallReturnLabel_12:
MOV R3,A
MOV A,R2
ADD A,#0x18
LCALL ??Subroutine10_0 & 0xFFFF
??CrossCallReturnLabel_13:
MOV R2,A
LCALL ?Subroutine5 & 0xFFFF
??CrossCallReturnLabel_15:
MOV R1,A
LCALL `??MAC_McpsDataAlloc::?relay`; Banked call to: MAC_McpsDataAlloc
MOV ?V0,R2
MOV ?V1,R3
MOV R6,?V0
MOV R7,?V1
// 456
// 457 if ( pBuf )
MOV A,R2
ORL A,R7
JNZ $+5
LJMP ??ZMacDataReqSec_0 & 0xFFFF
// 458 {
// 459 /* Copy the addresses */
// 460 osal_memcpy( &pBuf->mac, pData, sizeof (macDataReq_t) );
; Setup parameters for call to function osal_memcpy
MOV ?V0,?V4
MOV ?V1,?V5
MOV ?V2,#0x0
MOV R0,#?V0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 19)
MOV R4,#0x10
MOV R5,#0x0
MOV A,R2
ADD A,#0x22
MOV R2,A
CLR A
ADDC A,R7
MOV R3,A
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 16)
// 461
// 462 /* Copy data */
// 463 osal_memcpy( pBuf->msdu.p, pData->msdu, pData->msduLength );
; Setup parameters for call to function osal_memcpy
MOV A,?V4
ADD A,#0x1c
LCALL ??Subroutine10_0 & 0xFFFF
??CrossCallReturnLabel_14:
MOV ?V0,A
INC DPTR
MOVX A,@DPTR
MOV ?V1,A
MOV R0,#?V0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 19)
LCALL ?Subroutine5 & 0xFFFF
??CrossCallReturnLabel_16:
MOV R4,A
MOV R5,#0x0
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 16)
// 464
// 465 /* Copy Security parameters */
// 466 osal_memcpy( &pBuf->sec, &pData->Sec, sizeof (macSec_t));
; Setup parameters for call to function osal_memcpy
MOV A,?V4
ADD A,#0x10
MOV ?V0,A
CLR A
ADDC A,?V5
MOV ?V1,A
MOV R0,#?V0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 19)
MOV R4,#0xb
MOV R5,#0x0
MOV A,R6
ADD A,#0x17
MOV R2,A
CLR A
ADDC A,R7
MOV R3,A
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 16)
// 467
// 468 /* Encrypt in place */
// 469 if ( secCB && pBuf->msdu.len && pBuf->msdu.p )
MOV A,?V6
ORL A,?V7
JZ ??ZMacDataReqSec_1
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
JZ ??ZMacDataReqSec_1
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
LCALL ??Subroutine8_0 & 0xFFFF
??CrossCallReturnLabel_9:
JZ ??ZMacDataReqSec_1
// 470 {
// 471 if ( secCB( pBuf->msdu.len, pBuf->msdu.p ) != ZSuccess )
; Setup parameters for indirect call
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPL,?V6
MOV DPH,?V7
LCALL ?CALL_IND
MOV A,R1
JZ ??ZMacDataReqSec_1
// 472 {
// 473 // Deallocate the buffer. MAC_McpsDataAlloc() calls osal_msg_allocate() and
// 474 // returns the same pointer.
// 475 osal_msg_deallocate( (uint8 *)pBuf );
; Setup parameters for call to function osal_msg_deallocate
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
LCALL `??osal_msg_deallocate::?relay`; Banked call to: osal_msg_deallocate
// 476
// 477 return ( MAC_NO_RESOURCES );
SJMP ??ZMacDataReqSec_0
// 478 }
// 479 }
// 480
// 481 /* Call Mac Data Request */
// 482 MAC_McpsDataReq( pBuf );
??ZMacDataReqSec_1:
; Setup parameters for call to function MAC_McpsDataReq
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
LCALL `??MAC_McpsDataReq::?relay`; Banked call to: MAC_McpsDataReq
// 483
// 484 return ( ZMacSuccess );
MOV R1,#0x0
SJMP ??ZMacDataReqSec_2
// 485 }
// 486
// 487 return ( MAC_NO_RESOURCES );
??ZMacDataReqSec_0:
MOV R1,#0x1a
??ZMacDataReqSec_2:
MOV R7,#0x8
LJMP ?BANKED_LEAVE_XDATA
// 488 }
CFI EndBlock cfiBlock33
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine5:
CFI Block cfiCond34 Using cfiCommon0
CFI Function ZMacDataReqSec
CFI Conditional ??CrossCallReturnLabel_15
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 16)
CFI Block cfiCond35 Using cfiCommon0
CFI (cfiCond35) Function ZMacDataReqSec
CFI (cfiCond35) Conditional ??CrossCallReturnLabel_16
CFI (cfiCond35) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI (cfiCond35) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI (cfiCond35) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond35) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond35) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond35) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond35) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond35) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond35) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond35) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond35) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond35) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond35) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond35) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond35) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond35) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond35) CFA_SP SP+-2
CFI (cfiCond35) CFA_XSP16 add(XSP16, 19)
CFI Block cfiPicker36 Using cfiCommon1
CFI (cfiPicker36) NoFunction
CFI (cfiPicker36) Picker
MOV A,?V4
ADD A,#0x1b
CFI EndBlock cfiCond34
CFI EndBlock cfiCond35
CFI EndBlock cfiPicker36
REQUIRE ??Subroutine10_0
; // Fall through to label ??Subroutine10_0
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
??Subroutine10_0:
CFI Block cfiCond37 Using cfiCommon0
CFI Function ZMacDataReqSec
CFI Conditional ??CrossCallReturnLabel_12
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 16)
CFI Block cfiCond38 Using cfiCommon0
CFI (cfiCond38) Function ZMacDataReqSec
CFI (cfiCond38) Conditional ??CrossCallReturnLabel_13
CFI (cfiCond38) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI (cfiCond38) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI (cfiCond38) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond38) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond38) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond38) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond38) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond38) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond38) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond38) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond38) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond38) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond38) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond38) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond38) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond38) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond38) CFA_SP SP+-2
CFI (cfiCond38) CFA_XSP16 add(XSP16, 16)
CFI Block cfiCond39 Using cfiCommon0
CFI (cfiCond39) Function ZMacDataReqSec
CFI (cfiCond39) Conditional ??CrossCallReturnLabel_14
CFI (cfiCond39) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI (cfiCond39) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI (cfiCond39) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond39) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond39) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond39) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond39) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond39) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond39) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond39) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond39) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond39) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond39) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond39) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond39) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond39) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond39) CFA_SP SP+-2
CFI (cfiCond39) CFA_XSP16 add(XSP16, 16)
CFI Block cfiCond40 Using cfiCommon0
CFI (cfiCond40) Function ZMacDataReqSec
CFI (cfiCond40) Conditional ??CrossCallReturnLabel_15
CFI (cfiCond40) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI (cfiCond40) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI (cfiCond40) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond40) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond40) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond40) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond40) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond40) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond40) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond40) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond40) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond40) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond40) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond40) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond40) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond40) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond40) CFA_SP SP+-2
CFI (cfiCond40) CFA_XSP16 add(XSP16, 16)
CFI Block cfiCond41 Using cfiCommon0
CFI (cfiCond41) Function ZMacDataReqSec
CFI (cfiCond41) Conditional ??CrossCallReturnLabel_16
CFI (cfiCond41) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
CFI (cfiCond41) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
CFI (cfiCond41) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond41) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond41) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond41) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond41) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond41) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond41) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond41) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond41) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond41) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond41) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond41) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond41) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond41) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond41) CFA_SP SP+-2
CFI (cfiCond41) CFA_XSP16 add(XSP16, 19)
CFI Block cfiPicker42 Using cfiCommon1
CFI (cfiPicker42) NoFunction
CFI (cfiPicker42) Picker
MOV DPL,A
CLR A
ADDC A,?V5
MOV DPH,A
MOVX A,@DPTR
RET
CFI EndBlock cfiCond37
CFI EndBlock cfiCond38
CFI EndBlock cfiCond39
CFI EndBlock cfiCond40
CFI EndBlock cfiCond41
CFI EndBlock cfiPicker42
// 489
// 490 /********************************************************************************************************
// 491 * @fn ZMacDataReq
// 492 *
// 493 * @brief Send a MAC Data Frame packet.
// 494 *
// 495 * @param structure containing data and where to send it.
// 496 *
// 497 * @return status
// 498 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 499 uint8 ZMacDataReq( ZMacDataReq_t *pData )
ZMacDataReq:
CFI Block cfiBlock43 Using cfiCommon0
CFI Function ZMacDataReq
CODE
// 500 {
FUNCALL ZMacDataReq, ZMacDataReqSec
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 501 return ZMacDataReqSec( pData, NULL );
; Setup parameters for call to function ZMacDataReqSec
MOV R4,#0x0
MOV R5,#0x0
LCALL `??ZMacDataReqSec::?relay`; Banked call to: ZMacDataReqSec
SJMP ??Subroutine11_0
// 502 }
CFI EndBlock cfiBlock43
// 503
// 504 /********************************************************************************************************
// 505 * @fn ZMacPurgeReq
// 506 *
// 507 * @brief Purge a MAC Data Frame packet.
// 508 *
// 509 * @param MSDU data handle.
// 510 *
// 511 * @return status
// 512 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 513 uint8 ZMacPurgeReq( byte Handle )
ZMacPurgeReq:
CFI Block cfiBlock44 Using cfiCommon0
CFI Function ZMacPurgeReq
CODE
// 514 {
FUNCALL ZMacPurgeReq, MAC_McpsPurgeReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 515 MAC_McpsPurgeReq( Handle );
; Setup parameters for call to function MAC_McpsPurgeReq
LCALL `??MAC_McpsPurgeReq::?relay`; Banked call to: MAC_McpsPurgeReq
// 516 return ZMacSuccess;
CFI EndBlock cfiBlock44
REQUIRE ?Subroutine2
; // Fall through to label ?Subroutine2
// 517 }
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine2:
CFI Block cfiBlock45 Using cfiCommon0
CFI NoFunction
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 9)
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
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)))
MOV R1,#0x0
LJMP ??Subroutine9_0 & 0xFFFF
CFI EndBlock cfiBlock45
// 518
// 519 /********************************************************************************************************
// 520 * @fn ZMacSrcMatchEnable
// 521 *
// 522 * @brief This function is call to enable AUTOPEND and source address matching.
// 523 *
// 524 * @param addressType - address type that the application uses
// 525 * SADDR_MODE_SHORT or SADDR_MODE_EXT.
// 526 * numEntries - number of source address table entries to be used
// 527 *
// 528 * @return status
// 529 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 530 ZMacStatus_t ZMacSrcMatchEnable (uint8 addrType, uint8 numEntries)
ZMacSrcMatchEnable:
CFI Block cfiBlock46 Using cfiCommon0
CFI Function ZMacSrcMatchEnable
CODE
// 531 {
FUNCALL ZMacSrcMatchEnable, MAC_SrcMatchEnable
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 532 return (MAC_SrcMatchEnable(addrType, numEntries));
; Setup parameters for call to function MAC_SrcMatchEnable
LCALL `??MAC_SrcMatchEnable::?relay`; Banked call to: MAC_SrcMatchEnable
LJMP ??Subroutine9_0 & 0xFFFF
// 533 }
CFI EndBlock cfiBlock46
// 534
// 535 /********************************************************************************************************
// 536 * @fn ZMacSrcMatchAddEntry
// 537 *
// 538 * @brief This function is called to add a short or extended address to source address table.
// 539 *
// 540 * @param addr - a pointer to sAddr_t which contains addrMode
// 541 * and a union of a short 16-bit MAC address or an extended
// 542 * 64-bit MAC address to be added to the source address table.
// 543 * panID - the device PAN ID. It is only used when the addr is
// 544 * using short address
// 545 *
// 546 * @return status
// 547 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 548 ZMacStatus_t ZMacSrcMatchAddEntry (zAddrType_t *addr, uint16 panID)
ZMacSrcMatchAddEntry:
CFI Block cfiBlock47 Using cfiCommon0
CFI Function ZMacSrcMatchAddEntry
CODE
// 549 {
FUNCALL ZMacSrcMatchAddEntry, MAC_SrcMatchAddEntry
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 550 return (MAC_SrcMatchAddEntry ((sAddr_t*)addr, panID));
; Setup parameters for call to function MAC_SrcMatchAddEntry
LCALL `??MAC_SrcMatchAddEntry::?relay`; Banked call to: MAC_SrcMatchAddEntry
SJMP ??Subroutine11_0
// 551 }
CFI EndBlock cfiBlock47
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine1:
CFI Block cfiBlock48 Using cfiCommon0
CFI NoFunction
CFI CFA_SP SP+-5
CFI DPL0 Frame(CFA_SP, 4)
CFI DPH0 Frame(CFA_SP, 5)
MOV R1,#0x0
CFI EndBlock cfiBlock48
REQUIRE ??Subroutine11_0
; // Fall through to label ??Subroutine11_0
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
??Subroutine11_0:
CFI Block cfiBlock49 Using cfiCommon0
CFI NoFunction
CFI CFA_SP SP+-5
CFI DPL0 Frame(CFA_SP, 4)
CFI DPH0 Frame(CFA_SP, 5)
POP DPH
CFI CFA_SP SP+-4
CFI DPH0 SameValue
POP DPL
CFI CFA_SP SP+-3
CFI DPL0 SameValue
LJMP ?BRET
CFI EndBlock cfiBlock49
// 552
// 553 /********************************************************************************************************
// 554 * @fn ZMacSrcMatchDeleteEntry
// 555 *
// 556 * @brief This function is called to delete a short or extended address from source address table.
// 557 *
// 558 * @param addr - a pointer to sAddr_t which contains addrMode
// 559 * and a union of a short 16-bit MAC address or an extended
// 560 * 64-bit MAC address to be added to the source address table.
// 561 * panID - the device PAN ID. It is only used when the addr is
// 562 * using short address
// 563 *
// 564 * @return status
// 565 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 566 ZMacStatus_t ZMacSrcMatchDeleteEntry (zAddrType_t *addr, uint16 panID)
ZMacSrcMatchDeleteEntry:
CFI Block cfiBlock50 Using cfiCommon0
CFI Function ZMacSrcMatchDeleteEntry
CODE
// 567 {
FUNCALL ZMacSrcMatchDeleteEntry, MAC_SrcMatchDeleteEntry
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 568 return (MAC_SrcMatchDeleteEntry ((sAddr_t*)addr, panID));
; Setup parameters for call to function MAC_SrcMatchDeleteEntry
LCALL `??MAC_SrcMatchDeleteEntry::?relay`; Banked call to: MAC_SrcMatchDeleteEntry
SJMP ??Subroutine11_0
// 569 }
CFI EndBlock cfiBlock50
// 570
// 571 /********************************************************************************************************
// 572 * @fn ZMacSrcMatchAckAllPending
// 573 *
// 574 * @brief Enabled/disable acknowledging all packets with pending bit set
// 575 * It is normally enabled when adding new entries to
// 576 * the source address table fails due to the table is full, or
// 577 * disabled when more entries are deleted and the table has
// 578 * empty slots.
// 579 *
// 580 * @param option - true (acknowledging all packets with pending field set)
// 581 * false (acknowledging all packets with pending field cleared)
// 582 *
// 583 * @return status
// 584 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 585 ZMacStatus_t ZMacSrcMatchAckAllPending (uint8 option)
ZMacSrcMatchAckAllPending:
CFI Block cfiBlock51 Using cfiCommon0
CFI Function ZMacSrcMatchAckAllPending
CODE
// 586 {
FUNCALL ZMacSrcMatchAckAllPending, MAC_SrcMatchAckAllPending
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 9, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 9, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 587 MAC_SrcMatchAckAllPending (option);
; Setup parameters for call to function MAC_SrcMatchAckAllPending
LCALL `??MAC_SrcMatchAckAllPending::?relay`; Banked call to: MAC_SrcMatchAckAllPending
// 588
// 589 return ZMacSuccess;
SJMP ?Subroutine2
// 590 }
CFI EndBlock cfiBlock51
// 591
// 592 /********************************************************************************************************
// 593 * @fn ZMacSrcMatchCheckAllPending
// 594 *
// 595 * @brief This function is called to check if acknowledging all packets with pending bit set is enabled.
// 596 *
// 597 * @param none
// 598 *
// 599 * @return status
// 600 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 601 ZMacStatus_t ZMacSrcMatchCheckAllPending (void)
ZMacSrcMatchCheckAllPending:
CFI Block cfiBlock52 Using cfiCommon0
CFI Function ZMacSrcMatchCheckAllPending
CODE
// 602 {
FUNCALL ZMacSrcMatchCheckAllPending, MAC_SrcMatchCheckAllPending
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 603 return (MAC_SrcMatchCheckAllPending ());
; Setup parameters for call to function MAC_SrcMatchCheckAllPending
LCALL `??MAC_SrcMatchCheckAllPending::?relay`; Banked call to: MAC_SrcMatchCheckAllPending
SJMP ??Subroutine11_0
// 604 }
CFI EndBlock cfiBlock52
// 605
// 606 /********************************************************************************************************
// 607 * @fn - ZMACPwrOnReq
// 608 *
// 609 * @brief - This function requests the MAC to power on the radio hardware
// 610 * and wake up. When the power on procedure is complete the MAC
// 611 * will send a MAC_PWR_ON_CNF to the application.
// 612 *
// 613 * @input - None.
// 614 *
// 615 * @output - None.
// 616 *
// 617 * @return - None.
// 618 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 619 void ZMacPwrOnReq ( void )
ZMacPwrOnReq:
CFI Block cfiBlock53 Using cfiCommon0
CFI Function ZMacPwrOnReq
CODE
// 620 {
FUNCALL ZMacPwrOnReq, MAC_PwrOnReq
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 621 MAC_PwrOnReq();
; Setup parameters for call to function MAC_PwrOnReq
LCALL `??MAC_PwrOnReq::?relay`; Banked call to: MAC_PwrOnReq
// 622 }
SJMP ??Subroutine11_0
CFI EndBlock cfiBlock53
// 623
// 624 /********************************************************************************************************
// 625 * @fn MAC_PwrMode
// 626 *
// 627 * @brief This function returns the current power mode of the MAC.
// 628 *
// 629 * input parameters
// 630 *
// 631 * None.
// 632 *
// 633 * output parameters
// 634 *
// 635 * None.
// 636 *
// 637 * @return The current power mode of the MAC.
// 638 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 639 uint8 ZMac_PwrMode(void)
ZMac_PwrMode:
CFI Block cfiBlock54 Using cfiCommon0
CFI Function ZMac_PwrMode
CODE
// 640 {
FUNCALL ZMac_PwrMode, MAC_PwrMode
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 641 return (MAC_PwrMode());
; Setup parameters for call to function MAC_PwrMode
LCALL `??MAC_PwrMode::?relay`; Banked call to: MAC_PwrMode
SJMP ??Subroutine11_0
// 642 }
CFI EndBlock cfiBlock54
// 643
// 644 /********************************************************************************************************
// 645 * @fn ZMacSetTransmitPower
// 646 *
// 647 * @brief Set the transmitter power according to the level setting param.
// 648 *
// 649 * @param Valid power level setting as defined in ZMAC.h.
// 650 *
// 651 * @return ZMacSuccess if PHY_TRANSMIT_POWER found or ZMacUnsupportedAttribute.
// 652 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 653 uint8 ZMacSetTransmitPower( ZMacTransmitPower_t level )
ZMacSetTransmitPower:
CFI Block cfiBlock55 Using cfiCommon0
CFI Function ZMacSetTransmitPower
CODE
// 654 {
FUNCALL ZMacSetTransmitPower, MAC_MlmeSetReq
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 1, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 1, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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: 1
MOV A,#-0x1
LCALL ?ALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 1)
MOV A,R1
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOVX @DPTR,A
// 655 return MAC_MlmeSetReq( ZMacPhyTransmitPowerSigned, &level );
; Setup parameters for call to function MAC_MlmeSetReq
MOV R2,?XSP + 0
MOV R3,?XSP + 1
MOV R1,#-0x1b
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
MOV A,#0x1
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 XSP16+0
SJMP ??Subroutine11_0
// 656 }
CFI EndBlock cfiBlock55
// 657
// 658 /********************************************************************************************************
// 659 * @fn ZMacSendNoData
// 660 *
// 661 * @brief This function sends an empty msg
// 662 *
// 663 * @param DstAddr - destination short address
// 664 * DstPANId - destination pan id
// 665 *
// 666 * @return None
// 667 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 668 void ZMacSendNoData ( uint16 DstAddr, uint16 DstPANId )
ZMacSendNoData:
CFI Block cfiBlock56 Using cfiCommon0
CFI Function ZMacSendNoData
CODE
// 669 {
FUNCALL ZMacSendNoData, MAC_McpsDataAlloc
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 12, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 12, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL ZMacSendNoData, MAC_McpsDataReq
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 12, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 12, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
REQUIRE ?V0
REQUIRE ?V1
REQUIRE ?V2
REQUIRE ?V3
MOV A,#-0xc
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 V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 12)
; Saved register size: 12
; Auto size: 0
MOV ?V0,R2
MOV ?V1,R3
MOV A,R4
MOV R6,A
MOV A,R5
MOV R7,A
// 670 macMcpsDataReq_t *pBuf;
// 671
// 672 /* Allocate memory */
// 673 pBuf = MAC_McpsDataAlloc(0, MAC_SEC_LEVEL_NONE, MAC_KEY_ID_MODE_NONE);
; Setup parameters for call to function MAC_McpsDataAlloc
MOV R3,#0x0
MOV R2,#0x0
MOV R1,#0x0
LCALL `??MAC_McpsDataAlloc::?relay`; Banked call to: MAC_McpsDataAlloc
// 674
// 675 if (pBuf)
MOV A,R2
ORL A,R3
JZ ??ZMacSendNoData_0
// 676 {
// 677 /* Fill in src information */
// 678 pBuf->mac.srcAddrMode = SADDR_MODE_SHORT;
MOV A,R2
ADD A,#0x2d
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
MOV A,#0x2
MOVX @DPTR,A
// 679
// 680 /* Fill in dst information */
// 681 pBuf->mac.dstAddr.addr.shortAddr = DstAddr;
MOV A,R2
ADD A,#0x22
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
MOV A,?V0
MOVX @DPTR,A
INC DPTR
MOV A,?V1
MOVX @DPTR,A
// 682 pBuf->mac.dstAddr.addrMode = SADDR_MODE_SHORT;
MOV A,R2
ADD A,#0x2a
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
MOV A,#0x2
MOVX @DPTR,A
// 683 pBuf->mac.dstPanId = DstPANId;
MOV A,R2
ADD A,#0x2b
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
// 684
// 685 /* Misc information */
// 686 pBuf->mac.msduHandle = 0;
MOV A,R2
ADD A,#0x2e
LCALL ?Subroutine6 & 0xFFFF
// 687 pBuf->mac.txOptions = ZMAC_TXOPTION_ACK | ZMAC_TXOPTION_NO_RETRANS | ZMAC_TXOPTION_NO_CNF;
??CrossCallReturnLabel_5:
MOV A,R2
ADD A,#0x2f
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
MOV A,#0x31
MOVX @DPTR,A
// 688
// 689 /* Right now, set security to zero */
// 690 pBuf->sec.securityLevel = false;
MOV A,R2
ADD A,#0x1f
LCALL ?Subroutine6 & 0xFFFF
// 691
// 692 /* Call Mac Data Request */
// 693 MAC_McpsDataReq(pBuf);
??CrossCallReturnLabel_6:
; Setup parameters for call to function MAC_McpsDataReq
LCALL `??MAC_McpsDataReq::?relay`; Banked call to: MAC_McpsDataReq
// 694 }
// 695
// 696 }
??ZMacSendNoData_0:
MOV R7,#0x4
LJMP ?BANKED_LEAVE_XDATA
CFI EndBlock cfiBlock56
// 697
// 698 /********************************************************************************************************
// 699 * @fn ZMacStateIdle
// 700 *
// 701 * @brief This function returns true if the MAC state is idle.
// 702 *
// 703 * @param none
// 704 *
// 705 * @return TRUE if the MAC state is idle, FALSE otherwise.
// 706 ********************************************************************************************************/
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 707 uint8 ZMacStateIdle( void )
ZMacStateIdle:
CFI Block cfiBlock57 Using cfiCommon0
CFI Function ZMacStateIdle
CODE
// 708 {
FUNCALL ZMacStateIdle, macStateIdle
LOCFRAME ISTACK, 2, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 0, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 2, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 0, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
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
// 709 return macStateIdle();
; Setup parameters for call to function macStateIdle
LCALL `??macStateIdle::?relay`; Banked call to: macStateIdle
LJMP ??Subroutine11_0 & 0xFFFF
// 710 }
CFI EndBlock cfiBlock57
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacInit::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacInit
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacReset::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacReset
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacGetReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacGetReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSetReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSetReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacAssociateReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacAssociateReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacAssociateRsp::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacAssociateRsp
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacDisassociateReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacDisassociateReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacOrphanRsp::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacOrphanRsp
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacScanReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacScanReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacStartReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacStartReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSyncReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSyncReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacPollReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacPollReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacDataReqSec::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacDataReqSec
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacDataReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacDataReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacPurgeReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacPurgeReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSrcMatchEnable::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSrcMatchEnable
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSrcMatchAddEntry::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSrcMatchAddEntry
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSrcMatchDeleteEntry::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSrcMatchDeleteEntry
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSrcMatchAckAllPending::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSrcMatchAckAllPending
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSrcMatchCheckAllPending::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSrcMatchCheckAllPending
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacPwrOnReq::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacPwrOnReq
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMac_PwrMode::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMac_PwrMode
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSetTransmitPower::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSetTransmitPower
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacSendNoData::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacSendNoData
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??ZMacStateIdle::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 ZMacStateIdle
END
//
// 1 063 bytes in segment BANKED_CODE
// 150 bytes in segment BANK_RELAYS
// 6 bytes in segment XDATA_Z
//
// 150 bytes of CODE memory
// 1 063 bytes of HUGECODE memory
// 6 bytes of XDATA memory
//
//Errors: none
//Warnings: none