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

📄 osal.s51

📁 cc2430应用实例
💻 S51
📖 第 1 页 / 共 5 页
字号:
        XRL	A,R1
        MOV	DPL,R2
        MOV	DPH,R3
        JNZ	??osal_build_uint32_3
//  216     return ( BUILD_UINT32( swapped[0], swapped[1], swapped[2], swapped[3] ) );
        LCALL	?Subroutine1 & 0xFFFF
??CrossCallReturnLabel_7:
        LCALL	?L_SHL
        MOV	R0,#?V0 + 0
        MOV	R1,#?V0 + 4
        LCALL	?L_ADD
        LCALL	?Subroutine8 & 0xFFFF
??CrossCallReturnLabel_27:
        MOV	R0,#?V0 + 4
        LCALL	?L_SHL
        MOV	R0,#?V0 + 0
        MOV	R1,#?V0 + 4
        LCALL	?L_ADD
        MOV	DPL,R2
        MOV	DPH,R3
        INC	DPTR
        INC	DPTR
        INC	DPTR
        MOVX	A,@DPTR
        MOV	?V0 + 4,A
        MOV	?V0 + 6,#0x0
        MOV	A,#0x18
        SJMP	??CrossCallReturnLabel_47
//  217   else
//  218     return ( (uint32)swapped[0] );
??osal_build_uint32_3:
        MOVX	A,@DPTR
        MOV	R2,A
        MOV	R3,#0x0
        MOV	R4,#0x0
        MOV	R5,#0x0
        CFI EndBlock cfiBlock7
??osal_build_uint32_1:
        REQUIRE ?Subroutine24
        ; // Fall through to label ?Subroutine24
//  219 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine24:
        CFI Block cfiBlock8 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        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(-16)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V7 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,#0x8
        LJMP	?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock8

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine8:
        CFI Block cfiCond9 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_26
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond10 Using cfiCommon0
        CFI (cfiCond10) NoFunction
        CFI (cfiCond10) Conditional ??CrossCallReturnLabel_27
        CFI (cfiCond10) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond10) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond10) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond10) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond10) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond10) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond10) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond10) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond10) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond10) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond10) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond10) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond10) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond10) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond10) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond10) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond10) CFA_SP SP+0
        CFI (cfiCond10) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker11 Using cfiCommon1
        CFI (cfiPicker11) NoFunction
        CFI (cfiPicker11) Picker
        MOV	DPL,R2
        MOV	DPH,R3
        INC	DPTR
        INC	DPTR
        MOVX	A,@DPTR
        MOV	?V0 + 4,A
        MOV	?V0 + 5,#0x0
        MOV	A,#0x10
        RET
        CFI EndBlock cfiCond9
        CFI EndBlock cfiCond10
        CFI EndBlock cfiPicker11

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine1:
        CFI Block cfiCond12 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_7
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond13 Using cfiCommon0
        CFI (cfiCond13) NoFunction
        CFI (cfiCond13) Conditional ??CrossCallReturnLabel_6
        CFI (cfiCond13) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond13) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond13) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond13) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond13) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond13) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond13) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond13) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond13) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond13) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond13) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond13) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond13) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond13) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond13) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond13) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond13) CFA_SP SP+0
        CFI (cfiCond13) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker14 Using cfiCommon1
        CFI (cfiPicker14) NoFunction
        CFI (cfiPicker14) Picker
        LCALL	?Subroutine15 & 0xFFFF
??CrossCallReturnLabel_48:
        MOV	R0,#?V0 + 4
        RET
        CFI EndBlock cfiCond12
        CFI EndBlock cfiCond13
        CFI EndBlock cfiPicker14

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine15:
        CFI Block cfiCond15 Using cfiCommon0
        CFI NoFunction
        CFI Conditional ??CrossCallReturnLabel_48, ??CrossCallReturnLabel_6
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond16 Using cfiCommon0
        CFI (cfiCond16) NoFunction
        CFI (cfiCond16) Conditional ??CrossCallReturnLabel_47
        CFI (cfiCond16) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond16) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond16) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond16) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond16) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond16) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond16) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond16) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond16) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond16) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond16) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond16) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond16) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond16) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond16) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond16) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond16) CFA_SP SP+0
        CFI (cfiCond16) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiCond17 Using cfiCommon0
        CFI (cfiCond17) NoFunction
        CFI (cfiCond17) Conditional ??CrossCallReturnLabel_48, ??CrossCallReturnLabel_7
        CFI (cfiCond17) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
        CFI (cfiCond17) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
        CFI (cfiCond17) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
        CFI (cfiCond17) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
        CFI (cfiCond17) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
        CFI (cfiCond17) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI (cfiCond17) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI (cfiCond17) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI (cfiCond17) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI (cfiCond17) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI (cfiCond17) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI (cfiCond17) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI (cfiCond17) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI (cfiCond17) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI (cfiCond17) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI (cfiCond17) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI (cfiCond17) CFA_SP SP+0
        CFI (cfiCond17) CFA_XSP16 add(XSP16, 16)
        CFI Block cfiPicker18 Using cfiCommon1
        CFI (cfiPicker18) NoFunction
        CFI (cfiPicker18) Picker
        MOVX	A,@DPTR
        MOV	?V0 + 0,A
        MOV	?V0 + 1,#0x0
        MOV	?V0 + 2,#0x0
        MOV	?V0 + 3,#0x0
        INC	DPTR
        MOVX	A,@DPTR
        MOV	?V0 + 4,A
        MOV	?V0 + 5,#0x0
        MOV	?V0 + 6,#0x0
        MOV	?V0 + 7,#0x0
        MOV	A,#0x8
        RET
        CFI EndBlock cfiCond15
        CFI EndBlock cfiCond16
        CFI EndBlock cfiCond17
        CFI EndBlock cfiPicker18
//  220 
//  221 #if !defined ( ZBIT ) && !defined ( ZBIT2 )
//  222 /*********************************************************************
//  223  * @fn      _ltoa
//  224  *
//  225  * @brief
//  226  *
//  227  *   convert a long unsigned int to a string.
//  228  *
//  229  * @param  l - long to convert
//  230  * @param  buf - buffer to convert to
//  231  * @param  radix - 10 dec, 16 hex
//  232  *
//  233  * @return  pointer to buffer
//  234  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  235 unsigned char * _ltoa(unsigned long l, unsigned char *buf, unsigned char radix)
_ltoa:
        CFI Block cfiBlock19 Using cfiCommon0
        CFI Function _ltoa
//  236 {
        FUNCALL _ltoa, _itoa
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, _itoa
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, _itoa
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcpy
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcat
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strlen
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcat
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcat
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strlen
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcat
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcpy
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, _itoa
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, _itoa
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcpy
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK
        FUNCALL _ltoa, strcat
        LOCFRAME XSTACK, 52, STACK
        ARGFRAME XSTACK, 52, STACK

⌨️ 快捷键说明

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