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

📄 zmac_cb.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
    216                    uint16 shortAddr = INVALID_SHORT_ADDR;
   \                     ??MAC_CbackEvent_10:
   \   0001D7   85..82       MOV     DPL,?XSP + 0
   \   0001DA   85..83       MOV     DPH,?XSP + 1
   \   0001DD   74FE         MOV     A,#-0x2
   \   0001DF   F0           MOVX    @DPTR,A
   \   0001E0   A3           INC     DPTR
   \   0001E1   74FF         MOV     A,#-0x1
   \   0001E3   F0           MOVX    @DPTR,A
    217                    ZMacDataInd_t *pDataInd = (ZMacDataInd_t *) pData;
    218                    uint8 event, status, len, *msdu;
    219          
    220                    MAC_MlmeGetReq( MAC_SHORT_ADDRESS, &shortAddr );
   \   0001E4                ; Setup parameters for call to function MAC_MlmeGetReq
   \   0001E4   85..82       MOV     DPL,?XSP + 0
   \   0001E7   85..83       MOV     DPH,?XSP + 1
   \   0001EA   AA82         MOV     R2,DPL
   \   0001EC   AB83         MOV     R3,DPH
   \   0001EE   7953         MOV     R1,#0x53
   \   0001F0   90....       MOV     DPTR,#(MAC_MlmeGetReq & 0xffff)
   \   0001F3   74..         MOV     A,#((MAC_MlmeGetReq >> 16) & 0xff)
   \   0001F5   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    221                    if ( shortAddr == INVALID_SHORT_ADDR || shortAddr == BROADCAST_ADDR )
   \   0001F8   85..82       MOV     DPL,?XSP + 0
   \   0001FB   85..83       MOV     DPH,?XSP + 1
   \   0001FE   E0           MOVX    A,@DPTR
   \   0001FF   64FE         XRL     A,#0xfe
   \   000201   7004         JNZ     ??MAC_CbackEvent_17
   \   000203   A3           INC     DPTR
   \   000204   E0           MOVX    A,@DPTR
   \   000205   64FF         XRL     A,#0xff
   \                     ??MAC_CbackEvent_17:
   \   000207   6011         JZ      ??MAC_CbackEvent_18
   \   000209   85..82       MOV     DPL,?XSP + 0
   \   00020C   85..83       MOV     DPH,?XSP + 1
   \   00020F   E0           MOVX    A,@DPTR
   \   000210   64FF         XRL     A,#0xff
   \   000212   7004         JNZ     ??MAC_CbackEvent_19
   \   000214   A3           INC     DPTR
   \   000215   E0           MOVX    A,@DPTR
   \   000216   64FF         XRL     A,#0xff
   \                     ??MAC_CbackEvent_19:
   \   000218   700C         JNZ     ??MAC_CbackEvent_20
    222                    {
    223                      osal_msg_deallocate( (uint8 *)msgPtr );
   \                     ??MAC_CbackEvent_18:
   \   00021A                ; Setup parameters for call to function osal_msg_deallocate
   \   00021A   EE           MOV     A,R6
   \   00021B   FA           MOV     R2,A
   \   00021C   EF           MOV     A,R7
   \   00021D   FB           MOV     R3,A
   \   00021E   90....       MOV     DPTR,#(osal_msg_deallocate & 0xffff)
   \   000221   74..         MOV     A,#((osal_msg_deallocate >> 16) & 0xff)
   \   000223   02....       LJMP    ??MAC_CbackEvent_21 & 0xFFFF
    224                      return;
    225                    }
    226          
    227                    /* Store parameters */
    228                    event = pData->hdr.event;
   \                     ??MAC_CbackEvent_20:
   \   000226   85..82       MOV     DPL,?V0 + 4
   \   000229   85..83       MOV     DPH,?V0 + 5
   \   00022C   E0           MOVX    A,@DPTR
   \   00022D   C0E0         PUSH    A
   \   00022F   7402         MOV     A,#0x2
   \   000231   12....       LCALL   ?XSTACK_DISP0_8
   \   000234   D0E0         POP     A
   \   000236   12....       LCALL   ?Subroutine7 & 0xFFFF
    229                    status = pData->hdr.status;
   \                     ??CrossCallReturnLabel_15:
   \   000239   E0           MOVX    A,@DPTR
   \   00023A   F5..         MOV     ?V0 + 7,A
    230                    len = pData->dataInd.msdu.len;
   \   00023C   85..82       MOV     DPL,?V0 + 4
   \   00023F   85..83       MOV     DPH,?V0 + 5
   \   000242   A3           INC     DPTR
   \   000243   A3           INC     DPTR
   \   000244   A3           INC     DPTR
   \   000245   A3           INC     DPTR
   \   000246   E0           MOVX    A,@DPTR
   \   000247   F5..         MOV     ?V0 + 3,A
    231                    msdu = pData->dataInd.msdu.p;
   \   000249   85..82       MOV     DPL,?V0 + 4
   \   00024C   85..83       MOV     DPH,?V0 + 5
   \   00024F   A3           INC     DPTR
   \   000250   A3           INC     DPTR
   \   000251   E0           MOVX    A,@DPTR
   \   000252   F8           MOV     R0,A
   \   000253   A3           INC     DPTR
   \   000254   E0           MOVX    A,@DPTR
   \   000255   F9           MOV     R1,A
   \   000256   7403         MOV     A,#0x3
   \   000258   12....       LCALL   ?XSTACK_DISP0_8
   \   00025B   E8           MOV     A,R0
   \   00025C   F0           MOVX    @DPTR,A
   \   00025D   A3           INC     DPTR
   \   00025E   E9           MOV     A,R1
   \   00025F   F0           MOVX    @DPTR,A
    232          
    233                    /* Copy header */
    234          #if defined ( ZBIT )
    235                    // ZBIT requires two copies to handle 32 bit alignment  
    236                    osal_memcpy(&pDataInd->SrcAddr, &pData->dataInd.mac, sizeof(zAddrType_t) * 2 );
    237                    osal_memcpy(&pDataInd->Timestamp, &pData->dataInd.mac.timestamp, sizeof(macDataInd_t) - sizeof(ZMacEventHdr_t) - sizeof(zAddrType_t) * 2);
    238          #else
    239                    osal_memcpy(&pDataInd->SrcAddr, &pData->dataInd.mac, sizeof(macDataInd_t) - sizeof(ZMacEventHdr_t));
   \   000260                ; Setup parameters for call to function osal_memcpy
   \   000260   E5..         MOV     A,?V0 + 4
   \   000262   2412         ADD     A,#0x12
   \   000264   F5..         MOV     ?V0 + 0,A
   \   000266   E5..         MOV     A,?V0 + 5
   \   000268   3400         ADDC    A,#0x0
   \   00026A   F5..         MOV     ?V0 + 1,A
   \   00026C   75..00       MOV     ?V0 + 2,#0x0
   \   00026F   78..         MOV     R0,#?V0 + 0
   \   000271   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000274   7C1E         MOV     R4,#0x1e
   \   000276   7D00         MOV     R5,#0x0
   \   000278   E5..         MOV     A,?V0 + 4
   \   00027A   2402         ADD     A,#0x2
   \   00027C   FA           MOV     R2,A
   \   00027D   E5..         MOV     A,?V0 + 5
   \   00027F   12....       LCALL   ?Subroutine6 & 0xFFFF
   \                     ??CrossCallReturnLabel_14:
   \   000282   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000285   7403         MOV     A,#0x3
   \   000287   12....       LCALL   ?DEALLOC_XSTACK8
    240          #endif
    241                    /* Security - set to zero for now */
    242                    pDataInd->Sec.SecurityLevel = false;
   \   00028A   E5..         MOV     A,?V0 + 4
   \   00028C   242A         ADD     A,#0x2a
   \   00028E   F582         MOV     DPL,A
   \   000290   E5..         MOV     A,?V0 + 5
   \   000292   3400         ADDC    A,#0x0
   \   000294   F583         MOV     DPH,A
   \   000296   E4           CLR     A
   \   000297   12....       LCALL   ?Subroutine7 & 0xFFFF
    243          
    244                    /* Restore parameters */
    245                    pDataInd->hdr.Status = status;
   \                     ??CrossCallReturnLabel_16:
   \   00029A   E5..         MOV     A,?V0 + 7
   \   00029C   F0           MOVX    @DPTR,A
    246                    pDataInd->hdr.Event = event;
   \   00029D   7402         MOV     A,#0x2
   \   00029F   12....       LCALL   ?XSTACK_DISP0_8
   \   0002A2   E0           MOVX    A,@DPTR
   \   0002A3   85..82       MOV     DPL,?V0 + 4
   \   0002A6   85..83       MOV     DPH,?V0 + 5
   \   0002A9   F0           MOVX    @DPTR,A
    247                    pDataInd->msduLength = len;
   \   0002AA   E5..         MOV     A,?V0 + 4
   \   0002AC   242D         ADD     A,#0x2d
   \   0002AE   F582         MOV     DPL,A
   \   0002B0   E5..         MOV     A,?V0 + 5
   \   0002B2   3400         ADDC    A,#0x0
   \   0002B4   F583         MOV     DPH,A
   \   0002B6   E5..         MOV     A,?V0 + 3
   \   0002B8   F0           MOVX    @DPTR,A
    248          
    249                    if (len)
   \   0002B9   6010         JZ      ??MAC_CbackEvent_22
    250                      pDataInd->msdu = msdu;
   \   0002BB   7403         MOV     A,#0x3
   \   0002BD   12....       LCALL   ?XSTACK_DISP0_8
   \   0002C0   E0           MOVX    A,@DPTR
   \   0002C1   F8           MOV     R0,A
   \   0002C2   A3           INC     DPTR
   \   0002C3   E0           MOVX    A,@DPTR
   \   0002C4   F9           MOV     R1,A
   \   0002C5   12....       LCALL   ?Subroutine3 & 0xFFFF
   \                     ??CrossCallReturnLabel_7:
   \   0002C8   02....       LJMP    ??CrossCallReturnLabel_9 & 0xFFFF
    251                    else
    252                      pDataInd->msdu = NULL;
   \                     ??MAC_CbackEvent_22:
   \   0002CB   12....       LCALL   ?Subroutine3 & 0xFFFF
   \                     ??CrossCallReturnLabel_8:
   \   0002CE   E4           CLR     A
   \   0002CF   F0           MOVX    @DPTR,A
   \                     ??MAC_CbackEvent_16:
   \   0002D0   A3           INC     DPTR
   \                     ??MAC_CbackEvent_12:
   \   0002D1   F0           MOVX    @DPTR,A
    253          
    254                    break;
    255                  }
    256                }
    257          
    258                msgPtr->hdr.event = zmacCBEventTable[macEvent];
   \                     ??MAC_CbackEvent_11:
   \   0002D2   E5..         MOV     A,?V0 + 6
   \   0002D4   24..         ADD     A,#(zmacCBEventTable & 0xff)
   \   0002D6   F582         MOV     DPL,A
   \   0002D8   E4           CLR     A
   \   0002D9   34..         ADDC    A,#((zmacCBEventTable >> 8) & 0xff)
   \   0002DB   F583         MOV     DPH,A
   \   0002DD   E4           CLR     A
   \   0002DE   93           MOVC    A,@A+DPTR
   \   0002DF   8E82         MOV     DPL,R6
   \   0002E1   8F83         MOV     DPH,R7
   \   0002E3   F0           MOVX    @DPTR,A
    259                osal_msg_send( NWK_TaskID, (uint8 *)msgPtr );
   \   0002E4                ; Setup parameters for call to function osal_msg_send
   \   0002E4   EE           MOV     A,R6
   \   0002E5   FA           MOV     R2,A
   \   0002E6   EF           MOV     A,R7
   \   0002E7   FB           MOV     R3,A
   \   0002E8   90....       MOV     DPTR,#NWK_TaskID
   \   0002EB   E0           MOVX    A,@DPTR
   \   0002EC   F9           MOV     R1,A
   \   0002ED   90....       MOV     DPTR,#(osal_msg_send & 0xffff)
   \   0002F0   74..         MOV     A,#((osal_msg_send >> 16) & 0xff)
   \                     ??MAC_CbackEvent_21:
   \   0002F2   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??MAC_CbackEvent_1:
   \   0002F5   7405         MOV     A,#0x5
   \   0002F7   12....       LCALL   ?DEALLOC_XSTACK8
   \   0002FA   7F08         MOV     R7,#0x8
   \   0002FC   02....       LJMP    ?BANKED_LEAVE_XDATA
    260              }
    261            }
    262          #endif
    263          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine7:
   \   000000   F0           MOVX    @DPTR,A
   \   000001   85..82       MOV     DPL,?V0 + 4
   \   000004   85..83       MOV     DPH,?V0 + 5
   \   000007   A3           INC     DPTR
   \   000008   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine6:
   \   000000   3400         ADDC    A,#0x0
   \   000002   FB           MOV     R3,A
   \   000003   90....       MOV     DPTR,#(osal_memcpy & 0xffff)
   \   000006   74..         MOV     A,#((osal_memcpy >> 16) & 0xff)
   \   000008   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine5:
   \   000000   EE           MOV     A,R6
   \   000001   2409         ADD     A,#0x9

⌨️ 快捷键说明

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