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

📄 zmac.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000010   85..82       MOV     DPL,?XSP + 0
   \   000013   85..83       MOV     DPH,?XSP + 1
   \   000016   F0           MOVX    @DPTR,A
    351            MAC_MlmeSetReq( MAC_RX_ON_WHEN_IDLE, &stat );
   \   000017                ; Setup parameters for call to function MAC_MlmeSetReq
   \   000017   AA82         MOV     R2,DPL
   \   000019   AB83         MOV     R3,DPH
   \   00001B   7952         MOV     R1,#0x52
   \   00001D   90....       MOV     DPTR,#(MAC_MlmeSetReq & 0xffff)
   \   000020   74..         MOV     A,#((MAC_MlmeSetReq >> 16) & 0xff)
   \   000022   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    352          
    353            /* Right now, set security to zero */
    354            pData->RealignSec.SecurityLevel = false;
   \   000025   EE           MOV     A,R6
   \   000026   2415         ADD     A,#0x15
   \   000028   F582         MOV     DPL,A
   \   00002A   EF           MOV     A,R7
   \   00002B   12....       LCALL   ??Subroutine2_0
    355            pData->BeaconSec.SecurityLevel = false;
   \                     ??CrossCallReturnLabel_8:
   \   00002E   EE           MOV     A,R6
   \   00002F   2420         ADD     A,#0x20
   \   000031   12....       LCALL   ?Subroutine1
    356          
    357          
    358            MAC_MlmeStartReq((macMlmeStartReq_t *) pData);
   \                     ??CrossCallReturnLabel_3:
   \   000034   90....       MOV     DPTR,#(MAC_MlmeStartReq & 0xffff)
   \   000037   74..         MOV     A,#((MAC_MlmeStartReq >> 16) & 0xff)
   \   000039   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    359          
    360            // MAC does not issue mlmeStartConfirm(), so we have to
    361            // mlmeStartConfirm( stat );  This needs to be addressed some how
    362          
    363            return ZMacSuccess;
   \   00003C   7900         MOV     R1,#0x0
   \   00003E   02....       LJMP    ?Subroutine6
    364          }

   \                                 In segment NEAR_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   F582         MOV     DPL,A
   \   000002   EF           MOV     A,R7
   \   000003   12....       LCALL   ?Subroutine5
   \                     ??CrossCallReturnLabel_20:
   \   000006                ; Setup parameters for call to function MAC_MlmeStartReq
   \   000006                ; Setup parameters for call to function MAC_McpsDataReq
   \   000006   EE           MOV     A,R6
   \   000007   FA           MOV     R2,A
   \   000008   EF           MOV     A,R7
   \   000009   FB           MOV     R3,A
   \   00000A   22           RET
    365          
    366          /********************************************************************************************************
    367           * @fn      ZMacSyncReq
    368           *
    369           * @brief   This function is called to request a sync to the current
    370           *          networks beacons.
    371           *
    372           * @param   LogicalChannel -
    373           * @param   TrackBeacon - true/false
    374           *
    375           * @return  status
    376           ********************************************************************************************************/

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    377          ROOT uint8 ZMacSyncReq( ZMacSyncReq_t *pData )
   \                     ZMacSyncReq:
    378          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    379            MAC_MlmeSyncReq( (macMlmeSyncReq_t *)pData);
   \   000004                ; Setup parameters for call to function MAC_MlmeSyncReq
   \   000004   90....       MOV     DPTR,#(MAC_MlmeSyncReq & 0xffff)
   \   000007   74..         MOV     A,#((MAC_MlmeSyncReq >> 16) & 0xff)
   \   000009                REQUIRE ?Subroutine7
   \   000009                ; // Fall through to label ?Subroutine7
    380            return ZMacSuccess;
    381          }
    382          
    383          /********************************************************************************************************
    384           * @fn      ZMacPollReq
    385           *
    386           * @brief   This function is called to request MAC data request poll.
    387           *
    388           * @param   coordAddr -
    389           * @param   coordPanId -
    390           * @param   SecurityEnable - true or false.
    391           *
    392           * @return  status
    393           ********************************************************************************************************/

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    394          ROOT uint8 ZMacPollReq( ZMacPollReq_t *pData )
   \                     ZMacPollReq:
    395          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    396            /* Right now, set security to zero */
    397            pData->Sec.SecurityLevel = false;
   \   000004   12....       LCALL   ?Subroutine0
    398          
    399            MAC_MlmePollReq ((macMlmePollReq_t *)pData);
   \                     ??CrossCallReturnLabel_2:
   \   000007                ; Setup parameters for call to function MAC_MlmePollReq
   \   000007   90....       MOV     DPTR,#(MAC_MlmePollReq & 0xffff)
   \   00000A   74..         MOV     A,#((MAC_MlmePollReq >> 16) & 0xff)
   \   00000C   80..         SJMP    ?Subroutine7
    400            return ( ZMacSuccess );
    401          }
    402          
    403          /********************************************************************************************************
    404           * @fn      ZMacDataReq
    405           *
    406           * @brief   Send a MAC Data Frame packet.
    407           *
    408           * @param   structure containing data and where to send it.
    409           *
    410           * @return  status
    411           ********************************************************************************************************/

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    412          ROOT uint8 ZMacDataReq( ZMacDataReq_t *pData )
   \                     ZMacDataReq:
    413          {
   \   000000   74F3         MOV     A,#-0xd
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 13
   \   000005                ; Auto size: 0
   \   000005   8A..         MOV     ?V0 + 4,R2
   \   000007   8B..         MOV     ?V0 + 5,R3
    414            macMcpsDataReq_t *pBuf;
    415          
    416            /* Allocate memory */
    417            pBuf = MAC_McpsDataAlloc(pData->msduLength, MAC_SEC_LEVEL_NONE, MAC_KEY_ID_MODE_NONE);
   \   000009                ; Setup parameters for call to function MAC_McpsDataAlloc
   \   000009   7B00         MOV     R3,#0x0
   \   00000B   7A00         MOV     R2,#0x0
   \   00000D   E5..         MOV     A,?V0 + 4
   \   00000F   241B         ADD     A,#0x1b
   \   000011   F582         MOV     DPL,A
   \   000013   E5..         MOV     A,?V0 + 5
   \   000015   12....       LCALL   ??Subroutine4_0
   \                     ??CrossCallReturnLabel_14:
   \   000018   E0           MOVX    A,@DPTR
   \   000019   F9           MOV     R1,A
   \   00001A   90....       MOV     DPTR,#(MAC_McpsDataAlloc & 0xffff)
   \   00001D   74..         MOV     A,#((MAC_McpsDataAlloc >> 16) & 0xff)
   \   00001F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000022   8A..         MOV     ?V0 + 0,R2
   \   000024   8B..         MOV     ?V0 + 1,R3
   \   000026   AE..         MOV     R6,?V0 + 0
   \   000028   AF..         MOV     R7,?V0 + 1
    418          
    419            if (pBuf)
   \   00002A   EE           MOV     A,R6
   \   00002B   7001         JNZ     ??ZMacDataReq_0
   \   00002D   EF           MOV     A,R7
   \                     ??ZMacDataReq_0:
   \   00002E   7003         JNZ     $+5
   \   000030   02....       LJMP    ??ZMacDataReq_1
    420            {
    421              /* Copy the addresses */
    422              osal_memcpy (&pBuf->mac, pData, sizeof (macDataReq_t));
   \   000033                ; Setup parameters for call to function osal_memcpy
   \   000033   85....       MOV     ?V0 + 0,?V0 + 4
   \   000036   85....       MOV     ?V0 + 1,?V0 + 5
   \   000039   75..00       MOV     ?V0 + 2,#0x0
   \   00003C   78..         MOV     R0,#?V0 + 0
   \   00003E   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000041   7C10         MOV     R4,#0x10
   \   000043   7D00         MOV     R5,#0x0
   \   000045   EE           MOV     A,R6
   \   000046   241F         ADD     A,#0x1f
   \   000048   FA           MOV     R2,A
   \   000049   EF           MOV     A,R7
   \   00004A   3400         ADDC    A,#0x0
   \   00004C   FB           MOV     R3,A
   \   00004D   90....       MOV     DPTR,#(osal_memcpy & 0xffff)
   \   000050   74..         MOV     A,#((osal_memcpy >> 16) & 0xff)
   \   000052   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000055   7403         MOV     A,#0x3
   \   000057   12....       LCALL   ?DEALLOC_XSTACK8
    423          
    424              /* Copy data */
    425              pBuf->msdu.len = pData->msduLength;
   \   00005A   E5..         MOV     A,?V0 + 4
   \   00005C   241B         ADD     A,#0x1b
   \   00005E   F8           MOV     R0,A
   \   00005F   E5..         MOV     A,?V0 + 5
   \   000061   3400         ADDC    A,#0x0
   \   000063   F9           MOV     R1,A
   \   000064   E8           MOV     A,R0
   \   000065   FA           MOV     R2,A
   \   000066   E9           MOV     A,R1
   \   000067   FB           MOV     R3,A
   \   000068   8A82         MOV     DPL,R2
   \   00006A   8B83         MOV     DPH,R3
   \   00006C   E0           MOVX    A,@DPTR
   \   00006D   8E82         MOV     DPL,R6
   \   00006F   8F83         MOV     DPH,R7
   \   000071   A3           INC     DPTR
   \   000072   A3           INC     DPTR
   \   000073   A3           INC     DPTR
   \   000074   A3           INC     DPTR
   \   000075   F0           MOVX    @DPTR,A
    426              osal_memcpy (pBuf->msdu.p, pData->msdu, pData->msduLength);
   \   000076                ; Setup parameters for call to function osal_memcpy
   \   000076   E5..         MOV     A,?V0 + 4
   \   000078   241C         ADD     A,#0x1c
   \   00007A   F582         MOV     DPL,A
   \   00007C   E5..         MOV     A,?V0 + 5
   \   00007E   12....       LCALL   ??Subroutine4_0
   \                     ??CrossCallReturnLabel_15:
   \   000081   E0           MOVX    A,@DPTR
   \   000082   F5..         MOV     ?V0 + 0,A
   \   000084   A3           INC     DPTR
   \   000085   E0           MOVX    A,@DPTR
   \   000086   F5..         MOV     ?V0 + 1,A
   \   000088   78..         MOV     R0,#?V0 + 0
   \   00008A   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   00008D   8A82         MOV     DPL,R2
   \   00008F   8B83         MOV     DPH,R3
   \   000091   E0           MOVX    A,@DPTR
   \   000092   FC           MOV     R4,A
   \   000093   7D00         MOV     R5,#0x0
   \   000095   8E82         MOV     DPL,R6
   \   000097   8F83         MOV     DPH,R7
   \   000099   A3           INC     DPTR
   \   00009A   A3           INC     DPTR
   \   00009B   E0           MOVX    A,@DPTR
   \   00009C   FA           MOV     R2,A
   \   00009D   A3           INC     DPTR
   \   00009E   E0           MOVX    A,@DPTR
   \   00009F   FB           MOV     R3,A
   \   0000A0   90....       MOV     DPTR,#(osal_memcpy & 0xffff)
   \   

⌨️ 快捷键说明

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