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

📄 locationprofile.s51

📁 CC2431无线定位程序非常有参考价值
💻 S51
📖 第 1 页 / 共 5 页
字号:
        MOV	A,#0xa
        LCALL	?XSTACK_DISP0_8
        MOV	R2,DPL
        MOV	R3,DPH
        MOV	DPTR,#(AF_DataRequest & 0xffff)
        MOV	A,#((AF_DataRequest >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x9
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 17)
        MOV	A,R1
        MOV	R2,A
        MOV	R3,#0x14
??BlindNode_ProcessEvent_17:
        MOV	A,R2
        JZ	??BlindNode_ProcessEvent_18
        MOV	DPTR,#??blastCnt
        MOVX	A,@DPTR
        INC	A
        MOVX	@DPTR,A
??BlindNode_ProcessEvent_18:
        ; Setup parameters for call to function osal_start_timerEx
        MOV	A,R3
        MOV	R4,A
        MOV	R5,#0x0
        MOV	R2,#0x0
        MOV	R3,#0x40
        LCALL	??Subroutine13_1 & 0xFFFF
??CrossCallReturnLabel_32:
        LCALL	?BCALL               ; Banked call to: DPTR()
??BlindNode_ProcessEvent_15:
        MOV	A,R6
        MOV	R2,A
        MOV	A,#0x40
        LJMP	??BlindNode_ProcessEvent_9 & 0xFFFF
??BlindNode_ProcessEvent_12:
        MOV	A,#0x20
        ANL	A,R7
        MOV	R1,A
        CLR	A
        JNZ	??BlindNode_ProcessEvent_19
        MOV	A,R1
??BlindNode_ProcessEvent_19:
        JZ	??BlindNode_ProcessEvent_20
        ; Setup parameters for call to function BlindNode_FindRequest
        MOV	DPTR,#(BlindNode_FindRequest & 0xffff)
        MOV	A,#((BlindNode_FindRequest >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,R6
        MOV	R2,A
        MOV	A,#0x20
        LJMP	??BlindNode_ProcessEvent_9 & 0xFFFF
??BlindNode_ProcessEvent_20:
        MOV	A,#0x10
        ANL	A,R7
        MOV	R1,A
        CLR	A
        JNZ	??BlindNode_ProcessEvent_21
        MOV	A,R1
??BlindNode_ProcessEvent_21:
        JZ	??BlindNode_ProcessEvent_22
        ; Setup parameters for call to function SampleApp_Sleep
        MOV	R1,#0x1
        MOV	DPTR,#(SampleApp_Sleep & 0xffff)
        MOV	A,#((SampleApp_Sleep >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,R6
        MOV	R2,A
        MOV	A,#0x10
        LJMP	??BlindNode_ProcessEvent_9 & 0xFFFF
??BlindNode_ProcessEvent_22:
        MOV	R2,#0x0
        MOV	R3,#0x0
??BlindNode_ProcessEvent_10:
        MOV	A,#0x5
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 12)
        MOV	R7,#0x4
        LJMP	?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock2

        RSEG BANKED_CODE:CODE:NOROOT(0)
// __banked_func __xdata_reentrant void LocationHandleKeys(uint8)
LocationHandleKeys:
        CFI Block cfiBlock3 Using cfiCommon0
        CFI Function LocationHandleKeys
        FUNCALL LocationHandleKeys, osal_set_event
        LOCFRAME XSTACK, 9, STACK
        ARGFRAME XSTACK, 9, STACK
        FUNCALL LocationHandleKeys, ??startBlast
        LOCFRAME XSTACK, 9, STACK
        ARGFRAME XSTACK, 9, STACK
        MOV	A,#-0x9
        LCALL	?BANKED_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 9)
        ; Saved register size: 9
        ; Auto size: 0
        MOV	A,R1
        MOV	R6,A
        MOV	C,0xE0 /* A   */.4
        JNC	??LocationHandleKeys_0
        ; Setup parameters for call to function osal_set_event
        MOV	R2,#0x0
        MOV	R3,#0x20
        MOV	DPTR,#BlindNode_TaskID
        MOVX	A,@DPTR
        MOV	R1,A
        MOV	DPTR,#(osal_set_event & 0xffff)
        MOV	A,#((osal_set_event >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
??LocationHandleKeys_0:
        MOV	A,R6
        MOV	C,0xE0 /* A   */.3
        JNC	??LocationHandleKeys_1
        MOV	DPTR,#??state
        MOVX	A,@DPTR
        JNZ	??LocationHandleKeys_1
        ; Setup parameters for call to function startBlast
        MOV	DPTR,#(??startBlast & 0xffff)
        MOV	A,#((??startBlast >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        CFI EndBlock cfiBlock3
??LocationHandleKeys_1:
        REQUIRE ?Subroutine31
        ; // Fall through to label ?Subroutine31

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine31:
        CFI Block cfiBlock4 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 9)
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        MOV	R7,#0x1
        LJMP	?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock4

        RSEG BANKED_CODE:CODE:NOROOT(0)
// static __banked_func __xdata_reentrant void processMSGCmd(struct <unnamed> *)
??processMSGCmd:
        CFI Block cfiBlock5 Using cfiCommon0
        CFI Function ??processMSGCmd
        FUNCALL ??processMSGCmd, AF_DataRequest
        LOCFRAME XSTACK, 19, STACK
        ARGFRAME XSTACK, 19, STACK
        FUNCALL ??processMSGCmd, ??startBlast
        LOCFRAME XSTACK, 10, STACK
        ARGFRAME XSTACK, 10, STACK
        FUNCALL ??processMSGCmd, ??parseConfig
        LOCFRAME XSTACK, 10, STACK
        ARGFRAME XSTACK, 10, STACK
        FUNCALL ??processMSGCmd, ??sendConfig
        LOCFRAME XSTACK, 10, STACK
        ARGFRAME XSTACK, 10, STACK
        MOV	A,#-0xa
        LCALL	?BANKED_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 10)
        ; Saved register size: 10
        ; Auto size: 0
        MOV	DPL,R2
        MOV	DPH,R3
        INC	DPTR
        INC	DPTR
        INC	DPTR
        INC	DPTR
        MOVX	A,@DPTR
        MOV	?V0 + 0,A
        INC	DPTR
        MOVX	A,@DPTR
        JZ	$+5
        LJMP	??processMSGCmd_1 & 0xFFFF
        MOV	A,?V0 + 0
        LCALL	?UC_SWITCH_SPARSE
`?<Jumptable for processMSGCmd>_0`:
        DB        0
        DB        5
        DB        17
        DW        ??processMSGCmd_2
        DB        18
        DW        ??processMSGCmd_3
        DB        19
        DW        ??processMSGCmd_4
        DB        22
        DW        ??processMSGCmd_5
        DB        24
        DW        ??processMSGCmd_6
        DW        ??processMSGCmd_1
??processMSGCmd_2:
        MOV	A,R2
        ADD	A,#0xc
        MOV	DPL,A
        MOV	A,R3
        ADDC	A,#0x0
        MOV	DPH,A
        MOVX	A,@DPTR
        MOV	DPTR,#(??rspMsg + 4)
        MOVX	@DPTR,A
        MOV	A,#0x2
        MOV	DPL,R2
        MOV	DPH,R3
        INC	DPTR
        INC	DPTR
        INC	DPTR
        INC	DPTR
        INC	DPTR
        INC	DPTR
        INC	DPTR
        INC	DPTR
        MOVX	@DPTR,A
        ; Setup parameters for call to function AF_DataRequest
        MOV	?V0 + 0,#0xa
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_ONE
        CFI CFA_XSP16 add(XSP16, 11)
        MOV	?V0 + 0,#(??transId & 0xff)
        MOV	?V0 + 1,#((??transId >> 8) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 13)
        MOV	?V0 + 0,#(??rspMsg & 0xff)
        MOV	?V0 + 1,#((??rspMsg >> 8) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 15)
        MOV	?V0 + 0,#0x5
        MOV	?V0 + 1,#0x0
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 17)
        MOV	?V0 + 0,#0x12
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_TWO
        CFI CFA_XSP16 add(XSP16, 19)
        MOV	R1,#0x0
        MOV	R4,#(??epDesc & 0xff)
        MOV	R5,#((??epDesc >> 8) & 0xff)
        MOV	A,R2
        ADD	A,#0x6
        MOV	R2,A
        MOV	A,R3
        ADDC	A,#0x0
        MOV	R3,A
        MOV	DPTR,#(AF_DataRequest & 0xffff)
        MOV	A,#((AF_DataRequest >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x9
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 10)
        LJMP	??processMSGCmd_1 & 0xFFFF
??processMSGCmd_4:
        MOV	DPTR,#??state
        MOVX	A,@DPTR
        JZ	$+5
        LJMP	??processMSGCmd_1 & 0xFFFF
        MOV	A,#0x2
        MOV	DPTR,#(??defAddr + 2)
        LCALL	?Subroutine7 & 0xFFFF
??CrossCallReturnLabel_15:
        LCALL	?Subroutine19 & 0xFFFF
??CrossCallReturnLabel_47:
        LCALL	?Subroutine0 & 0xFFFF
??CrossCallReturnLabel_0:
        MOV	DPTR,#(??defAddr + 3)
        MOVX	@DPTR,A
        ; Setup parameters for call to function startBlast
        MOV	DPTR,#(??startBlast & 0xffff)
        MOV	A,#((??startBlast >> 16) & 0xff)
??processMSGCmd_7:
        LCALL	?BCALL               ; Banked call to: DPTR()
        LJMP	??processMSGCmd_1 & 0xFFFF
??processMSGCmd_5:
        MOV	DPTR,#??state
        MOVX	A,@DPTR
        JZ	$+5
        LJMP	??processMSGCmd_1 & 0xFFFF
        ; Setup parameters for call to function parseConfig
        LCALL	?Subroutine21 & 0xFFFF
??CrossCallReturnLabel_50:
        MOV	DPTR,#(??parseConfig & 0xffff)
        MOV	A,#((??parseConfig >> 16) & 0xff)
        SJMP	??processMSGCmd_7
??processMSGCmd_6:
        ; Setup parameters for call to function sendConfig
        MOV	A,R2
        ADD	A,#0x6
        MOV	R2,A
        MOV	A,R3
        ADDC	A,#0x0
        MOV	R3,A
        MOV	DPTR,#(??sendConfig & 0xffff)
        MOV	A,#((??sendConfig >> 16) & 0xff)
        SJMP	??processMSGCmd_7
??processMSGCmd_3:
        MOV	DPTR,#??state
        MOVX	A,@DPTR
        XRL	A,#0x2
        JZ	$+5
        LJMP	??processMSGCmd_1 & 0xFFFF
        MOV	R6,#0x0
??processMSGCmd_8:
        MOV	?V0 + 0,R6
        MOV	?V0 + 1,#0x0
        MOV	A,#0x3
        MOV	R0,#?V0 + 0
        LCALL	?S_SHL
        LCALL	?Subroutine22 & 0xFFFF
??CrossCallReturnLabel_52:
        XRL	A,#0xfe
        JNZ	??processMSGCmd_9
        INC	DPTR
        MOVX	A,@DPTR
        XRL	A,#0xff
??processMSGCmd_9:
        JZ	??processMSGCmd_10
        MOV	?V0 + 0,R6
        MOV	?V0 + 1,#0x0
        MOV	A,#0x3

⌨️ 快捷键说明

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