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

📄 node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 4 页
字号:
    141          
    142             va_start(ap, format);
   \   00000A   748C         MOV     A,#-0x74
   \   00000C   12....       LCALL   ?XSTACK_DISP0_8
   \   00000F   A882         MOV     R0,DPL
   \   000011   A983         MOV     R1,DPH
   \   000013   85..82       MOV     DPL,?XSP + 0
   \   000016   85..83       MOV     DPH,?XSP + 1
   \   000019   E8           MOV     A,R0
   \   00001A   F0           MOVX    @DPTR,A
   \   00001B   A3           INC     DPTR
   \   00001C   E9           MOV     A,R1
   \   00001D   F0           MOVX    @DPTR,A
    143             // vsprintf is a variant of sprintf which taking a va_list as arguemnt */
    144             nbrOfChars = vsprintf((char*)&sendBuffer[2], format, ap);
   \   00001E                ; Setup parameters for call to function vsprintf
   \   00001E   85..82       MOV     DPL,?XSP + 0
   \   000021   85..83       MOV     DPH,?XSP + 1
   \   000024   8582..       MOV     ?V0 + 0,DPL
   \   000027   8583..       MOV     ?V0 + 1,DPH
   \   00002A   78..         MOV     R0,#?V0 + 0
   \   00002C   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00002F   EA           MOV     A,R2
   \   000030   FC           MOV     R4,A
   \   000031   EB           MOV     A,R3
   \   000032   FD           MOV     R5,A
   \   000033   7406         MOV     A,#0x6
   \   000035   12....       LCALL   ?XSTACK_DISP0_8
   \   000038   AA82         MOV     R2,DPL
   \   00003A   AB83         MOV     R3,DPH
   \   00003C   90....       MOV     DPTR,#(vsprintf & 0xffff)
   \   00003F   74..         MOV     A,#((vsprintf >> 16) & 0xff)
   \   000041   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000044   7402         MOV     A,#0x2
   \   000046   12....       LCALL   ?DEALLOC_XSTACK8
    145             va_end(ap);
    146          
    147             sendBuffer[0] = PACKET_TYPE_DEBUG_TEXT;
   \   000049   7402         MOV     A,#0x2
   \   00004B   12....       LCALL   ?XSTACK_DISP0_8
   \   00004E   7430         MOV     A,#0x30
   \   000050   F0           MOVX    @DPTR,A
    148             sendBuffer[1] = nbrOfChars + 1;
   \   000051   7401         MOV     A,#0x1
   \   000053   2A           ADD     A,R2
   \   000054   C0E0         PUSH    A
   \   000056   7403         MOV     A,#0x3
   \   000058   12....       LCALL   ?XSTACK_DISP0_8
   \   00005B   D0E0         POP     A
   \   00005D   F0           MOVX    @DPTR,A
    149             DataRequest(PC_SHORT, nbrOfChars + 3, sendBuffer);
   \   00005E                ; Setup parameters for call to function DataRequest
   \   00005E   7402         MOV     A,#0x2
   \   000060   12....       LCALL   ?XSTACK_DISP0_8
   \   000063   AC82         MOV     R4,DPL
   \   000065   AD83         MOV     R5,DPH
   \   000067   7403         MOV     A,#0x3
   \   000069   2A           ADD     A,R2
   \   00006A   F9           MOV     R1,A
   \   00006B   7A34         MOV     R2,#0x34
   \   00006D   7B12         MOV     R3,#0x12
   \   00006F   90....       MOV     DPTR,#(DataRequest & 0xffff)
   \   000072   74..         MOV     A,#((DataRequest >> 16) & 0xff)
   \   000074   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    150          }
   \   000077   7482         MOV     A,#-0x7e
   \   000079                REQUIRE ?Subroutine0
   \   000079                ; // Fall through to label ?Subroutine0
    151          
    152          
    153          /******************************************************************************
    154          *
    155          * Add _msec_ number of milliseconds to sleep timer.
    156          * Using 33 Hz insted of 32.768 Hz for the RC osc.
    157          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    158          void AddToSleepTimer(UINT16 msec)
   \                     AddToSleepTimer:
    159          {
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 4
   \   000005   74FC         MOV     A,#-0x4
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    160             UINT32 sleepTimer;
    161          
    162             sleepTimer = ST0;
   \   00000A   E595         MOV     A,0x95
   \   00000C   85..82       MOV     DPL,?XSP + 0
   \   00000F   85..83       MOV     DPH,?XSP + 1
   \   000012   F0           MOVX    @DPTR,A
   \   000013   A3           INC     DPTR
   \   000014   E4           CLR     A
   \   000015   F0           MOVX    @DPTR,A
   \   000016   A3           INC     DPTR
   \   000017   F0           MOVX    @DPTR,A
   \   000018   A3           INC     DPTR
   \   000019   F0           MOVX    @DPTR,A
    163             sleepTimer |= (UINT32)ST1 <<  8;
   \   00001A   8596..       MOV     ?V0 + 0,0x96
   \   00001D   F5..         MOV     ?V0 + 1,A
   \   00001F   F5..         MOV     ?V0 + 2,A
   \   000021   F5..         MOV     ?V0 + 3,A
   \   000023   7408         MOV     A,#0x8
   \   000025   78..         MOV     R0,#?V0 + 0
   \   000027   12....       LCALL   ?L_SHL
   \   00002A   85..82       MOV     DPL,?XSP + 0
   \   00002D   85..83       MOV     DPH,?XSP + 1
   \   000030   78..         MOV     R0,#?V0 + 0
   \   000032   12....       LCALL   ?L_IOR_TO_X
    164             sleepTimer |= (UINT32)ST2 << 16;
   \   000035   8597..       MOV     ?V0 + 0,0x97
   \   000038   75..00       MOV     ?V0 + 1,#0x0
   \   00003B   7410         MOV     A,#0x10
   \   00003D   78..         MOV     R0,#?V0 + 0
   \   00003F   12....       LCALL   ?L_SHL
   \   000042   85..82       MOV     DPL,?XSP + 0
   \   000045   85..83       MOV     DPH,?XSP + 1
   \   000048   78..         MOV     R0,#?V0 + 0
   \   00004A   12....       LCALL   ?L_IOR_TO_X
    165          
    166             sleepTimer += ((UINT32)msec * (UINT32)33); // 32 768 kHz ~ 33 each mSecond
   \   00004D   8A..         MOV     ?V0 + 0,R2
   \   00004F   8B..         MOV     ?V0 + 1,R3
   \   000051   75..00       MOV     ?V0 + 2,#0x0
   \   000054   90....       MOV     DPTR,#__Constant_21
   \   000057   78..         MOV     R0,#?V0 + 4
   \   000059   12....       LCALL   ?L_MOV_X
   \   00005C   78..         MOV     R0,#?V0 + 0
   \   00005E   79..         MOV     R1,#?V0 + 4
   \   000060   12....       LCALL   ?L_MUL
   \   000063   85..82       MOV     DPL,?XSP + 0
   \   000066   85..83       MOV     DPH,?XSP + 1
   \   000069   78..         MOV     R0,#?V0 + 0
   \   00006B   12....       LCALL   ?L_ADD_TO_X
    167          
    168             if(sleepTimer > 0x00FFFFFF){
   \   00006E   85..82       MOV     DPL,?XSP + 0
   \   000071   85..83       MOV     DPH,?XSP + 1
   \   000074   C082         PUSH    DPL
   \   000076   C083         PUSH    DPH
   \   000078   90....       MOV     DPTR,#__Constant_1000000
   \   00007B   78..         MOV     R0,#?V0 + 0
   \   00007D   12....       LCALL   ?L_MOV_X
   \   000080   D083         POP     DPH
   \   000082   D082         POP     DPL
   \   000084   78..         MOV     R0,#?V0 + 0
   \   000086   12....       LCALL   ?UL_GT_X
   \   000089   4013         JC      ??AddToSleepTimer_0
    169               sleepTimer -= 0x00FFFFFF;
   \   00008B   90....       MOV     DPTR,#__Constant_ff000001
   \   00008E   78..         MOV     R0,#?V0 + 0
   \   000090   12....       LCALL   ?L_MOV_X
   \   000093   85..82       MOV     DPL,?XSP + 0
   \   000096   85..83       MOV     DPH,?XSP + 1
   \   000099   78..         MOV     R0,#?V0 + 0
   \   00009B   12....       LCALL   ?L_ADD_TO_X
    170             }
    171          
    172             ST2 = (UINT8)(sleepTimer >> 16);
   \                     ??AddToSleepTimer_0:
   \   00009E   85..82       MOV     DPL,?XSP + 0
   \   0000A1   85..83       MOV     DPH,?XSP + 1
   \   0000A4   78..         MOV     R0,#?V0 + 0
   \   0000A6   12....       LCALL   ?L_MOV_X
   \   0000A9   7410         MOV     A,#0x10
   \   0000AB   78..         MOV     R0,#?V0 + 0
   \   0000AD   12....       LCALL   ?UL_SHR
   \   0000B0   E5..         MOV     A,?V0 + 0
   \   0000B2   F597         MOV     0x97,A
    173             ST1 = (UINT8)(sleepTimer >> 8);
   \   0000B4   85..82       MOV     DPL,?XSP + 0
   \   0000B7   85..83       MOV     DPH,?XSP + 1
   \   0000BA   78..         MOV     R0,#?V0 + 0
   \   0000BC   12....       LCALL   ?L_MOV_X
   \   0000BF   E5..         MOV     A,?V0 + 1
   \   0000C1   F596         MOV     0x96,A
    174             ST0 = (UINT8) sleepTimer;
   \   0000C3   E5..         MOV     A,?V0 + 0
   \   0000C5   F595         MOV     0x95,A
    175          }
   \   0000C7   7404         MOV     A,#0x4
   \   0000C9   12....       LCALL   ?DEALLOC_XSTACK8
   \   0000CC   7F08         MOV     R7,#0x8
   \   0000CE   02....       LJMP    ?BANKED_LEAVE_XDATA
    176          
    177          #ifdef CC2430EB
    178          /******************************************************************************
    179          *
    180          * Print X and Y on LCD display, can only be used on SmartRF04EB
    181          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    182          void PrintXY(void){
   \                     PrintXY:
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 16
   \   000005   74F0         MOV     A,#-0x10
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    183             char s[16];
    184             sprintf(s, "X: %d.%d", UINT16_2_INT(x), FRAC_2_TO_DEC(x));
   \   00000A   90....       MOV     DPTR,#x
   \   00000D   E0           MOVX    A,@DPTR
   \   00000E   5403         ANL     A,#0x3
   \   000010   6403         XRL     A,#0x3
   \   000012   7005         JNZ     ??PrintXY_0
   \   000014   75..4B       MOV     ?V0 + 0,#0x4b
   \   000017   8017         SJMP    ??PrintXY_1
   \                     ??PrintXY_0:
   \   000019   E0           MOVX    A,@DPTR
   \   00001A   5402         ANL     A,#0x2
   \   00001C   6005         JZ      ??PrintXY_2
   \   00001E   75..32       MOV     ?V0 + 0,#0x32
   \   000021   800D         SJMP    ??PrintXY_1
   \                     ??PrintXY_2:
   \   000023   E0           MOVX    A,@DPTR
   \   000024   A2E0         MOV     C,0xE0 /* A   */.0
   \   000026   5005         JNC     ??PrintXY_3
   \   000028   75..19       MOV     ?V0 + 0,#0x19
   \   00002B   8003         SJMP    ??PrintXY_1
   \                     ??PrintXY_3:
   \   00002D   75..00       MOV     ?V0 + 0,#0x0
   \                     ??PrintXY_1:
   \   000030   75..00       MOV     ?V0 + 1,#0x0
   \   000033                ; Setup parameters for call to function sprintf
   \   000033   78..         MOV     R0,#?V0 + 0
   \   000035   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000038   90....       MOV     DPTR,#x
   \   00003B   E0           MOVX    A,@DPTR

⌨️ 快捷键说明

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