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

📄 mac_indirect_polling.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000032   7902         MOV     R1,#0x2
   \   000034   8009         SJMP    ??mipTransmitAssocDataRequest_3
    294              } else {
    295                  return mipTransmitDataRequest(AM_EXTENDED_64, mpib.macPANId, (ADDRESS   *) mpib.pMacCoordExtendedAddress, securityEnable);
   \                     ??mipTransmitAssocDataRequest_2:
   \   000036                ; Setup parameters for call to function mipTransmitDataRequest
   \   000036   12....       LCALL   ?PUSH_XSTACK_I_ONE
   \   000039   7C..         MOV     R4,#((mpib + 14) & 0xff)
   \   00003B   7D..         MOV     R5,#(((mpib + 14) >> 8) & 0xff)
   \   00003D   7903         MOV     R1,#0x3
   \                     ??mipTransmitAssocDataRequest_3:
   \   00003F   12....       LCALL   mipTransmitDataRequest
   \   000042   7401         MOV     A,#0x1
   \   000044   12....       LCALL   ?DEALLOC_XSTACK8
   \                     ??mipTransmitAssocDataRequest_1:
   \   000047   02....       LJMP    ?Subroutine0
    296              }
    297          
    298          } // mipTransmitAssocDataRequest
    299          
    300          
    301          
    302          
    303          //-------------------------------------------------------------------------------------------------------
    304          //  void mipPollAssociateResponseTask(MAC_TASK_INFO *pTask)
    305          //
    306          //  DESCRIPTION:
    307          //      This task makes sure that a data request is transmitted in the association procedure. If the
    308          //      transmission couldn't be initiated, this task will be rescheduled.
    309          //
    310          //  TASK DATA:
    311          //      0
    312          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    313          void mipPollAssociateResponseTask(MAC_TASK_INFO   *pTask) NEAR {
   \                     mipPollAssociateResponseTask:
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
   \   000005   EA           MOV     A,R2
   \   000006   FE           MOV     R6,A
   \   000007   EB           MOV     A,R3
   \   000008   FF           MOV     R7,A
    314          
    315              // We should not wait for the association response to be indicated in the beacon pending list, because there's no
    316              // guarantee that it will ever appear there (the coordinator could for instance be out of resources when the
    317              // association request is received)! If the association response is not polled, the MAC state machine (macInfo.state)
    318              // will lock up (and probably the higher layer too).
    319              if (macInfo.state == MAC_STATE_ASSOC_REQUEST_SENT) {
   \   000009   90....       MOV     DPTR,#macInfo
   \   00000C   E0           MOVX    A,@DPTR
   \   00000D   6481         XRL     A,#0x81
   \   00000F   7013         JNZ     ??mipPollAssociateResponseTask_0
    320                  if (mipTransmitAssocDataRequest() == RESOURCE_SHORTAGE) {
   \   000011                ; Setup parameters for call to function mipTransmitAssocDataRequest
   \   000011   12....       LCALL   mipTransmitAssocDataRequest & 0xFFFF
   \   000014   E9           MOV     A,R1
   \   000015   6401         XRL     A,#0x1
   \   000017   700B         JNZ     ??mipPollAssociateResponseTask_0
    321          
    322                      // Reschedule this task if there was a lack of resources (TX packet or task)
    323                      mschRescheduleTask(pTask, 0);
   \   000019                ; Setup parameters for call to function mschRescheduleTask
   \   000019   7900         MOV     R1,#0x0
   \   00001B   EE           MOV     A,R6
   \   00001C   FA           MOV     R2,A
   \   00001D   EF           MOV     A,R7
   \   00001E   FB           MOV     R3,A
   \   00001F   12....       LCALL   mschRescheduleTask & 0xFFFF
    324                      return;
   \   000022   8013         SJMP    ??mipPollAssociateResponseTask_1
    325                  }
    326              }
    327          
    328              // Done! Remove this task
    329              mschRemoveTask(pTask->priority, MSCH_KEEP_TASK_IN_PROGRESS_BM);
   \                     ??mipPollAssociateResponseTask_0:
   \   000024                ; Setup parameters for call to function mschRemoveTask
   \   000024   7A02         MOV     R2,#0x2
   \   000026   8E82         MOV     DPL,R6
   \   000028   8F83         MOV     DPH,R7
   \   00002A   A3           INC     DPTR
   \   00002B   A3           INC     DPTR
   \   00002C   A3           INC     DPTR
   \   00002D   A3           INC     DPTR
   \   00002E   A3           INC     DPTR
   \   00002F   A3           INC     DPTR
   \   000030   A3           INC     DPTR
   \   000031   A3           INC     DPTR
   \   000032   E0           MOVX    A,@DPTR
   \   000033   F9           MOV     R1,A
   \   000034   12....       LCALL   mschRemoveTask & 0xFFFF
    330          
    331          } // mipPollAssociateResponse
   \                     ??mipPollAssociateResponseTask_1:
   \   000037   02....       LJMP    ?Subroutine1
    332          
    333          
    334          
    335          
    336          //-------------------------------------------------------------------------------------------------------
    337          //  void mipPollAssociateResponse(void)
    338          //
    339          //  DESCRIPTION:
    340          //      This timeout function creates the task responsible for polling the association response.
    341          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    342          void mipPollAssociateResponse(void) NEAR {
   \                     mipPollAssociateResponse:
   \   000000   74F5         MOV     A,#-0xb
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 11
   \   000005                ; Auto size: 0
    343              if (!mschAddTask(mschReserveTask(), MAC_TASK_PRI_LOW, mipPollAssociateResponseTask, 0)) {
   \   000005                ; Setup parameters for call to function mschAddTask
   \   000005   75....       MOV     ?V0 + 0,#(mipPollAssociateResponseTask & 0xff)
   \   000008   75....       MOV     ?V0 + 1,#((mipPollAssociateResponseTask >> 8) & 0xff)
   \   00000B   75....       MOV     ?V0 + 2,#((mipPollAssociateResponseTask >> 16) & 0xff)
   \   00000E   78..         MOV     R0,#?V0 + 0
   \   000010   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000013   7A00         MOV     R2,#0x0
   \   000015   EA           MOV     A,R2
   \   000016   C0E0         PUSH    A
   \   000018                ; Setup parameters for call to function mschReserveTask
   \   000018   12....       LCALL   mschReserveTask & 0xFFFF
   \   00001B   E4           CLR     A
   \   00001C   FC           MOV     R4,A
   \   00001D   FD           MOV     R5,A
   \   00001E   D0E0         POP     A
   \   000020   FA           MOV     R2,A
   \   000021   12....       LCALL   mschAddTask & 0xFFFF
   \   000024   7403         MOV     A,#0x3
   \   000026   12....       LCALL   ?DEALLOC_XSTACK8
   \   000029   E9           MOV     A,R1
   \   00002A   7014         JNZ     ??mipPollAssociateResponse_0
    344                  mtimSetCallback(mipPollAssociateResponse, MIP_RETRY_ASSOCIATION_RESPONSE_POLLING_TIMEOUT);
   \   00002C                ; Setup parameters for call to function mtimSetCallback
   \   00002C   90....       MOV     DPTR,#__Constant_a
   \   00002F   12....       LCALL   ?PUSH_XSTACK8_X_FOUR
   \   000032   79..         MOV     R1,#(mipPollAssociateResponse & 0xff)
   \   000034   7A..         MOV     R2,#((mipPollAssociateResponse >> 8) & 0xff)
   \   000036   7B..         MOV     R3,#((mipPollAssociateResponse >> 16) & 0xff)
   \   000038   12....       LCALL   mtimSetCallback & 0xFFFF
   \   00003B   7404         MOV     A,#0x4
   \   00003D   12....       LCALL   ?DEALLOC_XSTACK8
    345              }
    346          } // mipPollAssociateResponse
   \                     ??mipPollAssociateResponse_0:
   \   000040   02....       LJMP    ?Subroutine2

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     __Constant_a:
   \   000000                DS 4
   \   000004                REQUIRE `?<Initializer for __Constant_a>`
   \   000004                REQUIRE __INIT_XDATA_I

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for __Constant_a>`:
   \   000000   0A000000     DD 10

   \                                 In segment SFR_AN, at 0xa8
   \   union <unnamed> volatile __sfr _A_IEN0
   \                     _A_IEN0:
   \   000000                DS 1
    347          

   Maximum stack usage in bytes:

     Function                       ISTACK PSTACK XSTACK
     --------                       ------ ------ ------
     mipCancelDataRequestTimeout        0      0      9
       -> mtimCancelCallback            0      0     18
       -> mrxDecrOnCounter              0      0     18
       -> macSetState                   0      0     18
     mipDataRequestTimeout              1      0     15
       -> mschReserveTask               2      0     28
       -> mschAddTask                   0      0     28
       -> mtimSetCallback               0      0     30
     mipDataRequestTimeoutTask          0      0      9
       -> mrxDecrOnCounter              0      0     18
       -> macSetState                   0      0     18
       -> mschRemoveTask                0      0     18
       -> mlmePollConfirm               0      0     18
       -> mlmeAssociateConfirm          0      0     18
     mipPollAssociateResponse           1      0     15
       -> mschReserveTask               2      0     28
       -> mschAddTask                   0      0     28
       -> mtimSetCallback               0      0     30
     mipPollAssociateResponseTask       0      0      9
       -> mipTransmitAssocDataRequest
                                        0      0     18
       -> mschRescheduleTask            0      0     18
       -> mschRemoveTask                0      0     18
     mipTransmitAssocDataRequest        0      0     18
       -> macSetState                   0      0     16
       -> mipTransmitDataRequest        0      0     18
       -> mipTransmitDataRequest        0      0     18
     mipTransmitAutoDataRequest         0      0      9
       -> macSetState                   0      0     16
       -> mipTransmitDataRequest        0      0     18
       -> mipTransmitDataRequest        0      0     18
       -> macSetState                   0      0     16
     mipTransmitDataRequest             1      0     32
       -> mtxpReservePacket             0      0     30
       -> mschReserveTask               0      0     30
       -> mtxpReleasePacket             0      0     30
       -> msupPrepareHeader             0      0     46
       -> msupPrepareHeader             0      0     46
       -> msupCalcPacketDuration        0      0     30
       -> mschAddTask                   0      0     36


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     mipTransmitAutoDataRequest       77
     ?Subroutine0                      5
     mipTransmitDataRequest          313
     mipDataRequestTimeoutTask        76
     ?Subroutine1                      5
     mipDataRequestTimeout            64
     ?Subroutine2                      5
     mipCancelDataRequestTimeout      45
     mipTransmitAssocDataRequest      74
     mipPollAssociateResponseTask     58
     mipPollAssociateResponse         67
     __Constant_a                      4
     ?<Initializer for __Constant_a>
                                       4
     _A_IEN0                           1

 
 789 bytes in segment NEAR_CODE
   1 byte  in segment SFR_AN
   4 bytes in segment XDATA_I
   4 bytes in segment XDATA_ID
 
 789 bytes of CODE  memory (+ 4 bytes shared)
   0 bytes of DATA  memory (+ 1 byte  shared)
   0 bytes of XDATA memory (+ 4 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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