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

📄 mac.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000159   75....       MOV     ?V0 + 2,#((miqAddIndirectPacket >> 16) & 0xff)
   \   00015C   78..         MOV     R0,#?V0 + 0
   \   00015E   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000161   7A01         MOV     R2,#0x1
   \   000163   8010         SJMP    ??mcpsDataRequest_8
    275              } else {
    276                  mschAddTask(taskNumber, MAC_TASK_PRI_LOW, mtxScheduleTransmission, (WORD) pPacket);
   \                     ??mcpsDataRequest_7:
   \   000165                ; Setup parameters for call to function mschAddTask
   \   000165   75....       MOV     ?V0 + 0,#(mtxScheduleTransmission & 0xff)
   \   000168   75....       MOV     ?V0 + 1,#((mtxScheduleTransmission >> 8) & 0xff)
   \   00016B   75....       MOV     ?V0 + 2,#((mtxScheduleTransmission >> 16) & 0xff)
   \   00016E   78..         MOV     R0,#?V0 + 0
   \   000170   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000173   7A00         MOV     R2,#0x0
   \                     ??mcpsDataRequest_8:
   \   000175   12....       LCALL   mschAddTask
   \   000178   7403         MOV     A,#0x3
   \   00017A   12....       LCALL   ?DEALLOC_XSTACK8
   \                     ??mcpsDataRequest_4:
   \   00017D   7403         MOV     A,#0x3
   \   00017F   12....       LCALL   ?DEALLOC_XSTACK8
   \   000182                REQUIRE ?Subroutine0
   \   000182                ; // Fall through to label ?Subroutine0
    277              }
    278          
    279          #else // RFD
    280              mschAddTask(taskNumber, MAC_TASK_PRI_LOW, mtxScheduleTransmission, (WORD) pPacket);
    281          #endif
    282          
    283          } // mcpsDataRequest

   \                                 In segment NEAR_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   7F08         MOV     R7,#0x8
   \   000002   02....       LJMP    ?FUNC_LEAVE_XDATA
    284          
    285          
    286          
    287          
    288          //-------------------------------------------------------------------------------------------------------
    289          //  MAC_ENUM mlmeStartRequest(WORD panId, UINT8 logicalChannel, UINT8 beaconOrder, UINT8 ...)
    290          //
    291          //  DESCRIPTION:
    292          //      As a coordinator: Start or stop transmitting beacons.
    293          //
    294          //  PARAMETERS:
    295          //      WORD panId
    296          //          The new PAN identifier
    297          //      UINT8 logicalChannel
    298          //          The channel to operate on (11-26)
    299          //      UINT8 beaconOrder
    300          //          The beacon order, which defines the beacon interval (0-14 for beacon PAN, 15 for non-beacon PAN)
    301          //      UINT8 superframeOrder
    302          //          The superframe order, which defines the superframe duration (that is the active period of the
    303          //          beacon interval). superframeOrder must be <= beaconOrder
    304          //      BOOL panCoordinator
    305          //          TRUE if this node should be the PAN coordinator
    306          //      BOOL batteryLifeExtension
    307          //          Enable battery life extension
    308          //      BOOL coordRealignment
    309          //          Transmit a coordinator realignment frame before making the changes
    310          //      BOOL securityEnable
    311          //          Security is enabled?
    312          //
    313          //  RETURN VALUE:
    314          //      MAC_ENUM
    315          //          SUCCESS, NO_SHORT_ADDRESS or INVALID_PARAMETER
    316          //-------------------------------------------------------------------------------------------------------
    317          #if MAC_OPT_FFD

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    318          ROOT MAC_ENUM mlmeStartRequest(WORD      panId,
   \                     mlmeStartRequest:
    319                                         UINT8     logicalChannel,
    320                                         UINT8     beaconOrder,
    321                                         UINT8     superframeOrder,
    322                                         BOOL      panCoordinator,
    323                                         BOOL      batteryLifeExtension,
    324                                         BOOL      coordRealignment,
    325                                         BOOL      securityEnable)
    326          {
   \   000000   74F2         MOV     A,#-0xe
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 14
   \   000005                ; Auto size: 4
   \   000005   74FC         MOV     A,#-0x4
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   7402         MOV     A,#0x2
   \   00000C   12....       LCALL   ?XSTACK_DISP0_8
   \   00000F   EA           MOV     A,R2
   \   000010   F0           MOVX    @DPTR,A
   \   000011   A3           INC     DPTR
   \   000012   EB           MOV     A,R3
   \   000013   F0           MOVX    @DPTR,A
   \   000014   EC           MOV     A,R4
   \   000015   85..82       MOV     DPL,?XSP + 0
   \   000018   85..83       MOV     DPH,?XSP + 1
   \   00001B   F0           MOVX    @DPTR,A
   \   00001C   E9           MOV     A,R1
   \   00001D   FE           MOV     R6,A
   \   00001E   8D..         MOV     ?V0 + 3,R5
   \   000020   7412         MOV     A,#0x12
   \   000022   12....       LCALL   ?XSTACK_DISP0_8
   \   000025   E0           MOVX    A,@DPTR
   \   000026   F5..         MOV     ?V0 + 6,A
   \   000028   7414         MOV     A,#0x14
   \   00002A   12....       LCALL   ?XSTACK_DISP0_8
   \   00002D   E0           MOVX    A,@DPTR
   \   00002E   F5..         MOV     ?V0 + 0,A
   \   000030   7415         MOV     A,#0x15
   \   000032   12....       LCALL   ?XSTACK_DISP0_8
   \   000035   E0           MOVX    A,@DPTR
   \   000036   FF           MOV     R7,A
    327              BOOL            firstBeaconNow;
    328              WORD            mdmctrl0;
    329              BOOL            waiting;
    330              MAC_TX_PACKET   *pPacket;
    331              BYTE            taskNumber;
    332          
    333              // Is the short address OK?
    334              if (mpib.macShortAddress == 0xFFFF) {
   \   000037   90....       MOV     DPTR,#(mpib + 32)
   \   00003A   E0           MOVX    A,@DPTR
   \   00003B   64FF         XRL     A,#0xff
   \   00003D   7004         JNZ     ??mlmeStartRequest_0
   \   00003F   A3           INC     DPTR
   \   000040   E0           MOVX    A,@DPTR
   \   000041   64FF         XRL     A,#0xff
   \                     ??mlmeStartRequest_0:
   \   000043   7005         JNZ     ??mlmeStartRequest_1
    335                  return NO_SHORT_ADDRESS;
   \   000045   79EC         MOV     R1,#-0x14
   \   000047   02....       LJMP    ??mlmeStartRequest_2
    336          
    337              // Are the parameters OK?
    338              } else if ((!msupChannelValid(logicalChannel)) || (beaconOrder > BEACON_ORDER_NO_BEACON) || ((superframeOrder > beaconOrder) && (superframeOrder != BEACON_ORDER_NO_BEACON))) {
   \                     ??mlmeStartRequest_1:
   \   00004A                ; Setup parameters for call to function msupChannelValid
   \   00004A   12....       LCALL   msupChannelValid
   \   00004D   E9           MOV     A,R1
   \   00004E   6018         JZ      ??mlmeStartRequest_3
   \   000050   85..82       MOV     DPL,?XSP + 0
   \   000053   85..83       MOV     DPH,?XSP + 1
   \   000056   E0           MOVX    A,@DPTR
   \   000057   C3           CLR     C
   \   000058   9410         SUBB    A,#0x10
   \   00005A   500C         JNC     ??mlmeStartRequest_3
   \   00005C   E0           MOVX    A,@DPTR
   \   00005D   C3           CLR     C
   \   00005E   95..         SUBB    A,?V0 + 3
   \   000060   500B         JNC     ??mlmeStartRequest_4
   \   000062   740F         MOV     A,#0xf
   \   000064   65..         XRL     A,?V0 + 3
   \   000066   6005         JZ      ??mlmeStartRequest_4
    339                  return INVALID_PARAMETER;
   \                     ??mlmeStartRequest_3:
   \   000068   79E8         MOV     R1,#-0x18
   \   00006A   02....       LJMP    ??mlmeStartRequest_2
    340          
    341              // Go ahead...
    342              } else {
    343          
    344                  // Transmit coordinator realignment?
    345                  if (coordRealignment) {
   \                     ??mlmeStartRequest_4:
   \   00006D   E5..         MOV     A,?V0 + 0
   \   00006F   7003         JNZ     $+5
   \   000071   02....       LJMP    ??mlmeStartRequest_5
    346          
    347                      // Reserve a packet to use with the TX engine
    348                      do {
    349                          pPacket = mtxpReservePacket();
   \                     ??mlmeStartRequest_6:
   \   000074                ; Setup parameters for call to function mtxpReservePacket
   \   000074   12....       LCALL   mtxpReservePacket
   \   000077   8A..         MOV     ?V0 + 4,R2
   \   000079   8B..         MOV     ?V0 + 5,R3
    350                      } while (!pPacket);
   \   00007B   EA           MOV     A,R2
   \   00007C   7001         JNZ     ??mlmeStartRequest_7
   \   00007E   EB           MOV     A,R3
   \                     ??mlmeStartRequest_7:
   \   00007F   60F3         JZ      ??mlmeStartRequest_6
    351          
    352                      // Prepare the packet data
    353                      mbcnPrepareCoordinatorRealignment(pPacket, NULL, 0xFFFF, securityEnable, panId, logicalChannel);
   \   000081                ; Setup parameters for call to function mbcnPrepareCoordinatorRealignment
   \   000081   EE           MOV     A,R6
   \   000082   F5..         MOV     ?V0 + 0,A
   \   000084   78..         MOV     R0,#?V0 + 0
   \   000086   12....       LCALL   ?PUSH_XSTACK_I_ONE
   \   000089   7403         MOV     A,#0x3
   \   00008B   12....       LCALL   ?XSTACK_DISP0_8
   \   00008E   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   000091   75..FF       MOV     ?V0 + 0,#-0x1
   \   000094   75..FF       MOV     ?V0 + 1,#-0x1
   \   000097   78..         MOV     R0,#?V0 + 0
   \   000099   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00009C   EF           MOV     A,R7
   \   00009D   F9           MOV     R1,A
   \   00009E   7C00         MOV     R4,#0x0
   \   0000A0   7D00         MOV     R5,#0x0
   \   0000A2   90....       MOV     DPTR,#(mbcnPrepareCoordinatorRealignment & 0xffff)
   \   0000A5   74..         MOV     A,#((mbcnPrepareCoordinatorRealignment >> 16) & 0xff)
   \   0000A7   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000AA   7405         MOV     A,#0x5
   \   0000AC   12....       LCALL   ?DEALLOC_XSTACK8
    354          #if MAC_OPT_SECURITY
    355                      // In case of frame counter overflow or missing key
    356                      // Generate error with FAILED_SECURITY_CHECK or UNAVAILABLE_KEY
    357                      if (pPacket->securitySuite >= 8) {
    358                          mtxpReleasePacket(pPacket);
    359                          return pPacket->securitySuite;
    360                      }
    361          #endif
    362          
    363                      // Initiate the transmission
    364                      do {
    365                          taskNumber = mschReserveTask();
   \                     ??mlmeStartRequest_8:
   \   0000AF                ; Setup parameters for call to function mschReserveTask
   \   0000AF   12....       LCALL   mschReserveTask
    366                      } while (taskNumber == NO_TASK);
   \   0000B2   74FF         MOV     A,#-0x1
   \   0000B4   69           XRL     A,R1
   \   0000B5   60F8         JZ      ??mlmeStartRequest_8
    367                      mschAddTask(taskNumber, MAC_TASK_PRI_LOW, mtxScheduleTransmission, (WORD) pPacket);
   \   0000B7                ; Setup parameters for call to function mschAddTask
   \   0000B7   75....       MOV     ?V0 + 0,#(mtxScheduleTransmission & 0xff)
   \   0000BA   75....       MOV     ?V0 + 1,#((mtxScheduleTransmission >> 8) & 0xff)
   \   0000BD   75....       MOV     ?V0 + 2,#((mtxScheduleTransmission >> 16) & 0xff)
   \   0000C0   78..         MOV     R0,#?V0 + 0
   \   0000C2   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   0000C5   AC..         MOV     R4,?V0 + 4
   \   0000C7   AD..         MOV     R5,?V0 + 5
   \   0000C9   7A00         MOV     R2,#0x0
   \   0000CB   12....       LCALL   mschAddTask
   \   0000CE   7403         MOV     A,#0x3
   \   0000D0   12....       LCALL   ?DEALLOC_XSTACK8
    368          
    369                      // Dirty trick: Create another task to tell us when the transmission task has completed

⌨️ 快捷键说明

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