⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zdobject.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00007B   ED           MOV     A,R5
   \   00007C   F9           MOV     R1,A
   \   00007D   02....       LJMP    ??Subroutine96_1 & 0xFFFF
    497          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine71:
   \   000000   39           ADDC    A,R1
   \                     ??Subroutine71_0:
   \   000001   F583         MOV     DPH,A
   \                     ??Subroutine71_1:
   \   000003   E0           MOVX    A,@DPTR
   \   000004   F5..         MOV     ?V0 + 0,A
   \   000006   A3           INC     DPTR
   \   000007   E0           MOVX    A,@DPTR
   \   000008   F5..         MOV     ?V0 + 1,A
   \   00000A   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine96:
   \   000000   7415         MOV     A,#0x15
   \                     ??Subroutine96_0:
   \   000002   12....       LCALL   ?DEALLOC_XSTACK8
   \                     ??Subroutine96_1:
   \   000005   7F08         MOV     R7,#0x8
   \   000007   02....       LJMP    ?BANKED_LEAVE_XDATA
    498          #endif // REFLECTOR || ZDO_COORDINATOR
    499          
    500          #if defined ( REFLECTOR )
    501          /*********************************************************************
    502           * @fn          ZDO_DoEndDeviceBind
    503           *
    504           * @brief       Process the End Device Bind Req from ZDApp
    505           *
    506           * @param  bindReq  - Bind Request Information
    507           * @param  SecurityUse - Security enable/disable
    508           *
    509           * @return      none
    510           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    511          void ZDO_DoEndDeviceBind( ZDEndDeviceBind_t *bindReq )
   \                     ZDO_DoEndDeviceBind:
    512          {
   \   000000   74F4         MOV     A,#-0xc
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 12
   \   000005                ; Auto size: 24
   \   000005   74E8         MOV     A,#-0x18
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   EA           MOV     A,R2
   \   00000B   FE           MOV     R6,A
   \   00000C   EB           MOV     A,R3
   \   00000D   FF           MOV     R7,A
    513            uint8 numMatches;
    514            uint8 Status;
    515            BindingEntry_t *pBind;
    516            AddrMgrEntry_t addrEntry;
    517            zAddrType_t SrcAddr;
    518          
    519            SrcAddr.addrMode = Addr16Bit;
   \   00000E   740A         MOV     A,#0xa
   \   000010   12....       LCALL   ?XSTACK_DISP0_8
   \   000013   7402         MOV     A,#0x2
   \   000015   F0           MOVX    @DPTR,A
    520            SrcAddr.addr.shortAddr = bindReq->srcAddr;
   \   000016   EE           MOV     A,R6
   \   000017   2402         ADD     A,#0x2
   \   000019   12....       LCALL   ?Subroutine93 & 0xFFFF
   \                     ??CrossCallReturnLabel_294:
   \   00001C   12....       LCALL   ??Subroutine53_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_162:
   \   00001F   7402         MOV     A,#0x2
   \   000021   12....       LCALL   ?XSTACK_DISP0_8
   \   000024   12....       LCALL   ??Subroutine0_0 & 0xFFFF
    521          
    522            // Ask for IEEE address
    523            if ( (bindReq->srcAddr != ZDAppNwkAddr.addr.shortAddr) )
   \                     ??CrossCallReturnLabel_4:
   \   000027   F8           MOV     R0,A
   \   000028   A3           INC     DPTR
   \   000029   E0           MOVX    A,@DPTR
   \   00002A   F9           MOV     R1,A
   \   00002B   90....       MOV     DPTR,#ZDAppNwkAddr
   \   00002E   E0           MOVX    A,@DPTR
   \   00002F   68           XRL     A,R0
   \   000030   7003         JNZ     ??ZDO_DoEndDeviceBind_0
   \   000032   A3           INC     DPTR
   \   000033   E0           MOVX    A,@DPTR
   \   000034   69           XRL     A,R1
   \                     ??ZDO_DoEndDeviceBind_0:
   \   000035   7003         JNZ     $+5
   \   000037   02....       LJMP    ??ZDO_DoEndDeviceBind_1 & 0xFFFF
    524            {
    525              addrEntry.user = ADDRMGR_USER_BINDING;
   \   00003A   740B         MOV     A,#0xb
   \   00003C   12....       LCALL   ?XSTACK_DISP0_8
   \   00003F   7404         MOV     A,#0x4
   \   000041   12....       LCALL   ?Subroutine69 & 0xFFFF
    526              addrEntry.nwkAddr = bindReq->srcAddr;
   \                     ??CrossCallReturnLabel_221:
   \   000044   A3           INC     DPTR
   \   000045   12....       LCALL   ?Subroutine57 & 0xFFFF
   \                     ??CrossCallReturnLabel_179:
   \   000048   740C         MOV     A,#0xc
   \   00004A   12....       LCALL   ?XSTACK_DISP0_8
   \   00004D   12....       LCALL   ??Subroutine11_0 & 0xFFFF
    527              Status = AddrMgrEntryLookupNwk( &addrEntry );
    528              if ( Status == TRUE)
   \                     ??CrossCallReturnLabel_33:
   \   000050                ; Setup parameters for call to function AddrMgrEntryLookupNwk
   \   000050   740B         MOV     A,#0xb
   \   000052   12....       LCALL   ?XSTACK_DISP0_8
   \   000055   AA82         MOV     R2,DPL
   \   000057   AB83         MOV     R3,DPH
   \   000059   90....       MOV     DPTR,#(AddrMgrEntryLookupNwk & 0xffff)
   \   00005C   74..         MOV     A,#((AddrMgrEntryLookupNwk >> 16) & 0xff)
   \   00005E   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000061   E9           MOV     A,R1
   \   000062   6401         XRL     A,#0x1
   \   000064   7010         JNZ     ??ZDO_DoEndDeviceBind_2
    529              {
    530                // Add a reference to entry
    531                AddrMgrEntryAddRef( &addrEntry );
   \   000066                ; Setup parameters for call to function AddrMgrEntryAddRef
   \   000066   740B         MOV     A,#0xb
   \   000068   12....       LCALL   ?XSTACK_DISP0_8
   \   00006B   AA82         MOV     R2,DPL
   \   00006D   AB83         MOV     R3,DPH
   \   00006F   90....       MOV     DPTR,#(AddrMgrEntryAddRef & 0xffff)
   \   000072   74..         MOV     A,#((AddrMgrEntryAddRef >> 16) & 0xff)
   \   000074   8034         SJMP    ??ZDO_DoEndDeviceBind_3
    532              }
    533              else
    534              {
    535                // If we have the extended address
    536                if ( NLME_GetProtocolVersion() != ZB_PROT_V1_0 )
   \                     ??ZDO_DoEndDeviceBind_2:
   \   000076                ; Setup parameters for call to function NLME_GetProtocolVersion
   \   000076   90....       MOV     DPTR,#(NLME_GetProtocolVersion & 0xffff)
   \   000079   74..         MOV     A,#((NLME_GetProtocolVersion >> 16) & 0xff)
   \   00007B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00007E   E9           MOV     A,R1
   \   00007F   6401         XRL     A,#0x1
   \   000081   6019         JZ      ??ZDO_DoEndDeviceBind_4
    537                {
    538                  osal_cpyExtAddr( addrEntry.extAddr, bindReq->ieeeAddr );
   \   000083                ; Setup parameters for call to function osal_cpyExtAddr
   \   000083   EE           MOV     A,R6
   \   000084   2406         ADD     A,#0x6
   \   000086   FC           MOV     R4,A
   \   000087   EF           MOV     A,R7
   \   000088   3400         ADDC    A,#0x0
   \   00008A   FD           MOV     R5,A
   \   00008B   740E         MOV     A,#0xe
   \   00008D   12....       LCALL   ?XSTACK_DISP0_8
   \   000090   AA82         MOV     R2,DPL
   \   000092   AB83         MOV     R3,DPH
   \   000094   90....       MOV     DPTR,#(osal_cpyExtAddr & 0xffff)
   \   000097   74..         MOV     A,#((osal_cpyExtAddr >> 16) & 0xff)
   \   000099   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    539                }
    540          
    541                // Not in address manager?
    542                AddrMgrEntryUpdate( &addrEntry );   // Add it
   \                     ??ZDO_DoEndDeviceBind_4:
   \   00009C                ; Setup parameters for call to function AddrMgrEntryUpdate
   \   00009C   740B         MOV     A,#0xb
   \   00009E   12....       LCALL   ?XSTACK_DISP0_8
   \   0000A1   AA82         MOV     R2,DPL
   \   0000A3   AB83         MOV     R3,DPH
   \   0000A5   90....       MOV     DPTR,#(AddrMgrEntryUpdate & 0xffff)
   \   0000A8   74..         MOV     A,#((AddrMgrEntryUpdate >> 16) & 0xff)
   \                     ??ZDO_DoEndDeviceBind_3:
   \   0000AA   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    543              }
    544          
    545              if ( AddrMgrExtAddrValid( addrEntry.extAddr ) == FALSE )
   \   0000AD                ; Setup parameters for call to function AddrMgrExtAddrValid
   \   0000AD   740E         MOV     A,#0xe
   \   0000AF   12....       LCALL   ?XSTACK_DISP0_8
   \   0000B2   AA82         MOV     R2,DPL
   \   0000B4   AB83         MOV     R3,DPH
   \   0000B6   90....       MOV     DPTR,#(AddrMgrExtAddrValid & 0xffff)
   \   0000B9   74..         MOV     A,#((AddrMgrExtAddrValid >> 16) & 0xff)
   \   0000BB   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000BE   E9           MOV     A,R1
   \   0000BF   7017         JNZ     ??ZDO_DoEndDeviceBind_1
    546              {
    547                ZDP_IEEEAddrReq( bindReq->srcAddr, ZDP_ADDR_REQTYPE_SINGLE, 0, false );
   \   0000C1                ; Setup parameters for call to function ZDP_IEEEAddrReq
   \   0000C1   7D00         MOV     R5,#0x0
   \   0000C3   7C00         MOV     R4,#0x0
   \   0000C5   7900         MOV     R1,#0x0
   \   0000C7   8E82         MOV     DPL,R6
   \   0000C9   8F83         MOV     DPH,R7
   \   0000CB   A3           INC     DPTR
   \   0000CC   A3           INC     DPTR
   \   0000CD   12....       LCALL   ??Subroutine53_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_163:
   \   0000D0   90....       MOV     DPTR,#(ZDP_IEEEAddrReq & 0xffff)
   \   0000D3   74..         MOV     A,#((ZDP_IEEEAddrReq >> 16) & 0xff)
   \   0000D5   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    548              }
    549            }
    550          
    551            if ( ZDO_EDBind )   // End Device Bind in progress
   \                     ??ZDO_DoEndDeviceBind_1:
   \   0000D8   90....       MOV     DPTR,#??ZDO_EDBind
   \   0000DB   E0           MOVX    A,@DPTR
   \   0000DC   7002         JNZ     ??ZDO_DoEndDeviceBind_5
   \   0000DE   A3           INC     DPTR
   \   0000DF   E0           MOVX    A,@DPTR
   \                     ??ZDO_DoEndDeviceBind_5:
   \   0000E0   7003         JNZ     $+5
   \   0000E2   02....       LJMP    ??ZDO_DoEndDeviceBind_6 & 0xFFFF
    552            {
    553              Status = ZDP_NO_MATCH;
   \   0000E5   75..86       MOV     ?V0 + 3,#-0x7a
    554          
    555              if ( bindReq->profileID == ZDO_EDBind->ProfileID )
   \   0000E8   EE           MOV     A,R6
   \   0000E9   240F         ADD     A,#0xf
   \   0000EB   12....       LCALL   ??Subroutine87_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_268:
   \   0000EE   12....       LCALL   ?Subroutine56 & 0xFFFF
   \                     ??CrossCallReturnLabel_326:
   \   0000F1   240D         ADD     A,#0xd
   \   0000F3   12....       LCALL   ?Subroutine42 & 0xFFFF
   \                     ??CrossCallReturnLabel_138:
   \   0000F6   E0           MOVX    A,@DPTR
   \   0000F7   68           XRL     A,R0
   \   0000F8   7003         JNZ     ??ZDO_DoEndDeviceBind_7
   \   0000FA   A3           INC     DPTR
   \   0000FB   E0           MOVX    A,@DPTR
   \   0000FC   69           XRL     A,R1
   \                     ??ZDO_DoEndDeviceBind_7:
   \   0000FD   6003         JZ      $+5
   \   0000FF   02....       LJMP    ??ZDO_DoEndDeviceBind_8 & 0xFFFF
    556              {
    557                // Check the first in against the seconds out
    558                numMatches = ZDO_CompareClusterLists(
    559                            ZDO_EDBind->numOutClusters, ZDO_EDBind->outClusters,
    560                            bindReq->numInClusters, bindReq->inClusters, ZDOBuildBuf );
   \   000102                ; Setup parameters for call to function ZDO_CompareClusterLists
   \   000102   75....       MOV     ?V0 + 0,#(??ZDOBuildBuf & 0xff)
   \   000105   75....       MOV     ?V0 + 1,#((??ZDOBuildBuf >> 8) & 0xff)
   \   000108   78..         MOV     R0,#?V0 + 0
   \   00010A   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00010D   EE     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -