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

📄 ref_node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000147   A3           INC     DPTR
   \   000148   E0           MOVX    A,@DPTR
   \   000149   FB           MOV     R3,A
   \   00014A   90....       MOV     DPTR,#(SendPosition & 0xffff)
   \   00014D   74..         MOV     A,#((SendPosition >> 16) & 0xff)
   \   00014F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000152   D290         SETB    0x90.0
   \   000154                ; Setup parameters for call to function AddToSleepTimer
   \   000154   7AEE         MOV     R2,#-0x12
   \   000156   7B02         MOV     R3,#0x2
   \   000158   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   00015B   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   00015D   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??RunRefNode_8:
   \   000160   E4           CLR     A
   \   000161   90....       MOV     DPTR,#buffer
   \   000164   F0           MOVX    @DPTR,A
   \                     ??RunRefNode_7:
   \   000165   90....       MOV     DPTR,#parametersReceived
   \   000168   E0           MOVX    A,@DPTR
   \   000169   6023         JZ      ??RunRefNode_12
   \   00016B   C2AD         CLR     0xa8.5
   \   00016D   E4           CLR     A
   \   00016E   F0           MOVX    @DPTR,A
   \   00016F                ; Setup parameters for call to function SendPosition
   \   00016F   7A34         MOV     R2,#0x34
   \   000171   7B12         MOV     R3,#0x12
   \   000173   90....       MOV     DPTR,#(SendPosition & 0xffff)
   \   000176   74..         MOV     A,#((SendPosition >> 16) & 0xff)
   \   000178   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00017B                ; Setup parameters for call to function storeCoordinates
   \   00017B   12....       LCALL   storeCoordinates
   \   00017E   C2C7         CLR     0xc0.7
   \   000180   D2AD         SETB    0xa8.5
   \   000182                ; Setup parameters for call to function AddToSleepTimer
   \   000182   7AEE         MOV     R2,#-0x12
   \   000184   7B02         MOV     R3,#0x2
   \   000186   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   000189   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   00018B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??RunRefNode_12:
   \   00018E   90....       MOV     DPTR,#blinkLed
   \   000191   E0           MOVX    A,@DPTR
   \   000192   600E         JZ      ??RunRefNode_13
   \   000194   E4           CLR     A
   \   000195   F0           MOVX    @DPTR,A
   \   000196   C290         CLR     0x90.0
   \   000198   90....       MOV     DPTR,#ledBlinkCounter
   \   00019B   F0           MOVX    @DPTR,A
   \   00019C   7402         MOV     A,#0x2
   \   00019E   90....       MOV     DPTR,#refNodeState
   \   0001A1   F0           MOVX    @DPTR,A
   \                     ??RunRefNode_13:
   \   0001A2                ; Setup parameters for call to function GetSleepTimer
   \   0001A2   7404         MOV     A,#0x4
   \   0001A4   12....       LCALL   ?XSTACK_DISP0_8
   \   0001A7   AA82         MOV     R2,DPL
   \   0001A9   AB83         MOV     R3,DPH
   \   0001AB   90....       MOV     DPTR,#(GetSleepTimer & 0xffff)
   \   0001AE   74..         MOV     A,#((GetSleepTimer >> 16) & 0xff)
   \   0001B0   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0001B3   85..82       MOV     DPL,?XSP + 0
   \   0001B6   85..83       MOV     DPH,?XSP + 1
   \   0001B9   78..         MOV     R0,#?V0 + 0
   \   0001BB   12....       LCALL   ?UL_GT_X
   \   0001BE   4003         JC      $+5
   \   0001C0   02....       LJMP    ??RunRefNode_4
   \   0001C3   7404         MOV     A,#0x4
   \   0001C5   12....       LCALL   ?XSTACK_DISP0_8
   \   0001C8   78..         MOV     R0,#?V0 + 4
   \   0001CA   12....       LCALL   ?L_MOV_X
   \   0001CD   78..         MOV     R0,#?V0 + 4
   \   0001CF   79..         MOV     R1,#?V0 + 0
   \   0001D1   12....       LCALL   ?UL_GT
   \   0001D4   5003         JNC     $+5
   \   0001D6   02....       LJMP    ??RunRefNode_6
   \   0001D9   7404         MOV     A,#0x4
   \   0001DB   12....       LCALL   ?XSTACK_DISP0_8
   \   0001DE   C082         PUSH    DPL
   \   0001E0   C083         PUSH    DPH
   \   0001E2   85..82       MOV     DPL,?XSP + 0
   \   0001E5   85..83       MOV     DPH,?XSP + 1
   \   0001E8   78..         MOV     R0,#?V0 + 4
   \   0001EA   12....       LCALL   ?L_MOV_X
   \   0001ED   D083         POP     DPH
   \   0001EF   D082         POP     DPL
   \   0001F1   78..         MOV     R0,#?V0 + 4
   \   0001F3   12....       LCALL   ?UL_GT_X
   \   0001F6   5003         JNC     $+5
   \   0001F8   02....       LJMP    ??RunRefNode_6
   \   0001FB   02....       LJMP    ??RunRefNode_5
    213             }
    214          }
    215          
    216          /******************************************************************************
    217          *
    218          * This function return the value for the sleep timer
    219          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    220          void GetSleepTimer(UINT32 *value){
   \                     GetSleepTimer:
   \   000000   74F4         MOV     A,#-0xc
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 12
   \   000005                ; Auto size: 0
    221             *value = ST0;
   \   000005   E595         MOV     A,0x95
   \   000007   8A82         MOV     DPL,R2
   \   000009   8B83         MOV     DPH,R3
   \   00000B   F0           MOVX    @DPTR,A
   \   00000C   A3           INC     DPTR
   \   00000D   E4           CLR     A
   \   00000E   F0           MOVX    @DPTR,A
   \   00000F   A3           INC     DPTR
   \   000010   F0           MOVX    @DPTR,A
   \   000011   A3           INC     DPTR
   \   000012   F0           MOVX    @DPTR,A
    222             *value |= (UINT32)ST1 <<  8;
   \   000013   8596..       MOV     ?V0 + 0,0x96
   \   000016   F5..         MOV     ?V0 + 1,A
   \   000018   F5..         MOV     ?V0 + 2,A
   \   00001A   F5..         MOV     ?V0 + 3,A
   \   00001C   7408         MOV     A,#0x8
   \   00001E   78..         MOV     R0,#?V0 + 0
   \   000020   12....       LCALL   ?L_SHL
   \   000023   8A82         MOV     DPL,R2
   \   000025   8B83         MOV     DPH,R3
   \   000027   78..         MOV     R0,#?V0 + 0
   \   000029   12....       LCALL   ?L_IOR_TO_X
    223             *value |= (UINT32)ST2 << 16;
   \   00002C   8597..       MOV     ?V0 + 0,0x97
   \   00002F   75..00       MOV     ?V0 + 1,#0x0
   \   000032   7410         MOV     A,#0x10
   \   000034   78..         MOV     R0,#?V0 + 0
   \   000036   12....       LCALL   ?L_SHL
   \   000039   8A82         MOV     DPL,R2
   \   00003B   8B83         MOV     DPH,R3
   \   00003D   78..         MOV     R0,#?V0 + 0
   \   00003F   12....       LCALL   ?L_IOR_TO_X
    224          }
   \   000042   7F04         MOV     R7,#0x4
   \   000044   02....       LJMP    ?BANKED_LEAVE_XDATA
    225          
    226          /******************************************************************************
    227          *
    228          * This function setup x and y when a packet is received.
    229          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    230          void SetupRefNode(BYTE *b){
   \                     SetupRefNode:
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
    231             UINT8 i;
    232          
    233             for(i = 0; i < b[0]; i++){
   \   000005   7E00         MOV     R6,#0x0
   \   000007   8017         SJMP    ??SetupRefNode_0
    234                switch( b[1 + i*3] )
    235                {
    236                case X:
    237                   x = BYTES_TO_WORD(b[2 + i*3], b[3 + i*3]);
    238                   break;
    239                case Y:
    240                   y = BYTES_TO_WORD(b[2 + i*3], b[3 + i*3]);
   \                     ??SetupRefNode_1:
   \   000009   8C82         MOV     DPL,R4
   \   00000B   8D83         MOV     DPH,R5
   \   00000D   E0           MOVX    A,@DPTR
   \   00000E   FD           MOV     R5,A
   \   00000F   8882         MOV     DPL,R0
   \   000011   8983         MOV     DPH,R1
   \   000013   E0           MOVX    A,@DPTR
   \   000014   F8           MOV     R0,A
   \   000015   ED           MOV     A,R5
   \   000016   F9           MOV     R1,A
   \   000017   90....       MOV     DPTR,#y
   \                     ??SetupRefNode_2:
   \   00001A   E8           MOV     A,R0
   \   00001B   F0           MOVX    @DPTR,A
   \   00001C   A3           INC     DPTR
   \   00001D   E9           MOV     A,R1
   \   00001E   F0           MOVX    @DPTR,A
   \                     ??SetupRefNode_3:
   \   00001F   0E           INC     R6
   \                     ??SetupRefNode_0:
   \   000020   8A82         MOV     DPL,R2
   \   000022   8B83         MOV     DPH,R3
   \   000024   E0           MOVX    A,@DPTR
   \   000025   FC           MOV     R4,A
   \   000026   EE           MOV     A,R6
   \   000027   C3           CLR     C
   \   000028   9C           SUBB    A,R4
   \   000029   5044         JNC     ??SetupRefNode_4
   \   00002B   EE           MOV     A,R6
   \   00002C   75F003       MOV     B,#0x3
   \   00002F   A4           MUL     AB
   \   000030   F8           MOV     R0,A
   \   000031   A9F0         MOV     R1,B
   \   000033   EA           MOV     A,R2
   \   000034   28           ADD     A,R0
   \   000035   F582         MOV     DPL,A
   \   000037   EB           MOV     A,R3
   \   000038   39           ADDC    A,R1
   \   000039   F583         MOV     DPH,A
   \   00003B   E582         MOV     A,DPL
   \   00003D   2403         ADD     A,#0x3
   \   00003F   F8           MOV     R0,A
   \   000040   E583         MOV     A,DPH
   \   000042   3400         ADDC    A,#0x0
   \   000044   F9           MOV     R1,A
   \   000045   E582         MOV     A,DPL
   \   000047   2402         ADD     A,#0x2
   \   000049   FC           MOV     R4,A
   \   00004A   E583         MOV     A,DPH
   \   00004C   3400         ADDC    A,#0x0
   \   00004E   FD           MOV     R5,A
   \   00004F   A3           INC     DPTR
   \   000050   E0           MOVX    A,@DPTR
   \   000051   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for SetupRefNode>_0`:
   \   000054   01           DB        1
   \   000055   01           DB        1
   \   000056   ....         DW        ??SetupRefNode_3
   \   000058   ....         DW        ??SetupRefNode_5
   \   00005A   ....         DW        ??SetupRefNode_1
   \                     ??SetupRefNode_5:
   \   00005C   8C82         MOV     DPL,R4
   \   00005E   8D83         MOV     DPH,R5
   \   000060   E0           MOVX    A,@DPTR
   \   000061   FD           MOV     R5,A
   \   000062   8882         MOV     DPL,R0
   \   000064   8983         MOV     DPH,R1
   \   000066   E0           MOVX    A,@DPTR
   \   000067   F8           MOV     R0,A
   \   000068   ED           MOV     A,R5
   \   000069   F9           MOV     R1,A
   \   00006A   90....       MOV     DPTR,#x
   \   00006D   80AB         SJMP    ??SetupRefNode_2
    241                   break;
    242                case Z:
    243                   // unimplemented
    244                   break;
    245                default:
    246                   break;
    247                }
    248             }
    249             parametersReceived = TRUE;
   \                     ??SetupRefNode_4:
   \   00006F   7401         MOV     A,#0x1
   \   000071   90....       MOV     DPTR,#parametersReceived
   \   000074   F0           MOVX    @DPTR,A
    250          }
   \   000075   FF           MOV     R7,A
   \   000076   02....       LJMP    ?BANKED_LEAVE_XDATA
    251          
    252          /******************************************************************************
    253          *
    254          * This function handle sleep timer interrupts for reference node.
    255          ******************************************************************************/

⌨️ 快捷键说明

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