///////////////////////////////////////////////////////////////////////////////
//                                                                            /
// IAR 8051 C/C++ Compiler V7.30B/W32                   12/Jun/2010  16:11:10 /
// Copyright 2004-2007 IAR Systems. All rights reserved.                      /
//                                                                            /
//    Core               =  plain                                             /
//    Code model         =  banked                                            /
//    Data model         =  large                                             /
//    Calling convention =  xdata reentrant                                   /
//    Constant location  =  data                                              /
//    Dptr setup         =  1,16                                              /
//    Source file        =  C:\Texas Instruments\ZStack-1.4.3-1.2.1\Component /
//                          s\stack\zdo\ZDProfile.c                           /
//    Command line       =  -f "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Proje /
//                          cts\zstack\Samples\Location\CC2430DB\..\..\..\Too /
//                          ls\CC2430DB\f8wRouter.cfg" (-DCPU32MHZ            /
//                          -DFORCE_MAC_NEAR -DROOT=__near_func               /
//                          -DMAC_CFG_APP_PENDING_QUEUE=TRUE -DRTR_NWK        /
//                          -DBLINK_LEDS "-DCONST=const __code"               /
//                          -DGENERIC=__generic) -f "C:\Texas                 /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\Tools\CC2430DB\f /
//                          8wConfig.cfg" (-DSECURE=1                         /
//                          -DDEFAULT_CHANLIST=0x04000000                     /
//                          -DZDAPP_CONFIG_PAN_ID=0x00FF                      /
//                          -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M /
//                          ASK=0x007F -DBEACON_REQUEST_DELAY=100             /
//                          -DBEACON_REQ_DELAY_MASK=0x00FF                    /
//                          -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P /
//                          OLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7           /
//                          -DMAX_RREQ_ENTRIES=10 -DAPSC_MAX_FRAME_RETRIES=3  /
//                          -DNWK_MAX_DATA_RETRIES=2                          /
//                          -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9        /
//                          -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=20          /
//                          -DNWK_MAX_BINDING_ENTRIES=10                      /
//                          -DMAX_BINDING_CLUSTER_IDS=5                       /
//                          "-DDEFAULT_KEY={0x02, 0x03, 0x05, 0x07, 0x09,     /
//                          0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08,   /
//                          0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE     /
//                          -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100           /
//                          -DRESPONSE_POLL_RATE=100) -DREJOIN_POLL_RATE=440  /
//                          "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Componen /
//                          ts\stack\zdo\ZDProfile.c" -D CC2430EB -D          /
//                          LOCATION_REFNODE -D xNV_RESTORE -D ZTOOL_P1 -D    /
//                          MT_TASK -D POWER_SAVING -D HAL_UART_BIG_TX_BUF=1  /
//                          -D SPI_MGR_DEFAULT_MAX_TX_BUFF=1024 -D            /
//                          SPI_MGR_DEFAULT_OVERFLOW=1 -lC "C:\Texas          /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\RefNode\List\" -lA        /
//                          "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Projects /
//                          \zstack\Samples\Location\CC2430DB\RefNode\List\"  /
//                          --diag_suppress Pe001,Pa010 --diag_remark pe550   /
//                          -o "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Proje /
//                          cts\zstack\Samples\Location\CC2430DB\RefNode\Obj\ /
//                          " -e --require_prototypes -z9 --no_code_motion    /
//                          --debug --core=plain --dptr=16,1                  /
//                          --data_model=large --code_model=banked            /
//                          --calling_convention=xdata_reentrant              /
//                          --place_constants=data --nr_virtual_regs 8 -I     /
//                          "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Projects /
//                          \zstack\Samples\Location\CC2430DB\" -I "C:\Texas  /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\SOURCE\" -I "C:\Texas  /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\ZMAIN\TI2430DB\" /
//                           -I "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Proj /
//                          ects\zstack\Samples\Location\CC2430DB\..\..\..\.. /
//                          \..\COMPONENTS\MT\" -I "C:\Texas                  /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \HAL\INCLUDE\" -I "C:\Texas                       /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \HAL\TARGET\CC2430BB\" -I "C:\Texas               /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \OSAL\MCU\CCSOC\" -I "C:\Texas                    /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \OSAL\INCLUDE\" -I "C:\Texas                      /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \STACK\AF\" -I "C:\Texas                          /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \STACK\NWK\" -I "C:\Texas                         /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \STACK\SEC\" -I "C:\Texas                         /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \STACK\SYS\" -I "C:\Texas                         /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \STACK\ZDO\" -I "C:\Texas                         /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \ZMAC\F8W\" -I "C:\Texas                          /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \ZMAC\" -I "C:\Texas Instruments\ZStack-1.4.3-1.2 /
//                          .1\Projects\zstack\Samples\Location\CC2430DB\..\. /
//                          .\..\..\..\COMPONENTS\SERVICES\SADDR\" -I         /
//                          "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Projects /
//                          \zstack\Samples\Location\CC2430DB\..\..\..\..\..\ /
//                          COMPONENTS\SERVICES\SDATA\" -I "C:\Texas          /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \MAC\INCLUDE\" -I "C:\Texas                       /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \MAC\HIGH_LEVEL\" -I "C:\Texas                    /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \MAC\LOW_LEVEL\SRF03\" -I "C:\Texas               /
//                          Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Sa /
//                          mples\Location\CC2430DB\..\..\..\..\..\COMPONENTS /
//                          \MAC\LOW_LEVEL\SRF03\SINGLE_CHIP\" -I             /
//                          "C:\Program Files\IAR Systems\Embedded Workbench  /
//                          4.0 Evaluation version\8051\INC\" -I "C:\Program  /
//                          Files\IAR Systems\Embedded Workbench 4.0          /
//                          Evaluation version\8051\INC\CLIB\"                /
//    List file          =  C:\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\ /
//                          zstack\Samples\Location\CC2430DB\RefNode\List\ZDP /
//                          rofile.s51                                        /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME ZDProfile

        RTMODEL "__calling_convention", "xdata_reentrant"
        RTMODEL "__code_model", "banked"
        RTMODEL "__core", "plain"
        RTMODEL "__data_model", "large"
        RTMODEL "__dptr_size", "16"
        RTMODEL "__extended_stack", "disabled"
        RTMODEL "__location_for_constants", "data"
        RTMODEL "__number_of_dptrs", "1"
        RTMODEL "__rt_version", "1"

        RSEG DOVERLAY:DATA:NOROOT(0)
        RSEG IOVERLAY:IDATA:NOROOT(0)
        RSEG ISTACK:IDATA:NOROOT(0)
        RSEG PSTACK:XDATA:NOROOT(0)
        RSEG XSTACK:XDATA:NOROOT(0)

        EXTERN ??ZDO_SendMsgCBs?relay
        EXTERN ??fillAndSend?relay
        EXTERN ?ALLOC_XSTACK8
        EXTERN ?BANKED_ENTER_XDATA
        EXTERN ?BANKED_LEAVE_XDATA
        EXTERN ?BDISPATCH
        EXTERN ?CALL_IND
        EXTERN ?DEALLOC_XSTACK8
        EXTERN ?PUSH_XSTACK_I_ONE
        EXTERN ?PUSH_XSTACK_I_THREE
        EXTERN ?PUSH_XSTACK_I_TWO
        EXTERN ?S_SHL
        EXTERN ?V0
        EXTERN ?XSP
        EXTERN ?XSTACK_DISP0_8
        EXTERN __INIT_XDATA_I
        EXTERN __INIT_XDATA_Z

        PUBLIC ??ZDO_RegisterForZDOMsg?relay
        FUNCTION ??ZDO_RegisterForZDOMsg?relay,0203H
        PUBLIC ??ZDO_RemoveRegisteredCB?relay
        FUNCTION ??ZDO_RemoveRegisteredCB?relay,0203H
        PUBLIC ??ZDO_SendMsgCBs?relay
        FUNCTION ??ZDO_SendMsgCBs?relay,0203H
        PUBLIC ??ZDP_EPRsp?relay
        FUNCTION ??ZDP_EPRsp?relay,0203H
        PUBLIC ??ZDP_EndDeviceBindReq?relay
        FUNCTION ??ZDP_EndDeviceBindReq?relay,0203H
        PUBLIC ??ZDP_GenericRsp?relay
        FUNCTION ??ZDP_GenericRsp?relay,0203H
        PUBLIC ??ZDP_IncomingData?relay
        FUNCTION ??ZDP_IncomingData?relay,0203H
        PUBLIC ??ZDP_MatchDescReq?relay
        FUNCTION ??ZDP_MatchDescReq?relay,0203H
        PUBLIC ??ZDP_NodeDescMsg?relay
        FUNCTION ??ZDP_NodeDescMsg?relay,0203H
        PUBLIC ??ZDP_PowerDescMsg?relay
        FUNCTION ??ZDP_PowerDescMsg?relay,0203H
        PUBLIC ??ZDP_SendData?relay
        FUNCTION ??ZDP_SendData?relay,0203H
        PUBLIC ??ZDP_SimpleDescMsg?relay
        FUNCTION ??ZDP_SimpleDescMsg?relay,0203H
        FUNCTION ??fillAndSend?relay,0203H
        PUBLIC ??zdpProcessAddrReq?relay
        FUNCTION ??zdpProcessAddrReq?relay,0203H
        PUBLIC ZDO_RegisterForZDOMsg
        FUNCTION ZDO_RegisterForZDOMsg,021203H
        ARGFRAME XSTACK, 0, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 14, STACK
        PUBLIC ZDO_RemoveRegisteredCB
        FUNCTION ZDO_RemoveRegisteredCB,021203H
        ARGFRAME XSTACK, 0, STACK
        LOCFRAME XSTACK, 9, STACK
        PUBLIC ZDO_SendMsgCBs
        FUNCTION ZDO_SendMsgCBs,021203H
        ARGFRAME XSTACK, 31, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 19, STACK
        PUBLIC ZDP_AF_ENDPOINT
        PUBLIC ZDP_EPRsp
        FUNCTION ZDP_EPRsp,021203H
        ARGFRAME XSTACK, 7, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 20, STACK
        PUBLIC ZDP_EndDeviceBindReq
        FUNCTION ZDP_EndDeviceBindReq,021203H
        ARGFRAME XSTACK, 9, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 21, STACK
        PUBLIC ZDP_GenericRsp
        FUNCTION ZDP_GenericRsp,021203H
        ARGFRAME XSTACK, 4, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 13, STACK
        PUBLIC ZDP_IncomingData
        FUNCTION ZDP_IncomingData,021203H
        ARGFRAME XSTACK, 0, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 31, STACK
        PUBLIC ZDP_MatchDescReq
        FUNCTION ZDP_MatchDescReq,021203H
        ARGFRAME XSTACK, 8, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 18, STACK
        PUBLIC ZDP_NodeDescMsg
        FUNCTION ZDP_NodeDescMsg,021203H
        ARGFRAME XSTACK, 2, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 12, STACK
        PUBLIC ZDP_PowerDescMsg
        FUNCTION ZDP_PowerDescMsg,021203H
        ARGFRAME XSTACK, 2, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 12, STACK
        PUBLIC ZDP_SendData
        FUNCTION ZDP_SendData,021203H
        ARGFRAME XSTACK, 5, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 16, STACK
        PUBLIC ZDP_SimpleDescMsg
        FUNCTION ZDP_SimpleDescMsg,021203H
        ARGFRAME XSTACK, 0, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 16, STACK
        PUBLIC ZDP_TransID
        FUNCTION fillAndSend,021203H
        ARGFRAME XSTACK, 21, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 28, STACK
        PUBLIC zdoMsgCBs
        PUBLIC zdpMsgProcs
        PUBLIC zdpProcessAddrReq
        FUNCTION zdpProcessAddrReq,021603H
        ARGFRAME XSTACK, 0, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 19, STACK
        
        CFI Names cfiNames0
        CFI StackFrame CFA_SP SP DATA
        CFI StackFrame CFA_PSP16 PSP16 XDATA
        CFI StackFrame CFA_XSP16 XSP16 XDATA
        CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
        CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
        CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
        CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
        CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
        CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
        CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
        CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
        CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
        CFI VirtualResource ?RET:24
        CFI Resource ?BRET_EXT:8
        CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
        CFI ResourceParts PSP16 PSPH, PSPL
        CFI ResourceParts XSP16 XSPH, XSPL
        CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign -1
        CFI ReturnAddress ?RET CODE
        CFI CFA_DOVERLAY Used
        CFI CFA_IOVERLAY Used
        CFI CFA_SP SP+-3
        CFI CFA_PSP16 PSP16+0
        CFI CFA_XSP16 XSP16+0
        CFI `PSW.CY` SameValue
        CFI `B.BR0` SameValue
        CFI `B.BR1` SameValue
        CFI `B.BR2` SameValue
        CFI `B.BR3` SameValue
        CFI `B.BR4` SameValue
        CFI `B.BR5` SameValue
        CFI `B.BR6` SameValue
        CFI `B.BR7` SameValue
        CFI `VB.BR8` SameValue
        CFI `VB.BR9` SameValue
        CFI `VB.BR10` SameValue
        CFI `VB.BR11` SameValue
        CFI `VB.BR12` SameValue
        CFI `VB.BR13` SameValue
        CFI `VB.BR14` SameValue
        CFI `VB.BR15` SameValue
        CFI VB SameValue
        CFI B Undefined
        CFI A Undefined
        CFI PSW SameValue
        CFI DPL0 SameValue
        CFI DPH0 SameValue
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 Undefined
        CFI R5 Undefined
        CFI R6 SameValue
        CFI R7 SameValue
        CFI V0 SameValue
        CFI V1 SameValue
        CFI V2 SameValue
        CFI V3 SameValue
        CFI V4 SameValue
        CFI V5 SameValue
        CFI V6 SameValue
        CFI V7 SameValue
        CFI PSPH Undefined
        CFI PSPL Undefined
        CFI XSPH Undefined
        CFI XSPL Undefined
        CFI ?RET Concat
        CFI ?BRET_EXT Frame(CFA_SP, 3)
        CFI ?RET_HIGH Frame(CFA_SP, 2)
        CFI ?RET_LOW Frame(CFA_SP, 1)
        CFI EndCommon cfiCommon0
        
        
        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
        
AF_DataRequest      SYMBOL "AF_DataRequest"
osal_ExtAddrEqual   SYMBOL "osal_ExtAddrEqual"
osal_cpyExtAddr     SYMBOL "osal_cpyExtAddr"
AssocMakeList       SYMBOL "AssocMakeList"
osal_mem_free       SYMBOL "osal_mem_free"
osal_memcpy         SYMBOL "osal_memcpy"
NLME_GetShortAddr   SYMBOL "NLME_GetShortAddr"
NLME_GetExtAddr     SYMBOL "NLME_GetExtAddr"
osal_mem_alloc      SYMBOL "osal_mem_alloc"
osal_msg_allocate   SYMBOL "osal_msg_allocate"
osal_msg_send       SYMBOL "osal_msg_send"
ZDApp_InMsgCB       SYMBOL "ZDApp_InMsgCB"
??AF_DataRequest?relay SYMBOL "?relay", AF_DataRequest
??AssocMakeList?relay SYMBOL "?relay", AssocMakeList
??NLME_GetExtAddr?relay SYMBOL "?relay", NLME_GetExtAddr
??NLME_GetShortAddr?relay SYMBOL "?relay", NLME_GetShortAddr
??ZDApp_InMsgCB?relay SYMBOL "?relay", ZDApp_InMsgCB
`?<Name ZDO_ProcessActiveEPR 17>` SYMBOL "ZDO_ProcessActiveEPReq"
??ZDO_ProcessActiveEPReq?relay SYMBOL "?relay", `?<Name ZDO_ProcessActiveEPR 17>`
`?<Name ZDO_ProcessMatchDesc 19>` SYMBOL "ZDO_ProcessMatchDescReq"
??ZDO_ProcessMatchDescReq?relay SYMBOL "?relay", `?<Name ZDO_ProcessMatchDesc 19>`
`?<Name ZDO_ProcessNodeDescR 21>` SYMBOL "ZDO_ProcessNodeDescReq"
??ZDO_ProcessNodeDescReq?relay SYMBOL "?relay", `?<Name ZDO_ProcessNodeDescR 21>`
`?<Name ZDO_ProcessPowerDesc 23>` SYMBOL "ZDO_ProcessPowerDescReq"
??ZDO_ProcessPowerDescReq?relay SYMBOL "?relay", `?<Name ZDO_ProcessPowerDesc 23>`
`?<Name ZDO_ProcessSimpleDes 25>` SYMBOL "ZDO_ProcessSimpleDescReq"
??ZDO_ProcessSimpleDescReq?relay SYMBOL "?relay", `?<Name ZDO_ProcessSimpleDes 25>`
??osal_ExtAddrEqual?relay SYMBOL "?relay", osal_ExtAddrEqual
??osal_cpyExtAddr?relay SYMBOL "?relay", osal_cpyExtAddr
??osal_mem_alloc?relay SYMBOL "?relay", osal_mem_alloc
??osal_mem_free?relay SYMBOL "?relay", osal_mem_free
??osal_memcpy?relay SYMBOL "?relay", osal_memcpy
??osal_msg_allocate?relay SYMBOL "?relay", osal_msg_allocate
??osal_msg_send?relay SYMBOL "?relay", osal_msg_send
ZDO_RegisterForZDOMsg SYMBOL "ZDO_RegisterForZDOMsg"
??ZDO_RegisterForZDOMsg?relay SYMBOL "?relay", ZDO_RegisterForZDOMsg
ZDO_RemoveRegisteredCB SYMBOL "ZDO_RemoveRegisteredCB"
??ZDO_RemoveRegisteredCB?relay SYMBOL "?relay", ZDO_RemoveRegisteredCB
ZDO_SendMsgCBs      SYMBOL "ZDO_SendMsgCBs"
??ZDO_SendMsgCBs?relay SYMBOL "?relay", ZDO_SendMsgCBs
ZDP_EPRsp           SYMBOL "ZDP_EPRsp"
??ZDP_EPRsp?relay   SYMBOL "?relay", ZDP_EPRsp
ZDP_EndDeviceBindReq SYMBOL "ZDP_EndDeviceBindReq"
??ZDP_EndDeviceBindReq?relay SYMBOL "?relay", ZDP_EndDeviceBindReq
ZDP_GenericRsp      SYMBOL "ZDP_GenericRsp"
??ZDP_GenericRsp?relay SYMBOL "?relay", ZDP_GenericRsp
ZDP_IncomingData    SYMBOL "ZDP_IncomingData"
??ZDP_IncomingData?relay SYMBOL "?relay", ZDP_IncomingData
ZDP_MatchDescReq    SYMBOL "ZDP_MatchDescReq"
??ZDP_MatchDescReq?relay SYMBOL "?relay", ZDP_MatchDescReq
ZDP_NodeDescMsg     SYMBOL "ZDP_NodeDescMsg"
??ZDP_NodeDescMsg?relay SYMBOL "?relay", ZDP_NodeDescMsg
ZDP_PowerDescMsg    SYMBOL "ZDP_PowerDescMsg"
??ZDP_PowerDescMsg?relay SYMBOL "?relay", ZDP_PowerDescMsg
ZDP_SendData        SYMBOL "ZDP_SendData"
??ZDP_SendData?relay SYMBOL "?relay", ZDP_SendData
ZDP_SimpleDescMsg   SYMBOL "ZDP_SimpleDescMsg"
??ZDP_SimpleDescMsg?relay SYMBOL "?relay", ZDP_SimpleDescMsg
zdpProcessAddrReq   SYMBOL "zdpProcessAddrReq"
??zdpProcessAddrReq?relay SYMBOL "?relay", zdpProcessAddrReq

        EXTERN AF_DataRequest
        FUNCTION AF_DataRequest,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 28, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN osal_ExtAddrEqual
        FUNCTION osal_ExtAddrEqual,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 17, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN osal_cpyExtAddr
        FUNCTION osal_cpyExtAddr,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 19, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN AssocMakeList
        FUNCTION AssocMakeList,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 17, 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, 17, 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, 20, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN NLME_GetShortAddr
        FUNCTION NLME_GetShortAddr,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 19, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN NLME_GetExtAddr
        FUNCTION NLME_GetExtAddr,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 19, 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, 14, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN osal_msg_allocate
        FUNCTION osal_msg_allocate,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 16, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN osal_msg_send
        FUNCTION osal_msg_send,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 16, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN ZDApp_InMsgCB
        FUNCTION ZDApp_InMsgCB,0202H
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 31, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        EXTERN ??AF_DataRequest?relay
        FUNCTION ??AF_DataRequest?relay,00H
        EXTERN ??AssocMakeList?relay
        FUNCTION ??AssocMakeList?relay,00H
        EXTERN ??NLME_GetExtAddr?relay
        FUNCTION ??NLME_GetExtAddr?relay,00H
        EXTERN ??NLME_GetShortAddr?relay
        FUNCTION ??NLME_GetShortAddr?relay,00H
        EXTERN ??ZDApp_InMsgCB?relay
        FUNCTION ??ZDApp_InMsgCB?relay,00H
        EXTERN ??ZDO_ProcessActiveEPReq?relay
        FUNCTION ??ZDO_ProcessActiveEPReq?relay,00H
        EXTERN ??ZDO_ProcessMatchDescReq?relay
        FUNCTION ??ZDO_ProcessMatchDescReq?relay,00H
        EXTERN ??ZDO_ProcessNodeDescReq?relay
        FUNCTION ??ZDO_ProcessNodeDescReq?relay,00H
        EXTERN ??ZDO_ProcessPowerDescReq?relay
        FUNCTION ??ZDO_ProcessPowerDescReq?relay,00H
        EXTERN ??ZDO_ProcessSimpleDescReq?relay
        FUNCTION ??ZDO_ProcessSimpleDescReq?relay,00H
        EXTERN ??osal_ExtAddrEqual?relay
        FUNCTION ??osal_ExtAddrEqual?relay,00H
        EXTERN ??osal_cpyExtAddr?relay
        FUNCTION ??osal_cpyExtAddr?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_msg_allocate?relay
        FUNCTION ??osal_msg_allocate?relay,00H
        EXTERN ??osal_msg_send?relay
        FUNCTION ??osal_msg_send?relay,00H
        EXTERN ZDAppNwkAddr
        EXTERN ZDApp_epDesc
        EXTERN saveExtAddr

// C:\Texas Instruments\ZStack-1.4.3-1.2.1\Components\stack\zdo\ZDProfile.c
//    1 /**************************************************************************************************
//    2   Filename:       ZDProfile.c
//    3   Revised:        $Date: 2007-10-28 18:43:04 -0700 (Sun, 28 Oct 2007) $
//    4   Revision:       $Revision: 15800 $
//    5 
//    6   Description:    This is the Zigbee Device Profile.
//    7 
//    8 
//    9   Copyright 2004-2007 Texas Instruments Incorporated. All rights reserved.
//   10 
//   11   IMPORTANT: Your use of this Software is limited to those specific rights
//   12   granted under the terms of a software license agreement between the user
//   13   who downloaded the software, his/her employer (which must be your employer)
//   14   and Texas Instruments Incorporated (the "License").  You may not use this
//   15   Software unless you agree to abide by the terms of the License. The License
//   16   limits your use, and you acknowledge, that the Software may not be modified,
//   17   copied or distributed unless embedded on a Texas Instruments microcontroller
//   18   or used solely and exclusively in conjunction with a Texas Instruments radio
//   19   frequency transceiver, which is integrated into your product.  Other than for
//   20   the foregoing purpose, you may not use, reproduce, copy, prepare derivative
//   21   works of, modify, distribute, perform, display or sell this Software and/or
//   22   its documentation for any purpose.
//   23 
//   24   YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
//   25   PROVIDED “AS IS?WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
//   26   INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
//   27   NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
//   28   TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
//   29   NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
//   30   LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
//   31   INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
//   32   OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
//   33   OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
//   34   (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
//   35 
//   36   Should you have any questions regarding your right to use this Software,
//   37   contact Texas Instruments Incorporated at www.TI.com.
//   38 **************************************************************************************************/
//   39 
//   40 /*********************************************************************
//   41  * INCLUDES
//   42  */
//   43 #include "ZComdef.h"
//   44 #include "OSAL.h"
//   45 #include "AF.h"
//   46 #include "NLMEDE.h"
//   47 #include "nwk_util.h"
//   48 #include "APS.h"
//   49 
//   50 #include "AddrMgr.h"
//   51 #include "ZDConfig.h"
//   52 #include "ZDProfile.h"
//   53 #include "ZDObject.h"
//   54 
//   55 #if defined( LCD_SUPPORTED )
//   56   #include "OnBoard.h"
//   57 #endif
//   58 
//   59 #include "nwk_util.h"
//   60 
//   61 #if defined( MT_ZDO_FUNC )
//   62   #include "MT_ZDO.h"
//   63 #endif
//   64 
//   65 /*********************************************************************
//   66  * MACROS
//   67  */
//   68 
//   69 #define ZADDR_TO_AFADDR( pZADDR, AFADDR ) {                            \ 
//   70   (AFADDR).endPoint = ZDP_AF_ENDPOINT;                                 \ 
//   71   (AFADDR).addrMode = (afAddrMode_t)(pZADDR)->addrMode;                \ 
//   72   (AFADDR).addr.shortAddr = (pZADDR)->addr.shortAddr;                  \ 
//   73 }
//   74 
//   75 #define FillAndSendBuffer( TRANSSEQ, ADDR, ID, LEN, BUF ) {     \ 
//   76   afStatus_t stat;                                    \ 
//   77   ZDP_TmpBuf = (BUF)+1;                               \ 
//   78   stat = fillAndSend( (TRANSSEQ), (ADDR), (ID), (LEN) );          \ 
//   79   osal_mem_free( (BUF) );                             \ 
//   80   ZDP_TmpBuf = ZDP_Buf+1;                             \ 
//   81   return stat;                                        \ 
//   82 }
//   83 
//   84 #define FillAndSendTxOptions( TRANSSEQ, ADDR, ID, LEN, TxO ) {  \ 
//   85   afStatus_t stat;                                    \ 
//   86   ZDP_TxOptions = (TxO);                              \ 
//   87   stat = fillAndSend( (TRANSSEQ), (ADDR), (ID), (LEN) );          \ 
//   88   ZDP_TxOptions = AF_TX_OPTIONS_NONE;                 \ 
//   89   return stat;                                        \ 
//   90 }
//   91 
//   92 /*********************************************************************
//   93  * CONSTANTS
//   94  */
//   95 
//   96 #define ZDP_BUF_SZ          80
//   97 

        RSEG CODE_C:CODE:REORDER:NOROOT(0)
        DATA
//   98 CONST byte ZDP_AF_ENDPOINT = 0;
ZDP_AF_ENDPOINT:
        DB 0
//   99 
//  100 /*********************************************************************
//  101  * TYPEDEFS
//  102  */
//  103 typedef struct
//  104 {
//  105   void *next;
//  106   uint8 taskID;
//  107   uint16 clusterID;
//  108 } ZDO_MsgCB_t;
//  109 
//  110 
//  111 /*********************************************************************
//  112  * GLOBAL VARIABLES
//  113  */
//  114 

        RSEG XDATA_Z:XDATA:NOROOT(0)
//  115 byte ZDP_TransID = 0;
ZDP_TransID:
        DS 1
        REQUIRE __INIT_XDATA_Z
//  116 
//  117 /*********************************************************************
//  118  * EXTERNAL VARIABLES
//  119  */
//  120 
//  121 extern endPointDesc_t ZDApp_epDesc;
//  122 
//  123 /*********************************************************************
//  124  * EXTERNAL FUNCTIONS
//  125  */
//  126 
//  127 /*********************************************************************
//  128  * LOCAL FUNCTIONS
//  129  */
//  130 
//  131 static afStatus_t fillAndSend( uint8 *transSeq, zAddrType_t *addr, cId_t clusterID, byte len );
//  132 uint8 ZDO_SendMsgCBs( zdoIncomingMsg_t *inMsg );
//  133 void zdpProcessAddrReq( zdoIncomingMsg_t *inMsg );
//  134 
//  135 /*********************************************************************
//  136  * LOCAL VARIABLES
//  137  */
//  138 

        RSEG XDATA_Z:XDATA:NOROOT(0)
//  139 static uint8  ZDP_Buf[ ZDP_BUF_SZ ];
ZDP_Buf:
        DS 80
        REQUIRE __INIT_XDATA_Z

        RSEG XDATA_I:XDATA:NOROOT(0)
        DATA
//  140 static uint8 *ZDP_TmpBuf = ZDP_Buf+1;
ZDP_TmpBuf:
        DS 2
        REQUIRE `?<Initializer for ZDP_TmpBuf>`
        REQUIRE __INIT_XDATA_I

        RSEG XDATA_Z:XDATA:NOROOT(0)
//  141 static byte ZDP_TxOptions = AF_TX_OPTIONS_NONE;
ZDP_TxOptions:
        DS 1
        REQUIRE __INIT_XDATA_Z
//  142 

        RSEG XDATA_Z:XDATA:NOROOT(0)
//  143 ZDO_MsgCB_t *zdoMsgCBs = (ZDO_MsgCB_t *)NULL;
zdoMsgCBs:
        DS 2
        REQUIRE __INIT_XDATA_Z
//  144 
//  145 /*********************************************************************
//  146  * ZDO Message Processing table
//  147  */
//  148 
//  149 typedef void (*pfnZDPMsgProcessor)( zdoIncomingMsg_t *inMsg );
//  150 
//  151 typedef struct
//  152 {
//  153   uint16                clusterID;
//  154   pfnZDPMsgProcessor    pFn;
//  155 } zdpMsgProcItem_t;
//  156 

        RSEG CODE_C:CODE:REORDER:NOROOT(0)
        DATA
//  157 CONST zdpMsgProcItem_t zdpMsgProcs[] =
zdpMsgProcs:
        DW 0, ??zdpProcessAddrReq?relay, 1, ??zdpProcessAddrReq?relay, 2
        DW ??ZDO_ProcessNodeDescReq?relay, 3, ??ZDO_ProcessPowerDescReq?relay
        DW 4, ??ZDO_ProcessSimpleDescReq?relay, 5
        DW ??ZDO_ProcessActiveEPReq?relay, 6, ??ZDO_ProcessMatchDescReq?relay
        DW 65535, 0H
//  158 {
//  159   { NWK_addr_req,           zdpProcessAddrReq },
//  160   { IEEE_addr_req,          zdpProcessAddrReq },
//  161   { Node_Desc_req,          ZDO_ProcessNodeDescReq },
//  162   { Power_Desc_req,         ZDO_ProcessPowerDescReq },
//  163   { Simple_Desc_req,        ZDO_ProcessSimpleDescReq },
//  164   { Active_EP_req,          ZDO_ProcessActiveEPReq },
//  165   { Match_Desc_req,         ZDO_ProcessMatchDescReq },
//  166 #if defined ( ZDO_MGMT_NWKDISC_RESPONSE )
//  167   { Mgmt_NWK_Disc_req,      ZDO_ProcessMgmtNwkDiscReq },
//  168 #endif
//  169 #if defined ( ZDO_MGMT_LQI_RESPONSE ) && defined ( RTR_NWK )
//  170   { Mgmt_Lqi_req,           ZDO_ProcessMgmtLqiReq },
//  171 #endif
//  172 #if defined ( ZDO_MGMT_RTG_RESPONSE ) && defined ( RTR_NWK )
//  173   { Mgmt_Rtg_req,           ZDO_ProcessMgmtRtgReq },
//  174 #endif
//  175 #if defined ( ZDO_MGMT_BIND_RESPONSE ) && defined ( REFLECTOR )
//  176   { Mgmt_Bind_req,          ZDO_ProcessMgmtBindReq },
//  177 #endif
//  178 #if defined ( ZDO_MGMT_JOINDIRECT_RESPONSE ) && defined ( RTR_NWK )
//  179   { Mgmt_Direct_Join_req,   ZDO_ProcessMgmtDirectJoinReq },
//  180 #endif
//  181 #if defined ( ZDO_MGMT_LEAVE_RESPONSE )
//  182   { Mgmt_Leave_req,         ZDO_ProcessMgmtLeaveReq },
//  183 #endif
//  184 #if defined ( ZDO_MGMT_PERMIT_JOIN_RESPONSE )  && defined ( RTR_NWK )
//  185   { Mgmt_Permit_Join_req,   ZDO_ProcessMgmtPermitJoinReq },
//  186 #endif
//  187 #if defined ( ZDO_USERDESC_RESPONSE )
//  188   { User_Desc_req,          ZDO_ProcessUserDescReq },
//  189 #endif
//  190 #if defined ( ZDO_USERDESCSET_RESPONSE )
//  191   { User_Desc_set,          ZDO_ProcessUserDescSet },
//  192 #endif
//  193 #if defined ( ZDO_SERVERDISC_RESPONSE )
//  194   { Server_Discovery_req,   ZDO_ProcessServerDiscReq },
//  195 #endif
//  196 #if defined ( ZDO_ENDDEVICE_ANNCE ) && defined ( RTR_NWK )
//  197   { End_Device_annce,       ZDO_ProcessEndDeviceAnnce },
//  198 #endif
//  199   {0xFFFF, NULL} // Last
//  200 };
//  201 
//  202 /*********************************************************************
//  203  * @fn          fillAndSend
//  204  *
//  205  * @brief       Combined to reduce space
//  206  *
//  207  * @param
//  208  * @param
//  209  *
//  210  * @return      afStatus_t
//  211  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  212 static afStatus_t fillAndSend( uint8 *transSeq, zAddrType_t *addr, cId_t clusterID, byte len )
fillAndSend:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function fillAndSend
//  213 {
        FUNCALL fillAndSend, AF_DataRequest
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 28, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 28, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        MOV     A,#-0xf
        LCALL   ?BANKED_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 15)
        ; Saved register size: 15
        ; Auto size: 4
        MOV     A,#-0x4
        LCALL   ?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     ?V0 + 0,R2
        MOV     ?V0 + 1,R3
        MOV     A,#0x13
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     ?V0 + 2,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     ?V0 + 3,A
//  214   afAddrType_t afAddr;
//  215 
//  216   ZADDR_TO_AFADDR( addr, afAddr );
        MOV     A,#0x3
        LCALL   ?XSTACK_DISP0_8
        CLR     A
        MOVX    @DPTR,A
        MOV     DPL,R4
        MOV     DPH,R5
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        PUSH    A
        CFI CFA_SP SP+-1
        MOV     A,#0x2
        LCALL   ?XSTACK_DISP0_8
        POP     A
        CFI CFA_SP SP+0
        MOVX    @DPTR,A
        MOV     DPL,R4
        MOV     DPH,R5
        LCALL   ?Subroutine15 & 0xFFFF
??CrossCallReturnLabel_48:
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOV     A,R2
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R3
        MOVX    @DPTR,A
//  217 
//  218   *(ZDP_TmpBuf-1) = *transSeq;
        MOV     DPTR,#ZDP_TmpBuf
        MOVX    A,@DPTR
        ADD     A,#-0x1
        MOV     ?V0 + 4,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,#-0x1
        MOV     ?V0 + 5,A
        MOV     DPL,?V0 + 0
        MOV     DPH,?V0 + 1
        MOVX    A,@DPTR
        MOV     DPL,?V0 + 4
        MOV     DPH,?V0 + 5
        MOVX    @DPTR,A
//  219 
//  220   return AF_DataRequest( &afAddr, &ZDApp_epDesc, clusterID,
//  221                            (uint16)(len+1), (uint8*)(ZDP_TmpBuf-1),
//  222                            transSeq, ZDP_TxOptions,  AF_DEFAULT_RADIUS );
        ; Setup parameters for call to function AF_DataRequest
        MOV     ?V0 + 6,#0xa
        MOV     R0,#?V0 + 6
        LCALL   ?PUSH_XSTACK_I_ONE
        CFI CFA_XSP16 add(XSP16, 20)
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 22)
        MOV     R0,#?V0 + 4
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 24)
        MOV     ?V0 + 0,R1
        MOV     A,#0x1
        ADD     A,?V0 + 0
        MOV     ?V0 + 0,A
        CLR     A
        ADDC    A,#0x0
        MOV     ?V0 + 1,A
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 26)
        MOV     R0,#?V0 + 2
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 28)
        MOV     DPTR,#ZDP_TxOptions
        MOVX    A,@DPTR
        MOV     R1,A
        MOV     R4,#(ZDApp_epDesc & 0xff)
        MOV     R5,#((ZDApp_epDesc >> 8) & 0xff)
        MOV     A,#0x9
        LCALL   ?XSTACK_DISP0_8
        MOV     R2,DPL
        MOV     R3,DPH
        LCALL   ??AF_DataRequest?relay
        MOV     A,#0x9
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     A,#0x4
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 15)
        MOV     R7,#0x7
        LJMP    ?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock0
//  223 
//  224 }
//  225 
//  226 /*********************************************************************
//  227  * @fn          ZDP_SendData
//  228  *
//  229  * @brief       This builds and send a request message that has
//  230  *              NWKAddrOfInterest as its only parameter.
//  231  *
//  232  * @param       dstAddr - destination address
//  233  * @param       cmd - clusterID
//  234  * @param       dataLen - number of bytes of data
//  235  * @param       data - pointer to the data
//  236  * @param       SecurityEnable - Security Options
//  237  *
//  238  * @return      afStatus_t
//  239  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  240 afStatus_t ZDP_SendData( byte *TransSeq, zAddrType_t *dstAddr, uint16 cmd,
ZDP_SendData:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI Function ZDP_SendData
//  241                         byte len, byte *buf, byte SecurityEnable )
//  242 {
        FUNCALL ZDP_SendData, fillAndSend
        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
        MOV     A,#-0xe
        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 V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 14)
        ; Saved register size: 14
        ; Auto size: 0
        MOV     ?V0 + 2,R1
        MOV     A,#0xe
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine3 & 0xFFFF
??CrossCallReturnLabel_6:
        MOV     A,#0x10
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     R6,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R7,A
        MOV     A,#0x12
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine5 & 0xFFFF
//  243   byte *pBuf = ZDP_TmpBuf;
//  244   byte cnt = len;
??CrossCallReturnLabel_16:
        MOV     ?V0 + 4,?V0 + 2
        SJMP    ??ZDP_SendData_0
//  245 
//  246   while ( cnt-- )
//  247   {
//  248     *pBuf++ = *buf++;
??ZDP_SendData_1:
        MOV     DPL,R6
        MOV     DPH,R7
        LCALL   ?Subroutine14 & 0xFFFF
??CrossCallReturnLabel_44:
        MOV     DPL,R6
        MOV     DPH,R7
        INC     DPTR
        MOV     R6,DPL
        MOV     R7,DPH
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        MOV     R0,DPL
        MOV     R1,DPH
//  249   }
??ZDP_SendData_0:
        MOV     ?V0 + 5,?V0 + 4
        MOV     A,#-0x1
        ADD     A,?V0 + 5
        MOV     ?V0 + 4,A
        MOV     A,?V0 + 5
        JNZ     ??ZDP_SendData_1
//  250 
//  251   FillAndSendTxOptions( TransSeq, dstAddr, cmd, len,
//  252                (AF_DEFAULT_RADIUS | ((SecurityEnable) ? AF_EN_SECURITY : 0)) );
        MOV     A,?V0 + 3
        JZ      ??ZDP_SendData_2
        MOV     R0,#0x40
        SJMP    ??ZDP_SendData_3
??ZDP_SendData_2:
        MOV     R0,#0x0
??ZDP_SendData_3:
        MOV     A,R0
        ORL     A,#0xa
        MOV     DPTR,#ZDP_TxOptions
        MOVX    @DPTR,A
        ; Setup parameters for call to function fillAndSend
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 16)
        MOV     R1,?V0 + 2
        LCALL   ?Subroutine44 & 0xFFFF
??CrossCallReturnLabel_120:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 14)
        CLR     A
        MOV     DPTR,#ZDP_TxOptions
        MOVX    @DPTR,A
        CFI EndBlock cfiBlock1
        REQUIRE ?Subroutine40
        ; // Fall through to label ?Subroutine40
//  253 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine40:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        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(-14)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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,#0x6
        LJMP    ?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock2
//  254 
//  255 #if defined ( ZDO_NODEDESC_REQUEST ) || defined ( ZDO_POWERDESC_REQUEST ) ||\ 
//  256     defined ( ZDO_ACTIVEEP_REQUEST ) || defined ( ZDO_COMPLEXDESC_REQUEST ) ||\ 
//  257     defined ( ZDO_USERDESC_REQUEST )
//  258 /*********************************************************************
//  259  * @fn          ZDP_NWKAddrOfInterestReq
//  260  *
//  261  * @brief       This builds and send a request message that has
//  262  *              NWKAddrOfInterest as its only parameter.
//  263  *
//  264  * @param       dstAddr - destination address
//  265  * @param       nwkAddr - 16 bit address
//  266  * @param       SecurityEnable - Security Options
//  267  *
//  268  * @return      afStatus_t
//  269  */
//  270 afStatus_t ZDP_NWKAddrOfInterestReq( zAddrType_t *dstAddr, uint16 nwkAddr,
//  271                                      byte cmd, byte SecurityEnable )
//  272 {
//  273   ZDP_TmpBuf[0] = LO_UINT16( nwkAddr );
//  274   ZDP_TmpBuf[1] = HI_UINT16( nwkAddr );
//  275 
//  276   return fillAndSend( &ZDP_TransID, dstAddr, cmd, 2 );
//  277 }
//  278 #endif // ZDO_NODEDESC_REQUEST ZDO_POWERDESC_REQUEST ZDO_ACTIVEEP_REQUEST ZDO_COMPLEXDESC_REQUEST  ZDO_USERDESC_REQUEST
//  279 
//  280 /*********************************************************************
//  281  * Address Requests
//  282  */
//  283 
//  284 #if defined ( ZDO_NWKADDR_REQUEST )
//  285 /*********************************************************************
//  286  * @fn          ZDP_NwkAddrReq
//  287  *
//  288  * @brief       This builds and send a NWK_addr_req message.  This
//  289  *              function sends a broadcast message looking for a 16
//  290  *              bit address with a 64 bit address as bait.
//  291  *
//  292  * @param       IEEEAddress - looking for this device
//  293  * @param       SecurityEnable - Security Options
//  294  *
//  295  * @return      afStatus_t
//  296  */
//  297 afStatus_t ZDP_NwkAddrReq( byte *IEEEAddress, byte ReqType,
//  298                            byte StartIndex, byte SecurityEnable )
//  299 {
//  300   byte *pBuf = ZDP_TmpBuf;
//  301   byte len = Z_EXTADDR_LEN + 1 + 1;  // IEEEAddress + ReqType + StartIndex.
//  302   zAddrType_t dstAddr;
//  303 
//  304   if ( osal_ExtAddrEqual( saveExtAddr, IEEEAddress ) == FALSE )
//  305   {
//  306     dstAddr.addrMode = AddrBroadcast;
//  307     dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
//  308   }
//  309   else
//  310   {
//  311     dstAddr.addrMode = Addr16Bit;
//  312     dstAddr.addr.shortAddr = ZDAppNwkAddr.addr.shortAddr;
//  313   }
//  314 
//  315   pBuf = osal_cpyExtAddr( pBuf, IEEEAddress );
//  316 
//  317   *pBuf++ = ReqType;
//  318   *pBuf++ = StartIndex;
//  319 
//  320   return fillAndSend( &ZDP_TransID, &dstAddr, NWK_addr_req, len );
//  321 }
//  322 #endif
//  323 
//  324 #if defined ( ZDO_IEEEADDR_REQUEST )
//  325 /*********************************************************************
//  326  * @fn          ZDP_IEEEAddrReq
//  327  *
//  328  * @brief       This builds and send a IEEE_addr_req message.  This
//  329  *              function sends a unicast message looking for a 64
//  330  *              bit IEEE address with a 16 bit address as bait.
//  331  *
//  332  * @param       ReqType - ZDP_IEEEADDR_REQTYPE_SINGLE or
//  333  *                        ZDP_IEEEADDR_REQTYPE_EXTENDED
//  334  * @param       SecurityEnable - Security Options
//  335  *
//  336  * @return      afStatus_t
//  337  */
//  338 afStatus_t ZDP_IEEEAddrReq( uint16 shortAddr, byte ReqType,
//  339                             byte StartIndex, byte SecurityEnable )
//  340 {
//  341   byte *pBuf = ZDP_TmpBuf;
//  342   byte len = 2 + 1 + 1;  // shortAddr + ReqType + StartIndex.
//  343   zAddrType_t dstAddr;
//  344 
//  345   dstAddr.addrMode = (afAddrMode_t)Addr16Bit;
//  346   dstAddr.addr.shortAddr = shortAddr;
//  347 
//  348   *pBuf++ = LO_UINT16( shortAddr );
//  349   *pBuf++ = HI_UINT16( shortAddr );
//  350 
//  351   *pBuf++ = ReqType;
//  352   *pBuf++ = StartIndex;
//  353 
//  354   return fillAndSend( &ZDP_TransID, &dstAddr, IEEE_addr_req, len );
//  355 }
//  356 #endif
//  357 
//  358 #if defined ( ZDO_MATCH_REQUEST )
//  359 /*********************************************************************
//  360  * @fn          ZDP_MatchDescReq
//  361  *
//  362  * @brief       This builds and send a Match_Desc_req message.  This
//  363  *              function sends a broadcast or unicast message
//  364  *              requesting the list of endpoint/interfaces that
//  365  *              match profile ID and cluster IDs.
//  366  *
//  367  * @param       dstAddr - destination address
//  368  * @param       ProfileID - Profile ID
//  369  * @param       NumInClusters - number of input clusters
//  370  * @param       InClusterList - input cluster ID list
//  371  * @param       NumOutClusters - number of output clusters
//  372  * @param       OutClusterList - output cluster ID list
//  373  * @param       SecurityEnable - Security Options
//  374  *
//  375  * @return      afStatus_t
//  376  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  377 afStatus_t ZDP_MatchDescReq( zAddrType_t *dstAddr, uint16 nwkAddr,
ZDP_MatchDescReq:
        CFI Block cfiBlock3 Using cfiCommon0
        CFI Function ZDP_MatchDescReq
//  378                                 uint16 ProfileID,
//  379                                 byte NumInClusters, cId_t *InClusterList,
//  380                                 byte NumOutClusters, cId_t *OutClusterList,
//  381                                 byte SecurityEnable )
//  382 {
        FUNCALL ZDP_MatchDescReq, fillAndSend
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 18, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 18, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        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     ?V0 + 6,R2
        MOV     ?V0 + 7,R3
        MOV     A,R1
        MOV     R7,A
        MOV     A,#0x10
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine15 & 0xFFFF
??CrossCallReturnLabel_49:
        MOV     A,#0x12
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine3 & 0xFFFF
??CrossCallReturnLabel_7:
        MOV     A,#0x14
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     ?V0 + 4,A
        MOV     A,#0x15
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     ?V0 + 2,A
        INC     DPTR
        LCALL   ?Subroutine5 & 0xFFFF
//  383   byte *pBuf = ZDP_TmpBuf;
//  384   // nwkAddr+ProfileID+NumInClusters+NumOutClusters.
//  385   byte i, len = 2 + 2 + 1 + 1;  // nwkAddr+ProfileID+NumInClusters+NumOutClusters.
//  386 
//  387   len += (NumInClusters + NumOutClusters) * sizeof(uint16);
??CrossCallReturnLabel_17:
        MOV     A,?V0 + 4
        ADD     A,R7
        CLR     C
        RLC     A
        ADD     A,#0x6
        MOV     R6,A
//  388 
//  389   if ( len >= ZDP_BUF_SZ-1 )
        CLR     C
        SUBB    A,#0x4f
        JC      ??ZDP_MatchDescReq_0
//  390   {
//  391     return afStatus_MEM_FAIL;
        MOV     R1,#-0x7f
        LJMP    ??ZDP_MatchDescReq_1 & 0xFFFF
//  392   }
//  393 
//  394   *pBuf++ = LO_UINT16( nwkAddr );   // NWKAddrOfInterest
??ZDP_MatchDescReq_0:
        MOV     A,R4
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    @DPTR,A
        INC     DPTR
//  395   *pBuf++ = HI_UINT16( nwkAddr );
        MOV     A,R5
        MOVX    @DPTR,A
        INC     DPTR
//  396 
//  397   *pBuf++ = LO_UINT16( ProfileID );   // Profile ID
        MOV     A,R2
        MOVX    @DPTR,A
        INC     DPTR
//  398   *pBuf++ = HI_UINT16( ProfileID );
        MOV     A,R3
        MOVX    @DPTR,A
        INC     DPTR
//  399 
//  400   *pBuf++ = NumInClusters; // Input cluster list
        MOV     A,R7
        LCALL   ?Subroutine21 & 0xFFFF
//  401   if ( NumInClusters )
??CrossCallReturnLabel_113:
        JZ      ??ZDP_MatchDescReq_2
//  402   {
//  403     for (i=0; i<NumInClusters; ++i)  {
        MOV     ?V0 + 5,#0x0
//  404       *pBuf++ = LO_UINT16( InClusterList[i] );
??ZDP_MatchDescReq_3:
        MOV     A,?V0 + 5
        CLR     C
        RLC     A
        MOV     R2,A
        CLR     A
        RLC     A
        MOV     R3,A
        MOV     A,?V0 + 0
        ADD     A,R2
        MOV     R4,A
        MOV     A,?V0 + 1
        ADDC    A,R3
        MOV     R5,A
        MOV     DPL,R4
        MOV     DPH,R5
        LCALL   ?Subroutine7 & 0xFFFF
//  405       *pBuf++ = HI_UINT16( InClusterList[i] );
??CrossCallReturnLabel_29:
        MOV     DPL,R4
        MOV     DPH,R5
        LCALL   ?Subroutine10 & 0xFFFF
//  406     }
??CrossCallReturnLabel_36:
        SUBB    A,R7
        JC      ??ZDP_MatchDescReq_3
//  407   }
//  408 
//  409   *pBuf++ = NumOutClusters; // Output cluster list
??ZDP_MatchDescReq_2:
        MOV     DPL,R0
        MOV     DPH,R1
        MOV     A,?V0 + 4
        LCALL   ?Subroutine21 & 0xFFFF
//  410   if ( NumOutClusters )
??CrossCallReturnLabel_114:
        JZ      ??ZDP_MatchDescReq_4
//  411   {
//  412     for (i=0; i<NumOutClusters; ++i)  {
        MOV     ?V0 + 5,#0x0
//  413       *pBuf++ = LO_UINT16( OutClusterList[i] );
??ZDP_MatchDescReq_5:
        MOV     A,?V0 + 5
        CLR     C
        RLC     A
        MOV     R2,A
        CLR     A
        RLC     A
        MOV     R3,A
        MOV     A,?V0 + 2
        ADD     A,R2
        MOV     R2,A
        MOV     A,?V0 + 3
        ADDC    A,R3
        MOV     R3,A
        MOV     DPL,R2
        MOV     DPH,R3
        LCALL   ?Subroutine7 & 0xFFFF
//  414       *pBuf++ = HI_UINT16( OutClusterList[i] );
??CrossCallReturnLabel_30:
        MOV     DPL,R2
        MOV     DPH,R3
        LCALL   ?Subroutine10 & 0xFFFF
//  415     }
??CrossCallReturnLabel_37:
        SUBB    A,?V0 + 4
        JC      ??ZDP_MatchDescReq_5
//  416   }
//  417 
//  418   return fillAndSend( &ZDP_TransID, dstAddr, Match_Desc_req, len );
??ZDP_MatchDescReq_4:
        ; Setup parameters for call to function fillAndSend
        MOV     ?V0 + 0,#0x6
        MOV     ?V0 + 1,#0x0
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 18)
        MOV     A,R6
        MOV     R1,A
        MOV     R4,?V0 + 6
        MOV     R5,?V0 + 7
        LCALL   ?Subroutine26 & 0xFFFF
??CrossCallReturnLabel_118:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 16)
??ZDP_MatchDescReq_1:
        LJMP    ??Subroutine41_1 & 0xFFFF
        CFI EndBlock cfiBlock3
//  419 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine10:
        CFI Block cfiCond4 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_36
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond5 Using cfiCommon0
        CFI (cfiCond5) NoFunction
        CFI (cfiCond5) Conditional ??CrossCallReturnLabel_37
        CFI (cfiCond5) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond5) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond5) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond5) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond5) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond5) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond5) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond5) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond5) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond5) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond5) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond5) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond5) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond5) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond5) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond5) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond5) CFA_SP SP+0
        CFI (cfiCond5) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker6 Using cfiCommon1
        CFI (cfiPicker6) NoFunction
        CFI (cfiPicker6) Picker
        LCALL   ?Subroutine30 & 0xFFFF
??CrossCallReturnLabel_89:
        INC     ?V0 + 5
        MOV     A,?V0 + 5
        CLR     C
        RET
        CFI EndBlock cfiCond4
        CFI EndBlock cfiCond5
        CFI EndBlock cfiPicker6

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine30:
        CFI Block cfiCond7 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_89, ??CrossCallReturnLabel_36
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond8 Using cfiCommon0
        CFI (cfiCond8) NoFunction
        CFI (cfiCond8) Conditional ??CrossCallReturnLabel_89, ??CrossCallReturnLabel_37
        CFI (cfiCond8) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond8) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond8) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond8) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond8) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond8) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond8) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond8) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond8) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond8) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond8) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond8) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond8) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond8) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond8) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond8) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond8) CFA_SP SP+0
        CFI (cfiCond8) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond9 Using cfiCommon0
        CFI (cfiCond9) NoFunction
        CFI (cfiCond9) Conditional ??CrossCallReturnLabel_87, ??CrossCallReturnLabel_0
        CFI (cfiCond9) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond9) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond9) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond9) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond9) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond9) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond9) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond9) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond9) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond9) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond9) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond9) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond9) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond9) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond9) CFA_SP SP+0
        CFI (cfiCond9) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond10 Using cfiCommon0
        CFI (cfiCond10) NoFunction
        CFI (cfiCond10) Conditional ??CrossCallReturnLabel_87, ??CrossCallReturnLabel_1
        CFI (cfiCond10) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond10) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond10) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond10) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond10) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond10) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond10) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond10) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond10) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond10) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond10) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond10) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond10) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond10) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond10) CFA_SP SP+0
        CFI (cfiCond10) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker11 Using cfiCommon1
        CFI (cfiPicker11) NoFunction
        CFI (cfiPicker11) Picker
        INC     DPTR
        CFI Block cfiCond12 Using cfiCommon0
        CFI (cfiCond12) NoFunction
        CFI (cfiCond12) Conditional ??CrossCallReturnLabel_88, ??CrossCallReturnLabel_13
        CFI (cfiCond12) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond12) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond12) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond12) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond12) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond12) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond12) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond12) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond12) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond12) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond12) CFA_SP SP+0
        CFI (cfiCond12) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond13 Using cfiCommon0
        CFI (cfiCond13) NoFunction
        CFI (cfiCond13) Conditional ??CrossCallReturnLabel_88, ??CrossCallReturnLabel_14
        CFI (cfiCond13) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond13) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond13) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond13) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond13) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond13) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond13) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond13) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond13) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond13) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond13) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond13) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond13) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond13) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond13) CFA_SP SP+0
        CFI (cfiCond13) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond14 Using cfiCommon0
        CFI (cfiCond14) NoFunction
        CFI (cfiCond14) Conditional ??CrossCallReturnLabel_88, ??CrossCallReturnLabel_15
        CFI (cfiCond14) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond14) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond14) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond14) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond14) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond14) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond14) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond14) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond14) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond14) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond14) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond14) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond14) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond14) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond14) CFA_SP SP+0
        CFI (cfiCond14) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond15 Using cfiCommon0
        CFI (cfiCond15) NoFunction
        CFI (cfiCond15) Conditional ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_40
        CFI (cfiCond15) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond15) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond15) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond15) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond15) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond15) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond15) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond15) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond15) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond15) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond15) CFA_SP SP+0
        CFI (cfiCond15) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond16 Using cfiCommon0
        CFI (cfiCond16) NoFunction
        CFI (cfiCond16) Conditional ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_41
        CFI (cfiCond16) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond16) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond16) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond16) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond16) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond16) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond16) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond16) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond16) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond16) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond16) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond16) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond16) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond16) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond16) CFA_SP SP+0
        CFI (cfiCond16) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond17 Using cfiCommon0
        CFI (cfiCond17) NoFunction
        CFI (cfiCond17) Conditional ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_42
        CFI (cfiCond17) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond17) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond17) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond17) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond17) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond17) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond17) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond17) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond17) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond17) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond17) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond17) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond17) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond17) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond17) CFA_SP SP+0
        CFI (cfiCond17) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond18 Using cfiCommon0
        CFI (cfiCond18) NoFunction
        CFI (cfiCond18) Conditional ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_43
        CFI (cfiCond18) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond18) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond18) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond18) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond18) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond18) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond18) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond18) V5 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+0
        CFI (cfiCond18) CFA_XSP16 add(XSP16, 14)
??Subroutine30_0:
        LCALL   ?Subroutine37 & 0xFFFF
??CrossCallReturnLabel_102:
        INC     DPTR
        INC     R0
        MOV     R1,DPH
        RET
        CFI EndBlock cfiCond7
        CFI EndBlock cfiCond8
        CFI EndBlock cfiCond9
        CFI EndBlock cfiCond10
        CFI EndBlock cfiPicker11
        CFI EndBlock cfiCond12
        CFI EndBlock cfiCond13
        CFI EndBlock cfiCond14
        CFI EndBlock cfiCond15
        CFI EndBlock cfiCond16
        CFI EndBlock cfiCond17
        CFI EndBlock cfiCond18
//  420 #endif // ZDO_MATCH_REQUEST
//  421 
//  422 #if defined ( ZDO_SIMPLEDESC_REQUEST )
//  423 /*********************************************************************
//  424  * @fn          ZDP_SimpleDescReq
//  425  *
//  426  * @brief       This builds and send a NWK_Simple_Desc_req
//  427  *              message.  This function sends unicast message to the
//  428  *              destination device.
//  429  *
//  430  * @param       dstAddr - destination address
//  431  * @param       nwkAddr - 16 bit address
//  432  * @param       epIntf - endpoint/interface
//  433  * @param       SecurityEnable - Security Options
//  434  *
//  435  * @return      afStatus_t
//  436  */
//  437 afStatus_t ZDP_SimpleDescReq( zAddrType_t *dstAddr, uint16 nwkAddr,
//  438                                     byte endPoint, byte SecurityEnable )
//  439 
//  440 {
//  441   ZDP_TmpBuf[0] = LO_UINT16( nwkAddr );
//  442   ZDP_TmpBuf[1] = HI_UINT16( nwkAddr );
//  443   ZDP_TmpBuf[2] = endPoint;
//  444 
//  445   return fillAndSend( &ZDP_TransID, dstAddr, Simple_Desc_req, 3 );
//  446 }
//  447 #endif // ZDO_SIMPLEDESC_REQUEST
//  448 
//  449 #if defined ( ZDO_USERDESCSET_REQUEST )
//  450 /*********************************************************************
//  451  * @fn          ZDP_UserDescSet
//  452  *
//  453  * @brief       This builds and send a User_Desc_set message to set
//  454  *              the user descriptor.  This function sends unicast
//  455  *              message to the destination device.
//  456  *
//  457  * @param       dstAddr - destination address
//  458  * @param       nwkAddr - 16 bit address
//  459  * @param       UserDescriptor - user descriptor
//  460  * @param       SecurityEnable - Security Options
//  461  *
//  462  * @return      afStatus_t
//  463  */
//  464 afStatus_t ZDP_UserDescSet( zAddrType_t *dstAddr, uint16 nwkAddr,
//  465                           UserDescriptorFormat_t *UserDescriptor,
//  466                           byte SecurityEnable )
//  467 {
//  468   byte *pBuf = ZDP_TmpBuf;
//  469   byte len = (UserDescriptor->len < AF_MAX_USER_DESCRIPTOR_LEN) ?
//  470               UserDescriptor->len : AF_MAX_USER_DESCRIPTOR_LEN;
//  471   byte addrLen = 2;
//  472 
//  473   *pBuf++ = LO_UINT16( nwkAddr );
//  474   *pBuf++ = HI_UINT16( nwkAddr );
//  475 
//  476   *pBuf++ = len;
//  477   addrLen = 3;
//  478 
//  479   pBuf = osal_memcpy( pBuf, UserDescriptor->desc, len );
//  480   osal_memset( pBuf, AF_USER_DESCRIPTOR_FILL, AF_MAX_USER_DESCRIPTOR_LEN-len );
//  481 
//  482   return fillAndSend( &ZDP_TransID, dstAddr, User_Desc_set, (AF_MAX_USER_DESCRIPTOR_LEN + addrLen) );
//  483 }
//  484 #endif // ZDO_USERDESCSET_REQUEST
//  485 
//  486 #if defined ( ZDO_SERVERDISC_REQUEST )
//  487 /*********************************************************************
//  488  * @fn          ZDP_ServerDiscReq
//  489  *
//  490  * @brief       Build and send a Server_Discovery_req request message.
//  491  *
//  492  * @param       serverMask - 16-bit bit-mask of server services being sought.
//  493  * @param       SecurityEnable - Security Options
//  494  *
//  495  * @return      afStatus_t
//  496  */
//  497 afStatus_t ZDP_ServerDiscReq( uint16 serverMask, byte SecurityEnable )
//  498 {
//  499   byte *pBuf = ZDP_TmpBuf;
//  500   zAddrType_t dstAddr;
//  501 
//  502   dstAddr.addrMode = AddrBroadcast;
//  503   dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVZCZR;
//  504 
//  505   *pBuf++ = LO_UINT16( serverMask );
//  506   *pBuf = HI_UINT16( serverMask );
//  507 
//  508   FillAndSendTxOptions( &ZDP_TransID, &dstAddr, Server_Discovery_req, 2,
//  509              ((SecurityEnable) ? AF_EN_SECURITY : AF_TX_OPTIONS_NONE) );
//  510 }
//  511 #endif
//  512 
//  513 #if defined ( ZDO_ENDDEVICE_ANNCE_REQUEST ) || defined ( ZDO_ENDDEVICE_ANNCE_GENERATE )
//  514 /*********************************************************************
//  515  * @fn          ZDP_EndDeviceAnnce
//  516  *
//  517  * @brief       This builds and send an End_Device_Annce
//  518  *              message.  This function sends a broadcast message.
//  519  *
//  520  * @param       nwkAddr - 16 bit address of the device
//  521  * @param       IEEEAddr - 64 bit address of the device
//  522  * @param       capabilities - device capabilities.  This field is only
//  523  *                 sent for v1.1 networks.
//  524  * @param       SecurityEnable - Security Options
//  525  *
//  526  * @return      afStatus_t
//  527  */
//  528 afStatus_t ZDP_EndDeviceAnnce( uint16 nwkAddr, byte *IEEEAddr,
//  529                               byte capabilities, byte SecurityEnable )
//  530 {
//  531   zAddrType_t dstAddr;
//  532   uint8 len;
//  533 
//  534   dstAddr.addrMode = (afAddrMode_t)AddrBroadcast;
//  535   dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
//  536 
//  537   ZDP_TmpBuf[0] = LO_UINT16( nwkAddr );
//  538   ZDP_TmpBuf[1] = HI_UINT16( nwkAddr );
//  539   osal_cpyExtAddr( &ZDP_TmpBuf[2], IEEEAddr );
//  540   len = 2 + Z_EXTADDR_LEN;
//  541 
//  542   ZDP_TmpBuf[10] = capabilities;
//  543   len++;
//  544 
//  545   return fillAndSend( &ZDP_TransID, &dstAddr, End_Device_annce, len );
//  546 }
//  547 #endif // ZDO_ENDDEVICE_ANNCE_REQUEST
//  548 
//  549 /*********************************************************************
//  550  * Address Responses
//  551  */
//  552 
//  553 /*********************************************************************
//  554  * @fn      zdpProcessAddrReq
//  555  *
//  556  * @brief   Process an incoming NWK_addr_req or IEEE_addr_req message and then
//  557  *          build and send a corresponding NWK_addr_rsp or IEEE_addr_rsp msg.
//  558  *
//  559  * @param   inMsg - incoming message
//  560  *
//  561  * @return  none
//  562  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  563 void zdpProcessAddrReq( zdoIncomingMsg_t *inMsg )
zdpProcessAddrReq:
        CFI Block cfiBlock19 Using cfiCommon0
        CFI Function zdpProcessAddrReq
//  564 {
        FUNCALL zdpProcessAddrReq, osal_ExtAddrEqual
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 17, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 17, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        FUNCALL zdpProcessAddrReq, osal_cpyExtAddr
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 17, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 17, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        FUNCALL zdpProcessAddrReq, AssocMakeList
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 17, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 17, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        FUNCALL zdpProcessAddrReq, osal_mem_free
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 17, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 17, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        FUNCALL zdpProcessAddrReq, fillAndSend
        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
        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: 1
        MOV     A,#-0x1
        LCALL   ?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 17)
        MOV     ?V0 + 6,R2
        MOV     ?V0 + 7,R3
//  565   uint8 reqType;
//  566   uint16 aoi = INVALID_NODE_ADDR;
//  567   uint8 *ieee = NULL;
        MOV     ?V0 + 4,#0x0
        MOV     ?V0 + 5,#0x0
//  568 
//  569   reqType = inMsg->asdu[(inMsg->clusterID == NWK_addr_req) ? Z_EXTADDR_LEN : sizeof( uint16 ) ];
        MOV     A,R2
        ADD     A,#0xc
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_65:
        JNZ     ??zdpProcessAddrReq_0
        INC     DPTR
        MOVX    A,@DPTR
??zdpProcessAddrReq_0:
        JNZ     ??zdpProcessAddrReq_1
        MOV     R0,#0x8
        SJMP    ??zdpProcessAddrReq_2
??zdpProcessAddrReq_1:
        MOV     R0,#0x2
??zdpProcessAddrReq_2:
        MOV     A,R2
        ADD     A,#0x11
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_66:
        ADD     A,R0
        MOV     R2,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,#0x0
        MOV     DPL,R2
        MOV     DPH,A
        MOVX    A,@DPTR
        MOV     ?V0 + 3,A
//  570 
//  571   if ( inMsg->clusterID == NWK_addr_req )
        MOV     A,?V0 + 6
        ADD     A,#0xc
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_67:
        JNZ     ??zdpProcessAddrReq_3
        INC     DPTR
        MOVX    A,@DPTR
??zdpProcessAddrReq_3:
        JNZ     ??zdpProcessAddrReq_4
//  572   {
//  573     ieee = inMsg->asdu;
        MOV     A,?V0 + 6
        ADD     A,#0x11
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_68:
        MOV     ?V0 + 4,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     ?V0 + 5,A
//  574 
//  575     if ( osal_ExtAddrEqual( saveExtAddr, ieee ) )
        ; Setup parameters for call to function osal_ExtAddrEqual
        MOV     R4,?V0 + 4
        MOV     R5,A
        MOV     R2,#(saveExtAddr & 0xff)
        MOV     R3,#((saveExtAddr >> 8) & 0xff)
        LCALL   ??osal_ExtAddrEqual?relay
        MOV     A,R1
        JNZ     $+5
        LJMP    ??zdpProcessAddrReq_5 & 0xFFFF
//  576     {
//  577       aoi = ZDAppNwkAddr.addr.shortAddr;
        MOV     DPTR,#ZDAppNwkAddr
        MOVX    A,@DPTR
        MOV     R6,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R7,A
        SJMP    ??zdpProcessAddrReq_6
//  578     }
//  579     /*
//  580     else if ( reqType == ZDP_ADDR_REQTYPE_MEMBERSHIP )
//  581     {
//  582       //ggg - what to do?
//  583     }
//  584     */
//  585   }
??zdpProcessAddrReq_4:
        MOV     A,?V0 + 6
        ADD     A,#0x11
        MOV     DPL,A
        MOV     A,R3
        ADDC    A,#0x0
        MOV     DPH,A
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_18:
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    A,@DPTR
        MOV     R2,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R1,A
        MOV     A,R2
        MOV     R6,A
        MOV     A,R1
        MOV     R7,A
//  586   else  // if ( inMsg->clusterID == IEEE_addr_req )
//  587   {
//  588     aoi = BUILD_UINT16( inMsg->asdu[0], inMsg->asdu[1] );
//  589 
//  590     if ( aoi == ZDAppNwkAddr.addr.shortAddr )
        MOV     DPTR,#ZDAppNwkAddr
        MOVX    A,@DPTR
        XRL     A,R6
        JNZ     ??zdpProcessAddrReq_7
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R7
??zdpProcessAddrReq_7:
        JNZ     ??zdpProcessAddrReq_6
//  591     {
//  592       ieee = saveExtAddr;
        MOV     ?V0 + 4,#(saveExtAddr & 0xff)
        MOV     ?V0 + 5,#((saveExtAddr >> 8) & 0xff)
//  593     }
//  594   }
//  595 
//  596   if ( (aoi != INVALID_NODE_ADDR) && (ieee != NULL) )
??zdpProcessAddrReq_6:
        MOV     A,#-0x2
        XRL     A,R6
        JNZ     ??zdpProcessAddrReq_8
        MOV     A,#-0x1
        XRL     A,R7
??zdpProcessAddrReq_8:
        JNZ     $+5
        LJMP    ??zdpProcessAddrReq_5 & 0xFFFF
        MOV     A,?V0 + 4
        JNZ     ??zdpProcessAddrReq_9
        MOV     A,?V0 + 5
??zdpProcessAddrReq_9:
        JNZ     $+5
        LJMP    ??zdpProcessAddrReq_5 & 0xFFFF
//  597   {
//  598     byte *pBuf = ZDP_TmpBuf;
        MOV     DPTR,#ZDP_TmpBuf
        LCALL   ?Subroutine3 & 0xFFFF
//  599     // Status + IEEE-Addr + Nwk-Addr.
//  600     byte len = 1 + Z_EXTADDR_LEN + 2;
??CrossCallReturnLabel_8:
        MOV     ?V0 + 2,#0xb
//  601 
//  602     byte stat = ((reqType == ZDP_ADDR_REQTYPE_SINGLE)
//  603             || (reqType == ZDP_ADDR_REQTYPE_EXTENDED)
//  604           || ((reqType == ZDP_ADDR_REQTYPE_MEMBERSHIP)
//  605          && (inMsg->clusterID == NWK_addr_req)) ) ? ZDP_SUCCESS : ZDP_INVALID_REQTYPE;
        MOV     A,?V0 + 3
        JZ      ??zdpProcessAddrReq_10
        MOV     A,#0x1
        XRL     A,?V0 + 3
        JZ      ??zdpProcessAddrReq_10
        MOV     A,#0x2
        XRL     A,?V0 + 3
        JNZ     ??zdpProcessAddrReq_11
        LCALL   ?Subroutine24 & 0xFFFF
??CrossCallReturnLabel_69:
        JNZ     ??zdpProcessAddrReq_12
        INC     DPTR
        MOVX    A,@DPTR
??zdpProcessAddrReq_12:
        JNZ     ??zdpProcessAddrReq_11
??zdpProcessAddrReq_10:
        MOV     R2,#0x0
        SJMP    ??zdpProcessAddrReq_13
??zdpProcessAddrReq_11:
        MOV     R2,#-0x80
??zdpProcessAddrReq_13:
        MOV     A,R2
//  606 
//  607     *pBuf++ = stat;
        MOV     DPL,?V0 + 0
        MOV     DPH,?V0 + 1
        LCALL   ?Subroutine18 & 0xFFFF
//  608 
//  609     pBuf = osal_cpyExtAddr( pBuf, ieee );
??CrossCallReturnLabel_110:
        ; Setup parameters for call to function osal_cpyExtAddr
        MOV     R4,?V0 + 4
        MOV     R5,?V0 + 5
        MOV     R2,?V0 + 0
        MOV     R3,?V0 + 1
        LCALL   ??osal_cpyExtAddr?relay
//  610 
//  611     *pBuf++ = LO_UINT16( aoi );
        MOV     A,R6
        MOV     DPL,R2
        MOV     DPH,R3
        MOVX    @DPTR,A
        INC     DPTR
//  612     *pBuf++ = HI_UINT16( aoi );
        MOV     A,R7
        LCALL   ?Subroutine18 & 0xFFFF
//  613 
//  614 #if defined( RTR_NWK )
//  615     if ( (reqType == ZDP_ADDR_REQTYPE_EXTENDED) &&
//  616          (aoi == ZDAppNwkAddr.addr.shortAddr) )
??CrossCallReturnLabel_111:
        MOV     A,#0x1
        XRL     A,?V0 + 3
        JZ      $+5
        LJMP    ??zdpProcessAddrReq_14 & 0xFFFF
        MOV     DPTR,#ZDAppNwkAddr
        MOVX    A,@DPTR
        XRL     A,R6
        JNZ     ??zdpProcessAddrReq_15
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R7
??zdpProcessAddrReq_15:
        JZ      $+5
        LJMP    ??zdpProcessAddrReq_14 & 0xFFFF
//  617     {
//  618       byte cnt = 0;
        CLR     A
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    @DPTR,A
//  619       uint16 *list = AssocMakeList( &cnt );
        ; Setup parameters for call to function AssocMakeList
        MOV     R2,DPL
        MOV     R3,DPH
        LCALL   ??AssocMakeList?relay
//  620 
//  621       if ( list != NULL )
        MOV     A,R2
        JNZ     ??zdpProcessAddrReq_16
        MOV     A,R3
??zdpProcessAddrReq_16:
        JNZ     $+5
        LJMP    ??zdpProcessAddrReq_17 & 0xFFFF
//  622       {
//  623         byte idx = inMsg->asdu[(((inMsg->clusterID == NWK_addr_req) ? Z_EXTADDR_LEN : sizeof( uint16 )) + 1)];
        LCALL   ?Subroutine24 & 0xFFFF
??CrossCallReturnLabel_70:
        JNZ     ??zdpProcessAddrReq_18
        INC     DPTR
        MOVX    A,@DPTR
??zdpProcessAddrReq_18:
        JNZ     ??zdpProcessAddrReq_19
        MOV     R0,#0x8
        SJMP    ??zdpProcessAddrReq_20
??zdpProcessAddrReq_19:
        MOV     R0,#0x2
??zdpProcessAddrReq_20:
        MOV     A,?V0 + 6
        ADD     A,#0x11
        LCALL   ??Subroutine24_0 & 0xFFFF
??CrossCallReturnLabel_71:
        ADD     A,R0
        MOV     R4,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,#0x0
        MOV     DPL,R4
        MOV     DPH,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R4,A
//  624         uint16 *pList = list + idx;
        CLR     C
        RLC     A
        MOV     R0,A
        CLR     A
        RLC     A
        MOV     R1,A
        MOV     A,R2
        ADD     A,R0
        MOV     R0,A
        MOV     A,R3
        ADDC    A,R1
        MOV     R1,A
//  625 
//  626         // NumAssocDev field is only present on success.
//  627         if ( cnt > idx )
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    A,@DPTR
        MOV     R5,A
        MOV     A,R4
        CLR     C
        SUBB    A,R5
        JNC     ??zdpProcessAddrReq_21
//  628         {
//  629           cnt -= idx;
        MOVX    A,@DPTR
        CLR     C
        SUBB    A,R4
        MOVX    @DPTR,A
//  630           len += (cnt * sizeof( uint16 ));
        CLR     C
        RLC     A
        ADD     A,#0xb
        MOV     ?V0 + 2,A
        SJMP    ??zdpProcessAddrReq_22
//  631         }
//  632         else
//  633         {
//  634           cnt = 0;
??zdpProcessAddrReq_21:
        CLR     A
        MOVX    @DPTR,A
//  635         }
//  636         *pBuf++ = cnt;
??zdpProcessAddrReq_22:
        LCALL   ?Subroutine33 & 0xFFFF
//  637         len++;
//  638 
//  639         // StartIndex field is only present if NumAssocDev field is non-zero.
//  640         *pBuf++ = idx;
??CrossCallReturnLabel_93:
        MOV     A,R4
        LCALL   ?Subroutine18 & 0xFFFF
//  641         len++;
??CrossCallReturnLabel_112:
        INC     ?V0 + 2
        INC     ?V0 + 2
        SJMP    ??zdpProcessAddrReq_23
//  642 
//  643         while ( cnt != 0 )
//  644         {
//  645           *pBuf++ = LO_UINT16( *pList );
??zdpProcessAddrReq_24:
        MOV     DPL,R0
        MOV     DPH,R1
        LCALL   ?Subroutine13 & 0xFFFF
//  646           *pBuf++ = HI_UINT16( *pList );
??CrossCallReturnLabel_108:
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        LCALL   ?Subroutine13 & 0xFFFF
//  647           pList++;
??CrossCallReturnLabel_109:
        MOV     A,R0
        ADD     A,#0x2
        INC     R0
        INC     R0
        MOV     A,R1
        ADDC    A,#0x0
        MOV     R1,A
//  648           cnt--;
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    A,@DPTR
        DEC     A
        MOVX    @DPTR,A
//  649         }
??zdpProcessAddrReq_23:
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    A,@DPTR
        JNZ     ??zdpProcessAddrReq_24
//  650 
//  651         osal_mem_free( (uint8 *)list );
        ; Setup parameters for call to function osal_mem_free
        LCALL   ??osal_mem_free?relay
        SJMP    ??zdpProcessAddrReq_14
//  652       }
//  653       else
//  654       {
//  655         // NumAssocDev field is only present on success.
//  656         *pBuf++ = 0;
??zdpProcessAddrReq_17:
        CLR     A
        MOV     DPL,?V0 + 0
        MOV     DPH,?V0 + 1
        MOVX    @DPTR,A
//  657         len++;
        MOV     ?V0 + 2,#0xc
//  658       }
//  659     }
//  660 
//  661 #endif
//  662 
//  663     ZDP_TxOptions = AF_MSG_ACK_REQUEST;
??zdpProcessAddrReq_14:
        MOV     A,#0x10
        MOV     DPTR,#ZDP_TxOptions
        MOVX    @DPTR,A
//  664     fillAndSend( &(inMsg->TransSeq), &(inMsg->srcAddr),
//  665                 (cId_t)(inMsg->clusterID | ZDO_RESPONSE_BIT), len );
        ; Setup parameters for call to function fillAndSend
        LCALL   ?Subroutine24 & 0xFFFF
??CrossCallReturnLabel_72:
        MOV     ?V0 + 0,A
        INC     DPTR
        MOVX    A,@DPTR
        ORL     A,#0x80
        MOV     ?V0 + 1,A
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     R1,?V0 + 2
        MOV     A,?V0 + 6
        ADD     A,#0x2
        MOV     R4,A
        MOV     A,?V0 + 7
        ADDC    A,#0x0
        MOV     R5,A
        MOV     A,?V0 + 6
        ADD     A,#0xf
        MOV     R2,A
        MOV     A,?V0 + 7
        ADDC    A,#0x0
        MOV     R3,A
        LCALL   ?Subroutine44 & 0xFFFF
??CrossCallReturnLabel_121:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 17)
//  666     ZDP_TxOptions = AF_TX_OPTIONS_NONE;
        CLR     A
        MOV     DPTR,#ZDP_TxOptions
        MOVX    @DPTR,A
//  667   }
//  668 }
??zdpProcessAddrReq_5:
        LJMP    ?Subroutine41 & 0xFFFF
        CFI EndBlock cfiBlock19

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine18:
        CFI Block cfiCond20 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_110
        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+0
        CFI CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond21 Using cfiCommon0
        CFI (cfiCond21) NoFunction
        CFI (cfiCond21) Conditional ??CrossCallReturnLabel_111
        CFI (cfiCond21) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond21) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond21) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond21) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond21) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond21) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond21) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond21) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond21) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond21) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond21) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond21) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond21) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond21) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond21) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond21) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond21) CFA_SP SP+0
        CFI (cfiCond21) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond22 Using cfiCommon0
        CFI (cfiCond22) NoFunction
        CFI (cfiCond22) Conditional ??CrossCallReturnLabel_112
        CFI (cfiCond22) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond22) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond22) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond22) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond22) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond22) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond22) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond22) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond22) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond22) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond22) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond22) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond22) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond22) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond22) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond22) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond22) CFA_SP SP+0
        CFI (cfiCond22) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiPicker23 Using cfiCommon1
        CFI (cfiPicker23) NoFunction
        CFI (cfiPicker23) Picker
        MOVX    @DPTR,A
        INC     DPTR
        CFI EndBlock cfiCond20
        CFI EndBlock cfiCond21
        CFI EndBlock cfiCond22
        CFI EndBlock cfiPicker23
        REQUIRE ?Subroutine42
        ; // Fall through to label ?Subroutine42

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine42:
        CFI Block cfiCond24 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_110
        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+0
        CFI CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond25 Using cfiCommon0
        CFI (cfiCond25) NoFunction
        CFI (cfiCond25) Conditional ??CrossCallReturnLabel_111
        CFI (cfiCond25) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond25) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond25) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond25) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond25) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond25) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond25) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond25) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond25) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond25) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond25) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond25) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond25) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond25) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond25) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond25) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond25) CFA_SP SP+0
        CFI (cfiCond25) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond26 Using cfiCommon0
        CFI (cfiCond26) NoFunction
        CFI (cfiCond26) Conditional ??CrossCallReturnLabel_112
        CFI (cfiCond26) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond26) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond26) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond26) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond26) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond26) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond26) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond26) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond26) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond26) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond26) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond26) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond26) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond26) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond26) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond26) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond26) CFA_SP SP+0
        CFI (cfiCond26) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond27 Using cfiCommon0
        CFI (cfiCond27) NoFunction
        CFI (cfiCond27) Conditional ??CrossCallReturnLabel_108
        CFI (cfiCond27) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond27) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond27) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond27) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond27) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond27) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond27) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond27) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond27) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond27) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond27) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond27) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond27) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond27) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond27) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond27) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond27) CFA_SP SP+0
        CFI (cfiCond27) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond28 Using cfiCommon0
        CFI (cfiCond28) NoFunction
        CFI (cfiCond28) Conditional ??CrossCallReturnLabel_109
        CFI (cfiCond28) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond28) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond28) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond28) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond28) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond28) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond28) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond28) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond28) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond28) V7 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+0
        CFI (cfiCond28) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiPicker29 Using cfiCommon1
        CFI (cfiPicker29) NoFunction
        CFI (cfiPicker29) Picker
        MOV     ?V0 + 0,DPL
        MOV     ?V0 + 1,DPH
        RET
        CFI EndBlock cfiCond24
        CFI EndBlock cfiCond25
        CFI EndBlock cfiCond26
        CFI EndBlock cfiCond27
        CFI EndBlock cfiCond28
        CFI EndBlock cfiPicker29

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine13:
        CFI Block cfiCond30 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_108
        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+0
        CFI CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond31 Using cfiCommon0
        CFI (cfiCond31) NoFunction
        CFI (cfiCond31) Conditional ??CrossCallReturnLabel_109
        CFI (cfiCond31) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond31) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond31) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond31) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond31) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond31) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond31) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond31) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond31) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond31) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond31) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond31) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond31) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond31) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond31) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond31) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond31) CFA_SP SP+0
        CFI (cfiCond31) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiPicker32 Using cfiCommon1
        CFI (cfiPicker32) NoFunction
        CFI (cfiPicker32) Picker
        LCALL   ?Subroutine33 & 0xFFFF
??CrossCallReturnLabel_94:
        SJMP    ?Subroutine42
        CFI EndBlock cfiCond30
        CFI EndBlock cfiCond31
        CFI EndBlock cfiPicker32

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine33:
        CFI Block cfiCond33 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_93
        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+0
        CFI CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond34 Using cfiCommon0
        CFI (cfiCond34) NoFunction
        CFI (cfiCond34) Conditional ??CrossCallReturnLabel_94, ??CrossCallReturnLabel_108
        CFI (cfiCond34) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond34) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond34) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond34) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond34) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond34) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond34) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond34) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond34) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond34) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond34) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond34) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond34) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond34) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond34) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond34) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond34) CFA_SP SP+0
        CFI (cfiCond34) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond35 Using cfiCommon0
        CFI (cfiCond35) NoFunction
        CFI (cfiCond35) Conditional ??CrossCallReturnLabel_94, ??CrossCallReturnLabel_109
        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+0
        CFI (cfiCond35) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiPicker36 Using cfiCommon1
        CFI (cfiPicker36) NoFunction
        CFI (cfiPicker36) Picker
        MOVX    A,@DPTR
        MOV     DPL,?V0 + 0
        MOV     DPH,?V0 + 1
        MOVX    @DPTR,A
        INC     DPTR
        RET
        CFI EndBlock cfiCond33
        CFI EndBlock cfiCond34
        CFI EndBlock cfiCond35
        CFI EndBlock cfiPicker36
//  669 
//  670 /*********************************************************************
//  671  * @fn          ZDP_NodeDescMsg
//  672  *
//  673  * @brief       Builds and sends a Node Descriptor message, unicast to the
//  674  *              specified device.
//  675  *
//  676  * @param       inMsg - incoming message
//  677  * @param       nwkAddr - 16 bit network address for device
//  678  * @param       pNodeDesc - pointer to the node descriptor
//  679  *
//  680  * @return      afStatus_t
//  681  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  682 afStatus_t ZDP_NodeDescMsg( zdoIncomingMsg_t *inMsg,
ZDP_NodeDescMsg:
        CFI Block cfiBlock37 Using cfiCommon0
        CFI Function ZDP_NodeDescMsg
//  683                            uint16 nwkAddr, NodeDescriptorFormat_t *pNodeDesc )
//  684 {
        FUNCALL ZDP_NodeDescMsg, fillAndSend
        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
        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,#0xa
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine2 & 0xFFFF
//  685   byte *pBuf = ZDP_TmpBuf;
//  686   byte len;
//  687 
//  688   len = 1 + 2 + 10;  // Status + nwkAddr + Node descriptor
//  689 
//  690   *pBuf++ = ZDP_SUCCESS;
//  691 
//  692   *pBuf++ = LO_UINT16( nwkAddr );
//  693   *pBuf++ = HI_UINT16( nwkAddr );
//  694 
//  695   *pBuf++ = (byte)((pNodeDesc->ComplexDescAvail << 3) |
//  696                      (pNodeDesc->UserDescAvail << 4) |
//  697                      (pNodeDesc->LogicalType & 0x07));
??CrossCallReturnLabel_4:
        ANL     A,#0x1f
        LCALL   ?Subroutine19 & 0xFFFF
//  698 
//  699   *pBuf++ = (byte)((pNodeDesc->FrequencyBand << 3) | (pNodeDesc->APSFlags & 0x07));
??CrossCallReturnLabel_57:
        LCALL   ?Subroutine9 & 0xFFFF
//  700   *pBuf++ = pNodeDesc->CapabilityFlags;
??CrossCallReturnLabel_34:
        LCALL   ?Subroutine9 & 0xFFFF
//  701   *pBuf++ = pNodeDesc->ManufacturerCode[0];
??CrossCallReturnLabel_35:
        INC     DPTR
        LCALL   ?Subroutine8 & 0xFFFF
//  702   *pBuf++ = pNodeDesc->ManufacturerCode[1];
??CrossCallReturnLabel_32:
        LCALL   ?Subroutine8 & 0xFFFF
//  703   *pBuf++ = pNodeDesc->MaxBufferSize;
??CrossCallReturnLabel_33:
        INC     DPTR
        LCALL   ?Subroutine6 & 0xFFFF
//  704   *pBuf++ = pNodeDesc->MaxTransferSize[0];
??CrossCallReturnLabel_27:
        LCALL   ?Subroutine6 & 0xFFFF
//  705   *pBuf++ = pNodeDesc->MaxTransferSize[1];
??CrossCallReturnLabel_28:
        INC     DPTR
        LCALL   ?Subroutine12 & 0xFFFF
//  706 
//  707   *pBuf++ = LO_UINT16( pNodeDesc->ServerMask );
??CrossCallReturnLabel_40:
        MOV     A,R6
        ADD     A,#0x8
        MOV     R4,A
        MOV     A,R7
        ADDC    A,#0x0
        MOV     R5,A
        LCALL   ?Subroutine4 & 0xFFFF
//  708   *pBuf++ = HI_UINT16( pNodeDesc->ServerMask );
??CrossCallReturnLabel_13:
        LCALL   ?Subroutine14 & 0xFFFF
//  709 
//  710   return fillAndSend( &(inMsg->TransSeq), &(inMsg->srcAddr), Node_Desc_rsp, len );
??CrossCallReturnLabel_45:
        ; Setup parameters for call to function fillAndSend
        MOV     ?V0 + 0,#0x2
        MOV     ?V0 + 1,#-0x80
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 12)
        MOV     R1,#0xd
        CFI EndBlock cfiBlock37
        REQUIRE ?Subroutine45
        ; // Fall through to label ?Subroutine45
//  711 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine45:
        CFI Block cfiBlock38 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 12)
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        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(-10)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V1 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)))
        LCALL   ?Subroutine25 & 0xFFFF
??Subroutine45_0:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 10)
        MOV     R7,#0x2
        LJMP    ?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock38

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine9:
        CFI Block cfiCond39 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_34
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond40 Using cfiCommon0
        CFI (cfiCond40) NoFunction
        CFI (cfiCond40) Conditional ??CrossCallReturnLabel_35
        CFI (cfiCond40) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond40) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond40) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond40) V1 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+0
        CFI (cfiCond40) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiPicker41 Using cfiCommon1
        CFI (cfiPicker41) NoFunction
        CFI (cfiPicker41) Picker
        LCALL   ?Subroutine29 & 0xFFFF
??CrossCallReturnLabel_85:
        INC     DPTR
        RET
        CFI EndBlock cfiCond39
        CFI EndBlock cfiCond40
        CFI EndBlock cfiPicker41

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine8:
        CFI Block cfiCond42 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_32
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond43 Using cfiCommon0
        CFI (cfiCond43) NoFunction
        CFI (cfiCond43) Conditional ??CrossCallReturnLabel_33
        CFI (cfiCond43) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond43) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond43) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond43) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond43) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond43) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond43) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond43) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond43) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond43) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond43) CFA_SP SP+0
        CFI (cfiCond43) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiPicker44 Using cfiCommon1
        CFI (cfiPicker44) NoFunction
        CFI (cfiPicker44) Picker
        LCALL   ?Subroutine28 & 0xFFFF
??CrossCallReturnLabel_83:
        RET
        CFI EndBlock cfiCond42
        CFI EndBlock cfiCond43
        CFI EndBlock cfiPicker44

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine28:
        CFI Block cfiCond45 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_83, ??CrossCallReturnLabel_32
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond46 Using cfiCommon0
        CFI (cfiCond46) NoFunction
        CFI (cfiCond46) Conditional ??CrossCallReturnLabel_83, ??CrossCallReturnLabel_33
        CFI (cfiCond46) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond46) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond46) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond46) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond46) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond46) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond46) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond46) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond46) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond46) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond46) CFA_SP SP+0
        CFI (cfiCond46) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond47 Using cfiCommon0
        CFI (cfiCond47) NoFunction
        CFI (cfiCond47) Conditional ??CrossCallReturnLabel_84, ??CrossCallReturnLabel_27
        CFI (cfiCond47) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond47) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond47) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond47) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond47) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond47) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond47) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond47) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond47) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond47) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond47) CFA_SP SP+0
        CFI (cfiCond47) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond48 Using cfiCommon0
        CFI (cfiCond48) NoFunction
        CFI (cfiCond48) Conditional ??CrossCallReturnLabel_84, ??CrossCallReturnLabel_28
        CFI (cfiCond48) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond48) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond48) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond48) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond48) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond48) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond48) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond48) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond48) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond48) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond48) CFA_SP SP+0
        CFI (cfiCond48) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiPicker49 Using cfiCommon1
        CFI (cfiPicker49) NoFunction
        CFI (cfiPicker49) Picker
        LCALL   ?Subroutine36 & 0xFFFF
??CrossCallReturnLabel_99:
        INC     DPTR
        INC     DPTR
        INC     DPTR
        RET
        CFI EndBlock cfiCond45
        CFI EndBlock cfiCond46
        CFI EndBlock cfiCond47
        CFI EndBlock cfiCond48
        CFI EndBlock cfiPicker49

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine6:
        CFI Block cfiCond50 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_27
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond51 Using cfiCommon0
        CFI (cfiCond51) NoFunction
        CFI (cfiCond51) Conditional ??CrossCallReturnLabel_28
        CFI (cfiCond51) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond51) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond51) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond51) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond51) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond51) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond51) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond51) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond51) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond51) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond51) CFA_SP SP+0
        CFI (cfiCond51) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiPicker52 Using cfiCommon1
        CFI (cfiPicker52) NoFunction
        CFI (cfiPicker52) Picker
        LCALL   ?Subroutine28 & 0xFFFF
??CrossCallReturnLabel_84:
        INC     DPTR
        INC     DPTR
        RET
        CFI EndBlock cfiCond50
        CFI EndBlock cfiCond51
        CFI EndBlock cfiPicker52

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine4:
        CFI Block cfiCond53 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_13
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond54 Using cfiCommon0
        CFI (cfiCond54) NoFunction
        CFI (cfiCond54) Conditional ??CrossCallReturnLabel_14
        CFI (cfiCond54) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond54) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond54) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond54) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond54) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond54) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond54) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond54) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond54) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond54) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond54) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond54) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond54) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond54) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond54) CFA_SP SP+0
        CFI (cfiCond54) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker55 Using cfiCommon1
        CFI (cfiPicker55) NoFunction
        CFI (cfiPicker55) Picker
        MOV     DPL,R4
        MOV     DPH,R5
        CFI Block cfiCond56 Using cfiCommon0
        CFI (cfiCond56) NoFunction
        CFI (cfiCond56) Conditional ??CrossCallReturnLabel_15
        CFI (cfiCond56) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond56) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond56) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond56) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond56) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond56) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond56) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond56) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond56) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond56) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond56) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond56) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond56) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond56) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond56) CFA_SP SP+0
        CFI (cfiCond56) CFA_XSP16 add(XSP16, 14)
??Subroutine4_0:
        LCALL   ??Subroutine30_0 & 0xFFFF
??CrossCallReturnLabel_88:
        MOV     DPL,R4
        MOV     DPH,R5
        INC     DPTR
        RET
        CFI EndBlock cfiCond53
        CFI EndBlock cfiCond54
        CFI EndBlock cfiPicker55
        CFI EndBlock cfiCond56
//  712 
//  713 /*********************************************************************
//  714  * @fn          ZDP_PowerDescMsg
//  715  *
//  716  * @brief       Builds and sends a Power Descriptor message, unicast to the
//  717  *              specified device.
//  718  *
//  719  * @param       inMsg - incoming message (request)
//  720  * @param       nwkAddr - 16 bit network address for device
//  721  * @param       pPowerDesc - pointer to the node descriptor
//  722  *
//  723  * @return      afStatus_t
//  724  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  725 afStatus_t ZDP_PowerDescMsg( zdoIncomingMsg_t *inMsg,
ZDP_PowerDescMsg:
        CFI Block cfiBlock57 Using cfiCommon0
        CFI Function ZDP_PowerDescMsg
//  726                      uint16 nwkAddr, NodePowerDescriptorFormat_t *pPowerDesc )
//  727 {
        FUNCALL ZDP_PowerDescMsg, fillAndSend
        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
        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,#0xa
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine2 & 0xFFFF
//  728   byte *pBuf = ZDP_TmpBuf;
//  729   byte len = 1 + 2 + 2;  // Status + nwkAddr + Node Power descriptor.
//  730 
//  731   *pBuf++ = ZDP_SUCCESS;
//  732 
//  733   *pBuf++ = LO_UINT16( nwkAddr );
//  734   *pBuf++ = HI_UINT16( nwkAddr );
//  735 
//  736   *pBuf++ = (byte)((pPowerDesc->AvailablePowerSources << 4)
//  737                     | (pPowerDesc->PowerMode & 0x0F));
??CrossCallReturnLabel_5:
        LCALL   ?Subroutine19 & 0xFFFF
//  738   *pBuf++ = (byte)((pPowerDesc->CurrentPowerSourceLevel << 4)
//  739                     | (pPowerDesc->CurrentPowerSource & 0x0F));
??CrossCallReturnLabel_58:
        LCALL   ?Subroutine14 & 0xFFFF
//  740 
//  741   return fillAndSend( &(inMsg->TransSeq), &(inMsg->srcAddr), Power_Desc_rsp, len );
??CrossCallReturnLabel_46:
        ; Setup parameters for call to function fillAndSend
        MOV     ?V0 + 0,#0x3
        MOV     ?V0 + 1,#-0x80
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 12)
        MOV     R1,#0x5
        SJMP    ?Subroutine45
        CFI EndBlock cfiBlock57
//  742 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine25:
        CFI Block cfiCond58 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??Subroutine45_0
        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+0
        CFI CFA_XSP16 add(XSP16, 12)
        CFI Block cfiCond59 Using cfiCommon0
        CFI (cfiCond59) NoFunction
        CFI (cfiCond59) Conditional ??Subroutine45_0
        CFI (cfiCond59) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond59) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond59) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond59) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond59) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond59) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond59) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond59) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond59) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond59) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond59) CFA_SP SP+0
        CFI (cfiCond59) CFA_XSP16 add(XSP16, 12)
        CFI Block cfiCond60 Using cfiCommon0
        CFI (cfiCond60) NoFunction
        CFI (cfiCond60) Conditional ??CrossCallReturnLabel_124
        CFI (cfiCond60) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond60) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond60) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond60) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond60) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond60) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond60) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond60) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond60) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond60) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond60) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond60) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond60) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond60) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond60) CFA_SP SP+0
        CFI (cfiCond60) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker61 Using cfiCommon1
        CFI (cfiPicker61) NoFunction
        CFI (cfiPicker61) Picker
        MOV     A,R2
        ADD     A,#0x2
        MOV     R4,A
        MOV     A,R3
        ADDC    A,#0x0
        MOV     R5,A
        MOV     A,R2
        ADD     A,#0xf
        MOV     R2,A
        MOV     A,R3
        ADDC    A,#0x0
        MOV     R3,A
        CFI EndBlock cfiCond58
        CFI EndBlock cfiCond59
        CFI EndBlock cfiCond60
        CFI EndBlock cfiPicker61
        REQUIRE ?Subroutine44
        ; // Fall through to label ?Subroutine44

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine44:
        CFI Block cfiCond62 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??Subroutine45_0
        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+0
        CFI CFA_XSP16 add(XSP16, 12)
        CFI Block cfiCond63 Using cfiCommon0
        CFI (cfiCond63) NoFunction
        CFI (cfiCond63) Conditional ??Subroutine45_0
        CFI (cfiCond63) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond63) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond63) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond63) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond63) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond63) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond63) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond63) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond63) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond63) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond63) CFA_SP SP+0
        CFI (cfiCond63) CFA_XSP16 add(XSP16, 12)
        CFI Block cfiCond64 Using cfiCommon0
        CFI (cfiCond64) NoFunction
        CFI (cfiCond64) Conditional ??CrossCallReturnLabel_124
        CFI (cfiCond64) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond64) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond64) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond64) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond64) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond64) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond64) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond64) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond64) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond64) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond64) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond64) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond64) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond64) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond64) CFA_SP SP+0
        CFI (cfiCond64) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond65 Using cfiCommon0
        CFI (cfiCond65) NoFunction
        CFI (cfiCond65) Conditional ??CrossCallReturnLabel_118
        CFI (cfiCond65) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond65) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond65) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond65) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond65) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond65) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond65) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond65) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond65) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond65) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond65) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond65) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond65) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond65) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond65) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond65) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond65) CFA_SP SP+0
        CFI (cfiCond65) CFA_XSP16 add(XSP16, 18)
        CFI Block cfiCond66 Using cfiCommon0
        CFI (cfiCond66) NoFunction
        CFI (cfiCond66) Conditional ??CrossCallReturnLabel_119
        CFI (cfiCond66) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond66) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond66) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond66) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond66) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond66) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond66) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond66) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond66) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond66) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond66) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond66) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond66) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond66) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond66) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond66) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond66) CFA_SP SP+0
        CFI (cfiCond66) CFA_XSP16 add(XSP16, 21)
        CFI Block cfiCond67 Using cfiCommon0
        CFI (cfiCond67) NoFunction
        CFI (cfiCond67) Conditional ??CrossCallReturnLabel_120
        CFI (cfiCond67) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond67) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond67) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond67) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond67) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond67) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond67) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond67) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond67) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond67) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond67) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond67) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond67) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond67) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond67) CFA_SP SP+0
        CFI (cfiCond67) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond68 Using cfiCommon0
        CFI (cfiCond68) NoFunction
        CFI (cfiCond68) Conditional ??CrossCallReturnLabel_121
        CFI (cfiCond68) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond68) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond68) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond68) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond68) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond68) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond68) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond68) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond68) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond68) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond68) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond68) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond68) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond68) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond68) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond68) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond68) CFA_SP SP+0
        CFI (cfiCond68) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond69 Using cfiCommon0
        CFI (cfiCond69) NoFunction
        CFI (cfiCond69) Conditional ??CrossCallReturnLabel_122
        CFI (cfiCond69) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond69) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond69) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond69) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond69) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond69) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond69) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond69) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond69) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond69) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond69) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond69) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond69) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond69) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond69) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond69) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond69) CFA_SP SP+0
        CFI (cfiCond69) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond70 Using cfiCommon0
        CFI (cfiCond70) NoFunction
        CFI (cfiCond70) Conditional ??CrossCallReturnLabel_123
        CFI (cfiCond70) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond70) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond70) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond70) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond70) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond70) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond70) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond70) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond70) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond70) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond70) CFA_SP SP+0
        CFI (cfiCond70) CFA_XSP16 add(XSP16, 13)
        CFI Block cfiPicker71 Using cfiCommon1
        CFI (cfiPicker71) NoFunction
        CFI (cfiPicker71) Picker
        LCALL   ??fillAndSend?relay
        MOV     A,#0x2
        RET
        CFI EndBlock cfiCond62
        CFI EndBlock cfiCond63
        CFI EndBlock cfiCond64
        CFI EndBlock cfiCond65
        CFI EndBlock cfiCond66
        CFI EndBlock cfiCond67
        CFI EndBlock cfiCond68
        CFI EndBlock cfiCond69
        CFI EndBlock cfiCond70
        CFI EndBlock cfiPicker71

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine19:
        CFI Block cfiCond72 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_57
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond73 Using cfiCommon0
        CFI (cfiCond73) NoFunction
        CFI (cfiCond73) Conditional ??CrossCallReturnLabel_58
        CFI (cfiCond73) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond73) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond73) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond73) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond73) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond73) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond73) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond73) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond73) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond73) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond73) CFA_SP SP+0
        CFI (cfiCond73) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiPicker74 Using cfiCommon1
        CFI (cfiPicker74) NoFunction
        CFI (cfiPicker74) Picker
        LCALL   ?Subroutine39 & 0xFFFF
??CrossCallReturnLabel_106:
        RET
        CFI EndBlock cfiCond72
        CFI EndBlock cfiCond73
        CFI EndBlock cfiPicker74

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine14:
        CFI Block cfiCond75 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_44
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond76 Using cfiCommon0
        CFI (cfiCond76) NoFunction
        CFI (cfiCond76) Conditional ??CrossCallReturnLabel_45
        CFI (cfiCond76) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond76) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond76) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond76) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond76) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond76) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond76) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond76) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond76) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond76) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond76) CFA_SP SP+0
        CFI (cfiCond76) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond77 Using cfiCommon0
        CFI (cfiCond77) NoFunction
        CFI (cfiCond77) Conditional ??CrossCallReturnLabel_46
        CFI (cfiCond77) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond77) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond77) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond77) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond77) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond77) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond77) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond77) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond77) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond77) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond77) CFA_SP SP+0
        CFI (cfiCond77) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond78 Using cfiCommon0
        CFI (cfiCond78) NoFunction
        CFI (cfiCond78) Conditional ??CrossCallReturnLabel_47
        CFI (cfiCond78) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond78) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond78) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond78) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond78) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond78) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond78) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond78) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond78) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond78) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond78) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond78) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond78) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond78) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond78) CFA_SP SP+0
        CFI (cfiCond78) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker79 Using cfiCommon1
        CFI (cfiPicker79) NoFunction
        CFI (cfiPicker79) Picker
        LCALL   ?Subroutine37 & 0xFFFF
??CrossCallReturnLabel_101:
        RET
        CFI EndBlock cfiCond75
        CFI EndBlock cfiCond76
        CFI EndBlock cfiCond77
        CFI EndBlock cfiCond78
        CFI EndBlock cfiPicker79

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine37:
        CFI Block cfiCond80 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_89, ??CrossCallReturnLabel_36
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond81 Using cfiCommon0
        CFI (cfiCond81) NoFunction
        CFI (cfiCond81) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_89, ??CrossCallReturnLabel_37
        CFI (cfiCond81) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond81) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond81) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond81) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond81) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond81) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond81) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond81) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond81) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond81) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond81) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond81) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond81) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond81) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond81) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond81) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond81) CFA_SP SP+0
        CFI (cfiCond81) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond82 Using cfiCommon0
        CFI (cfiCond82) NoFunction
        CFI (cfiCond82) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_87, ??CrossCallReturnLabel_0
        CFI (cfiCond82) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond82) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond82) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond82) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond82) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond82) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond82) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond82) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond82) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond82) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond82) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond82) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond82) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond82) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond82) CFA_SP SP+0
        CFI (cfiCond82) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond83 Using cfiCommon0
        CFI (cfiCond83) NoFunction
        CFI (cfiCond83) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_87, ??CrossCallReturnLabel_1
        CFI (cfiCond83) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond83) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond83) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond83) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond83) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond83) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond83) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond83) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond83) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond83) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond83) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond83) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond83) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond83) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond83) CFA_SP SP+0
        CFI (cfiCond83) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond84 Using cfiCommon0
        CFI (cfiCond84) NoFunction
        CFI (cfiCond84) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_88, ??CrossCallReturnLabel_13
        CFI (cfiCond84) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond84) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond84) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond84) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond84) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond84) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond84) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond84) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond84) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond84) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond84) CFA_SP SP+0
        CFI (cfiCond84) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond85 Using cfiCommon0
        CFI (cfiCond85) NoFunction
        CFI (cfiCond85) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_88, ??CrossCallReturnLabel_14
        CFI (cfiCond85) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond85) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond85) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond85) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond85) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond85) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond85) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond85) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond85) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond85) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond85) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond85) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond85) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond85) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond85) CFA_SP SP+0
        CFI (cfiCond85) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond86 Using cfiCommon0
        CFI (cfiCond86) NoFunction
        CFI (cfiCond86) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_88, ??CrossCallReturnLabel_15
        CFI (cfiCond86) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond86) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond86) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond86) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond86) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond86) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond86) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond86) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond86) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond86) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond86) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond86) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond86) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond86) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond86) CFA_SP SP+0
        CFI (cfiCond86) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond87 Using cfiCommon0
        CFI (cfiCond87) NoFunction
        CFI (cfiCond87) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_40
        CFI (cfiCond87) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond87) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond87) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond87) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond87) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond87) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond87) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond87) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond87) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond87) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond87) CFA_SP SP+0
        CFI (cfiCond87) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond88 Using cfiCommon0
        CFI (cfiCond88) NoFunction
        CFI (cfiCond88) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_41
        CFI (cfiCond88) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond88) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond88) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond88) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond88) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond88) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond88) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond88) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond88) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond88) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond88) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond88) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond88) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond88) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond88) CFA_SP SP+0
        CFI (cfiCond88) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond89 Using cfiCommon0
        CFI (cfiCond89) NoFunction
        CFI (cfiCond89) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_42
        CFI (cfiCond89) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond89) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond89) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond89) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond89) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond89) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond89) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond89) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond89) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond89) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond89) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond89) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond89) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond89) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond89) CFA_SP SP+0
        CFI (cfiCond89) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond90 Using cfiCommon0
        CFI (cfiCond90) NoFunction
        CFI (cfiCond90) Conditional ??CrossCallReturnLabel_102, ??CrossCallReturnLabel_90, ??CrossCallReturnLabel_43
        CFI (cfiCond90) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond90) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond90) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond90) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond90) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond90) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond90) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond90) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond90) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond90) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond90) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond90) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond90) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond90) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond90) CFA_SP SP+0
        CFI (cfiCond90) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond91 Using cfiCommon0
        CFI (cfiCond91) NoFunction
        CFI (cfiCond91) Conditional ??CrossCallReturnLabel_101, ??CrossCallReturnLabel_44
        CFI (cfiCond91) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond91) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond91) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond91) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond91) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond91) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond91) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond91) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond91) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond91) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond91) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond91) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond91) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond91) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond91) CFA_SP SP+0
        CFI (cfiCond91) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond92 Using cfiCommon0
        CFI (cfiCond92) NoFunction
        CFI (cfiCond92) Conditional ??CrossCallReturnLabel_101, ??CrossCallReturnLabel_45
        CFI (cfiCond92) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond92) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond92) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond92) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond92) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond92) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond92) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond92) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond92) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond92) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond92) CFA_SP SP+0
        CFI (cfiCond92) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond93 Using cfiCommon0
        CFI (cfiCond93) NoFunction
        CFI (cfiCond93) Conditional ??CrossCallReturnLabel_101, ??CrossCallReturnLabel_46
        CFI (cfiCond93) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond93) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond93) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond93) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond93) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond93) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond93) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond93) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond93) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond93) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond93) CFA_SP SP+0
        CFI (cfiCond93) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond94 Using cfiCommon0
        CFI (cfiCond94) NoFunction
        CFI (cfiCond94) Conditional ??CrossCallReturnLabel_101, ??CrossCallReturnLabel_47
        CFI (cfiCond94) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond94) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond94) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond94) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond94) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond94) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond94) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond94) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond94) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond94) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond94) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond94) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond94) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond94) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond94) CFA_SP SP+0
        CFI (cfiCond94) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond95 Using cfiCommon0
        CFI (cfiCond95) NoFunction
        CFI (cfiCond95) Conditional ??CrossCallReturnLabel_103, ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_29
        CFI (cfiCond95) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond95) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond95) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond95) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond95) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond95) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond95) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond95) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond95) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond95) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond95) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond95) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond95) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond95) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond95) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond95) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond95) CFA_SP SP+0
        CFI (cfiCond95) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond96 Using cfiCommon0
        CFI (cfiCond96) NoFunction
        CFI (cfiCond96) Conditional ??CrossCallReturnLabel_103, ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_30
        CFI (cfiCond96) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond96) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond96) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond96) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond96) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond96) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond96) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond96) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond96) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond96) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond96) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond96) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond96) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond96) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond96) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond96) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond96) CFA_SP SP+0
        CFI (cfiCond96) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond97 Using cfiCommon0
        CFI (cfiCond97) NoFunction
        CFI (cfiCond97) Conditional ??CrossCallReturnLabel_103, ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_31
        CFI (cfiCond97) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond97) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond97) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond97) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond97) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond97) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond97) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond97) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond97) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond97) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond97) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond97) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond97) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond97) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond97) CFA_SP SP+0
        CFI (cfiCond97) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond98 Using cfiCommon0
        CFI (cfiCond98) NoFunction
        CFI (cfiCond98) Conditional ??CrossCallReturnLabel_103, ??CrossCallReturnLabel_116, ??CrossCallReturnLabel_0
        CFI (cfiCond98) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond98) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond98) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond98) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond98) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond98) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond98) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond98) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond98) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond98) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond98) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond98) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond98) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond98) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond98) CFA_SP SP+0
        CFI (cfiCond98) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond99 Using cfiCommon0
        CFI (cfiCond99) NoFunction
        CFI (cfiCond99) Conditional ??CrossCallReturnLabel_103, ??CrossCallReturnLabel_116, ??CrossCallReturnLabel_1
        CFI (cfiCond99) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond99) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond99) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond99) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond99) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond99) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond99) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond99) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond99) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond99) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond99) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond99) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond99) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond99) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond99) CFA_SP SP+0
        CFI (cfiCond99) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker100 Using cfiCommon1
        CFI (cfiPicker100) NoFunction
        CFI (cfiPicker100) Picker
        MOVX    A,@DPTR
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    @DPTR,A
        RET
        CFI EndBlock cfiCond80
        CFI EndBlock cfiCond81
        CFI EndBlock cfiCond82
        CFI EndBlock cfiCond83
        CFI EndBlock cfiCond84
        CFI EndBlock cfiCond85
        CFI EndBlock cfiCond86
        CFI EndBlock cfiCond87
        CFI EndBlock cfiCond88
        CFI EndBlock cfiCond89
        CFI EndBlock cfiCond90
        CFI EndBlock cfiCond91
        CFI EndBlock cfiCond92
        CFI EndBlock cfiCond93
        CFI EndBlock cfiCond94
        CFI EndBlock cfiCond95
        CFI EndBlock cfiCond96
        CFI EndBlock cfiCond97
        CFI EndBlock cfiCond98
        CFI EndBlock cfiCond99
        CFI EndBlock cfiPicker100

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine2:
        CFI Block cfiCond101 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_4
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond102 Using cfiCommon0
        CFI (cfiCond102) NoFunction
        CFI (cfiCond102) Conditional ??CrossCallReturnLabel_5
        CFI (cfiCond102) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond102) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond102) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond102) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond102) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond102) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond102) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond102) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond102) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond102) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond102) CFA_SP SP+0
        CFI (cfiCond102) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiPicker103 Using cfiCommon1
        CFI (cfiPicker103) NoFunction
        CFI (cfiPicker103) Picker
        MOVX    A,@DPTR
        MOV     R0,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R1,A
        MOV     A,R0
        MOV     R6,A
        MOV     A,R1
        MOV     R7,A
        MOV     DPTR,#ZDP_TmpBuf
        MOVX    A,@DPTR
        MOV     R0,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R1,A
        CLR     A
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R4
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R5
        MOVX    @DPTR,A
        INC     DPTR
        MOV     R0,DPL
        MOV     R1,DPH
        MOV     DPL,R6
        MOV     DPH,R7
        MOVX    A,@DPTR
        RET
        CFI EndBlock cfiCond101
        CFI EndBlock cfiCond102
        CFI EndBlock cfiPicker103
//  743 
//  744 /*********************************************************************
//  745  * @fn          ZDP_SimpleDescMsg
//  746  *
//  747  * @brief       Builds and sends a Simple Descriptor message, unicast to the
//  748  *              specified device.
//  749  *
//  750  * @param       inMsg - incoming message (request)
//  751  * @param       Status - message status (ZDP_SUCCESS or other)
//  752  * @param       pSimpleDesc - pointer to the node descriptor
//  753  *
//  754  * @return      afStatus_t
//  755  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  756 afStatus_t ZDP_SimpleDescMsg( zdoIncomingMsg_t *inMsg, byte Status,
ZDP_SimpleDescMsg:
        CFI Block cfiBlock104 Using cfiCommon0
        CFI Function ZDP_SimpleDescMsg
//  757                               SimpleDescriptionFormat_t *pSimpleDesc )
//  758 {
        FUNCALL ZDP_SimpleDescMsg, fillAndSend
        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
        MOV     A,#-0xe
        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 V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 14)
        ; Saved register size: 14
        ; Auto size: 0
        MOV     A,R1
        MOV     R6,A
//  759   uint8 *pBuf = ZDP_TmpBuf;
        LCALL   ??Subroutine5_0 & 0xFFFF
//  760   uint8 i, len;
//  761 
//  762   if ( Status == ZDP_SUCCESS && pSimpleDesc )
??CrossCallReturnLabel_19:
        MOV     A,R6
        JNZ     ??ZDP_SimpleDescMsg_0
        MOV     A,R4
        JNZ     ??ZDP_SimpleDescMsg_1
        MOV     A,R5
??ZDP_SimpleDescMsg_1:
        JZ      ??ZDP_SimpleDescMsg_0
//  763   {
//  764     // Status + NWKAddrOfInterest + desc length + empty simple descriptor.
//  765     len = 1 + 2 + 1 + 8;
//  766     len += (pSimpleDesc->AppNumInClusters + pSimpleDesc->AppNumOutClusters) * sizeof ( uint16 );
        MOV     DPL,R4
        MOV     DPH,R5
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        MOV     DPL,R4
        MOV     DPH,R5
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOV     R7,A
        MOVX    A,@DPTR
        ADD     A,R7
        CLR     C
        RLC     A
        ADD     A,#0xc
        MOV     ?V0 + 2,A
//  767   }
//  768   else
//  769   {
//  770     len = 2; // Status + desc length
//  771   }
//  772   if ( len >= ZDP_BUF_SZ-1 )
        CLR     C
        SUBB    A,#0x4f
        JC      ??ZDP_SimpleDescMsg_2
//  773   {
//  774     return afStatus_MEM_FAIL;
        MOV     R1,#-0x7f
        LJMP    ??ZDP_SimpleDescMsg_3 & 0xFFFF
//  775   }
??ZDP_SimpleDescMsg_0:
        MOV     ?V0 + 2,#0x2
//  776 
//  777   *pBuf++ = Status;
??ZDP_SimpleDescMsg_2:
        MOV     A,R6
        MOV     DPL,R0
        MOV     DPH,R1
        LCALL   ?Subroutine21 & 0xFFFF
//  778 
//  779   *pBuf++ = LO_UINT16( ZDAppNwkAddr.addr.shortAddr );
??CrossCallReturnLabel_115:
        MOV     DPTR,#ZDAppNwkAddr
        LCALL   ?Subroutine12 & 0xFFFF
//  780   *pBuf++ = HI_UINT16( ZDAppNwkAddr.addr.shortAddr );
??CrossCallReturnLabel_41:
        MOV     DPTR,#(ZDAppNwkAddr + 1)
        LCALL   ?Subroutine14 & 0xFFFF
??CrossCallReturnLabel_47:
        INC     DPTR
//  781 
//  782   if ( len > 2 )
        MOV     A,?V0 + 2
        CLR     C
        SUBB    A,#0x3
        JNC     $+5
        LJMP    ??ZDP_SimpleDescMsg_4 & 0xFFFF
//  783   {
//  784     *pBuf++ = len - 4;   // Simple descriptor length
        MOV     A,#-0x4
        ADD     A,?V0 + 2
        MOVX    @DPTR,A
        INC     DPTR
        INC     R0
        INC     R0
        MOV     R1,DPH
//  785 
//  786     *pBuf++ = pSimpleDesc->EndPoint;
        LCALL   ?Subroutine4 & 0xFFFF
//  787     *pBuf++ = LO_UINT16( pSimpleDesc->AppProfId );
??CrossCallReturnLabel_14:
        MOV     R6,DPL
        MOV     R7,DPH
        LCALL   ?Subroutine11 & 0xFFFF
//  788     *pBuf++ = HI_UINT16( pSimpleDesc->AppProfId );
??CrossCallReturnLabel_38:
        LCALL   ?Subroutine12 & 0xFFFF
//  789     *pBuf++ = LO_UINT16( pSimpleDesc->AppDeviceId );
??CrossCallReturnLabel_42:
        MOV     A,R4
        ADD     A,#0x3
        LCALL   ?Subroutine27 & 0xFFFF
??CrossCallReturnLabel_80:
        LCALL   ?Subroutine11 & 0xFFFF
//  790     *pBuf++ = HI_UINT16( pSimpleDesc->AppDeviceId );
??CrossCallReturnLabel_39:
        LCALL   ??Subroutine4_0 & 0xFFFF
//  791 
//  792     *pBuf++ = (byte)(pSimpleDesc->AppDevVer << 4);
??CrossCallReturnLabel_15:
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        SWAP    A
        ANL     A,#0xf0
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    @DPTR,A
        INC     DPTR
        INC     R0
        MOV     R1,DPH
//  793 
//  794     *pBuf++ = pSimpleDesc->AppNumInClusters;
        MOV     A,R4
        ADD     A,#0x6
        INC     R6
        INC     R6
        INC     R6
        LCALL   ??Subroutine27_0 & 0xFFFF
??CrossCallReturnLabel_81:
        LCALL   ?Subroutine12 & 0xFFFF
//  795     if ( pSimpleDesc->AppNumInClusters )
??CrossCallReturnLabel_43:
        MOV     DPL,R6
        MOV     DPH,R7
        MOVX    A,@DPTR
        JZ      ??ZDP_SimpleDescMsg_5
//  796     {
//  797       for (i=0; i<pSimpleDesc->AppNumInClusters; ++i)
        MOV     ?V0 + 3,#0x0
        SJMP    ??CrossCallReturnLabel_0
//  798       {
//  799         *pBuf++ = LO_UINT16( pSimpleDesc->pAppInClusterList[i] );
??ZDP_SimpleDescMsg_6:
        MOV     A,?V0 + 3
        CLR     C
        RLC     A
        MOV     R6,A
        CLR     A
        RLC     A
        MOV     R7,A
        MOV     A,R4
        ADD     A,#0x7
        LCALL   ?Subroutine0 & 0xFFFF
//  800         *pBuf++ = HI_UINT16( pSimpleDesc->pAppInClusterList[i] );
//  801       }
??CrossCallReturnLabel_0:
        MOV     DPL,R4
        MOV     DPH,R5
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R6,A
        MOV     A,?V0 + 3
        CLR     C
        SUBB    A,R6
        JC      ??ZDP_SimpleDescMsg_6
//  802     }
//  803 
//  804     *pBuf++ = pSimpleDesc->AppNumOutClusters;
??ZDP_SimpleDescMsg_5:
        MOV     A,R4
        ADD     A,#0x9
        LCALL   ?Subroutine27 & 0xFFFF
??CrossCallReturnLabel_82:
        LCALL   ?Subroutine7 & 0xFFFF
//  805     if ( pSimpleDesc->AppNumOutClusters )
??CrossCallReturnLabel_31:
        MOV     DPL,R6
        MOV     DPH,R7
        MOVX    A,@DPTR
        JZ      ??ZDP_SimpleDescMsg_7
//  806     {
//  807       for (i=0; i<pSimpleDesc->AppNumOutClusters; ++i)
        MOV     ?V0 + 3,#0x0
??ZDP_SimpleDescMsg_8:
        MOV     DPL,R4
        MOV     DPH,R5
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R6,A
        MOV     A,?V0 + 3
        CLR     C
        SUBB    A,R6
        JNC     ??ZDP_SimpleDescMsg_7
//  808       {
//  809         *pBuf++ = LO_UINT16( pSimpleDesc->pAppOutClusterList[i] );
        MOV     A,?V0 + 3
        CLR     C
        RLC     A
        MOV     R6,A
        CLR     A
        RLC     A
        MOV     R7,A
        MOV     A,R4
        ADD     A,#0xa
        LCALL   ?Subroutine0 & 0xFFFF
//  810         *pBuf++ = HI_UINT16( pSimpleDesc->pAppOutClusterList[i] );
//  811       }
??CrossCallReturnLabel_1:
        SJMP    ??ZDP_SimpleDescMsg_8
//  812     }
//  813   }
//  814 
//  815   else
//  816   {
//  817     *pBuf = 0; // Description Length = 0;
??ZDP_SimpleDescMsg_4:
        CLR     A
        MOVX    @DPTR,A
//  818   }
//  819 
//  820   return fillAndSend( &(inMsg->TransSeq), &(inMsg->srcAddr), Simple_Desc_rsp, len );
??ZDP_SimpleDescMsg_7:
        ; Setup parameters for call to function fillAndSend
        MOV     ?V0 + 0,#0x4
        MOV     ?V0 + 1,#-0x80
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 16)
        MOV     R1,?V0 + 2
        LCALL   ?Subroutine25 & 0xFFFF
??CrossCallReturnLabel_124:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 14)
??ZDP_SimpleDescMsg_3:
        LJMP    ?Subroutine40 & 0xFFFF
        CFI EndBlock cfiBlock104
//  821 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine27:
        CFI Block cfiCond105 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_80
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond106 Using cfiCommon0
        CFI (cfiCond106) NoFunction
        CFI (cfiCond106) Conditional ??CrossCallReturnLabel_82
        CFI (cfiCond106) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond106) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond106) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond106) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond106) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond106) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond106) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond106) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond106) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond106) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond106) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond106) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond106) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond106) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond106) CFA_SP SP+0
        CFI (cfiCond106) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker107 Using cfiCommon1
        CFI (cfiPicker107) NoFunction
        CFI (cfiPicker107) Picker
        MOV     R6,A
        CFI Block cfiCond108 Using cfiCommon0
        CFI (cfiCond108) NoFunction
        CFI (cfiCond108) Conditional ??CrossCallReturnLabel_81
        CFI (cfiCond108) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond108) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond108) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond108) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond108) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond108) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond108) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond108) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond108) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond108) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond108) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond108) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond108) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond108) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond108) CFA_SP SP+0
        CFI (cfiCond108) CFA_XSP16 add(XSP16, 14)
??Subroutine27_0:
        MOV     A,R5
        ADDC    A,#0x0
        MOV     R7,A
        MOV     DPL,R6
        MOV     DPH,R7
        RET
        CFI EndBlock cfiCond105
        CFI EndBlock cfiCond106
        CFI EndBlock cfiPicker107
        CFI EndBlock cfiCond108

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine21:
        CFI Block cfiCond109 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_113
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond110 Using cfiCommon0
        CFI (cfiCond110) NoFunction
        CFI (cfiCond110) Conditional ??CrossCallReturnLabel_114
        CFI (cfiCond110) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond110) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond110) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond110) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond110) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond110) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond110) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond110) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond110) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond110) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond110) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond110) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond110) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond110) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond110) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond110) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond110) CFA_SP SP+0
        CFI (cfiCond110) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond111 Using cfiCommon0
        CFI (cfiCond111) NoFunction
        CFI (cfiCond111) Conditional ??CrossCallReturnLabel_115
        CFI (cfiCond111) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond111) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond111) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond111) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond111) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond111) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond111) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond111) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond111) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond111) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond111) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond111) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond111) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond111) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond111) CFA_SP SP+0
        CFI (cfiCond111) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker112 Using cfiCommon1
        CFI (cfiPicker112) NoFunction
        CFI (cfiPicker112) Picker
        MOVX    @DPTR,A
        CFI EndBlock cfiCond109
        CFI EndBlock cfiCond110
        CFI EndBlock cfiCond111
        CFI EndBlock cfiPicker112
        REQUIRE ?Subroutine43
        ; // Fall through to label ?Subroutine43

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine43:
        CFI Block cfiCond113 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_113
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond114 Using cfiCommon0
        CFI (cfiCond114) NoFunction
        CFI (cfiCond114) Conditional ??CrossCallReturnLabel_114
        CFI (cfiCond114) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond114) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond114) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond114) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond114) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond114) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond114) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond114) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond114) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond114) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond114) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond114) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond114) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond114) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond114) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond114) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond114) CFA_SP SP+0
        CFI (cfiCond114) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond115 Using cfiCommon0
        CFI (cfiCond115) NoFunction
        CFI (cfiCond115) Conditional ??CrossCallReturnLabel_115
        CFI (cfiCond115) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond115) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond115) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond115) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond115) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond115) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond115) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond115) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond115) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond115) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond115) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond115) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond115) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond115) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond115) CFA_SP SP+0
        CFI (cfiCond115) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond116 Using cfiCommon0
        CFI (cfiCond116) NoFunction
        CFI (cfiCond116) Conditional ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_29
        CFI (cfiCond116) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond116) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond116) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond116) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond116) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond116) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond116) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond116) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond116) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond116) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond116) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond116) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond116) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond116) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond116) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond116) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond116) CFA_SP SP+0
        CFI (cfiCond116) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond117 Using cfiCommon0
        CFI (cfiCond117) NoFunction
        CFI (cfiCond117) Conditional ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_30
        CFI (cfiCond117) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond117) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond117) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond117) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond117) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond117) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond117) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond117) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond117) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond117) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond117) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond117) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond117) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond117) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond117) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond117) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond117) CFA_SP SP+0
        CFI (cfiCond117) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond118 Using cfiCommon0
        CFI (cfiCond118) NoFunction
        CFI (cfiCond118) Conditional ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_31
        CFI (cfiCond118) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond118) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond118) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond118) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond118) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond118) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond118) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond118) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond118) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond118) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond118) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond118) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond118) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond118) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond118) CFA_SP SP+0
        CFI (cfiCond118) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond119 Using cfiCommon0
        CFI (cfiCond119) NoFunction
        CFI (cfiCond119) Conditional ??CrossCallReturnLabel_116, ??CrossCallReturnLabel_0
        CFI (cfiCond119) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond119) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond119) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond119) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond119) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond119) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond119) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond119) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond119) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond119) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond119) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond119) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond119) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond119) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond119) CFA_SP SP+0
        CFI (cfiCond119) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond120 Using cfiCommon0
        CFI (cfiCond120) NoFunction
        CFI (cfiCond120) Conditional ??CrossCallReturnLabel_116, ??CrossCallReturnLabel_1
        CFI (cfiCond120) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond120) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond120) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond120) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond120) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond120) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond120) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond120) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond120) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond120) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond120) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond120) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond120) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond120) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond120) CFA_SP SP+0
        CFI (cfiCond120) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker121 Using cfiCommon1
        CFI (cfiPicker121) NoFunction
        CFI (cfiPicker121) Picker
        INC     DPTR
        MOV     R0,DPL
        MOV     R1,DPH
        RET
        CFI EndBlock cfiCond113
        CFI EndBlock cfiCond114
        CFI EndBlock cfiCond115
        CFI EndBlock cfiCond116
        CFI EndBlock cfiCond117
        CFI EndBlock cfiCond118
        CFI EndBlock cfiCond119
        CFI EndBlock cfiCond120
        CFI EndBlock cfiPicker121

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine12:
        CFI Block cfiCond122 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_40
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond123 Using cfiCommon0
        CFI (cfiCond123) NoFunction
        CFI (cfiCond123) Conditional ??CrossCallReturnLabel_41
        CFI (cfiCond123) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond123) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond123) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond123) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond123) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond123) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond123) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond123) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond123) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond123) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond123) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond123) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond123) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond123) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond123) CFA_SP SP+0
        CFI (cfiCond123) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond124 Using cfiCommon0
        CFI (cfiCond124) NoFunction
        CFI (cfiCond124) Conditional ??CrossCallReturnLabel_42
        CFI (cfiCond124) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond124) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond124) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond124) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond124) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond124) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond124) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond124) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond124) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond124) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond124) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond124) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond124) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond124) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond124) CFA_SP SP+0
        CFI (cfiCond124) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond125 Using cfiCommon0
        CFI (cfiCond125) NoFunction
        CFI (cfiCond125) Conditional ??CrossCallReturnLabel_43
        CFI (cfiCond125) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond125) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond125) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond125) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond125) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond125) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond125) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond125) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond125) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond125) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond125) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond125) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond125) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond125) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond125) CFA_SP SP+0
        CFI (cfiCond125) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker126 Using cfiCommon1
        CFI (cfiPicker126) NoFunction
        CFI (cfiPicker126) Picker
        LCALL   ??Subroutine30_0 & 0xFFFF
??CrossCallReturnLabel_90:
        RET
        CFI EndBlock cfiCond122
        CFI EndBlock cfiCond123
        CFI EndBlock cfiCond124
        CFI EndBlock cfiCond125
        CFI EndBlock cfiPicker126

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine11:
        CFI Block cfiCond127 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_38
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond128 Using cfiCommon0
        CFI (cfiCond128) NoFunction
        CFI (cfiCond128) Conditional ??CrossCallReturnLabel_39
        CFI (cfiCond128) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond128) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond128) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond128) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond128) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond128) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond128) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond128) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond128) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond128) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond128) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond128) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond128) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond128) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond128) CFA_SP SP+0
        CFI (cfiCond128) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker129 Using cfiCommon1
        CFI (cfiPicker129) NoFunction
        CFI (cfiPicker129) Picker
        LCALL   ?Subroutine29 & 0xFFFF
??CrossCallReturnLabel_86:
        RET
        CFI EndBlock cfiCond127
        CFI EndBlock cfiCond128
        CFI EndBlock cfiPicker129

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine29:
        CFI Block cfiCond130 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_85, ??CrossCallReturnLabel_34
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond131 Using cfiCommon0
        CFI (cfiCond131) NoFunction
        CFI (cfiCond131) Conditional ??CrossCallReturnLabel_85, ??CrossCallReturnLabel_35
        CFI (cfiCond131) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond131) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond131) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond131) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond131) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond131) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond131) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond131) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond131) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond131) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond131) CFA_SP SP+0
        CFI (cfiCond131) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond132 Using cfiCommon0
        CFI (cfiCond132) NoFunction
        CFI (cfiCond132) Conditional ??CrossCallReturnLabel_86, ??CrossCallReturnLabel_38
        CFI (cfiCond132) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond132) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond132) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond132) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond132) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond132) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond132) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond132) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond132) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond132) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond132) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond132) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond132) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond132) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond132) CFA_SP SP+0
        CFI (cfiCond132) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond133 Using cfiCommon0
        CFI (cfiCond133) NoFunction
        CFI (cfiCond133) Conditional ??CrossCallReturnLabel_86, ??CrossCallReturnLabel_39
        CFI (cfiCond133) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond133) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond133) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond133) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond133) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond133) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond133) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond133) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond133) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond133) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond133) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond133) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond133) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond133) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond133) CFA_SP SP+0
        CFI (cfiCond133) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker134 Using cfiCommon1
        CFI (cfiPicker134) NoFunction
        CFI (cfiPicker134) Picker
        LCALL   ?Subroutine36 & 0xFFFF
??CrossCallReturnLabel_100:
        RET
        CFI EndBlock cfiCond130
        CFI EndBlock cfiCond131
        CFI EndBlock cfiCond132
        CFI EndBlock cfiCond133
        CFI EndBlock cfiPicker134

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine36:
        CFI Block cfiCond135 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_83, ??CrossCallReturnLabel_32
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond136 Using cfiCommon0
        CFI (cfiCond136) NoFunction
        CFI (cfiCond136) Conditional ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_83, ??CrossCallReturnLabel_33
        CFI (cfiCond136) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond136) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond136) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond136) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond136) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond136) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond136) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond136) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond136) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond136) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond136) CFA_SP SP+0
        CFI (cfiCond136) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond137 Using cfiCommon0
        CFI (cfiCond137) NoFunction
        CFI (cfiCond137) Conditional ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_84, ??CrossCallReturnLabel_27
        CFI (cfiCond137) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond137) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond137) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond137) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond137) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond137) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond137) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond137) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond137) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond137) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond137) CFA_SP SP+0
        CFI (cfiCond137) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond138 Using cfiCommon0
        CFI (cfiCond138) NoFunction
        CFI (cfiCond138) Conditional ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_84, ??CrossCallReturnLabel_28
        CFI (cfiCond138) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond138) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond138) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond138) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond138) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond138) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond138) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond138) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond138) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond138) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond138) CFA_SP SP+0
        CFI (cfiCond138) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond139 Using cfiCommon0
        CFI (cfiCond139) NoFunction
        CFI (cfiCond139) Conditional ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_85, ??CrossCallReturnLabel_34
        CFI (cfiCond139) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond139) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond139) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond139) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond139) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond139) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond139) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond139) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond139) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond139) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond139) CFA_SP SP+0
        CFI (cfiCond139) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond140 Using cfiCommon0
        CFI (cfiCond140) NoFunction
        CFI (cfiCond140) Conditional ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_85, ??CrossCallReturnLabel_35
        CFI (cfiCond140) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond140) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond140) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond140) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond140) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond140) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond140) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond140) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond140) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond140) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond140) CFA_SP SP+0
        CFI (cfiCond140) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond141 Using cfiCommon0
        CFI (cfiCond141) NoFunction
        CFI (cfiCond141) Conditional ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_86, ??CrossCallReturnLabel_38
        CFI (cfiCond141) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond141) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond141) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond141) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond141) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond141) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond141) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond141) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond141) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond141) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond141) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond141) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond141) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond141) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond141) CFA_SP SP+0
        CFI (cfiCond141) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond142 Using cfiCommon0
        CFI (cfiCond142) NoFunction
        CFI (cfiCond142) Conditional ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_86, ??CrossCallReturnLabel_39
        CFI (cfiCond142) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond142) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond142) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond142) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond142) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond142) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond142) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond142) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond142) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond142) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond142) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond142) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond142) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond142) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond142) CFA_SP SP+0
        CFI (cfiCond142) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker143 Using cfiCommon1
        CFI (cfiPicker143) NoFunction
        CFI (cfiPicker143) Picker
        MOVX    A,@DPTR
        LCALL   ?Subroutine39 & 0xFFFF
??CrossCallReturnLabel_107:
        RET
        CFI EndBlock cfiCond135
        CFI EndBlock cfiCond136
        CFI EndBlock cfiCond137
        CFI EndBlock cfiCond138
        CFI EndBlock cfiCond139
        CFI EndBlock cfiCond140
        CFI EndBlock cfiCond141
        CFI EndBlock cfiCond142
        CFI EndBlock cfiPicker143

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine39:
        CFI Block cfiCond144 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_106, ??CrossCallReturnLabel_57
        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+0
        CFI CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond145 Using cfiCommon0
        CFI (cfiCond145) NoFunction
        CFI (cfiCond145) Conditional ??CrossCallReturnLabel_106, ??CrossCallReturnLabel_58
        CFI (cfiCond145) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond145) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond145) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond145) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond145) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond145) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond145) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond145) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond145) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond145) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond145) CFA_SP SP+0
        CFI (cfiCond145) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond146 Using cfiCommon0
        CFI (cfiCond146) NoFunction
        CFI (cfiCond146) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_83, ??CrossCallReturnLabel_32
        CFI (cfiCond146) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond146) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond146) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond146) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond146) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond146) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond146) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond146) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond146) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond146) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond146) CFA_SP SP+0
        CFI (cfiCond146) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond147 Using cfiCommon0
        CFI (cfiCond147) NoFunction
        CFI (cfiCond147) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_83, ??CrossCallReturnLabel_33
        CFI (cfiCond147) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond147) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond147) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond147) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond147) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond147) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond147) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond147) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond147) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond147) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond147) CFA_SP SP+0
        CFI (cfiCond147) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond148 Using cfiCommon0
        CFI (cfiCond148) NoFunction
        CFI (cfiCond148) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_84, ??CrossCallReturnLabel_27
        CFI (cfiCond148) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond148) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond148) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond148) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond148) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond148) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond148) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond148) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond148) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond148) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond148) CFA_SP SP+0
        CFI (cfiCond148) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond149 Using cfiCommon0
        CFI (cfiCond149) NoFunction
        CFI (cfiCond149) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_99, ??CrossCallReturnLabel_84, ??CrossCallReturnLabel_28
        CFI (cfiCond149) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond149) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond149) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond149) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond149) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond149) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond149) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond149) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond149) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond149) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond149) CFA_SP SP+0
        CFI (cfiCond149) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond150 Using cfiCommon0
        CFI (cfiCond150) NoFunction
        CFI (cfiCond150) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_85, ??CrossCallReturnLabel_34
        CFI (cfiCond150) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond150) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond150) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond150) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond150) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond150) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond150) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond150) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond150) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond150) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond150) CFA_SP SP+0
        CFI (cfiCond150) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond151 Using cfiCommon0
        CFI (cfiCond151) NoFunction
        CFI (cfiCond151) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_85, ??CrossCallReturnLabel_35
        CFI (cfiCond151) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond151) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond151) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond151) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond151) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond151) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond151) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond151) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond151) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond151) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond151) CFA_SP SP+0
        CFI (cfiCond151) CFA_XSP16 add(XSP16, 10)
        CFI Block cfiCond152 Using cfiCommon0
        CFI (cfiCond152) NoFunction
        CFI (cfiCond152) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_86, ??CrossCallReturnLabel_38
        CFI (cfiCond152) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond152) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond152) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond152) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond152) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond152) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond152) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond152) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond152) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond152) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond152) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond152) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond152) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond152) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond152) CFA_SP SP+0
        CFI (cfiCond152) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond153 Using cfiCommon0
        CFI (cfiCond153) NoFunction
        CFI (cfiCond153) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_100, ??CrossCallReturnLabel_86, ??CrossCallReturnLabel_39
        CFI (cfiCond153) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond153) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond153) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond153) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond153) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond153) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond153) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond153) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond153) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond153) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond153) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond153) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond153) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond153) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond153) CFA_SP SP+0
        CFI (cfiCond153) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker154 Using cfiCommon1
        CFI (cfiPicker154) NoFunction
        CFI (cfiPicker154) Picker
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    @DPTR,A
        INC     DPTR
        INC     R0
        MOV     R1,DPH
        MOV     DPL,R6
        MOV     DPH,R7
        INC     DPTR
        RET
        CFI EndBlock cfiCond144
        CFI EndBlock cfiCond145
        CFI EndBlock cfiCond146
        CFI EndBlock cfiCond147
        CFI EndBlock cfiCond148
        CFI EndBlock cfiCond149
        CFI EndBlock cfiCond150
        CFI EndBlock cfiCond151
        CFI EndBlock cfiCond152
        CFI EndBlock cfiCond153
        CFI EndBlock cfiPicker154

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine7:
        CFI Block cfiCond155 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_29
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond156 Using cfiCommon0
        CFI (cfiCond156) NoFunction
        CFI (cfiCond156) Conditional ??CrossCallReturnLabel_30
        CFI (cfiCond156) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond156) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond156) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond156) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond156) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond156) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond156) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond156) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond156) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond156) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond156) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond156) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond156) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond156) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond156) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond156) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond156) CFA_SP SP+0
        CFI (cfiCond156) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond157 Using cfiCommon0
        CFI (cfiCond157) NoFunction
        CFI (cfiCond157) Conditional ??CrossCallReturnLabel_31
        CFI (cfiCond157) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond157) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond157) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond157) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond157) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond157) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond157) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond157) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond157) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond157) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond157) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond157) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond157) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond157) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond157) CFA_SP SP+0
        CFI (cfiCond157) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker158 Using cfiCommon1
        CFI (cfiPicker158) NoFunction
        CFI (cfiPicker158) Picker
        LCALL   ?Subroutine32 & 0xFFFF
??CrossCallReturnLabel_117:
        RET
        CFI EndBlock cfiCond155
        CFI EndBlock cfiCond156
        CFI EndBlock cfiCond157
        CFI EndBlock cfiPicker158

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine32:
        CFI Block cfiCond159 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_29
        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+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond160 Using cfiCommon0
        CFI (cfiCond160) NoFunction
        CFI (cfiCond160) Conditional ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_30
        CFI (cfiCond160) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond160) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond160) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond160) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond160) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond160) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond160) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond160) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond160) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond160) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond160) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond160) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond160) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond160) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond160) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond160) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond160) CFA_SP SP+0
        CFI (cfiCond160) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond161 Using cfiCommon0
        CFI (cfiCond161) NoFunction
        CFI (cfiCond161) Conditional ??CrossCallReturnLabel_117, ??CrossCallReturnLabel_31
        CFI (cfiCond161) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond161) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond161) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond161) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond161) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond161) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond161) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond161) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond161) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond161) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond161) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond161) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond161) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond161) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond161) CFA_SP SP+0
        CFI (cfiCond161) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond162 Using cfiCommon0
        CFI (cfiCond162) NoFunction
        CFI (cfiCond162) Conditional ??CrossCallReturnLabel_116, ??CrossCallReturnLabel_0
        CFI (cfiCond162) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond162) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond162) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond162) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond162) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond162) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond162) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond162) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond162) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond162) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond162) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond162) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond162) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond162) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond162) CFA_SP SP+0
        CFI (cfiCond162) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond163 Using cfiCommon0
        CFI (cfiCond163) NoFunction
        CFI (cfiCond163) Conditional ??CrossCallReturnLabel_116, ??CrossCallReturnLabel_1
        CFI (cfiCond163) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond163) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond163) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond163) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond163) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond163) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond163) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond163) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond163) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond163) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond163) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond163) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond163) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond163) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond163) CFA_SP SP+0
        CFI (cfiCond163) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker164 Using cfiCommon1
        CFI (cfiPicker164) NoFunction
        CFI (cfiPicker164) Picker
        LCALL   ?Subroutine37 & 0xFFFF
??CrossCallReturnLabel_103:
        SJMP    ?Subroutine43
        CFI EndBlock cfiCond159
        CFI EndBlock cfiCond160
        CFI EndBlock cfiCond161
        CFI EndBlock cfiCond162
        CFI EndBlock cfiCond163
        CFI EndBlock cfiPicker164

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine0:
        CFI Block cfiCond165 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_0
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond166 Using cfiCommon0
        CFI (cfiCond166) NoFunction
        CFI (cfiCond166) Conditional ??CrossCallReturnLabel_1
        CFI (cfiCond166) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond166) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond166) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond166) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond166) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond166) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond166) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond166) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond166) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond166) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond166) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond166) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond166) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond166) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond166) CFA_SP SP+0
        CFI (cfiCond166) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiPicker167 Using cfiCommon1
        CFI (cfiPicker167) NoFunction
        CFI (cfiPicker167) Picker
        MOV     ?V0 + 0,A
        MOV     A,R5
        ADDC    A,#0x0
        MOV     ?V0 + 1,A
        MOV     DPL,?V0 + 0
        MOV     DPH,A
        MOVX    A,@DPTR
        ADD     A,R6
        MOV     ?V0 + 4,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,R7
        MOV     DPL,?V0 + 4
        MOV     DPH,A
        LCALL   ?Subroutine32 & 0xFFFF
??CrossCallReturnLabel_116:
        MOV     DPL,?V0 + 0
        MOV     DPH,?V0 + 1
        MOVX    A,@DPTR
        ADD     A,R6
        MOV     ?V0 + 0,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,R7
        MOV     DPL,?V0 + 0
        MOV     DPH,A
        LCALL   ?Subroutine30 & 0xFFFF
??CrossCallReturnLabel_87:
        INC     ?V0 + 3
        RET
        CFI EndBlock cfiCond165
        CFI EndBlock cfiCond166
        CFI EndBlock cfiPicker167
//  822 
//  823 /*********************************************************************
//  824  * @fn          ZDP_EPRsp
//  825  *
//  826  * @brief       This builds and send an endpoint list. Used in
//  827  *              Active_EP_rsp and Match_Desc_Rsp
//  828  *              message.  This function sends unicast message to the
//  829  *              requesting device.
//  830  *
//  831  * @param       MsgType - either Active_EP_rsp or Match_Desc_Rsp
//  832  * @param       dstAddr - destination address
//  833  * @param       Status - message status (ZDP_SUCCESS or other)
//  834  * @param       nwkAddr - Device's short address that this response describes
//  835  * @param       Count - number of endpoint/interfaces in list
//  836  * @param       pEPIntfList - Array of Endpoint/Interfaces
//  837  * @param       SecurityEnable - Security Options
//  838  *
//  839  * @return      afStatus_t
//  840  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  841 afStatus_t ZDP_EPRsp( uint16 MsgType, byte TransSeq, zAddrType_t *dstAddr,
ZDP_EPRsp:
        CFI Block cfiBlock168 Using cfiCommon0
        CFI Function ZDP_EPRsp
//  842                         byte Status, uint16 nwkAddr, byte Count,
//  843                         byte *pEPList,
//  844                         byte SecurityEnable )
//  845 {
        FUNCALL ZDP_EPRsp, osal_memcpy
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 20, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 20, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        FUNCALL ZDP_EPRsp, fillAndSend
        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
        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: 1
        MOV     A,#-0x1
        LCALL   ?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 17)
        MOV     A,R1
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    @DPTR,A
        MOV     A,R2
        MOV     R6,A
        MOV     A,R3
        MOV     R7,A
        MOV     ?V0 + 6,R4
        MOV     ?V0 + 7,R5
        MOV     A,#0x11
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     R5,A
        MOV     A,#0x12
        LCALL   ?XSTACK_DISP0_8
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_20:
        MOV     A,#0x14
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     R4,A
        MOV     A,#0x15
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine3 & 0xFFFF
//  846   byte *pBuf = ZDP_TmpBuf;
??CrossCallReturnLabel_9:
        MOV     DPTR,#ZDP_TmpBuf
        LCALL   ?Subroutine15 & 0xFFFF
//  847   byte len = 1 + 2 + 1;  // Status + nwkAddr + endpoint/interface count.
??CrossCallReturnLabel_50:
        MOV     ?V0 + 3,#0x4
//  848   byte txOptions;
//  849 
//  850   if ( MsgType == Match_Desc_rsp )
        MOV     A,#0x6
        XRL     A,R6
        JNZ     ??ZDP_EPRsp_0
        MOV     A,#-0x80
        XRL     A,R7
??ZDP_EPRsp_0:
        JNZ     ??ZDP_EPRsp_1
//  851     txOptions = AF_MSG_ACK_REQUEST;
        MOV     ?V0 + 4,#0x10
        SJMP    ??ZDP_EPRsp_2
//  852   else
//  853     txOptions = 0;
??ZDP_EPRsp_1:
        MOV     ?V0 + 4,#0x0
//  854 
//  855     *pBuf++ = Status;
??ZDP_EPRsp_2:
        MOV     A,R5
        MOV     DPL,R2
        MOV     DPH,R3
        MOVX    @DPTR,A
        INC     DPTR
//  856   *pBuf++ = LO_UINT16( nwkAddr );
        MOV     A,R0
        MOVX    @DPTR,A
        INC     DPTR
//  857   *pBuf++ = HI_UINT16( nwkAddr );
        MOV     A,R1
        MOVX    @DPTR,A
        INC     DPTR
//  858 
//  859   *pBuf++ = Count;   // Endpoint/Interface count
        MOV     A,R4
        MOVX    @DPTR,A
        INC     DPTR
        MOV     R2,DPL
        MOV     R3,DPH
//  860 
//  861   if ( Count )
        JZ      ??ZDP_EPRsp_3
//  862   {
//  863     len += Count;
        MOV     A,#0x4
        ADD     A,R4
        MOV     ?V0 + 3,A
//  864     osal_memcpy( pBuf, pEPList, Count );
        ; Setup parameters for call to function osal_memcpy
        MOV     ?V0 + 2,#0x0
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 20)
        MOV     R5,#0x0
        LCALL   ??osal_memcpy?relay
        MOV     A,#0x3
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 17)
//  865   }
//  866 
//  867   FillAndSendTxOptions( &TransSeq, dstAddr, MsgType, len, txOptions );
??ZDP_EPRsp_3:
        MOV     A,?V0 + 4
        MOV     DPTR,#ZDP_TxOptions
        MOVX    @DPTR,A
        ; Setup parameters for call to function fillAndSend
        MOV     ?V0 + 0,R6
        MOV     ?V0 + 1,R7
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     R1,?V0 + 3
        MOV     R4,?V0 + 6
        MOV     R5,?V0 + 7
        MOV     A,#0x2
        LCALL   ?XSTACK_DISP0_8
        MOV     R2,DPL
        MOV     R3,DPH
        LCALL   ?Subroutine44 & 0xFFFF
??CrossCallReturnLabel_122:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 17)
        CLR     A
        MOV     DPTR,#ZDP_TxOptions
        MOVX    @DPTR,A
        LJMP    ?Subroutine41 & 0xFFFF
        CFI EndBlock cfiBlock168
//  868 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine15:
        CFI Block cfiCond169 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_48
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V6 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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond170 Using cfiCommon0
        CFI (cfiCond170) NoFunction
        CFI (cfiCond170) Conditional ??CrossCallReturnLabel_49
        CFI (cfiCond170) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond170) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond170) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond170) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond170) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond170) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond170) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond170) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond170) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond170) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond170) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond170) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond170) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond170) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond170) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond170) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond170) CFA_SP SP+0
        CFI (cfiCond170) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond171 Using cfiCommon0
        CFI (cfiCond171) NoFunction
        CFI (cfiCond171) Conditional ??CrossCallReturnLabel_50
        CFI (cfiCond171) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond171) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond171) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond171) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond171) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond171) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond171) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond171) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond171) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond171) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond171) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond171) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond171) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond171) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond171) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond171) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond171) CFA_SP SP+0
        CFI (cfiCond171) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond172 Using cfiCommon0
        CFI (cfiCond172) NoFunction
        CFI (cfiCond172) Conditional ??CrossCallReturnLabel_51
        CFI (cfiCond172) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond172) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond172) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond172) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond172) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond172) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond172) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond172) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond172) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond172) CFA_SP SP+0
        CFI (cfiCond172) CFA_XSP16 add(XSP16, 9)
        CFI Block cfiCond173 Using cfiCommon0
        CFI (cfiCond173) NoFunction
        CFI (cfiCond173) Conditional ??CrossCallReturnLabel_52
        CFI (cfiCond173) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond173) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond173) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond173) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond173) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond173) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond173) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond173) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond173) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond173) CFA_SP SP+0
        CFI (cfiCond173) CFA_XSP16 add(XSP16, 9)
        CFI Block cfiPicker174 Using cfiCommon1
        CFI (cfiPicker174) NoFunction
        CFI (cfiPicker174) Picker
        MOVX    A,@DPTR
        MOV     R2,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R3,A
        RET
        CFI EndBlock cfiCond169
        CFI EndBlock cfiCond170
        CFI EndBlock cfiCond171
        CFI EndBlock cfiCond172
        CFI EndBlock cfiCond173
        CFI EndBlock cfiPicker174

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine3:
        CFI Block cfiCond175 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_6
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond176 Using cfiCommon0
        CFI (cfiCond176) NoFunction
        CFI (cfiCond176) Conditional ??CrossCallReturnLabel_7
        CFI (cfiCond176) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond176) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond176) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond176) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond176) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond176) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond176) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond176) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond176) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond176) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond176) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond176) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond176) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond176) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond176) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond176) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond176) CFA_SP SP+0
        CFI (cfiCond176) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond177 Using cfiCommon0
        CFI (cfiCond177) NoFunction
        CFI (cfiCond177) Conditional ??CrossCallReturnLabel_8
        CFI (cfiCond177) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond177) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond177) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond177) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond177) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond177) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond177) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond177) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond177) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond177) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond177) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond177) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond177) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond177) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond177) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond177) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond177) CFA_SP SP+0
        CFI (cfiCond177) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond178 Using cfiCommon0
        CFI (cfiCond178) NoFunction
        CFI (cfiCond178) Conditional ??CrossCallReturnLabel_9
        CFI (cfiCond178) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond178) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond178) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond178) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond178) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond178) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond178) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond178) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond178) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond178) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond178) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond178) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond178) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond178) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond178) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond178) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond178) CFA_SP SP+0
        CFI (cfiCond178) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond179 Using cfiCommon0
        CFI (cfiCond179) NoFunction
        CFI (cfiCond179) Conditional ??CrossCallReturnLabel_10
        CFI (cfiCond179) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond179) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond179) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond179) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond179) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond179) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond179) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond179) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond179) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond179) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond179) CFA_SP SP+0
        CFI (cfiCond179) CFA_XSP16 add(XSP16, 11)
        CFI Block cfiCond180 Using cfiCommon0
        CFI (cfiCond180) NoFunction
        CFI (cfiCond180) Conditional ??CrossCallReturnLabel_11
        CFI (cfiCond180) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond180) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond180) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond180) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond180) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond180) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond180) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond180) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond180) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond180) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond180) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond180) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond180) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond180) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond180) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond180) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond180) CFA_SP SP+0
        CFI (cfiCond180) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond181 Using cfiCommon0
        CFI (cfiCond181) NoFunction
        CFI (cfiCond181) Conditional ??CrossCallReturnLabel_12
        CFI (cfiCond181) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond181) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond181) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond181) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond181) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond181) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond181) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond181) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond181) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond181) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond181) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond181) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond181) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond181) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond181) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond181) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond181) CFA_SP SP+0
        CFI (cfiCond181) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker182 Using cfiCommon1
        CFI (cfiPicker182) NoFunction
        CFI (cfiPicker182) Picker
        MOVX    A,@DPTR
        MOV     ?V0 + 0,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     ?V0 + 1,A
        RET
        CFI EndBlock cfiCond175
        CFI EndBlock cfiCond176
        CFI EndBlock cfiCond177
        CFI EndBlock cfiCond178
        CFI EndBlock cfiCond179
        CFI EndBlock cfiCond180
        CFI EndBlock cfiCond181
        CFI EndBlock cfiPicker182
//  869 
//  870 #if defined ( ZDO_USERDESC_RESPONSE )
//  871 /*********************************************************************
//  872  * @fn          ZDP_UserDescRsp
//  873  *
//  874  * @brief       Build and send the User Decriptor Response.
//  875  *
//  876  *
//  877  * @param       dstAddr - destination address
//  878  * @param       nwkAddrOfInterest -
//  879  * @param       userDesc -
//  880  * @param       SecurityEnable - Security Options
//  881  *
//  882  * @return      ZStatus_t
//  883  */
//  884 ZStatus_t ZDP_UserDescRsp( byte TransSeq, zAddrType_t *dstAddr,
//  885                 uint16 nwkAddrOfInterest, UserDescriptorFormat_t *userDesc,
//  886                 byte SecurityEnable )
//  887 {
//  888   byte *pBuf = ZDP_TmpBuf;
//  889   byte len = 1 + 2 + 1;  // Status + nwkAddr + descriptor length.
//  890 
//  891   len += userDesc->len;
//  892 
//  893   *pBuf++ = ZSUCCESS;
//  894 
//  895   *pBuf++ = LO_UINT16( nwkAddrOfInterest );
//  896   *pBuf++ = HI_UINT16( nwkAddrOfInterest );
//  897 
//  898   *pBuf++ = userDesc->len;
//  899   osal_memcpy( pBuf, userDesc->desc, userDesc->len );
//  900 
//  901   return (ZStatus_t)fillAndSend( &TransSeq, dstAddr, User_Desc_rsp, len );
//  902 }
//  903 #endif // ZDO_USERDESC_RESPONSE
//  904 
//  905 #if defined ( ZDO_SERVERDISC_RESPONSE )
//  906 /*********************************************************************
//  907  * @fn          ZDP_ServerDiscRsp
//  908  *
//  909  * @brief       Build and send the Server_Discovery_rsp response.
//  910  *
//  911  * @param       transID - Transaction sequence number of request.
//  912  * @param       dstAddr - Network Destination Address.
//  913  * @param       status - Status of response to request.
//  914  * @param       aoi - Network Address of Interest of request.
//  915  * @param       serverMask - Bit map of service(s) being sought.
//  916  * @param       SecurityEnable - Security Options
//  917  *
//  918  * @return      ZStatus_t
//  919  */
//  920 ZStatus_t ZDP_ServerDiscRsp( byte transID, zAddrType_t *dstAddr, byte status,
//  921                            uint16 aoi, uint16 serverMask, byte SecurityEnable )
//  922 {
//  923   const byte len = 1  + 2;  // status + aoi + mask.
//  924   byte *pBuf = ZDP_TmpBuf;
//  925 
//  926   *pBuf++ = status;
//  927 
//  928   *pBuf++ = LO_UINT16( serverMask );
//  929   *pBuf++ = HI_UINT16( serverMask );
//  930 
//  931   return (ZStatus_t)fillAndSend( &transID, dstAddr, Server_Discovery_rsp, len );
//  932 }
//  933 #endif // ZDO_USERDESC_RESPONSE
//  934 
//  935 /*********************************************************************
//  936  * @fn          ZDP_GenericRsp
//  937  *
//  938  * @brief       Sends a response message with only the parameter status
//  939  *              byte and the addr of interest for data.
//  940  *              This function sends unicast message to the
//  941  *              requesting device.
//  942  *
//  943  * @param       dstAddr - destination address
//  944  * @param       status  - generic status for response
//  945  * @param       aoi     - address of interest
//  946  * @param       dstAddr - destination address
//  947  * @param       rspId   - response cluster ID
//  948  * @param       SecurityEnable - Security Options
//  949  *
//  950  * @return      afStatus_t
//  951  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  952 afStatus_t ZDP_GenericRsp( byte TransSeq, zAddrType_t *dstAddr,
ZDP_GenericRsp:
        CFI Block cfiBlock183 Using cfiCommon0
        CFI Function ZDP_GenericRsp
//  953                      byte status, uint16 aoi, uint16 rspID, byte SecurityEnable )
//  954 {
        FUNCALL ZDP_GenericRsp, fillAndSend
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 13, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 13, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        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: 1
        MOV     A,#-0x1
        LCALL   ?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
        MOV     A,R1
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    @DPTR,A
        MOV     A,#0xb
        LCALL   ?XSTACK_DISP0_8
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_21:
        MOV     A,#0xd
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine3 & 0xFFFF
//  955   uint8 len;
//  956 
//  957   ZDP_TmpBuf[0] = status;
??CrossCallReturnLabel_10:
        MOV     A,R4
        PUSH    A
        CFI CFA_SP SP+-1
        LCALL   ?Subroutine17 & 0xFFFF
??CrossCallReturnLabel_55:
        POP     A
        CFI CFA_SP SP+0
        MOVX    @DPTR,A
//  958   ZDP_TmpBuf[1] = LO_UINT16( aoi );
        LCALL   ?Subroutine17 & 0xFFFF
??CrossCallReturnLabel_56:
        INC     DPTR
        MOV     A,R0
        LCALL   ?Subroutine16 & 0xFFFF
//  959   ZDP_TmpBuf[2] = HI_UINT16( aoi );
??CrossCallReturnLabel_53:
        MOV     A,R1
        LCALL   ?Subroutine16 & 0xFFFF
//  960 
//  961   // Length byte
//  962   ZDP_TmpBuf[3] = 0;
??CrossCallReturnLabel_54:
        INC     DPTR
        CLR     A
        MOVX    @DPTR,A
//  963   len = 4;
//  964 
//  965   return fillAndSend( &TransSeq, dstAddr, rspID, len );
        ; Setup parameters for call to function fillAndSend
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 13)
        MOV     R1,#0x4
        MOV     A,R2
        MOV     R4,A
        MOV     A,R3
        MOV     R5,A
        MOV     A,#0x2
        LCALL   ?XSTACK_DISP0_8
        MOV     R2,DPL
        MOV     R3,DPH
        LCALL   ?Subroutine44 & 0xFFFF
??CrossCallReturnLabel_123:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
        MOV     A,#0x1
        LJMP    ??Subroutine45_0 & 0xFFFF
        CFI EndBlock cfiBlock183
//  966 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine26:
        CFI Block cfiCond184 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_118
        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+0
        CFI CFA_XSP16 add(XSP16, 18)
        CFI Block cfiCond185 Using cfiCommon0
        CFI (cfiCond185) NoFunction
        CFI (cfiCond185) Conditional ??CrossCallReturnLabel_119
        CFI (cfiCond185) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond185) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond185) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond185) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond185) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond185) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond185) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond185) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond185) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond185) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond185) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond185) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond185) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond185) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond185) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond185) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond185) CFA_SP SP+0
        CFI (cfiCond185) CFA_XSP16 add(XSP16, 21)
        CFI Block cfiPicker186 Using cfiCommon1
        CFI (cfiPicker186) NoFunction
        CFI (cfiPicker186) Picker
        MOV     R2,#(ZDP_TransID & 0xff)
        MOV     R3,#((ZDP_TransID >> 8) & 0xff)
        LJMP    ?Subroutine44 & 0xFFFF
        CFI EndBlock cfiCond184
        CFI EndBlock cfiCond185
        CFI EndBlock cfiPicker186

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine17:
        CFI Block cfiCond187 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_55
        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+-1
        CFI CFA_XSP16 add(XSP16, 11)
        CFI Block cfiCond188 Using cfiCommon0
        CFI (cfiCond188) NoFunction
        CFI (cfiCond188) Conditional ??CrossCallReturnLabel_56
        CFI (cfiCond188) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond188) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond188) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond188) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond188) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond188) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond188) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond188) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond188) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond188) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond188) CFA_SP SP+0
        CFI (cfiCond188) CFA_XSP16 add(XSP16, 11)
        CFI Block cfiPicker189 Using cfiCommon1
        CFI (cfiPicker189) NoFunction
        CFI (cfiPicker189) Picker
        MOV     DPTR,#ZDP_TmpBuf
        MOVX    A,@DPTR
        MOV     R4,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     DPH,A
        MOV     DPL,R4
        RET
        CFI EndBlock cfiCond187
        CFI EndBlock cfiCond188
        CFI EndBlock cfiPicker189

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine16:
        CFI Block cfiCond190 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_53
        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+0
        CFI CFA_XSP16 add(XSP16, 11)
        CFI Block cfiCond191 Using cfiCommon0
        CFI (cfiCond191) NoFunction
        CFI (cfiCond191) Conditional ??CrossCallReturnLabel_54
        CFI (cfiCond191) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond191) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond191) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond191) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond191) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond191) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond191) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond191) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond191) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond191) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond191) CFA_SP SP+0
        CFI (cfiCond191) CFA_XSP16 add(XSP16, 11)
        CFI Block cfiPicker192 Using cfiCommon1
        CFI (cfiPicker192) NoFunction
        CFI (cfiPicker192) Picker
        MOVX    @DPTR,A
        MOV     DPTR,#ZDP_TmpBuf
        LCALL   ?Subroutine34 & 0xFFFF
??CrossCallReturnLabel_96:
        INC     DPTR
        INC     DPTR
        RET
        CFI EndBlock cfiCond190
        CFI EndBlock cfiCond191
        CFI EndBlock cfiPicker192
//  967 
//  968 /*********************************************************************
//  969  * Binding
//  970  */
//  971 #if defined ( ZDO_ENDDEVICEBIND_REQUEST )
//  972 /*********************************************************************
//  973  * @fn          ZDP_EndDeviceBindReq
//  974  *
//  975  * @brief       This builds and sends a End_Device_Bind_req message.
//  976  *              This function sends a unicast message.
//  977  *
//  978  * @param       dstAddr - destination address
//  979  * @param       LocalCoordinator - short address of local coordinator
//  980  * @param       epIntf - Endpoint/Interface of Simple Desc
//  981  * @param       ProfileID - Profile ID
//  982  *
//  983  *   The Input cluster list is the opposite of what you would think.
//  984  *   This is the output cluster list of this device
//  985  * @param       NumInClusters - number of input clusters
//  986  * @param       InClusterList - input cluster ID list
//  987  *
//  988  *   The Output cluster list is the opposite of what you would think.
//  989  *   This is the input cluster list of this device
//  990  * @param       NumOutClusters - number of output clusters
//  991  * @param       OutClusterList - output cluster ID list
//  992  *
//  993  * @param       SecurityEnable - Security Options
//  994  *
//  995  * @return      afStatus_t
//  996  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  997 afStatus_t ZDP_EndDeviceBindReq( zAddrType_t *dstAddr,
ZDP_EndDeviceBindReq:
        CFI Block cfiBlock193 Using cfiCommon0
        CFI Function ZDP_EndDeviceBindReq
//  998                                  uint16 LocalCoordinator,
//  999                                  byte endPoint,
// 1000                                  uint16 ProfileID,
// 1001                                  byte NumInClusters, cId_t *InClusterList,
// 1002                                  byte NumOutClusters, cId_t *OutClusterList,
// 1003                                  byte SecurityEnable )
// 1004 {
        FUNCALL ZDP_EndDeviceBindReq, NLME_GetShortAddr
        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 ZDP_EndDeviceBindReq, NLME_GetExtAddr
        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 ZDP_EndDeviceBindReq, osal_cpyExtAddr
        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 ZDP_EndDeviceBindReq, fillAndSend
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 21, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 21, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        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: 3
        MOV     A,#-0x3
        LCALL   ?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     A,#0x1
        LCALL   ?XSTACK_DISP0_8
        MOV     A,R2
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R3
        MOVX    @DPTR,A
        MOV     A,R1
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    @DPTR,A
        MOV     A,R4
        MOV     R6,A
        MOV     A,R5
        MOV     R7,A
        MOV     A,#0x13
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine3 & 0xFFFF
??CrossCallReturnLabel_11:
        MOV     A,#0x18
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     ?V0 + 7,A
// 1005   uint8 *pBuf = ZDP_TmpBuf;
        MOV     DPTR,#ZDP_TmpBuf
        MOVX    A,@DPTR
        MOV     ?V0 + 2,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     ?V0 + 3,A
// 1006   uint8 i, len;
// 1007   uint8 *ieeeAddr;
// 1008 
// 1009   // LocalCoordinator + SrcExtAddr + ep + ProfileID +  NumInClusters + NumOutClusters.
// 1010   len = 2 + Z_EXTADDR_LEN + 1 + 2 + 1 + 1;
// 1011   len += (NumInClusters + NumOutClusters) * sizeof ( uint16 );
        MOV     A,#0x15
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        ADD     A,?V0 + 7
        CLR     C
        RLC     A
        ADD     A,#0xf
        MOV     ?V0 + 6,A
// 1012 
// 1013   if ( len >= ZDP_BUF_SZ-1 )
        CLR     C
        SUBB    A,#0x4f
        JC      ??ZDP_EndDeviceBindReq_0
// 1014   {
// 1015     return afStatus_MEM_FAIL;
        MOV     R1,#-0x7f
        LJMP    ??ZDP_EndDeviceBindReq_1 & 0xFFFF
// 1016   }
// 1017 
// 1018   if ( LocalCoordinator != NLME_GetShortAddr() )
??ZDP_EndDeviceBindReq_0:
        ; Setup parameters for call to function NLME_GetShortAddr
        LCALL   ??NLME_GetShortAddr?relay
        MOV     A,R2
        XRL     A,R6
        JNZ     ??ZDP_EndDeviceBindReq_2
        MOV     A,R3
        XRL     A,R7
??ZDP_EndDeviceBindReq_2:
        JZ      ??ZDP_EndDeviceBindReq_3
// 1019   {
// 1020     return afStatus_INVALID_PARAMETER;
        MOV     R1,#-0x7e
        LJMP    ??ZDP_EndDeviceBindReq_1 & 0xFFFF
// 1021   }
// 1022 
// 1023   *pBuf++ = LO_UINT16( LocalCoordinator );
??ZDP_EndDeviceBindReq_3:
        MOV     A,R6
        MOV     DPL,?V0 + 2
        MOV     DPH,?V0 + 3
        MOVX    @DPTR,A
        INC     DPTR
// 1024   *pBuf++ = HI_UINT16( LocalCoordinator );
        MOV     A,R7
        LCALL   ?Subroutine23 & 0xFFFF
// 1025 
// 1026   ieeeAddr = NLME_GetExtAddr();
// 1027   pBuf = osal_cpyExtAddr( pBuf, ieeeAddr );
??CrossCallReturnLabel_63:
        ; Setup parameters for call to function osal_cpyExtAddr
        ; Setup parameters for call to function NLME_GetExtAddr
        LCALL   ??NLME_GetExtAddr?relay
        MOV     A,R2
        MOV     R4,A
        MOV     A,R3
        MOV     R5,A
        MOV     R2,?V0 + 2
        MOV     R3,?V0 + 3
        LCALL   ??osal_cpyExtAddr?relay
// 1028 
// 1029   *pBuf++ = endPoint;
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOVX    A,@DPTR
        MOV     DPL,R2
        MOV     DPH,R3
        MOVX    @DPTR,A
        INC     DPTR
// 1030 
// 1031   *pBuf++ = LO_UINT16( ProfileID );   // Profile ID
        MOV     A,?V0 + 0
        MOVX    @DPTR,A
        INC     DPTR
// 1032   *pBuf++ = HI_UINT16( ProfileID );
        MOV     A,?V0 + 1
        LCALL   ?Subroutine23 & 0xFFFF
// 1033 
// 1034   *pBuf++ = NumInClusters; // Input cluster list
??CrossCallReturnLabel_64:
        MOV     A,#0x15
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     DPL,?V0 + 2
        MOV     DPH,?V0 + 3
        LCALL   ?Subroutine20 & 0xFFFF
// 1035   for ( i = 0; i < NumInClusters; ++i )
??CrossCallReturnLabel_59:
        SJMP    ??CrossCallReturnLabel_2
// 1036   {
// 1037     *pBuf++ = LO_UINT16(InClusterList[i]);
??ZDP_EndDeviceBindReq_4:
        MOV     A,R2
        CLR     C
        RLC     A
        MOV     R0,A
        CLR     A
        RLC     A
        MOV     R1,A
        MOV     A,#0x16
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine1 & 0xFFFF
// 1038     *pBuf++ = HI_UINT16(InClusterList[i]);
// 1039   }
??CrossCallReturnLabel_2:
        MOV     A,#0x15
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     R3,A
        MOV     A,R2
        CLR     C
        SUBB    A,R3
        JC      ??ZDP_EndDeviceBindReq_4
// 1040 
// 1041   *pBuf++ = NumOutClusters; // Output cluster list
        MOV     DPL,?V0 + 2
        MOV     DPH,?V0 + 3
        MOV     A,?V0 + 7
        LCALL   ?Subroutine20 & 0xFFFF
// 1042   for ( i = 0; i < NumOutClusters; ++i )
??CrossCallReturnLabel_60:
        SJMP    ??CrossCallReturnLabel_3
// 1043   {
// 1044     *pBuf++ = LO_UINT16(OutClusterList[i]);
??ZDP_EndDeviceBindReq_5:
        MOV     A,R2
        CLR     C
        RLC     A
        MOV     R0,A
        CLR     A
        RLC     A
        MOV     R1,A
        MOV     A,#0x19
        LCALL   ?XSTACK_DISP0_8
        LCALL   ?Subroutine1 & 0xFFFF
// 1045     *pBuf++ = HI_UINT16(OutClusterList[i]);
// 1046   }
??CrossCallReturnLabel_3:
        MOV     A,R2
        CLR     C
        SUBB    A,?V0 + 7
        JC      ??ZDP_EndDeviceBindReq_5
// 1047 
// 1048   return fillAndSend( &ZDP_TransID, dstAddr, End_Device_Bind_req, len );
        ; Setup parameters for call to function fillAndSend
        MOV     ?V0 + 0,#0x20
        MOV     ?V0 + 1,#0x0
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 21)
        MOV     R1,?V0 + 6
        MOV     A,#0x3
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        MOV     R4,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R5,A
        LCALL   ?Subroutine26 & 0xFFFF
??CrossCallReturnLabel_119:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 19)
??ZDP_EndDeviceBindReq_1:
        MOV     A,#0x3
        SJMP    ??Subroutine41_0
        CFI EndBlock cfiBlock193
// 1049 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine41:
        CFI Block cfiBlock194 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 17)
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        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(-16)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        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 ?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
??Subroutine41_0:
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 16)
??Subroutine41_1:
        MOV     R7,#0x8
        LJMP    ?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock194

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine23:
        CFI Block cfiCond195 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_63
        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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond196 Using cfiCommon0
        CFI (cfiCond196) NoFunction
        CFI (cfiCond196) Conditional ??CrossCallReturnLabel_64
        CFI (cfiCond196) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond196) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond196) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond196) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond196) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond196) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond196) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond196) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond196) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond196) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond196) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond196) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond196) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond196) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond196) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond196) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond196) CFA_SP SP+0
        CFI (cfiCond196) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiPicker197 Using cfiCommon1
        CFI (cfiPicker197) NoFunction
        CFI (cfiPicker197) Picker
        LCALL   ?Subroutine35 & 0xFFFF
??CrossCallReturnLabel_98:
        RET
        CFI EndBlock cfiCond195
        CFI EndBlock cfiCond196
        CFI EndBlock cfiPicker197

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine35:
        CFI Block cfiCond198 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_98, ??CrossCallReturnLabel_63
        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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond199 Using cfiCommon0
        CFI (cfiCond199) NoFunction
        CFI (cfiCond199) Conditional ??CrossCallReturnLabel_98, ??CrossCallReturnLabel_64
        CFI (cfiCond199) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond199) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond199) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond199) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond199) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond199) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond199) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond199) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond199) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond199) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond199) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond199) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond199) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond199) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond199) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond199) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond199) CFA_SP SP+0
        CFI (cfiCond199) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond200 Using cfiCommon0
        CFI (cfiCond200) NoFunction
        CFI (cfiCond200) Conditional ??CrossCallReturnLabel_97, ??CrossCallReturnLabel_59
        CFI (cfiCond200) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond200) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond200) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond200) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond200) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond200) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond200) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond200) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond200) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond200) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond200) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond200) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond200) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond200) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond200) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond200) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond200) CFA_SP SP+0
        CFI (cfiCond200) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond201 Using cfiCommon0
        CFI (cfiCond201) NoFunction
        CFI (cfiCond201) Conditional ??CrossCallReturnLabel_97, ??CrossCallReturnLabel_60
        CFI (cfiCond201) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond201) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond201) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond201) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond201) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond201) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond201) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond201) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond201) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond201) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond201) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond201) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond201) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond201) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond201) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond201) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond201) CFA_SP SP+0
        CFI (cfiCond201) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiPicker202 Using cfiCommon1
        CFI (cfiPicker202) NoFunction
        CFI (cfiPicker202) Picker
        LCALL   ?Subroutine38 & 0xFFFF
??CrossCallReturnLabel_105:
        RET
        CFI EndBlock cfiCond198
        CFI EndBlock cfiCond199
        CFI EndBlock cfiCond200
        CFI EndBlock cfiCond201
        CFI EndBlock cfiPicker202

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine20:
        CFI Block cfiCond203 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_59
        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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond204 Using cfiCommon0
        CFI (cfiCond204) NoFunction
        CFI (cfiCond204) Conditional ??CrossCallReturnLabel_60
        CFI (cfiCond204) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond204) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond204) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond204) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond204) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond204) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond204) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond204) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond204) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond204) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond204) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond204) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond204) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond204) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond204) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond204) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond204) CFA_SP SP+0
        CFI (cfiCond204) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiPicker205 Using cfiCommon1
        CFI (cfiPicker205) NoFunction
        CFI (cfiPicker205) Picker
        LCALL   ?Subroutine35 & 0xFFFF
??CrossCallReturnLabel_97:
        MOV     R2,#0x0
        RET
        CFI EndBlock cfiCond203
        CFI EndBlock cfiCond204
        CFI EndBlock cfiPicker205

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine1:
        CFI Block cfiCond206 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_2
        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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond207 Using cfiCommon0
        CFI (cfiCond207) NoFunction
        CFI (cfiCond207) Conditional ??CrossCallReturnLabel_3
        CFI (cfiCond207) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond207) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond207) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond207) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond207) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond207) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond207) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond207) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond207) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond207) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond207) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond207) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond207) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond207) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond207) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond207) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond207) CFA_SP SP+0
        CFI (cfiCond207) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiPicker208 Using cfiCommon1
        CFI (cfiPicker208) NoFunction
        CFI (cfiPicker208) Picker
        MOVX    A,@DPTR
        ADD     A,R0
        MOV     R0,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,R1
        MOV     R1,A
        MOV     DPL,R0
        MOV     DPH,R1
        LCALL   ?Subroutine31 & 0xFFFF
??CrossCallReturnLabel_91:
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        LCALL   ?Subroutine31 & 0xFFFF
??CrossCallReturnLabel_92:
        INC     R2
        RET
        CFI EndBlock cfiCond206
        CFI EndBlock cfiCond207
        CFI EndBlock cfiPicker208

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine31:
        CFI Block cfiCond209 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_91, ??CrossCallReturnLabel_2
        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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond210 Using cfiCommon0
        CFI (cfiCond210) NoFunction
        CFI (cfiCond210) Conditional ??CrossCallReturnLabel_91, ??CrossCallReturnLabel_3
        CFI (cfiCond210) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond210) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond210) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond210) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond210) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond210) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond210) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond210) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond210) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond210) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond210) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond210) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond210) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond210) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond210) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond210) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond210) CFA_SP SP+0
        CFI (cfiCond210) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond211 Using cfiCommon0
        CFI (cfiCond211) NoFunction
        CFI (cfiCond211) Conditional ??CrossCallReturnLabel_92, ??CrossCallReturnLabel_2
        CFI (cfiCond211) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond211) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond211) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond211) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond211) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond211) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond211) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond211) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond211) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond211) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond211) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond211) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond211) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond211) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond211) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond211) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond211) CFA_SP SP+0
        CFI (cfiCond211) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond212 Using cfiCommon0
        CFI (cfiCond212) NoFunction
        CFI (cfiCond212) Conditional ??CrossCallReturnLabel_92, ??CrossCallReturnLabel_3
        CFI (cfiCond212) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond212) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond212) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond212) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond212) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond212) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond212) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond212) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond212) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond212) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond212) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond212) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond212) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond212) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond212) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond212) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond212) CFA_SP SP+0
        CFI (cfiCond212) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiPicker213 Using cfiCommon1
        CFI (cfiPicker213) NoFunction
        CFI (cfiPicker213) Picker
        MOVX    A,@DPTR
        MOV     DPL,?V0 + 2
        MOV     DPH,?V0 + 3
        LCALL   ?Subroutine38 & 0xFFFF
??CrossCallReturnLabel_104:
        RET
        CFI EndBlock cfiCond209
        CFI EndBlock cfiCond210
        CFI EndBlock cfiCond211
        CFI EndBlock cfiCond212
        CFI EndBlock cfiPicker213

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine38:
        CFI Block cfiCond214 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_105, ??CrossCallReturnLabel_98, ??CrossCallReturnLabel_63
        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+0
        CFI CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond215 Using cfiCommon0
        CFI (cfiCond215) NoFunction
        CFI (cfiCond215) Conditional ??CrossCallReturnLabel_105, ??CrossCallReturnLabel_98, ??CrossCallReturnLabel_64
        CFI (cfiCond215) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond215) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond215) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond215) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond215) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond215) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond215) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond215) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond215) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond215) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond215) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond215) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond215) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond215) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond215) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond215) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond215) CFA_SP SP+0
        CFI (cfiCond215) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond216 Using cfiCommon0
        CFI (cfiCond216) NoFunction
        CFI (cfiCond216) Conditional ??CrossCallReturnLabel_105, ??CrossCallReturnLabel_97, ??CrossCallReturnLabel_59
        CFI (cfiCond216) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond216) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond216) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond216) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond216) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond216) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond216) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond216) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond216) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond216) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond216) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond216) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond216) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond216) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond216) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond216) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond216) CFA_SP SP+0
        CFI (cfiCond216) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond217 Using cfiCommon0
        CFI (cfiCond217) NoFunction
        CFI (cfiCond217) Conditional ??CrossCallReturnLabel_105, ??CrossCallReturnLabel_97, ??CrossCallReturnLabel_60
        CFI (cfiCond217) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond217) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond217) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond217) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond217) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond217) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond217) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond217) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond217) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond217) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond217) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond217) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond217) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond217) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond217) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond217) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond217) CFA_SP SP+0
        CFI (cfiCond217) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond218 Using cfiCommon0
        CFI (cfiCond218) NoFunction
        CFI (cfiCond218) Conditional ??CrossCallReturnLabel_104, ??CrossCallReturnLabel_91, ??CrossCallReturnLabel_2
        CFI (cfiCond218) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond218) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond218) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond218) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond218) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond218) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond218) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond218) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond218) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond218) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond218) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond218) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond218) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond218) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond218) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond218) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond218) CFA_SP SP+0
        CFI (cfiCond218) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond219 Using cfiCommon0
        CFI (cfiCond219) NoFunction
        CFI (cfiCond219) Conditional ??CrossCallReturnLabel_104, ??CrossCallReturnLabel_91, ??CrossCallReturnLabel_3
        CFI (cfiCond219) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond219) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond219) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond219) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond219) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond219) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond219) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond219) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond219) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond219) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond219) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond219) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond219) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond219) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond219) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond219) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond219) CFA_SP SP+0
        CFI (cfiCond219) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond220 Using cfiCommon0
        CFI (cfiCond220) NoFunction
        CFI (cfiCond220) Conditional ??CrossCallReturnLabel_104, ??CrossCallReturnLabel_92, ??CrossCallReturnLabel_2
        CFI (cfiCond220) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond220) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond220) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond220) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond220) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond220) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond220) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond220) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond220) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond220) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond220) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond220) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond220) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond220) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond220) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond220) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond220) CFA_SP SP+0
        CFI (cfiCond220) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiCond221 Using cfiCommon0
        CFI (cfiCond221) NoFunction
        CFI (cfiCond221) Conditional ??CrossCallReturnLabel_104, ??CrossCallReturnLabel_92, ??CrossCallReturnLabel_3
        CFI (cfiCond221) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond221) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond221) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond221) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond221) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond221) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond221) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond221) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond221) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond221) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond221) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond221) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond221) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond221) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond221) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond221) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond221) CFA_SP SP+0
        CFI (cfiCond221) CFA_XSP16 add(XSP16, 19)
        CFI Block cfiPicker222 Using cfiCommon1
        CFI (cfiPicker222) NoFunction
        CFI (cfiPicker222) Picker
        MOVX    @DPTR,A
        INC     DPTR
        MOV     ?V0 + 2,DPL
        MOV     ?V0 + 3,DPH
        RET
        CFI EndBlock cfiCond214
        CFI EndBlock cfiCond215
        CFI EndBlock cfiCond216
        CFI EndBlock cfiCond217
        CFI EndBlock cfiCond218
        CFI EndBlock cfiCond219
        CFI EndBlock cfiCond220
        CFI EndBlock cfiCond221
        CFI EndBlock cfiPicker222
// 1050 #endif // ZDO_ENDDEVICEBIND_REQUEST
// 1051 
// 1052 #if defined ( ZDO_BIND_UNBIND_REQUEST ) || defined ( ZDO_COORDINATOR )
// 1053 /*********************************************************************
// 1054  * @fn          ZDP_BindUnbindReq
// 1055  *
// 1056  * @brief       This builds and send a Bind_req or Unbind_req message
// 1057  *              Depending on the ClusterID. This function
// 1058  *              sends a unicast message to the local coordinator.
// 1059  *
// 1060  * @param       BindOrUnbind - either Bind_req or Unbind_req
// 1061  * @param       dstAddr - destination address of the message
// 1062  * @param       SourceAddr - source 64 bit address of the binding
// 1063  * @param       SrcEPIntf - Source endpoint/interface
// 1064  * @param       ClusterID - Binding cluster ID
// 1065  * @param       DestinationAddr - destination 64 bit addr of binding
// 1066  * @param       DstEPIntf - destination endpoint/interface
// 1067  * @param       SecurityEnable - Security Options
// 1068  *
// 1069  * @return      afStatus_t
// 1070  */
// 1071 afStatus_t ZDP_BindUnbindReq( uint16 BindOrUnbind, zAddrType_t *dstAddr,
// 1072                               byte *SourceAddr, byte SrcEndPoint,
// 1073                               cId_t ClusterID,
// 1074                               zAddrType_t *destinationAddr, byte DstEndPoint,
// 1075                               byte SecurityEnable )
// 1076 {
// 1077   uint8 *pBuf = ZDP_TmpBuf;
// 1078   byte len;
// 1079 
// 1080   // SourceAddr + SrcEPIntf + ClusterID +  addrMode.
// 1081   len = Z_EXTADDR_LEN + 1 + sizeof( cId_t ) + sizeof( uint8 );
// 1082   if ( destinationAddr->addrMode == Addr64Bit )
// 1083     len += Z_EXTADDR_LEN + 1;     // +1 for DstEPIntf
// 1084   else if ( destinationAddr->addrMode == AddrGroup )
// 1085     len += sizeof ( uint16 );
// 1086 
// 1087   pBuf = osal_cpyExtAddr( pBuf, SourceAddr );
// 1088   *pBuf++ = SrcEndPoint;
// 1089 
// 1090   *pBuf++ = LO_UINT16( ClusterID );
// 1091 
// 1092   *pBuf++ = HI_UINT16( ClusterID );
// 1093   *pBuf++ = destinationAddr->addrMode;
// 1094   if ( destinationAddr->addrMode == Addr64Bit )
// 1095   {
// 1096     pBuf = osal_cpyExtAddr( pBuf, destinationAddr->addr.extAddr );
// 1097     *pBuf = DstEndPoint;
// 1098   }
// 1099   else if ( destinationAddr->addrMode == AddrGroup )
// 1100   {
// 1101     *pBuf++ = LO_UINT16( destinationAddr->addr.shortAddr );
// 1102     *pBuf++ = HI_UINT16( destinationAddr->addr.shortAddr );
// 1103   }
// 1104 
// 1105   FillAndSendTxOptions( &ZDP_TransID, dstAddr, BindOrUnbind, len, AF_MSG_ACK_REQUEST );
// 1106 }
// 1107 #endif // ZDO_BIND_UNBIND_REQUEST
// 1108 
// 1109 /*********************************************************************
// 1110  * Network Management
// 1111  */
// 1112 
// 1113 #if defined ( ZDO_MGMT_NWKDISC_REQUEST )
// 1114 /*********************************************************************
// 1115  * @fn          ZDP_MgmtNwkDiscReq
// 1116  *
// 1117  * @brief       This builds and send a Mgmt_NWK_Disc_req message. This
// 1118  *              function sends a unicast message.
// 1119  *
// 1120  * @param       dstAddr - destination address of the message
// 1121  * @param       ScanChannels - 32 bit address bit map
// 1122  * @param       StartIndex - Starting index within the reporting network
// 1123  *                           list
// 1124  * @param       SecurityEnable - Security Options
// 1125  *
// 1126  * @return      afStatus_t
// 1127  */
// 1128 afStatus_t ZDP_MgmtNwkDiscReq( zAddrType_t *dstAddr,
// 1129                                uint32 ScanChannels,
// 1130                                byte ScanDuration,
// 1131                                byte StartIndex,
// 1132                                byte SecurityEnable )
// 1133 {
// 1134   byte *pBuf = ZDP_TmpBuf;
// 1135   byte len = sizeof( uint32 )+1+1;  // ScanChannels + ScanDuration + StartIndex.
// 1136 
// 1137   *pBuf++ = BREAK_UINT32( ScanChannels, 0 );
// 1138   *pBuf++ = BREAK_UINT32( ScanChannels, 1 );
// 1139   *pBuf++ = BREAK_UINT32( ScanChannels, 2 );
// 1140   *pBuf++ = BREAK_UINT32( ScanChannels, 3 );
// 1141 
// 1142   *pBuf++ = ScanDuration;
// 1143   *pBuf = StartIndex;
// 1144 
// 1145   return fillAndSend( &ZDP_TransID, dstAddr, Mgmt_NWK_Disc_req, len );
// 1146 }
// 1147 #endif // ZDO_MGMT_NWKDISC_REQUEST
// 1148 
// 1149 #if defined ( ZDO_MGMT_JOINDIRECT_REQUEST )
// 1150 /*********************************************************************
// 1151  * @fn          ZDP_MgmtDirectJoinReq
// 1152  *
// 1153  * @brief       This builds and send a Mgmt_Direct_Join_req message. This
// 1154  *              function sends a unicast message.
// 1155  *
// 1156  * @param       dstAddr - destination address of the message
// 1157  * @param       deviceAddr - 64 bit IEEE Address
// 1158  * @param       SecurityEnable - Security Options
// 1159  *
// 1160  * @return      afStatus_t
// 1161  */
// 1162 afStatus_t ZDP_MgmtDirectJoinReq( zAddrType_t *dstAddr,
// 1163                                byte *deviceAddr,
// 1164                                byte capInfo,
// 1165                                byte SecurityEnable )
// 1166 {
// 1167   osal_cpyExtAddr( ZDP_TmpBuf, deviceAddr );
// 1168   ZDP_TmpBuf[Z_EXTADDR_LEN] = capInfo;
// 1169 
// 1170   return fillAndSend( &ZDP_TransID, dstAddr, Mgmt_Direct_Join_req, (Z_EXTADDR_LEN + 1) );
// 1171 }
// 1172 #endif // ZDO_MGMT_JOINDIRECT_REQUEST
// 1173 
// 1174 #if defined ( ZDO_MGMT_PERMIT_JOIN_REQUEST )
// 1175 /*********************************************************************
// 1176  * @fn          ZDP_MgmtPermitJoinReq
// 1177  *
// 1178  * @brief       This builds and send a Mgmt_Permit_Join_req message.
// 1179  *
// 1180  * @param       dstAddr - destination address of the message
// 1181  * @param       duration - Permit duration
// 1182  * @param       TcSignificance - Trust Center Significance
// 1183  *
// 1184  * @return      afStatus_t
// 1185  */
// 1186 afStatus_t ZDP_MgmtPermitJoinReq( zAddrType_t *dstAddr, byte duration,
// 1187                                   byte TcSignificance, byte SecurityEnable )
// 1188 {
// 1189   // Build buffer
// 1190   ZDP_TmpBuf[ZDP_MGMT_PERMIT_JOIN_REQ_DURATION] = duration;
// 1191   ZDP_TmpBuf[ZDP_MGMT_PERMIT_JOIN_REQ_TC_SIG]   = TcSignificance;
// 1192 
// 1193   // Send the message
// 1194   return fillAndSend( &ZDP_TransID, dstAddr, Mgmt_Permit_Join_req,
// 1195                       ZDP_MGMT_PERMIT_JOIN_REQ_SIZE );
// 1196 }
// 1197 #endif // ZDO_MGMT_PERMIT_JOIN_REQUEST
// 1198 
// 1199 /*********************************************************************
// 1200  * Network Management Responses
// 1201  */
// 1202 
// 1203 #if defined ( ZDO_MGMT_NWKDISC_RESPONSE )
// 1204 /*********************************************************************
// 1205  * @fn          ZDP_MgmtNwkDiscRsp
// 1206  *
// 1207  * @brief       This builds and send a Mgmt_NWK_Disc_rsp message. This
// 1208  *              function sends a unicast message.
// 1209  *
// 1210  * @param       dstAddr - destination address of the message
// 1211  * @param       Status - message status (ZDP_SUCCESS or other)
// 1212  * @param       NetworkCount - Total number of networks found
// 1213  * @param       StartIndex - Starting index within the reporting network
// 1214  *                           list
// 1215  * @param       NetworkListCount - number of network lists included
// 1216  *                                 in this message
// 1217  * @param       NetworkList - List of network descriptors
// 1218  * @param       SecurityEnable - Security Options
// 1219  *
// 1220  * @return      afStatus_t
// 1221  */
// 1222 afStatus_t ZDP_MgmtNwkDiscRsp( byte TransSeq, zAddrType_t *dstAddr,
// 1223                             byte Status,
// 1224                             byte NetworkCount,
// 1225                             byte StartIndex,
// 1226                             byte NetworkListCount,
// 1227                             networkDesc_t *NetworkList,
// 1228                             byte SecurityEnable )
// 1229 {
// 1230   byte *buf;
// 1231   byte *pBuf;
// 1232   byte len = 1+1+1+1;  // Status + NetworkCount + StartIndex + NetworkCountList.
// 1233   byte idx;
// 1234 
// 1235   len += ((NetworkListCount - StartIndex) * ( ZDP_NETWORK_EXTENDED_DISCRIPTOR_SIZE - 2 ));
// 1236 
// 1237   buf = osal_mem_alloc( len+1 );
// 1238   if ( buf == NULL )
// 1239   {
// 1240     return afStatus_MEM_FAIL;
// 1241   }
// 1242 
// 1243   pBuf = buf+1;
// 1244 
// 1245   *pBuf++ = Status;
// 1246   *pBuf++ = NetworkCount;
// 1247   *pBuf++ = StartIndex;
// 1248   *pBuf++ = NetworkListCount;
// 1249 
// 1250   for ( idx = StartIndex; idx < (NetworkListCount - StartIndex); idx++ )
// 1251   {
// 1252     osal_cpyExtAddr( pBuf, NetworkList->extendedPANID);
// 1253     pBuf += Z_EXTADDR_LEN;
// 1254 
// 1255     *pBuf++  = NetworkList->logicalChannel;                // LogicalChannel
// 1256     *pBuf    = NetworkList->stackProfile;                  // Stack profile
// 1257     *pBuf++ |= (byte)(NetworkList->version << 4);          // ZigBee Version
// 1258     *pBuf    = NetworkList->beaconOrder;                   // Beacon Order
// 1259     *pBuf++ |= (byte)(NetworkList->superFrameOrder << 4);  // Superframe Order
// 1260 
// 1261     if ( NetworkList->chosenRouter != INVALID_NODE_ADDR )
// 1262     {
// 1263       *pBuf++ = TRUE;                         // Permit Joining
// 1264     }
// 1265     else
// 1266     {
// 1267       *pBuf++ = FALSE;
// 1268     }
// 1269 
// 1270     NetworkList = NetworkList->nextDesc;    // Move to next list entry
// 1271   }
// 1272 
// 1273   FillAndSendBuffer( &TransSeq, dstAddr, Mgmt_NWK_Disc_rsp, len, buf );
// 1274 }
// 1275 #endif // ZDO_MGMT_NWKDISC_RESPONSE
// 1276 
// 1277 #if defined ( ZDO_MGMT_LQI_RESPONSE ) && defined ( RTR_NWK )
// 1278 /*********************************************************************
// 1279  * @fn          ZDP_MgmtLqiRsp
// 1280  *
// 1281  * @brief       This builds and send a Mgmt_Lqi_rsp message. This
// 1282  *              function sends a unicast message.
// 1283  *
// 1284  * @param       dstAddr - destination address of the message
// 1285  * @param       Status - message status (ZDP_SUCCESS or other)
// 1286  * @param       NeighborLqiEntries - Total number of entries found
// 1287  * @param       StartIndex - Starting index within the reporting list
// 1288  * @param       NeighborLqiCount - number of lists included
// 1289  *                                 in this message
// 1290  * @param       NeighborLqiList - List of NeighborLqiItems.  This list
// 1291  *                is the list to be sent, not the entire list
// 1292  * @param       SecurityEnable - true if secure
// 1293  *
// 1294  * @return      ZStatus_t
// 1295  */
// 1296 ZStatus_t ZDP_MgmtLqiRsp( byte TransSeq, zAddrType_t *dstAddr,
// 1297                           byte Status,
// 1298                           byte NeighborLqiEntries,
// 1299                           byte StartIndex,
// 1300                           byte NeighborLqiCount,
// 1301                           ZDP_MgmtLqiItem_t* NeighborList,
// 1302                           byte SecurityEnable )
// 1303 {
// 1304   ZDP_MgmtLqiItem_t* list = NeighborList;
// 1305   byte *buf, *pBuf;
// 1306   byte len, x;
// 1307 
// 1308   if ( ZSuccess != Status )
// 1309   {
// 1310     ZDP_TmpBuf[0] = Status;
// 1311     return fillAndSend( &TransSeq, dstAddr, Mgmt_Lqi_rsp, 1 );
// 1312   }
// 1313 
// 1314   // (Status + NeighborLqiEntries + StartIndex + NeighborLqiCount) +
// 1315   //  neighbor LQI data.
// 1316   len = (1 + 1 + 1 + 1) + (NeighborLqiCount * ZDP_MGMTLQI_EXTENDED_SIZE);
// 1317 
// 1318   buf = osal_mem_alloc( len+1 );
// 1319   if ( buf == NULL )
// 1320   {
// 1321     return afStatus_MEM_FAIL;
// 1322   }
// 1323 
// 1324   pBuf = buf+1;
// 1325 
// 1326   *pBuf++ = Status;
// 1327   *pBuf++ = NeighborLqiEntries;
// 1328   *pBuf++ = StartIndex;
// 1329   *pBuf++ = NeighborLqiCount;
// 1330 
// 1331   for ( x = 0; x < NeighborLqiCount; x++ )
// 1332   {
// 1333     osal_cpyExtAddr( pBuf, list->extPanID);         // Extended PanID
// 1334     pBuf += Z_EXTADDR_LEN;
// 1335 
// 1336     // EXTADDR
// 1337     pBuf = osal_cpyExtAddr( pBuf, list->extAddr );
// 1338 
// 1339     // NWKADDR
// 1340     *pBuf++ = LO_UINT16( list->nwkAddr );
// 1341     *pBuf++ = HI_UINT16( list->nwkAddr );
// 1342 
// 1343     // DEVICETYPE
// 1344     *pBuf = list->devType;
// 1345 
// 1346     // RXONIDLE
// 1347     *pBuf |= (uint8)(list->rxOnIdle << 2);
// 1348 
// 1349     // RELATIONSHIP
// 1350     *pBuf++ |= (uint8)(list->relation << 4);
// 1351 
// 1352     // PERMITJOINING
// 1353     *pBuf++ = (uint8)(list->permit);
// 1354 
// 1355     // DEPTH
// 1356     *pBuf++ = list->depth;
// 1357 
// 1358     // LQI
// 1359     *pBuf++ = list->lqi;
// 1360 
// 1361     list++; // next list entry
// 1362   }
// 1363 
// 1364   FillAndSendBuffer( &TransSeq, dstAddr, Mgmt_Lqi_rsp, len, buf );
// 1365 }
// 1366 #endif // ZDO_MGMT_LQI_RESPONSE && RTR_NWK
// 1367 
// 1368 #if defined ( ZDO_MGMT_RTG_RESPONSE )
// 1369 /*********************************************************************
// 1370  * @fn          ZDP_MgmtRtgRsp
// 1371  *
// 1372  * @brief       This builds and send a Mgmt_Rtg_rsp message. This
// 1373  *              function sends a unicast message.
// 1374  *
// 1375  * @param       dstAddr - destination address of the message
// 1376  * @param       Status - message status (ZDP_SUCCESS or other)
// 1377  * @param       RoutingTableEntries - Total number of entries
// 1378  * @param       StartIndex - Starting index within the reporting list
// 1379  * @param       RoutingTableListCount - number of entries included
// 1380  *                                      in this message
// 1381  * @param       RoutingTableList - List of Routing Table entries
// 1382  * @param       SecurityEnable - true to enable security for this message
// 1383  *
// 1384  * @return      ZStatus_t
// 1385  */
// 1386 ZStatus_t ZDP_MgmtRtgRsp( byte TransSeq, zAddrType_t *dstAddr,
// 1387                             byte Status,
// 1388                             byte RoutingTableEntries,
// 1389                             byte StartIndex,
// 1390                             byte RoutingListCount,
// 1391                             rtgItem_t *RoutingTableList,
// 1392                             byte SecurityEnable )
// 1393 {
// 1394   byte *buf;
// 1395   byte *pBuf;
// 1396   // Status + RoutingTableEntries + StartIndex + RoutingListCount.
// 1397   byte len = 1 + 1 + 1 + 1;
// 1398   byte x;
// 1399 
// 1400   // Add an array for Routing List data
// 1401   len += (RoutingListCount * ZDP_ROUTINGENTRY_SIZE);
// 1402 
// 1403   buf = osal_mem_alloc( (short)(len+1) );
// 1404   if ( buf == NULL )
// 1405   {
// 1406     return afStatus_MEM_FAIL;
// 1407   }
// 1408 
// 1409   pBuf = buf+1;
// 1410 
// 1411   *pBuf++ = Status;
// 1412   *pBuf++ = RoutingTableEntries;
// 1413   *pBuf++ = StartIndex;
// 1414   *pBuf++ = RoutingListCount;
// 1415 
// 1416   for ( x = 0; x < RoutingListCount; x++ )
// 1417   {
// 1418     *pBuf++ = LO_UINT16( RoutingTableList->dstAddress );  // Destination Address
// 1419     *pBuf++ = HI_UINT16( RoutingTableList->dstAddress );
// 1420     *pBuf++ = RoutingTableList->status;
// 1421     *pBuf++ = LO_UINT16( RoutingTableList->nextHopAddress );  // Next hop
// 1422     *pBuf++ = HI_UINT16( RoutingTableList->nextHopAddress );
// 1423     RoutingTableList++;    // Move to next list entry
// 1424   }
// 1425 
// 1426   FillAndSendBuffer( &TransSeq, dstAddr, Mgmt_Rtg_rsp, len, buf );
// 1427 }
// 1428 #endif // ZDO_MGMT_RTG_RESPONSE
// 1429 
// 1430 #if defined ( ZDO_MGMT_BIND_RESPONSE ) && defined ( REFLECTOR )
// 1431 /*********************************************************************
// 1432  * @fn          ZDP_MgmtBindRsp
// 1433  *
// 1434  * @brief       This builds and send a Mgmt_Bind_rsp message. This
// 1435  *              function sends a unicast message.
// 1436  *
// 1437  * @param       dstAddr - destination address of the message
// 1438  * @param       Status - message status (ZDP_SUCCESS or other)
// 1439  * @param       BindingTableEntries - Total number of entries
// 1440  * @param       StartIndex - Starting index within the reporting list
// 1441  * @param       BindingTableListCount - number of entries included
// 1442  *                                 in this message
// 1443  * @param       BindingTableList - List of Binding Table entries
// 1444  * @param       SecurityEnable - Security Options
// 1445  *
// 1446  * @return      ZStatus_t
// 1447  */
// 1448 ZStatus_t ZDP_MgmtBindRsp( byte TransSeq, zAddrType_t *dstAddr,
// 1449                             byte Status,
// 1450                             byte BindingTableEntries,
// 1451                             byte StartIndex,
// 1452                             byte BindingTableListCount,
// 1453                             apsBindingItem_t *BindingTableList,
// 1454                             byte SecurityEnable )
// 1455 {
// 1456   uint8 *buf;
// 1457   uint8 *pBuf;
// 1458   uint8 maxLen; // maxLen is the maximum packet length to allocate enough memory space
// 1459   uint8 len;    // Actual length varies due to different addrMode
// 1460   uint8 x;
// 1461   byte extZdpBindEntrySize = ZDP_BINDINGENTRY_SIZE + 1 + 1; // One more byte for cluserID and DstAddrMode
// 1462   byte shortZdpBindEntrySize = ZDP_BINDINGENTRY_SIZE + 1 + 1 + 2 - 8 - 1; // clusterID + DstAddrMode + shortAddr - ExtAddr - DstEndpoint
// 1463 
// 1464   // Status + BindingTableEntries + StartIndex + BindingTableListCount.
// 1465   maxLen = 1 + 1 + 1 + 1;
// 1466   maxLen += (BindingTableListCount * extZdpBindEntrySize );  //max length
// 1467   buf = osal_mem_alloc( maxLen + 1 );  // +1 for transaction ID
// 1468 
// 1469   if ( buf == NULL )
// 1470   {
// 1471     return afStatus_MEM_FAIL;
// 1472   }
// 1473 
// 1474   pBuf = buf+1;
// 1475 
// 1476   *pBuf++ = Status;
// 1477   *pBuf++ = BindingTableEntries;
// 1478   *pBuf++ = StartIndex;
// 1479   *pBuf++ = BindingTableListCount;
// 1480 
// 1481   // Initial length = Status + BindingTableEntries + StartIndex + BindingTableListCount.
// 1482   // length += ZDP_BINDINGENTRY_SIZE   -- Version 1.0
// 1483   //           extZdpBindEntrySize     -- Version 1.1 extended address mode
// 1484   //           shortZdpBindEntrySize   -- Version 1.1 group address mode
// 1485 
// 1486   len = 1 + 1 + 1 + 1;
// 1487   for ( x = 0; x < BindingTableListCount; x++ )
// 1488   {
// 1489     pBuf = osal_cpyExtAddr( pBuf, BindingTableList->srcAddr );
// 1490     *pBuf++ = BindingTableList->srcEP;
// 1491 
// 1492     // Cluster ID
// 1493     *pBuf++ = LO_UINT16( BindingTableList->clusterID );
// 1494     *pBuf++ = HI_UINT16( BindingTableList->clusterID );
// 1495 
// 1496     *pBuf++ = BindingTableList->dstAddr.addrMode;
// 1497     if ( BindingTableList->dstAddr.addrMode == Addr64Bit )
// 1498     {
// 1499       len += extZdpBindEntrySize;
// 1500       pBuf = osal_cpyExtAddr( pBuf, BindingTableList->dstAddr.addr.extAddr );
// 1501       *pBuf++ = BindingTableList->dstEP;
// 1502     }
// 1503     else
// 1504     {
// 1505       len += shortZdpBindEntrySize;
// 1506       *pBuf++ = LO_UINT16( BindingTableList->dstAddr.addr.shortAddr );
// 1507       *pBuf++ = HI_UINT16( BindingTableList->dstAddr.addr.shortAddr );
// 1508     }
// 1509     BindingTableList++;    // Move to next list entry
// 1510   }
// 1511 
// 1512   FillAndSendBuffer( &TransSeq, dstAddr, Mgmt_Bind_rsp, len, buf );
// 1513 }
// 1514 #endif // ZDO_MGMT_BIND_RESPONSE && REFLECTOR
// 1515 
// 1516 /*********************************************************************
// 1517  * Functions to register for ZDO Over-the-air messages
// 1518  */
// 1519 
// 1520 /*********************************************************************
// 1521  * @fn          ZDO_RegisterForZDOMsg
// 1522  *
// 1523  * @brief       Call this function to register of an incoming over
// 1524  *              the air ZDO message - probably a response message
// 1525  *              but requests can also be received.
// 1526  *              Messages are delivered to the task with ZDO_CB_MSG
// 1527  *              as the message ID.
// 1528  *
// 1529  * @param       taskID - Where you would like the message delivered
// 1530  * @param       clusterID - What message?
// 1531  *
// 1532  * @return      ZSuccess - successful, ZMemError if not
// 1533  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
// 1534 ZStatus_t ZDO_RegisterForZDOMsg( uint8 taskID, uint16 clusterID )
ZDO_RegisterForZDOMsg:
        CFI Block cfiBlock223 Using cfiCommon0
        CFI Function ZDO_RegisterForZDOMsg
// 1535 {
        FUNCALL ZDO_RegisterForZDOMsg, osal_mem_alloc
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 14, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 14, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        MOV     A,#-0xe
        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 V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 14)
        ; Saved register size: 14
        ; Auto size: 0
        MOV     ?V0 + 2,R1
        MOV     A,R2
        MOV     R6,A
        MOV     A,R3
        MOV     R7,A
// 1536   ZDO_MsgCB_t *pList;
// 1537   ZDO_MsgCB_t *pLast;
// 1538   ZDO_MsgCB_t *pNew;
// 1539 
// 1540   // Look for duplicate
// 1541   pList = zdoMsgCBs;
        MOV     DPTR,#zdoMsgCBs
        SJMP    ??ZDO_RegisterForZDOMsg_0
// 1542   while ( pList )
// 1543   {
// 1544     if ( pList->taskID == taskID && pList->clusterID == clusterID )
// 1545       return ( ZSuccess );
// 1546     pLast = pList;
??ZDO_RegisterForZDOMsg_1:
        MOV     ?V0 + 0,R0
        MOV     ?V0 + 1,R1
// 1547     pList = (ZDO_MsgCB_t *)pList->next;
        MOV     DPL,R0
        MOV     DPH,R1
??ZDO_RegisterForZDOMsg_0:
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_22:
        MOV     A,R0
        JNZ     ??ZDO_RegisterForZDOMsg_2
        MOV     A,R1
??ZDO_RegisterForZDOMsg_2:
        JZ      ??ZDO_RegisterForZDOMsg_3
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,?V0 + 2
        JNZ     ??ZDO_RegisterForZDOMsg_1
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R6
        JNZ     ??ZDO_RegisterForZDOMsg_4
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R7
??ZDO_RegisterForZDOMsg_4:
        JNZ     ??ZDO_RegisterForZDOMsg_1
??ZDO_RegisterForZDOMsg_5:
        MOV     R1,#0x0
        SJMP    ??ZDO_RegisterForZDOMsg_6
// 1548   }
// 1549 
// 1550   // Add to the list
// 1551   pNew = (ZDO_MsgCB_t *)osal_mem_alloc( sizeof ( ZDO_MsgCB_t ) );
??ZDO_RegisterForZDOMsg_3:
        ; Setup parameters for call to function osal_mem_alloc
        MOV     R2,#0x5
        MOV     R3,#0x0
        LCALL   ??osal_mem_alloc?relay
        MOV     ?V0 + 4,R2
        MOV     ?V0 + 5,R3
        MOV     R0,?V0 + 4
        MOV     R1,?V0 + 5
// 1552   if ( pNew )
        MOV     A,R0
        JNZ     ??ZDO_RegisterForZDOMsg_7
        MOV     A,R1
??ZDO_RegisterForZDOMsg_7:
        JZ      ??ZDO_RegisterForZDOMsg_8
// 1553   {
// 1554     pNew->taskID = taskID;
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        INC     DPTR
        MOV     A,?V0 + 2
        MOVX    @DPTR,A
// 1555     pNew->clusterID = clusterID;
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOV     A,R6
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R7
        MOVX    @DPTR,A
// 1556     pNew->next = NULL;
        MOV     DPL,R0
        MOV     DPH,R1
        CLR     A
        MOVX    @DPTR,A
        INC     DPTR
        MOVX    @DPTR,A
// 1557     if ( zdoMsgCBs )
        MOV     DPTR,#zdoMsgCBs
        MOVX    A,@DPTR
        JNZ     ??ZDO_RegisterForZDOMsg_9
        INC     DPTR
        MOVX    A,@DPTR
??ZDO_RegisterForZDOMsg_9:
        JZ      ??ZDO_RegisterForZDOMsg_10
// 1558     {
// 1559       pLast->next = pNew;
        MOV     DPL,?V0 + 0
        MOV     DPH,?V0 + 1
??ZDO_RegisterForZDOMsg_11:
        MOV     A,R0
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R1
        MOVX    @DPTR,A
        SJMP    ??ZDO_RegisterForZDOMsg_5
// 1560     }
// 1561     else
// 1562       zdoMsgCBs = pNew;
??ZDO_RegisterForZDOMsg_10:
        MOV     DPTR,#zdoMsgCBs
        SJMP    ??ZDO_RegisterForZDOMsg_11
// 1563     return ( ZSuccess );
// 1564   }
// 1565   else
// 1566     return ( ZMemError );
??ZDO_RegisterForZDOMsg_8:
        MOV     R1,#0x10
??ZDO_RegisterForZDOMsg_6:
        LJMP    ?Subroutine40 & 0xFFFF
        CFI EndBlock cfiBlock223
// 1567 }
// 1568 
// 1569 /*********************************************************************
// 1570  * @fn          ZDO_RemoveRegisteredCB
// 1571  *
// 1572  * @brief       Call this function if you don't want to receive the
// 1573  *              incoming message.
// 1574  *
// 1575  * @param       taskID - Where the messages are being delivered.
// 1576  * @param       clusterID - What message?
// 1577  *
// 1578  * @return      ZSuccess - successful, ZFailure if not found
// 1579  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
// 1580 ZStatus_t ZDO_RemoveRegisteredCB( uint8 taskID, uint16 clusterID )
ZDO_RemoveRegisteredCB:
        CFI Block cfiBlock224 Using cfiCommon0
        CFI Function ZDO_RemoveRegisteredCB
// 1581 {
        FUNCALL ZDO_RemoveRegisteredCB, osal_mem_free
        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
// 1582   ZDO_MsgCB_t *pList;
// 1583   ZDO_MsgCB_t *pLast = NULL;
        MOV     R4,#0x0
        MOV     R5,#0x0
// 1584 
// 1585   pList = zdoMsgCBs;
        MOV     DPTR,#zdoMsgCBs
        SJMP    ??ZDO_RemoveRegisteredCB_0
// 1586   while ( pList )
// 1587   {
// 1588     if ( pList->taskID == taskID && pList->clusterID == clusterID )
// 1589     {
// 1590       if ( pLast )
// 1591       {
// 1592         // remove this one from the linked list
// 1593         pLast->next = pList->next;
// 1594       }
// 1595       else if ( pList->next )
// 1596       {
// 1597         // remove the first one from the linked list
// 1598         zdoMsgCBs = pList->next;
// 1599       }
// 1600       else
// 1601       {
// 1602         // remove the only item from the list
// 1603         zdoMsgCBs = (ZDO_MsgCB_t *)NULL;
// 1604       }
// 1605       osal_mem_free( pList );
// 1606       return ( ZSuccess );
// 1607     }
// 1608     pLast = pList;
??ZDO_RemoveRegisteredCB_1:
        MOV     A,R0
        MOV     R4,A
        MOV     A,R1
        MOV     R5,A
// 1609     pList = pList->next;
        MOV     DPL,R0
        MOV     DPH,R1
??ZDO_RemoveRegisteredCB_0:
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_23:
        MOV     A,R0
        JNZ     ??ZDO_RemoveRegisteredCB_2
        MOV     A,R1
??ZDO_RemoveRegisteredCB_2:
        JZ      ??ZDO_RemoveRegisteredCB_3
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R6
        JNZ     ??ZDO_RemoveRegisteredCB_1
        MOV     DPL,R0
        MOV     DPH,R1
        INC     DPTR
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R2
        JNZ     ??ZDO_RemoveRegisteredCB_4
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R3
??ZDO_RemoveRegisteredCB_4:
        JNZ     ??ZDO_RemoveRegisteredCB_1
        MOV     A,R4
        JNZ     ??ZDO_RemoveRegisteredCB_5
        MOV     A,R5
??ZDO_RemoveRegisteredCB_5:
        MOV     DPL,R0
        MOV     DPH,R1
        JZ      ??ZDO_RemoveRegisteredCB_6
        LCALL   ?Subroutine15 & 0xFFFF
??CrossCallReturnLabel_51:
        MOV     DPL,R4
        MOV     DPH,R5
??ZDO_RemoveRegisteredCB_7:
        MOV     A,R2
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R3
        SJMP    ??ZDO_RemoveRegisteredCB_8
??ZDO_RemoveRegisteredCB_6:
        MOVX    A,@DPTR
        JNZ     ??ZDO_RemoveRegisteredCB_9
        INC     DPTR
        MOVX    A,@DPTR
??ZDO_RemoveRegisteredCB_9:
        JZ      ??ZDO_RemoveRegisteredCB_10
        MOV     DPL,R0
        MOV     DPH,R1
        LCALL   ?Subroutine15 & 0xFFFF
??CrossCallReturnLabel_52:
        MOV     DPTR,#zdoMsgCBs
        SJMP    ??ZDO_RemoveRegisteredCB_7
??ZDO_RemoveRegisteredCB_10:
        MOV     DPTR,#zdoMsgCBs
        CLR     A
        MOVX    @DPTR,A
        INC     DPTR
??ZDO_RemoveRegisteredCB_8:
        MOVX    @DPTR,A
        ; Setup parameters for call to function osal_mem_free
        MOV     A,R0
        MOV     R2,A
        MOV     A,R1
        MOV     R3,A
        LCALL   ??osal_mem_free?relay
        MOV     R1,#0x0
        SJMP    ??ZDO_RemoveRegisteredCB_11
// 1610   }
// 1611 
// 1612   return ( ZFailure );
??ZDO_RemoveRegisteredCB_3:
        MOV     R1,#0x1
??ZDO_RemoveRegisteredCB_11:
        MOV     R7,#0x1
        LJMP    ?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock224
// 1613 }
// 1614 
// 1615 /*********************************************************************
// 1616  * @fn          ZDO_SendMsgCBs
// 1617  *
// 1618  * @brief       This function sends messages to registered tasks.
// 1619  *              Local to ZDO and shouldn't be called outside of ZDO.
// 1620  *
// 1621  * @param       inMsg - incoming message
// 1622  *
// 1623  * @return      TRUE if sent to at least 1 task, FALSE if not
// 1624  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
// 1625 uint8 ZDO_SendMsgCBs( zdoIncomingMsg_t *inMsg )
ZDO_SendMsgCBs:
        CFI Block cfiBlock225 Using cfiCommon0
        CFI Function ZDO_SendMsgCBs
// 1626 {
        FUNCALL ZDO_SendMsgCBs, osal_msg_allocate
        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 ZDO_SendMsgCBs, 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 ZDO_SendMsgCBs, 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 ZDO_SendMsgCBs, osal_msg_send
        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
        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     ?V0 + 6,R2
        MOV     ?V0 + 7,R3
// 1627   uint8 ret = FALSE;
        MOV     ?V0 + 0,#0x0
// 1628   ZDO_MsgCB_t *pList = zdoMsgCBs;
        MOV     DPTR,#zdoMsgCBs
        LJMP    ??ZDO_SendMsgCBs_0 & 0xFFFF
// 1629   while ( pList )
// 1630   {
// 1631     if ( pList->clusterID == inMsg->clusterID )
??ZDO_SendMsgCBs_1:
        MOV     DPL,?V0 + 4
        MOV     DPH,?V0 + 5
        INC     DPTR
        INC     DPTR
        INC     DPTR
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_24:
        LCALL   ?Subroutine24 & 0xFFFF
??CrossCallReturnLabel_73:
        XRL     A,R0
        JNZ     ??ZDO_SendMsgCBs_2
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R1
??ZDO_SendMsgCBs_2:
        JZ      $+5
        LJMP    ??ZDO_SendMsgCBs_3 & 0xFFFF
// 1632     {
// 1633       zdoIncomingMsg_t *msgPtr;
// 1634 
// 1635       // Send the address to the task
// 1636       msgPtr = (zdoIncomingMsg_t *)osal_msg_allocate( sizeof( zdoIncomingMsg_t ) + inMsg->asduLen );
        ; Setup parameters for call to function osal_msg_allocate
        MOV     A,?V0 + 6
        ADD     A,#0x10
        LCALL   ??Subroutine24_0 & 0xFFFF
??CrossCallReturnLabel_74:
        MOV     R0,A
        MOV     A,#0x13
        ADD     A,R0
        MOV     R2,A
        CLR     A
        ADDC    A,#0x0
        MOV     R3,A
        LCALL   ??osal_msg_allocate?relay
        MOV     ?V0 + 2,R2
        MOV     ?V0 + 3,R3
        MOV     R6,?V0 + 2
        MOV     R7,?V0 + 3
// 1637       if ( msgPtr )
        MOV     A,R6
        JNZ     ??ZDO_SendMsgCBs_4
        MOV     A,R7
??ZDO_SendMsgCBs_4:
        JZ      ??ZDO_SendMsgCBs_3
// 1638       {
// 1639         // copy struct
// 1640         osal_memcpy( msgPtr, inMsg, sizeof( zdoIncomingMsg_t ));
        ; Setup parameters for call to function osal_memcpy
        MOV     ?V0 + 0,?V0 + 6
        MOV     ?V0 + 1,?V0 + 7
        MOV     ?V0 + 2,#0x0
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     R4,#0x13
        MOV     R5,#0x0
        LCALL   ??osal_memcpy?relay
        MOV     A,#0x3
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 16)
// 1641 
// 1642         if ( inMsg->asduLen )
        MOV     A,?V0 + 6
        ADD     A,#0x10
        LCALL   ??Subroutine24_0 & 0xFFFF
??CrossCallReturnLabel_75:
        JZ      ??ZDO_SendMsgCBs_5
// 1643         {
// 1644           msgPtr->asdu = (byte*)(((byte*)msgPtr) + sizeof( zdoIncomingMsg_t ));
        MOV     A,R6
        ADD     A,#0x13
        MOV     R2,A
        MOV     A,R7
        ADDC    A,#0x0
        MOV     R3,A
        MOV     A,R6
        ADD     A,#0x11
        MOV     DPL,A
        MOV     A,R7
        ADDC    A,#0x0
        MOV     DPH,A
        MOV     A,R2
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R3
        MOVX    @DPTR,A
// 1645           osal_memcpy( msgPtr->asdu, inMsg->asdu, inMsg->asduLen );
        ; Setup parameters for call to function osal_memcpy
        MOV     A,?V0 + 6
        ADD     A,#0x11
        MOV     DPL,A
        MOV     A,?V0 + 7
        ADDC    A,#0x0
        MOV     DPH,A
        LCALL   ?Subroutine3 & 0xFFFF
??CrossCallReturnLabel_12:
        MOV     R0,#?V0 + 0
        LCALL   ?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 19)
        MOV     A,?V0 + 6
        ADD     A,#0x10
        LCALL   ??Subroutine24_0 & 0xFFFF
??CrossCallReturnLabel_76:
        MOV     R4,A
        MOV     R5,#0x0
        LCALL   ??osal_memcpy?relay
        MOV     A,#0x3
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 16)
// 1646         }
// 1647 
// 1648         msgPtr->hdr.event = ZDO_CB_MSG;
??ZDO_SendMsgCBs_5:
        MOV     A,#-0x2d
        MOV     DPL,R6
        MOV     DPH,R7
        MOVX    @DPTR,A
// 1649         osal_msg_send( pList->taskID, (uint8 *)msgPtr );
        ; Setup parameters for call to function osal_msg_send
        MOV     A,R6
        MOV     R2,A
        MOV     A,R7
        MOV     R3,A
        MOV     DPL,?V0 + 4
        MOV     DPH,?V0 + 5
        INC     DPTR
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R1,A
        LCALL   ??osal_msg_send?relay
// 1650         ret = TRUE;
        MOV     ?V0 + 0,#0x1
// 1651       }
// 1652     }
// 1653     pList = (ZDO_MsgCB_t *)pList->next;
??ZDO_SendMsgCBs_3:
        MOV     DPL,?V0 + 4
        MOV     DPH,?V0 + 5
??ZDO_SendMsgCBs_0:
        MOVX    A,@DPTR
        MOV     ?V0 + 4,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     ?V0 + 5,A
// 1654   }
        MOV     A,?V0 + 4
        JNZ     ??ZDO_SendMsgCBs_6
        MOV     A,?V0 + 5
??ZDO_SendMsgCBs_6:
        JZ      $+5
        LJMP    ??ZDO_SendMsgCBs_1 & 0xFFFF
// 1655   return ( ret );
        MOV     R1,?V0 + 0
        LJMP    ??Subroutine41_1 & 0xFFFF
        CFI EndBlock cfiBlock225
// 1656 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine5:
        CFI Block cfiCond226 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_16
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V5 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+0
        CFI CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond227 Using cfiCommon0
        CFI (cfiCond227) NoFunction
        CFI (cfiCond227) Conditional ??CrossCallReturnLabel_17
        CFI (cfiCond227) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond227) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond227) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond227) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond227) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond227) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond227) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond227) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond227) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond227) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond227) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond227) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond227) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond227) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond227) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond227) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond227) CFA_SP SP+0
        CFI (cfiCond227) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker228 Using cfiCommon1
        CFI (cfiPicker228) NoFunction
        CFI (cfiPicker228) Picker
        MOVX    A,@DPTR
        MOV     ?V0 + 3,A
        CFI Block cfiCond229 Using cfiCommon0
        CFI (cfiCond229) NoFunction
        CFI (cfiCond229) Conditional ??CrossCallReturnLabel_19
        CFI (cfiCond229) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond229) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond229) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond229) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond229) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond229) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond229) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond229) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond229) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond229) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond229) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond229) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond229) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond229) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond229) CFA_SP SP+0
        CFI (cfiCond229) CFA_XSP16 add(XSP16, 14)
??Subroutine5_0:
        MOV     DPTR,#ZDP_TmpBuf
        CFI Block cfiCond230 Using cfiCommon0
        CFI (cfiCond230) NoFunction
        CFI (cfiCond230) Conditional ??CrossCallReturnLabel_18
        CFI (cfiCond230) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond230) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond230) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond230) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond230) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond230) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond230) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond230) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond230) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond230) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond230) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond230) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond230) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond230) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond230) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond230) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond230) CFA_SP SP+0
        CFI (cfiCond230) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond231 Using cfiCommon0
        CFI (cfiCond231) NoFunction
        CFI (cfiCond231) Conditional ??CrossCallReturnLabel_20
        CFI (cfiCond231) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond231) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond231) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond231) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond231) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond231) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond231) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond231) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond231) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond231) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond231) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond231) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond231) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond231) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond231) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond231) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond231) CFA_SP SP+0
        CFI (cfiCond231) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond232 Using cfiCommon0
        CFI (cfiCond232) NoFunction
        CFI (cfiCond232) Conditional ??CrossCallReturnLabel_21
        CFI (cfiCond232) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond232) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond232) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond232) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond232) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond232) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond232) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond232) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond232) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond232) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond232) CFA_SP SP+0
        CFI (cfiCond232) CFA_XSP16 add(XSP16, 11)
        CFI Block cfiCond233 Using cfiCommon0
        CFI (cfiCond233) NoFunction
        CFI (cfiCond233) Conditional ??CrossCallReturnLabel_22
        CFI (cfiCond233) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond233) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond233) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond233) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond233) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond233) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond233) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond233) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond233) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond233) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond233) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond233) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond233) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond233) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond233) CFA_SP SP+0
        CFI (cfiCond233) CFA_XSP16 add(XSP16, 14)
        CFI Block cfiCond234 Using cfiCommon0
        CFI (cfiCond234) NoFunction
        CFI (cfiCond234) Conditional ??CrossCallReturnLabel_23
        CFI (cfiCond234) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond234) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond234) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond234) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond234) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond234) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond234) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond234) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond234) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond234) CFA_SP SP+0
        CFI (cfiCond234) CFA_XSP16 add(XSP16, 9)
        CFI Block cfiCond235 Using cfiCommon0
        CFI (cfiCond235) NoFunction
        CFI (cfiCond235) Conditional ??CrossCallReturnLabel_24
        CFI (cfiCond235) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond235) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond235) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond235) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond235) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond235) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond235) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond235) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond235) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond235) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond235) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond235) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond235) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond235) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond235) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond235) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond235) CFA_SP SP+0
        CFI (cfiCond235) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond236 Using cfiCommon0
        CFI (cfiCond236) NoFunction
        CFI (cfiCond236) Conditional ??CrossCallReturnLabel_25
        CFI (cfiCond236) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond236) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond236) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond236) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond236) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond236) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond236) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond236) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond236) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond236) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond236) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond236) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond236) CFA_SP SP+0
        CFI (cfiCond236) CFA_XSP16 add(XSP16, 31)
        CFI Block cfiCond237 Using cfiCommon0
        CFI (cfiCond237) NoFunction
        CFI (cfiCond237) Conditional ??CrossCallReturnLabel_26
        CFI (cfiCond237) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond237) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond237) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond237) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond237) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond237) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond237) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond237) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond237) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond237) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond237) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond237) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond237) CFA_SP SP+0
        CFI (cfiCond237) CFA_XSP16 add(XSP16, 31)
??Subroutine5_1:
        MOVX    A,@DPTR
        MOV     R0,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     R1,A
        RET
        CFI EndBlock cfiCond226
        CFI EndBlock cfiCond227
        CFI EndBlock cfiPicker228
        CFI EndBlock cfiCond229
        CFI EndBlock cfiCond230
        CFI EndBlock cfiCond231
        CFI EndBlock cfiCond232
        CFI EndBlock cfiCond233
        CFI EndBlock cfiCond234
        CFI EndBlock cfiCond235
        CFI EndBlock cfiCond236
        CFI EndBlock cfiCond237
// 1657 
// 1658 /*********************************************************************
// 1659  * Incoming message processor
// 1660  */
// 1661 
// 1662 /*********************************************************************
// 1663  * @fn          ZDP_IncomingData
// 1664  *
// 1665  * @brief       This function indicates the transfer of a data PDU (ASDU)
// 1666  *              from the APS sub-layer to the ZDO.
// 1667  *
// 1668  * @param       pData - Incoming Message
// 1669  *
// 1670  * @return      none
// 1671  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
// 1672 void ZDP_IncomingData( afIncomingMSGPacket_t *pData )
ZDP_IncomingData:
        CFI Block cfiBlock238 Using cfiCommon0
        CFI Function ZDP_IncomingData
// 1673 {
        FUNCALL ZDP_IncomingData, ZDO_SendMsgCBs
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 31, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 31, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        FUNCALL ZDP_IncomingData, ZDApp_InMsgCB
        LOCFRAME ISTACK, 0, STACK
        LOCFRAME PSTACK, 0, STACK
        LOCFRAME XSTACK, 31, STACK
        LOCFRAME IOVERLAY, 0, STATIC
        LOCFRAME DOVERLAY, 0, STATIC
        ARGFRAME ISTACK, 0, STACK
        ARGFRAME PSTACK, 0, STACK
        ARGFRAME XSTACK, 31, STACK
        ARGFRAME IOVERLAY, 0, STATIC
        ARGFRAME DOVERLAY, 0, STATIC
        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: 19
        MOV     A,#-0x13
        LCALL   ?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 31)
// 1674   uint8 x = 0;
        MOV     ?V0 + 0,#0x0
// 1675   uint8 handled;
// 1676   zdoIncomingMsg_t inMsg;
// 1677 
// 1678   inMsg.srcAddr.addrMode = Addr16Bit;
        MOV     A,#0xa
        LCALL   ?XSTACK_DISP0_8
        MOV     A,#0x2
        LCALL   ?Subroutine22 & 0xFFFF
// 1679   inMsg.srcAddr.addr.shortAddr = pData->srcAddr.addr.shortAddr;
??CrossCallReturnLabel_61:
        INC     DPTR
        INC     DPTR
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_25:
        MOV     A,#0x2
        LCALL   ?XSTACK_DISP0_8
        MOV     A,R0
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R1
        MOVX    @DPTR,A
// 1680   inMsg.wasBroadcast = pData->wasBroadcast;
        MOV     A,R2
        ADD     A,#0xb
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_77:
        PUSH    A
        CFI CFA_SP SP+-1
        MOV     A,#0xb
        LCALL   ?XSTACK_DISP0_8
        POP     A
        CFI CFA_SP SP+0
        LCALL   ?Subroutine22 & 0xFFFF
// 1681   inMsg.clusterID = pData->clusterId;
??CrossCallReturnLabel_62:
        LCALL   ??Subroutine5_1 & 0xFFFF
??CrossCallReturnLabel_26:
        MOV     A,#0xc
        LCALL   ?XSTACK_DISP0_8
        MOV     A,R0
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R1
        MOVX    @DPTR,A
// 1682   inMsg.SecurityUse = pData->SecurityUse;
        MOV     A,R2
        ADD     A,#0xd
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_78:
        PUSH    A
        CFI CFA_SP SP+-1
        MOV     A,#0xe
        LCALL   ?XSTACK_DISP0_8
        POP     A
        CFI CFA_SP SP+0
        MOVX    @DPTR,A
// 1683 
// 1684   inMsg.asduLen = pData->cmd.DataLength-1;
        MOV     A,R2
        ADD     A,#0x13
        MOV     DPL,A
        MOV     A,R3
        LCALL   ??Subroutine24_1 & 0xFFFF
??CrossCallReturnLabel_79:
        DEC     A
        PUSH    A
        CFI CFA_SP SP+-1
        MOV     A,#0x10
        LCALL   ?XSTACK_DISP0_8
        POP     A
        CFI CFA_SP SP+0
        MOVX    @DPTR,A
// 1685   inMsg.asdu = pData->cmd.Data+1;
        MOV     A,R2
        ADD     A,#0x15
        MOV     R0,A
        MOV     A,R3
        ADDC    A,#0x0
        MOV     R1,A
        MOV     DPL,R0
        MOV     DPH,R1
        MOVX    A,@DPTR
        ADD     A,#0x1
        MOV     R2,A
        INC     DPTR
        MOVX    A,@DPTR
        ADDC    A,#0x0
        MOV     R3,A
        MOV     A,#0x11
        LCALL   ?XSTACK_DISP0_8
        MOV     A,R2
        MOVX    @DPTR,A
        INC     DPTR
        MOV     A,R3
        MOVX    @DPTR,A
// 1686   inMsg.TransSeq = pData->cmd.Data[0];
        MOV     DPL,R0
        MOV     DPH,R1
        LCALL   ?Subroutine34 & 0xFFFF
??CrossCallReturnLabel_95:
        MOVX    A,@DPTR
        PUSH    A
        CFI CFA_SP SP+-1
        MOV     A,#0xf
        LCALL   ?XSTACK_DISP0_8
        POP     A
        CFI CFA_SP SP+0
        MOVX    @DPTR,A
// 1687 
// 1688   handled = ZDO_SendMsgCBs( &inMsg );
        ; Setup parameters for call to function ZDO_SendMsgCBs
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOV     R2,DPL
        MOV     R3,DPH
        LCALL   ??ZDO_SendMsgCBs?relay
        MOV     A,R1
        MOV     R2,A
        SJMP    ??ZDP_IncomingData_0
// 1689 
// 1690 #if defined( MT_ZDO_FUNC )
// 1691   MT_ZdoRsp( &inMsg );
// 1692 #endif
// 1693 
// 1694   while ( zdpMsgProcs[x].clusterID != 0xFFFF )
// 1695   {
// 1696     if ( zdpMsgProcs[x].clusterID == inMsg.clusterID )
// 1697     {
// 1698       zdpMsgProcs[x].pFn( &inMsg );
// 1699       return;
// 1700     }
// 1701     x++;
??ZDP_IncomingData_1:
        INC     ?V0 + 0
??ZDP_IncomingData_0:
        MOV     ?V0 + 2,?V0 + 0
        MOV     ?V0 + 3,#0x0
        MOV     A,#0x2
        MOV     R0,#?V0 + 2
        LCALL   ?S_SHL
        MOV     A,?V0 + 2
        ADD     A,#(zdpMsgProcs & 0xff)
        MOV     DPL,A
        MOV     A,?V0 + 3
        ADDC    A,#((zdpMsgProcs >> 8) & 0xff)
        MOV     DPH,A
        CLR     A
        MOVC    A,@A+DPTR
        MOV     R0,A
        MOV     A,#0x1
        MOVC    A,@A+DPTR
        MOV     R1,A
        MOV     A,#-0x1
        XRL     A,R0
        JNZ     ??ZDP_IncomingData_2
        MOV     A,#-0x1
        XRL     A,R1
??ZDP_IncomingData_2:
        JZ      ??ZDP_IncomingData_3
        CLR     A
        MOVC    A,@A+DPTR
        MOV     R0,A
        MOV     A,#0x1
        MOVC    A,@A+DPTR
        MOV     R1,A
        MOV     A,#0xc
        LCALL   ?XSTACK_DISP0_8
        MOVX    A,@DPTR
        XRL     A,R0
        JNZ     ??ZDP_IncomingData_4
        INC     DPTR
        MOVX    A,@DPTR
        XRL     A,R1
??ZDP_IncomingData_4:
        JNZ     ??ZDP_IncomingData_1
        ; Setup parameters for indirect call
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOV     R2,DPL
        MOV     R3,DPH
        MOV     ?V0 + 1,#0x0
        MOV     A,#0x2
        MOV     R0,#?V0 + 0
        LCALL   ?S_SHL
        MOV     A,?V0 + 0
        ADD     A,#((zdpMsgProcs + 2) & 0xff)
        MOV     DPL,A
        MOV     A,?V0 + 1
        ADDC    A,#(((zdpMsgProcs + 2) >> 8) & 0xff)
        MOV     DPH,A
        CLR     A
        MOVC    A,@A+DPTR
        PUSH    A
        MOV     A,#0x1
        MOVC    A,@A+DPTR
        MOV     DPH,A
        POP     DPL
        LCALL   ?CALL_IND
        SJMP    ??ZDP_IncomingData_5
// 1702   }
// 1703 
// 1704   // Handle unhandled messages
// 1705   if ( !handled )
??ZDP_IncomingData_3:
        MOV     A,R2
        JNZ     ??ZDP_IncomingData_5
// 1706     ZDApp_InMsgCB( &inMsg );
        ; Setup parameters for call to function ZDApp_InMsgCB
        MOV     DPL,?XSP + 0
        MOV     DPH,?XSP + 1
        MOV     R2,DPL
        MOV     R3,DPH
        LCALL   ??ZDApp_InMsgCB?relay
??ZDP_IncomingData_5:
        MOV     A,#0x13
        LCALL   ?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 12)
        MOV     R7,#0x4
        LJMP    ?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock238
// 1707 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine34:
        CFI Block cfiCond239 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_96, ??CrossCallReturnLabel_53
        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+0
        CFI CFA_XSP16 add(XSP16, 11)
        CFI Block cfiCond240 Using cfiCommon0
        CFI (cfiCond240) NoFunction
        CFI (cfiCond240) Conditional ??CrossCallReturnLabel_96, ??CrossCallReturnLabel_54
        CFI (cfiCond240) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond240) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond240) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond240) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond240) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond240) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond240) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond240) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond240) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond240) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond240) CFA_SP SP+0
        CFI (cfiCond240) CFA_XSP16 add(XSP16, 11)
        CFI Block cfiCond241 Using cfiCommon0
        CFI (cfiCond241) NoFunction
        CFI (cfiCond241) Conditional ??CrossCallReturnLabel_95
        CFI (cfiCond241) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond241) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond241) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond241) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond241) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond241) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond241) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond241) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond241) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond241) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond241) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond241) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond241) CFA_SP SP+0
        CFI (cfiCond241) CFA_XSP16 add(XSP16, 31)
        CFI Block cfiPicker242 Using cfiCommon1
        CFI (cfiPicker242) NoFunction
        CFI (cfiPicker242) Picker
        MOVX    A,@DPTR
        MOV     R0,A
        INC     DPTR
        MOVX    A,@DPTR
        MOV     DPH,A
        MOV     DPL,R0
        RET
        CFI EndBlock cfiCond239
        CFI EndBlock cfiCond240
        CFI EndBlock cfiCond241
        CFI EndBlock cfiPicker242

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine24:
        CFI Block cfiCond243 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_69
        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+0
        CFI CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond244 Using cfiCommon0
        CFI (cfiCond244) NoFunction
        CFI (cfiCond244) Conditional ??CrossCallReturnLabel_70
        CFI (cfiCond244) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond244) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond244) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond244) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond244) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond244) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond244) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond244) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond244) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond244) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond244) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond244) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond244) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond244) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond244) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond244) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond244) CFA_SP SP+0
        CFI (cfiCond244) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond245 Using cfiCommon0
        CFI (cfiCond245) NoFunction
        CFI (cfiCond245) Conditional ??CrossCallReturnLabel_72
        CFI (cfiCond245) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond245) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond245) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond245) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond245) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond245) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond245) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond245) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond245) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond245) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond245) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond245) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond245) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond245) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond245) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond245) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond245) CFA_SP SP+0
        CFI (cfiCond245) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond246 Using cfiCommon0
        CFI (cfiCond246) NoFunction
        CFI (cfiCond246) Conditional ??CrossCallReturnLabel_73
        CFI (cfiCond246) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond246) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond246) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond246) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond246) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond246) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond246) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond246) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond246) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond246) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond246) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond246) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond246) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond246) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond246) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond246) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond246) CFA_SP SP+0
        CFI (cfiCond246) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker247 Using cfiCommon1
        CFI (cfiPicker247) NoFunction
        CFI (cfiPicker247) Picker
        MOV     A,?V0 + 6
        ADD     A,#0xc
        CFI Block cfiCond248 Using cfiCommon0
        CFI (cfiCond248) NoFunction
        CFI (cfiCond248) Conditional ??CrossCallReturnLabel_71
        CFI (cfiCond248) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond248) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond248) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond248) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond248) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond248) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond248) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond248) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond248) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond248) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond248) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond248) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond248) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond248) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond248) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond248) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond248) CFA_SP SP+0
        CFI (cfiCond248) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond249 Using cfiCommon0
        CFI (cfiCond249) NoFunction
        CFI (cfiCond249) Conditional ??CrossCallReturnLabel_74
        CFI (cfiCond249) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond249) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond249) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond249) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond249) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond249) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond249) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond249) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond249) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond249) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond249) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond249) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond249) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond249) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond249) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond249) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond249) CFA_SP SP+0
        CFI (cfiCond249) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond250 Using cfiCommon0
        CFI (cfiCond250) NoFunction
        CFI (cfiCond250) Conditional ??CrossCallReturnLabel_75
        CFI (cfiCond250) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond250) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond250) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond250) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond250) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond250) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond250) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond250) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond250) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond250) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond250) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond250) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond250) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond250) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond250) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond250) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond250) CFA_SP SP+0
        CFI (cfiCond250) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond251 Using cfiCommon0
        CFI (cfiCond251) NoFunction
        CFI (cfiCond251) Conditional ??CrossCallReturnLabel_76
        CFI (cfiCond251) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond251) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond251) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond251) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond251) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond251) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond251) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond251) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond251) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond251) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond251) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond251) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond251) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond251) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond251) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond251) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond251) CFA_SP SP+0
        CFI (cfiCond251) CFA_XSP16 add(XSP16, 19)
??Subroutine24_0:
        MOV     DPL,A
        MOV     A,?V0 + 7
        CFI Block cfiCond252 Using cfiCommon0
        CFI (cfiCond252) NoFunction
        CFI (cfiCond252) Conditional ??CrossCallReturnLabel_65
        CFI (cfiCond252) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond252) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond252) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond252) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond252) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond252) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond252) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond252) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond252) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond252) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond252) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond252) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond252) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond252) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond252) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond252) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond252) CFA_SP SP+0
        CFI (cfiCond252) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond253 Using cfiCommon0
        CFI (cfiCond253) NoFunction
        CFI (cfiCond253) Conditional ??CrossCallReturnLabel_66
        CFI (cfiCond253) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond253) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond253) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond253) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond253) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond253) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond253) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond253) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond253) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond253) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond253) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond253) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond253) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond253) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond253) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond253) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond253) CFA_SP SP+0
        CFI (cfiCond253) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond254 Using cfiCommon0
        CFI (cfiCond254) NoFunction
        CFI (cfiCond254) Conditional ??CrossCallReturnLabel_67
        CFI (cfiCond254) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond254) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond254) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond254) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond254) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond254) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond254) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond254) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond254) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond254) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond254) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond254) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond254) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond254) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond254) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond254) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond254) CFA_SP SP+0
        CFI (cfiCond254) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond255 Using cfiCommon0
        CFI (cfiCond255) NoFunction
        CFI (cfiCond255) Conditional ??CrossCallReturnLabel_68
        CFI (cfiCond255) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond255) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond255) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond255) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond255) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond255) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond255) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond255) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond255) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond255) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond255) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond255) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond255) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond255) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond255) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond255) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond255) CFA_SP SP+0
        CFI (cfiCond255) CFA_XSP16 add(XSP16, 17)
        CFI Block cfiCond256 Using cfiCommon0
        CFI (cfiCond256) NoFunction
        CFI (cfiCond256) Conditional ??CrossCallReturnLabel_77
        CFI (cfiCond256) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond256) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond256) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond256) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond256) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond256) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond256) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond256) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond256) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond256) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond256) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond256) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond256) CFA_SP SP+0
        CFI (cfiCond256) CFA_XSP16 add(XSP16, 31)
        CFI Block cfiCond257 Using cfiCommon0
        CFI (cfiCond257) NoFunction
        CFI (cfiCond257) Conditional ??CrossCallReturnLabel_78
        CFI (cfiCond257) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond257) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond257) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond257) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond257) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond257) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond257) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond257) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond257) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond257) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond257) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond257) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond257) CFA_SP SP+0
        CFI (cfiCond257) CFA_XSP16 add(XSP16, 31)
        CFI Block cfiCond258 Using cfiCommon0
        CFI (cfiCond258) NoFunction
        CFI (cfiCond258) Conditional ??CrossCallReturnLabel_79
        CFI (cfiCond258) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond258) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond258) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond258) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond258) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond258) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond258) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond258) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond258) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond258) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond258) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond258) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond258) CFA_SP SP+0
        CFI (cfiCond258) CFA_XSP16 add(XSP16, 31)
??Subroutine24_1:
        ADDC    A,#0x0
        MOV     DPH,A
        MOVX    A,@DPTR
        RET
        CFI EndBlock cfiCond243
        CFI EndBlock cfiCond244
        CFI EndBlock cfiCond245
        CFI EndBlock cfiCond246
        CFI EndBlock cfiPicker247
        CFI EndBlock cfiCond248
        CFI EndBlock cfiCond249
        CFI EndBlock cfiCond250
        CFI EndBlock cfiCond251
        CFI EndBlock cfiCond252
        CFI EndBlock cfiCond253
        CFI EndBlock cfiCond254
        CFI EndBlock cfiCond255
        CFI EndBlock cfiCond256
        CFI EndBlock cfiCond257
        CFI EndBlock cfiCond258

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine22:
        CFI Block cfiCond259 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_61
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V3 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+0
        CFI CFA_XSP16 add(XSP16, 31)
        CFI Block cfiCond260 Using cfiCommon0
        CFI (cfiCond260) NoFunction
        CFI (cfiCond260) Conditional ??CrossCallReturnLabel_62
        CFI (cfiCond260) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond260) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond260) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond260) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond260) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond260) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond260) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond260) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond260) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond260) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond260) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond260) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond260) CFA_SP SP+0
        CFI (cfiCond260) CFA_XSP16 add(XSP16, 31)
        CFI Block cfiPicker261 Using cfiCommon1
        CFI (cfiPicker261) NoFunction
        CFI (cfiPicker261) Picker
        MOVX    @DPTR,A
        MOV     DPL,R2
        MOV     DPH,R3
        INC     DPTR
        INC     DPTR
        INC     DPTR
        INC     DPTR
        RET
        CFI EndBlock cfiCond259
        CFI EndBlock cfiCond260
        CFI EndBlock cfiPicker261

        RSEG XDATA_ID:CODE:NOROOT(0)
        DATA
`?<Initializer for ZDP_TmpBuf>`:
        DW ZDP_Buf + 1H

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??fillAndSend?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    fillAndSend

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_SendData?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_SendData

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_MatchDescReq?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_MatchDescReq

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??zdpProcessAddrReq?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    zdpProcessAddrReq

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_NodeDescMsg?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_NodeDescMsg

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_PowerDescMsg?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_PowerDescMsg

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_SimpleDescMsg?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_SimpleDescMsg

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_EPRsp?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_EPRsp

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_GenericRsp?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_GenericRsp

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_EndDeviceBindReq?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_EndDeviceBindReq

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDO_RegisterForZDOMsg?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDO_RegisterForZDOMsg

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDO_RemoveRegisteredCB?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDO_RemoveRegisteredCB

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDO_SendMsgCBs?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDO_SendMsgCBs

        RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
??ZDP_IncomingData?relay:
        LCALL   ?BDISPATCH
        DATA
        DC24    ZDP_IncomingData

        END
// 1708 
// 1709 /*********************************************************************
// 1710 *********************************************************************/
// 1711 
// 
// 3 159 bytes in segment BANKED_CODE
//    84 bytes in segment BANK_RELAYS
//    33 bytes in segment CODE_C
//     2 bytes in segment XDATA_I
//     2 bytes in segment XDATA_ID
//    84 bytes in segment XDATA_Z
// 
// 3 278 bytes of CODE  memory
//    86 bytes of XDATA memory
//
//Errors: none
//Warnings: none
