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

📄 mac_scan.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000013   A3           INC     DPTR
   \   000014   F0           MOVX    @DPTR,A
    100          
    101              // Try to reserve a packet
    102              pPacket = mtxpReservePacket();
   \   000015                ; Setup parameters for call to function mtxpReservePacket
   \   000015   12....       LCALL   mtxpReservePacket
   \   000018   8A..         MOV     ?V0 + 0,R2
   \   00001A   8B..         MOV     ?V0 + 1,R3
   \   00001C   AE..         MOV     R6,?V0 + 0
   \   00001E   AF..         MOV     R7,?V0 + 1
    103              if (!pPacket) return FALSE;
   \   000020   EE           MOV     A,R6
   \   000021   7001         JNZ     ??mscTransmitBeaconRequest_0
   \   000023   EF           MOV     A,R7
   \                     ??mscTransmitBeaconRequest_0:
   \   000024   7005         JNZ     ??mscTransmitBeaconRequest_1
   \                     ??mscTransmitBeaconRequest_2:
   \   000026   7900         MOV     R1,#0x0
   \   000028   02....       LJMP    ??mscTransmitBeaconRequest_3
    104          
    105              // Try to reserve a transmission task
    106              taskNumber = mschReserveTask();
   \                     ??mscTransmitBeaconRequest_1:
   \   00002B                ; Setup parameters for call to function mschReserveTask
   \   00002B   12....       LCALL   mschReserveTask
   \   00002E   E9           MOV     A,R1
   \   00002F   F5..         MOV     ?V0 + 3,A
    107              if (taskNumber == NO_TASK) {
   \   000031   74FF         MOV     A,#-0x1
   \   000033   65..         XRL     A,?V0 + 3
   \   000035   7009         JNZ     ??mscTransmitBeaconRequest_4
    108                  mtxpReleasePacket(pPacket);
   \   000037                ; Setup parameters for call to function mtxpReleasePacket
   \   000037   EE           MOV     A,R6
   \   000038   FA           MOV     R2,A
   \   000039   EF           MOV     A,R7
   \   00003A   FB           MOV     R3,A
   \   00003B   12....       LCALL   mtxpReleasePacket
    109                  return FALSE;
   \   00003E   80E6         SJMP    ??mscTransmitBeaconRequest_2
    110              }
    111          
    112              // TX mode
    113              pPacket->txMode = MTX_MODE_USE_CSMACA_BM | MTX_MODE_SCAN_RELATED_BM;
   \                     ??mscTransmitBeaconRequest_4:
   \   000040   EE           MOV     A,R6
   \   000041   2486         ADD     A,#-0x7a
   \   000043   F582         MOV     DPL,A
   \   000045   EF           MOV     A,R7
   \   000046   3400         ADDC    A,#0x0
   \   000048   F583         MOV     DPH,A
   \   00004A   7409         MOV     A,#0x9
   \   00004C   F0           MOVX    @DPTR,A
    114              pPacket->retriesLeft = aMaxFrameRetries;
   \   00004D   EE           MOV     A,R6
   \   00004E   2491         ADD     A,#-0x6f
   \   000050   F582         MOV     DPL,A
   \   000052   EF           MOV     A,R7
   \   000053   3400         ADDC    A,#0x0
   \   000055   F583         MOV     DPH,A
   \   000057   7403         MOV     A,#0x3
   \   000059   F0           MOVX    @DPTR,A
    115          
    116              // Generate the packet header
    117              msupPrepareHeader(pPacket, FT_MAC_COMMAND, DEST_ADDR_SHORT, broadcast, (ADDRESS   *) &broadcast, broadcast, (ADDRESS   *) &broadcast, TX_OPT_NONE);
   \   00005A                ; Setup parameters for call to function msupPrepareHeader
   \   00005A   85..82       MOV     DPL,?XSP + 0
   \   00005D   85..83       MOV     DPH,?XSP + 1
   \   000060   8582..       MOV     ?V0 + 0,DPL
   \   000063   8583..       MOV     ?V0 + 1,DPH
   \   000066   78..         MOV     R0,#?V0 + 0
   \   000068   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00006B   7402         MOV     A,#0x2
   \   00006D   12....       LCALL   ?XSTACK_DISP0_8
   \   000070   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   000073   7404         MOV     A,#0x4
   \   000075   12....       LCALL   ?XSTACK_DISP0_8
   \   000078   8582..       MOV     ?V0 + 0,DPL
   \   00007B   78..         MOV     R0,#?V0 + 0
   \   00007D   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000080   7406         MOV     A,#0x6
   \   000082   12....       LCALL   ?XSTACK_DISP0_8
   \   000085   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   000088   7D00         MOV     R5,#0x0
   \   00008A   7C08         MOV     R4,#0x8
   \   00008C   7903         MOV     R1,#0x3
   \   00008E   EE           MOV     A,R6
   \   00008F   FA           MOV     R2,A
   \   000090   EF           MOV     A,R7
   \   000091   FB           MOV     R3,A
   \   000092   12....       LCALL   msupPrepareHeader
   \   000095   7408         MOV     A,#0x8
   \   000097   12....       LCALL   ?DEALLOC_XSTACK8
    118          
    119              // Generate the packet payload
    120              pPacket->pPayload[0] = CMD_BEACON_REQUEST;
   \   00009A   EE           MOV     A,R6
   \   00009B   241A         ADD     A,#0x1a
   \   00009D   F582         MOV     DPL,A
   \   00009F   EF           MOV     A,R7
   \   0000A0   3400         ADDC    A,#0x0
   \   0000A2   F583         MOV     DPH,A
   \   0000A4   7407         MOV     A,#0x7
   \   0000A6   F0           MOVX    @DPTR,A
    121          
    122              // Store the command type
    123              pPacket->commandType = CMD_BEACON_REQUEST;
   \   0000A7   EE           MOV     A,R6
   \   0000A8   2483         ADD     A,#-0x7d
   \   0000AA   F582         MOV     DPL,A
   \   0000AC   EF           MOV     A,R7
   \   0000AD   3400         ADDC    A,#0x0
   \   0000AF   F583         MOV     DPH,A
   \   0000B1   7407         MOV     A,#0x7
   \   0000B3   F0           MOVX    @DPTR,A
    124          
    125              // Calculate and set the total packet length
    126              pPacket->length = pPacket->headerLength + CMD_BEACON_REQUEST_PAYLOAD_LENGTH + MAC_FCS_LENGTH;
   \   0000B4   8E82         MOV     DPL,R6
   \   0000B6   8F83         MOV     DPH,R7
   \   0000B8   A3           INC     DPTR
   \   0000B9   E0           MOVX    A,@DPTR
   \   0000BA   2403         ADD     A,#0x3
   \   0000BC   F9           MOV     R1,A
   \   0000BD   8E82         MOV     DPL,R6
   \   0000BF   8F83         MOV     DPH,R7
   \   0000C1   A3           INC     DPTR
   \   0000C2   A3           INC     DPTR
   \   0000C3   F0           MOVX    @DPTR,A
    127          
    128              // Calculate the packet duration (including ack. and IFS)
    129              pPacket->duration = msupCalcPacketDuration(pPacket->length, FALSE);
   \   0000C4                ; Setup parameters for call to function msupCalcPacketDuration
   \   0000C4   7A00         MOV     R2,#0x0
   \   0000C6   12....       LCALL   msupCalcPacketDuration
   \   0000C9   EE           MOV     A,R6
   \   0000CA   2485         ADD     A,#-0x7b
   \   0000CC   F582         MOV     DPL,A
   \   0000CE   EF           MOV     A,R7
   \   0000CF   3400         ADDC    A,#0x0
   \   0000D1   F583         MOV     DPH,A
   \   0000D3   E9           MOV     A,R1
   \   0000D4   F0           MOVX    @DPTR,A
    130          
    131              // Initiate the transmission
    132              mschAddTask(taskNumber, MAC_TASK_PRI_LOW, mtxScheduleTransmission, (WORD) pPacket);
   \   0000D5                ; Setup parameters for call to function mschAddTask
   \   0000D5   75....       MOV     ?V0 + 0,#(mtxScheduleTransmission & 0xff)
   \   0000D8   75....       MOV     ?V0 + 1,#((mtxScheduleTransmission >> 8) & 0xff)
   \   0000DB   75....       MOV     ?V0 + 2,#((mtxScheduleTransmission >> 16) & 0xff)
   \   0000DE   78..         MOV     R0,#?V0 + 0
   \   0000E0   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   0000E3   EE           MOV     A,R6
   \   0000E4   FC           MOV     R4,A
   \   0000E5   EF           MOV     A,R7
   \   0000E6   FD           MOV     R5,A
   \   0000E7   7A00         MOV     R2,#0x0
   \   0000E9   A9..         MOV     R1,?V0 + 3
   \   0000EB   12....       LCALL   mschAddTask
   \   0000EE   7403         MOV     A,#0x3
   \   0000F0   12....       LCALL   ?DEALLOC_XSTACK8
    133          
    134              return TRUE;
   \   0000F3   7901         MOV     R1,#0x1
   \                     ??mscTransmitBeaconRequest_3:
   \   0000F5   02....       LJMP    ?Subroutine0
    135          
    136          } // mipTransmitDataRequest
    137          
    138          
    139          
    140          
    141          //-------------------------------------------------------------------------------------------------------
    142          //  BOOL mscTransmitOrphanNotification(void)
    143          //
    144          //  DESCRIPTION:
    145          //      Transmits an orphan notification during orphan scan.
    146          //
    147          //  RETURN VALUE:
    148          //      BOOL
    149          //          The transmission was initiated
    150          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    151          ROOT BOOL mscTransmitOrphanNotification(void) {
   \                     mscTransmitOrphanNotification:
   \   000000   74F5         MOV     A,#-0xb
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 11
   \   000005                ; Auto size: 2
   \   000005   74FE         MOV     A,#-0x2
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    152              MAC_TX_PACKET   *pPacket;
    153              UINT8 taskNumber;
    154              WORD broadcast = 0xFFFF;
   \   00000A   85..82       MOV     DPL,?XSP + 0
   \   00000D   85..83       MOV     DPH,?XSP + 1
   \   000010   74FF         MOV     A,#-0x1
   \   000012   F0           MOVX    @DPTR,A
   \   000013   A3           INC     DPTR
   \   000014   F0           MOVX    @DPTR,A
    155          
    156              // Try to reserve a packet
    157              pPacket = mtxpReservePacket();
   \   000015                ; Setup parameters for call to function mtxpReservePacket
   \   000015   12....       LCALL   mtxpReservePacket
   \   000018   8A..         MOV     ?V0 + 0,R2
   \   00001A   8B..         MOV     ?V0 + 1,R3
   \   00001C   AE..         MOV     R6,?V0 + 0
   \   00001E   AF..         MOV     R7,?V0 + 1
    158              if (!pPacket) return FALSE;
   \   000020   EE           MOV     A,R6
   \   000021   7001         JNZ     ??mscTransmitOrphanNotification_0
   \   000023   EF           MOV     A,R7
   \                     ??mscTransmitOrphanNotification_0:
   \   000024   7005         JNZ     ??mscTransmitOrphanNotification_1
   \                     ??mscTransmitOrphanNotification_2:
   \   000026   7900         MOV     R1,#0x0
   \   000028   02....       LJMP    ??mscTransmitOrphanNotification_3
    159          
    160              // Try to reserve a transmission task
    161              taskNumber = mschReserveTask();
   \                     ??mscTransmitOrphanNotification_1:
   \   00002B                ; Setup parameters for call to function mschReserveTask
   \   00002B   12....       LCALL   mschReserveTask
   \   00002E   E9           MOV     A,R1
   \   00002F   F5..         MOV     ?V0 + 3,A
    162              if (taskNumber == NO_TASK) {
   \   000031   74FF         MOV     A,#-0x1
   \   000033   65..         XRL     A,?V0 + 3
   \   000035   7009         JNZ     ??mscTransmitOrphanNotification_4
    163                  mtxpReleasePacket(pPacket);
   \   000037                ; Setup parameters for call to function mtxpReleasePacket
   \   000037   EE           MOV     A,R6
   \   000038   FA           MOV     R2,A
   \   000039   EF           MOV     A,R7
   \   00003A   FB           MOV     R3,A
   \   00003B   12....       LCALL   mtxpReleasePacket
    164                  return FALSE;
   \   00003E   80E6         SJMP    ??mscTransmitOrphanNotification_2
    165              }
    166          

⌨️ 快捷键说明

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