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

📄 mac_scan.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000061   A3           INC     DPTR
   \   000062   A3           INC     DPTR
   \   000063   A3           INC     DPTR
   \   000064   A3           INC     DPTR
   \   000065   A3           INC     DPTR
   \   000066   E0           MOVX    A,@DPTR
   \   000067   F5..         MOV     ?V0 + 1,A
   \   000069   8882         MOV     DPL,R0
   \   00006B   8983         MOV     DPH,R1
   \   00006D   A3           INC     DPTR
   \   00006E   A3           INC     DPTR
   \   00006F   A3           INC     DPTR
   \   000070   A3           INC     DPTR
   \   000071   A3           INC     DPTR
   \   000072   E0           MOVX    A,@DPTR
   \   000073   65..         XRL     A,?V0 + 1
   \   000075   70B6         JNZ     ??mscPanDescriptorExists_4
   \   000077   8E82         MOV     DPL,R6
   \   000079   8F83         MOV     DPH,R7
   \   00007B   A3           INC     DPTR
   \   00007C   A3           INC     DPTR
   \   00007D   A3           INC     DPTR
   \   00007E   A3           INC     DPTR
   \   00007F   A3           INC     DPTR
   \   000080   A3           INC     DPTR
   \   000081   E0           MOVX    A,@DPTR
   \   000082   FA           MOV     R2,A
   \   000083   A3           INC     DPTR
   \   000084   E0           MOVX    A,@DPTR
   \   000085   FB           MOV     R3,A
   \   000086   8882         MOV     DPL,R0
   \   000088   8983         MOV     DPH,R1
   \   00008A   A3           INC     DPTR
   \   00008B   A3           INC     DPTR
   \   00008C   A3           INC     DPTR
   \   00008D   A3           INC     DPTR
   \   00008E   A3           INC     DPTR
   \   00008F   A3           INC     DPTR
   \   000090   E0           MOVX    A,@DPTR
   \   000091   6A           XRL     A,R2
   \   000092   7003         JNZ     ??mscPanDescriptorExists_6
   \   000094   A3           INC     DPTR
   \   000095   E0           MOVX    A,@DPTR
   \   000096   6B           XRL     A,R3
   \                     ??mscPanDescriptorExists_6:
   \   000097   7094         JNZ     ??mscPanDescriptorExists_4
   \   000099   EE           MOV     A,R6
   \   00009A   2416         ADD     A,#0x16
   \   00009C   F582         MOV     DPL,A
   \   00009E   EF           MOV     A,R7
   \   00009F   3400         ADDC    A,#0x0
   \   0000A1   F583         MOV     DPH,A
   \   0000A3   E0           MOVX    A,@DPTR
   \   0000A4   FA           MOV     R2,A
   \   0000A5   E8           MOV     A,R0
   \   0000A6   2416         ADD     A,#0x16
   \   0000A8   F582         MOV     DPL,A
   \   0000AA   E9           MOV     A,R1
   \   0000AB   3400         ADDC    A,#0x0
   \   0000AD   F583         MOV     DPH,A
   \   0000AF   E0           MOVX    A,@DPTR
   \   0000B0   6A           XRL     A,R2
   \   0000B1   6003         JZ      $+5
   \   0000B3   02....       LJMP    ??mscPanDescriptorExists_4
   \   0000B6   E8           MOV     A,R0
   \   0000B7   2408         ADD     A,#0x8
   \   0000B9   FC           MOV     R4,A
   \   0000BA   E9           MOV     A,R1
   \   0000BB   3400         ADDC    A,#0x0
   \   0000BD   FD           MOV     R5,A
   \   0000BE   EE           MOV     A,R6
   \   0000BF   2408         ADD     A,#0x8
   \   0000C1   F582         MOV     DPL,A
   \   0000C3   EF           MOV     A,R7
   \   0000C4   3400         ADDC    A,#0x0
   \   0000C6   F583         MOV     DPH,A
   \   0000C8   7403         MOV     A,#0x3
   \   0000CA   65..         XRL     A,?V0 + 1
   \   0000CC   6003         JZ      $+5
   \   0000CE   02....       LJMP    ??mscPanDescriptorExists_1
   \   0000D1                ; Setup parameters for call to function msupCompareExtendedAddress
   \   0000D1   AA82         MOV     R2,DPL
   \   0000D3   AB83         MOV     R3,DPH
   \   0000D5   12....       LCALL   msupCompareExtendedAddress
   \   0000D8   E9           MOV     A,R1
   \   0000D9   7003         JNZ     $+5
   \   0000DB   02....       LJMP    ??mscPanDescriptorExists_4
   \                     ??mscPanDescriptorExists_3:
   \   0000DE   7901         MOV     R1,#0x1
   \   0000E0   8002         SJMP    ??mscPanDescriptorExists_7
    238                  }
    239              }
    240          
    241              // No match
    242              return FALSE;
   \                     ??mscPanDescriptorExists_5:
   \   0000E2   7900         MOV     R1,#0x0
   \                     ??mscPanDescriptorExists_7:
   \   0000E4   02....       LJMP    ??Subroutine0_0
    243          
    244          } // mscPanDescriptorExists
    245          
    246          
    247          
    248          
    249          //-------------------------------------------------------------------------------------------------------
    250          //  BOOL mscSetNextChannel(void)
    251          //
    252          //  DESCRIPTION:
    253          //      Finds the next valid channel during scan (changes the mscInfo.currentChannel variable), and
    254          //      updates the unscanned channels mask.
    255          //
    256          //  RETURN VALUE:
    257          //      BOOL
    258          //          FALSE when there are no more channels to scan.
    259          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    260          ROOT BOOL mscSetNextChannel(void) {
   \                     mscSetNextChannel:
   \   000000   74F1         MOV     A,#-0xf
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 15
   \   000005                ; Auto size: 0
    261              UINT8 n;
    262              DWORD bitmask = 0x00000001;
   \   000005   90....       MOV     DPTR,#__Constant_1
   \   000008   78..         MOV     R0,#?V0 + 4
   \   00000A   12....       LCALL   ?L_MOV_X
    263          
    264              // Go through the channels
    265              mscInfo.currentChannel++;
   \   00000D   90....       MOV     DPTR,#(mscInfo + 8)
   \   000010   E0           MOVX    A,@DPTR
   \   000011   04           INC     A
   \   000012   F0           MOVX    @DPTR,A
    266              for (n = 0; n < 27; n++) {
   \   000013   7A00         MOV     R2,#0x0
    267                  if (n >= mscInfo.currentChannel) {
   \                     ??mscSetNextChannel_0:
   \   000015   90....       MOV     DPTR,#(mscInfo + 8)
   \   000018   E0           MOVX    A,@DPTR
   \   000019   FB           MOV     R3,A
   \   00001A   EA           MOV     A,R2
   \   00001B   C3           CLR     C
   \   00001C   9B           SUBB    A,R3
   \   00001D   403D         JC      ??mscSetNextChannel_1
    268                      if (bitmask & mscInfo.scanChannels) {
   \   00001F   85....       MOV     ?V0 + 0,?V0 + 4
   \   000022   85....       MOV     ?V0 + 1,?V0 + 5
   \   000025   85....       MOV     ?V0 + 2,?V0 + 6
   \   000028   85....       MOV     ?V0 + 3,?V0 + 7
   \   00002B   90....       MOV     DPTR,#(mscInfo + 1)
   \   00002E   78..         MOV     R0,#?V0 + 0
   \   000030   12....       LCALL   ?L_AND_X
   \   000033   90....       MOV     DPTR,#__Constant_0
   \   000036   78..         MOV     R0,#?V0 + 0
   \   000038   12....       LCALL   ?L_EQ_X
   \   00003B   601F         JZ      ??mscSetNextChannel_1
    269                          mscInfo.currentChannel = n;
   \   00003D   EA           MOV     A,R2
   \   00003E   90....       MOV     DPTR,#(mscInfo + 8)
   \   000041   F0           MOVX    @DPTR,A
    270                          mscInfo.pScanResult->unscannedChannels &= ~bitmask;
   \   000042   78..         MOV     R0,#?V0 + 4
   \   000044   12....       LCALL   ?L_NOT
   \   000047   90....       MOV     DPTR,#(mscInfo + 6)
   \   00004A   E0           MOVX    A,@DPTR
   \   00004B   F8           MOV     R0,A
   \   00004C   A3           INC     DPTR
   \   00004D   E0           MOVX    A,@DPTR
   \   00004E   F583         MOV     DPH,A
   \   000050   8882         MOV     DPL,R0
   \   000052   A3           INC     DPTR
   \   000053   78..         MOV     R0,#?V0 + 4
   \   000055   12....       LCALL   ?L_AND_TO_X
    271                          return TRUE;
   \   000058   7901         MOV     R1,#0x1
   \   00005A   8010         SJMP    ??mscSetNextChannel_2
    272                      }
    273                  }
    274                  bitmask = bitmask << 1;
   \                     ??mscSetNextChannel_1:
   \   00005C   7401         MOV     A,#0x1
   \   00005E   78..         MOV     R0,#?V0 + 4
   \   000060   12....       LCALL   ?L_SHL
    275              }
   \   000063   0A           INC     R2
   \   000064   EA           MOV     A,R2
   \   000065   C3           CLR     C
   \   000066   941B         SUBB    A,#0x1b
   \   000068   40AB         JC      ??mscSetNextChannel_0
    276              return FALSE;
   \   00006A   7900         MOV     R1,#0x0
   \                     ??mscSetNextChannel_2:
   \   00006C   7F08         MOV     R7,#0x8
   \   00006E   02....       LJMP    ?FUNC_LEAVE_XDATA
    277          
    278          } // mscSetNextChannel
    279          
    280          
    281          
    282          
    283          //-------------------------------------------------------------------------------------------------------
    284          //  void mscChannelTimeout(void)
    285          //
    286          //  DESCRIPTION:
    287          //      Callback used by the scanning mechanism to indicate that the current channel has been finished.
    288          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    289          void mscChannelTimeout(void) NEAR {
   \                     mscChannelTimeout:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    290              mscInfo.channelComplete = TRUE;
   \   000004   7401         MOV     A,#0x1
   \   000006   90....       MOV     DPTR,#(mscInfo + 9)
   \   000009   F0           MOVX    @DPTR,A
    291          } // mscChannelTimeout
   \   00000A   D083         POP     DPH
   \   00000C   D082         POP     DPL
   \   00000E   02....       LJMP    ?BRET
    292          
    293          
    294          
    295          
    296          //-------------------------------------------------------------------------------------------------------
    297          //  void mscChannelTimeout(void)
    298          //
    299          //  DESCRIPTION:
    300          //      This task implements the scan state machine.
    301          //
    302          //  TASK DATA:
    303          //      0
    304          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    305          void mscScanProcedure(MAC_TASK_INFO   *pTask) NEAR {
   \                     mscScanProcedure:
   \   000000   74F0         MOV     A,#-0x10

⌨️ 快捷键说明

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