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

📄 zdobject.lst

📁 CC2430上开关控制灯和温度传感器采集两个例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \                                 In segment BANKED_CODE, align 1, keep-with-next
    478          static byte ZDO_CompareClusterLists( byte numList1, uint16 *list1,
   \                     ??ZDO_CompareClusterLists:
    479                                    byte numList2, uint16 *list2, uint16 *pMatches )
    480          {
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 0
   \   000005   89..         MOV     ?V0 + 2,R1
   \   000007   8A..         MOV     ?V0 + 6,R2
   \   000009   8B..         MOV     ?V0 + 7,R3
   \   00000B   7410         MOV     A,#0x10
   \   00000D   12....       LCALL   ?XSTACK_DISP0_8
   \   000010   12....       LCALL   ??Subroutine54_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_162:
   \   000013   7412         MOV     A,#0x12
   \   000015   12....       LCALL   ?XSTACK_DISP0_8
   \   000018   12....       LCALL   ?Subroutine56 & 0xFFFF
    481            byte x, y;
    482            uint16 z;
    483            byte numMatches = 0;
   \                     ??CrossCallReturnLabel_178:
   \   00001B   7D00         MOV     R5,#0x0
    484          
    485            // Check the first in against the seconds out
    486            for ( x = 0; x < numList1; x++ )
   \   00001D   8D..         MOV     ?V0 + 3,R5
   \   00001F   804E         SJMP    ??ZDO_CompareClusterLists_1
    487            {
    488              for ( y = 0; y < numList2; y++ )
    489              {
    490                z = list2[y];
   \                     ??ZDO_CompareClusterLists_2:
   \   000021   E5..         MOV     A,?V0 + 4
   \   000023   C3           CLR     C
   \   000024   33           RLC     A
   \   000025   F8           MOV     R0,A
   \   000026   E4           CLR     A
   \   000027   33           RLC     A
   \   000028   F9           MOV     R1,A
   \   000029   EA           MOV     A,R2
   \   00002A   28           ADD     A,R0
   \   00002B   F582         MOV     DPL,A
   \   00002D   EB           MOV     A,R3
   \   00002E   12....       LCALL   ?Subroutine72 & 0xFFFF
    491                if ( list1[x] == z )
   \                     ??CrossCallReturnLabel_227:
   \   000031   E5..         MOV     A,?V0 + 3
   \   000033   C3           CLR     C
   \   000034   33           RLC     A
   \   000035   F8           MOV     R0,A
   \   000036   E4           CLR     A
   \   000037   33           RLC     A
   \   000038   F9           MOV     R1,A
   \   000039   E5..         MOV     A,?V0 + 6
   \   00003B   28           ADD     A,R0
   \   00003C   F582         MOV     DPL,A
   \   00003E   E5..         MOV     A,?V0 + 7
   \   000040   39           ADDC    A,R1
   \   000041   F583         MOV     DPH,A
   \   000043   E0           MOVX    A,@DPTR
   \   000044   65..         XRL     A,?V0 + 0
   \   000046   7004         JNZ     ??ZDO_CompareClusterLists_3
   \   000048   A3           INC     DPTR
   \   000049   E0           MOVX    A,@DPTR
   \   00004A   65..         XRL     A,?V0 + 1
   \                     ??ZDO_CompareClusterLists_3:
   \   00004C   7017         JNZ     ??ZDO_CompareClusterLists_4
    492                  pMatches[numMatches++] = z;
   \   00004E   ED           MOV     A,R5
   \   00004F   C3           CLR     C
   \   000050   33           RLC     A
   \   000051   F8           MOV     R0,A
   \   000052   E4           CLR     A
   \   000053   33           RLC     A
   \   000054   F9           MOV     R1,A
   \   000055   EE           MOV     A,R6
   \   000056   28           ADD     A,R0
   \   000057   F582         MOV     DPL,A
   \   000059   EF           MOV     A,R7
   \   00005A   39           ADDC    A,R1
   \   00005B   F583         MOV     DPH,A
   \   00005D   E5..         MOV     A,?V0 + 0
   \   00005F   F0           MOVX    @DPTR,A
   \   000060   A3           INC     DPTR
   \   000061   E5..         MOV     A,?V0 + 1
   \   000063   F0           MOVX    @DPTR,A
   \   000064   0D           INC     R5
    493              }
   \                     ??ZDO_CompareClusterLists_4:
   \   000065   05..         INC     ?V0 + 4
   \                     ??ZDO_CompareClusterLists_5:
   \   000067   E5..         MOV     A,?V0 + 4
   \   000069   C3           CLR     C
   \   00006A   9C           SUBB    A,R4
   \   00006B   40B4         JC      ??ZDO_CompareClusterLists_2
   \   00006D   05..         INC     ?V0 + 3
   \                     ??ZDO_CompareClusterLists_1:
   \   00006F   E5..         MOV     A,?V0 + 3
   \   000071   C3           CLR     C
   \   000072   95..         SUBB    A,?V0 + 2
   \   000074   5005         JNC     ??ZDO_CompareClusterLists_6
   \   000076   75..00       MOV     ?V0 + 4,#0x0
   \   000079   80EC         SJMP    ??ZDO_CompareClusterLists_5
    494            }
    495          
    496            return ( numMatches );
   \                     ??ZDO_CompareClusterLists_6:
   \   00007B   ED           MOV     A,R5
   \   00007C   F9           MOV     R1,A
   \   00007D   02....       LJMP    ??Subroutine103_1 & 0xFFFF
    497          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine72:
   \   000000   39           ADDC    A,R1
   \                     ??Subroutine72_0:
   \   000001   F583         MOV     DPH,A
   \                     ??Subroutine72_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
   \                     ?Subroutine103:
   \   000000   7415         MOV     A,#0x15
   \                     ??Subroutine103_0:
   \   000002   12....       LCALL   ?DEALLOC_XSTACK8
   \                     ??Subroutine103_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   ?Subroutine94 & 0xFFFF
   \                     ??CrossCallReturnLabel_295:
   \   00001C   12....       LCALL   ??Subroutine54_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_163:
   \   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   ?Subroutine70 & 0xFFFF
    526              addrEntry.nwkAddr = bindReq->srcAddr;
   \                     ??CrossCallReturnLabel_221:
   \   000044   A3           INC     DPTR
   \   000045   12....       LCALL   ?Subroutine58 & 0xFFFF
   \                     ??CrossCallReturnLabel_180:
   \   000048   740C         MOV     A,#0xc
   \   00004A   12....       LCALL   ?XSTACK_DISP0_8
   \   00004D   12....       LCALL   ??Subroutine12_0 & 0xFFFF
    527              Status = AddrMgrEntryLookupNwk( &addrEntry );
    528              if ( Status == TRUE)
   \                     ??CrossCallReturnLabel_35:
   \   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          

⌨️ 快捷键说明

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