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

📄 zmac.s51

📁 CC2430上开关控制灯和温度传感器采集两个例子
💻 S51
📖 第 1 页 / 共 5 页
字号:
//  179  * @return  status
//  180  ********************************************************************************************************/

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  181 ROOT uint8 ZMacSetReq( uint8 attr, byte *value )
ZMacSetReq:
        CFI Block cfiBlock5 Using cfiCommon0
        CFI Function ZMacSetReq
//  182 {
        FUNCALL ZMacSetReq, osal_cpyExtAddr
        LOCFRAME XSTACK, 8, STACK
        ARGFRAME XSTACK, 8, STACK
        FUNCALL ZMacSetReq, MAC_MlmeSetReq
        LOCFRAME XSTACK, 8, STACK
        ARGFRAME XSTACK, 8, STACK
        MOV	A,#-0x8
        LCALL	?FUNC_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 8)
        ; Saved register size: 8
        ; Auto size: 0
        MOV	?V0 + 0,R1
        MOV	A,R2
        MOV	R6,A
        MOV	A,R3
        MOV	R7,A
//  183   if ( attr == ZMacExtAddr )
        MOV	A,#-0x1e
        XRL	A,?V0 + 0
        JNZ	??ZMacSetReq_0
//  184   {
//  185     osal_cpyExtAddr( &aExtendedAddress, value );
        ; Setup parameters for call to function osal_cpyExtAddr
        MOV	A,R6
        MOV	R4,A
        MOV	A,R7
        MOV	R5,A
        MOV	R2,#(aExtendedAddress & 0xff)
        MOV	R3,#((aExtendedAddress >> 8) & 0xff)
        MOV	DPTR,#(osal_cpyExtAddr & 0xffff)
        MOV	A,#((osal_cpyExtAddr >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  186   }
//  187 
//  188   return (ZMacStatus_t) MAC_MlmeSetReq( attr, value );
??ZMacSetReq_0:
        ; Setup parameters for call to function MAC_MlmeSetReq
        MOV	A,R6
        MOV	R2,A
        MOV	A,R7
        MOV	R3,A
        MOV	R1,?V0 + 0
        MOV	DPTR,#(MAC_MlmeSetReq & 0xffff)
        MOV	A,#((MAC_MlmeSetReq >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        LJMP	??Subroutine6_0
        CFI EndBlock cfiBlock5
//  189 }
//  190 
//  191 /********************************************************************************************************
//  192  * @fn      ZMacAssociateReq
//  193  *
//  194  * @brief   Request an association with a coordinator.
//  195  *
//  196  * @param   structure with info need to associate.
//  197  *
//  198  * @return  status
//  199  ********************************************************************************************************/

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  200 ROOT uint8 ZMacAssociateReq( ZMacAssociateReq_t *pData )
ZMacAssociateReq:
        CFI Block cfiBlock6 Using cfiCommon0
        CFI Function ZMacAssociateReq
//  201 {
        FUNCALL ZMacAssociateReq, MAC_MlmeAssociateReq
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 3)
        CFI CFA_SP SP+-3
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        ; Saved register size: 2
        ; Auto size: 0
//  202   /* Right now, set security to zero */
//  203   pData->Sec.SecurityLevel = false;
        MOV	A,R2
        ADD	A,#0x16
        LCALL	?Subroutine2
//  204 
//  205   MAC_MlmeAssociateReq ( (macMlmeAssociateReq_t *)pData);
??CrossCallReturnLabel_5:
        ; Setup parameters for call to function MAC_MlmeAssociateReq
        MOV	DPTR,#(MAC_MlmeAssociateReq & 0xffff)
        MOV	A,#((MAC_MlmeAssociateReq >> 16) & 0xff)
        LJMP	?Subroutine7
        CFI EndBlock cfiBlock6
//  206   return ( ZMacSuccess );
//  207 }

        RSEG NEAR_CODE:CODE:NOROOT(0)
?Subroutine2:
        CFI Block cfiCond7 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_10
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_HIGH 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 cfiCond8 Using cfiCommon0
        CFI (cfiCond8) NoFunction
        CFI (cfiCond8) Conditional ??CrossCallReturnLabel_6
        CFI (cfiCond8) DPL0 Frame(CFA_SP, 3)
        CFI (cfiCond8) DPH0 Frame(CFA_SP, 4)
        CFI (cfiCond8) CFA_SP SP+-4
        CFI Block cfiCond9 Using cfiCommon0
        CFI (cfiCond9) NoFunction
        CFI (cfiCond9) Conditional ??CrossCallReturnLabel_5
        CFI (cfiCond9) DPL0 Frame(CFA_SP, 3)
        CFI (cfiCond9) DPH0 Frame(CFA_SP, 4)
        CFI (cfiCond9) CFA_SP SP+-4
        CFI Block cfiCond10 Using cfiCommon0
        CFI (cfiCond10) NoFunction
        CFI (cfiCond10) Conditional ??CrossCallReturnLabel_9
        CFI (cfiCond10) R6 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond10) VB load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond10) V0 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond10) V1 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond10) V2 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond10) V3 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond10) R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond10) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond10) ?RET_HIGH 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, 11)
        CFI Block cfiPicker11 Using cfiCommon1
        CFI (cfiPicker11) NoFunction
        CFI (cfiPicker11) Picker
        MOV	DPL,A
        MOV	A,R3
        CFI Block cfiCond12 Using cfiCommon0
        CFI (cfiCond12) NoFunction
        CFI (cfiCond12) Conditional ??CrossCallReturnLabel_8
        CFI (cfiCond12) R6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond12) VB load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond12) V0 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond12) R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond12) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond12) ?RET_HIGH 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, 9)
        CFI Block cfiCond13 Using cfiCommon0
        CFI (cfiCond13) NoFunction
        CFI (cfiCond13) Conditional ??CrossCallReturnLabel_7
        CFI (cfiCond13) R6 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond13) VB load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond13) V0 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond13) V1 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond13) V2 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond13) V3 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond13) R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond13) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond13) ?RET_HIGH 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, 11)
??Subroutine2_0:
        LCALL	?Subroutine5
??CrossCallReturnLabel_21:
        RET
        CFI EndBlock cfiCond7
        CFI EndBlock cfiCond8
        CFI EndBlock cfiCond9
        CFI EndBlock cfiCond10
        CFI EndBlock cfiPicker11
        CFI EndBlock cfiCond12
        CFI EndBlock cfiCond13
//  208 
//  209 /********************************************************************************************************
//  210  * @fn      ZMacAssociateRsp
//  211  *
//  212  * @brief   Request to send an association response message.
//  213  *
//  214  * @param   structure with associate response and info needed to send it.
//  215  *
//  216  * @return  status
//  217  ********************************************************************************************************/

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  218 ROOT uint8 ZMacAssociateRsp( ZMacAssociateRsp_t *pData )
ZMacAssociateRsp:
        CFI Block cfiBlock14 Using cfiCommon0
        CFI Function ZMacAssociateRsp
//  219 {
        FUNCALL ZMacAssociateRsp, MAC_MlmeAssociateRsp
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 3)
        CFI CFA_SP SP+-3
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        ; Saved register size: 2
        ; Auto size: 0
//  220   /* Right now, set security to zero */
//  221   pData->Sec.SecurityLevel = false;
        LCALL	?Subroutine0
//  222 
//  223   MAC_MlmeAssociateRsp( (macMlmeAssociateRsp_t *) pData );
??CrossCallReturnLabel_0:
        ; Setup parameters for call to function MAC_MlmeAssociateRsp
        MOV	DPTR,#(MAC_MlmeAssociateRsp & 0xffff)
        MOV	A,#((MAC_MlmeAssociateRsp >> 16) & 0xff)
        LJMP	?Subroutine7
        CFI EndBlock cfiBlock14
//  224   return ( ZMacSuccess );
//  225 }
//  226 
//  227 /********************************************************************************************************
//  228  * @fn      ZMacDisassociateReq
//  229  *
//  230  * @brief   Request to send a disassociate request message.
//  231  *
//  232  * @param   structure with info need send it.
//  233  *
//  234  * @return  status
//  235  ********************************************************************************************************/

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  236 ROOT uint8 ZMacDisassociateReq( ZMacDisassociateReq_t *pData )
ZMacDisassociateReq:
        CFI Block cfiBlock15 Using cfiCommon0
        CFI Function ZMacDisassociateReq
//  237 {
        FUNCALL ZMacDisassociateReq, MAC_MlmeDisassociateReq
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 3)
        CFI CFA_SP SP+-3
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        ; Saved register size: 2
        ; Auto size: 0
//  238   /* Right now, set security to zero */
//  239   pData->Sec.SecurityLevel = false;
        MOV	A,R2
        ADD	A,#0x15
        LCALL	?Subroutine2
//  240 
//  241   MAC_MlmeDisassociateReq( (macMlmeDisassociateReq_t *)pData);
??CrossCallReturnLabel_6:
        ; Setup parameters for call to function MAC_MlmeDisassociateReq
        MOV	DPTR,#(MAC_MlmeDisassociateReq & 0xffff)
        MOV	A,#((MAC_MlmeDisassociateReq >> 16) & 0xff)
        LJMP	?Subroutine7
        CFI EndBlock cfiBlock15
//  242   return ( ZMacSuccess );
//  243 }
//  244 
//  245 /********************************************************************************************************
//  246  * @fn      ZMacOrphanRsp
//  247  *
//  248  * @brief   Allows next higher layer to respond to an orphan indication message.
//  249  *
//  250  * @param   structure with info need send it.
//  251  *
//  252  * @return  status
//  253  ********************************************************************************************************/

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  254 ROOT uint8 ZMacOrphanRsp( ZMacOrphanRsp_t *pData )
ZMacOrphanRsp:
        CFI Block cfiBlock16 Using cfiCommon0
        CFI Function ZMacOrphanRsp
//  255 {
        FUNCALL ZMacOrphanRsp, MAC_MlmeOrphanRsp
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK

⌨️ 快捷键说明

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