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

📄 console.s51

📁 无线单片机cc2430简化协议的无线收发程序
💻 S51
📖 第 1 页 / 共 3 页
字号:
        MOV	DPL,?XSP + 0
        MOV	DPH,?XSP + 1
        MOV	A,R2
        MOVX	@DPTR,A
        INC	DPTR
        MOV	A,R3
        MOVX	@DPTR,A
        MOV	?V0 + 6,R4
        MOV	?V0 + 7,R5
//   58     char i;
//   59     BYTE dig;
//   60      unsigned int divider;
//   61     unsigned int wordvalue;
//   62 
//   63 	#ifndef REPDUBUGINFO
//   64 	    //return;
//   65     #endif
//   66 	
//   67     wordvalue=highval*256+lowval;
        MOV	DPL,?XSP + 0
        MOV	DPH,?XSP + 1
        MOVX	A,@DPTR
        MOV	R0,A
        INC	DPTR
        MOVX	A,@DPTR
        MOV	R1,A
        MOV	A,R0
        MOV	B,#0x0
        MUL	AB
        XCH	A,R0
        MOV	R2,B
        MOV	B,#0x1
        MUL	AB
        ADD	A,R2
        MOV	R2,A
        MOV	B,#0x0
        MOV	A,R1
        MUL	AB
        ADD	A,R2
        MOV	R1,A
        MOV	A,?V0 + 6
        ADD	A,R0
        MOV	R0,A
        MOV	A,?V0 + 7
        ADDC	A,R1
        MOV	R1,A
        MOV	?V0 + 0,R0
        MOV	?V0 + 1,R1
//   68     divider=10000;
        MOV	R6,#0x10
        MOV	R7,#0x27
//   69 
//   70 	if((highval==0xff)&&(lowval==0xff))
        MOV	DPL,?XSP + 0
        MOV	DPH,?XSP + 1
        MOVX	A,@DPTR
        XRL	A,#0xff
        JNZ	??ConsolePutInitDataWithoutRtn_0
        INC	DPTR
        MOVX	A,@DPTR
        XRL	A,#0x0
??ConsolePutInitDataWithoutRtn_0:
        JNZ	??ConsolePutInitDataWithoutRtn_1
        MOV	A,#-0x1
        XRL	A,?V0 + 6
        JNZ	??ConsolePutInitDataWithoutRtn_2
        MOV	A,#0x0
        XRL	A,?V0 + 7
??ConsolePutInitDataWithoutRtn_2:
        JNZ	??ConsolePutInitDataWithoutRtn_1
//   71 	{
//   72 	   for(i=0;i<4;i++)
        MOV	?V0 + 2,#0x0
??ConsolePutInitDataWithoutRtn_3:
        MOV	A,?V0 + 2
        CLR	C
        SUBB	A,#0x4
        JNC	??ConsolePutInitDataWithoutRtn_4
//   73 	      halPutch('*');	   	
        ; Setup parameters for call to function halPutch
        MOV	R1,#0x2a
        LCALL	halPutch
        INC	?V0 + 2
        SJMP	??ConsolePutInitDataWithoutRtn_3
//   74 	   return;		
//   75 	}
//   76 
//   77 	for(i=5; divider>wordvalue && i>1 ;i--)
??ConsolePutInitDataWithoutRtn_1:
        MOV	?V0 + 2,#0x5
??ConsolePutInitDataWithoutRtn_5:
        CLR	C
        MOV	A,?V0 + 0
        SUBB	A,R6
        MOV	A,?V0 + 1
        SUBB	A,R7
        JNC	??ConsolePutInitDataWithoutRtn_6
        MOV	A,?V0 + 2
        CLR	C
        SUBB	A,#0x2
        JC	??ConsolePutInitDataWithoutRtn_6
//   78 	{
//   79 		divider/=10;
        MOV	A,R6
        MOV	R0,A
        MOV	A,R7
        MOV	R1,A
        MOV	R2,#0xa
        MOV	R3,#0x0
        LCALL	?US_DIV_MOD
        MOV	?V0 + 4,R0
        MOV	?V0 + 5,R1
        MOV	R6,?V0 + 4
        MOV	R7,?V0 + 5
//   80 		//ConsolePut(' ');
//   81 	}
        DEC	?V0 + 2
        SJMP	??ConsolePutInitDataWithoutRtn_5
//   82     for(;i>0;i--)
??ConsolePutInitDataWithoutRtn_6:
        MOV	A,?V0 + 2
        CLR	C
        SUBB	A,#0x1
        JC	??ConsolePutInitDataWithoutRtn_4
//   83     {
//   84 
//   85       dig = (wordvalue/divider);
        MOV	R0,?V0 + 0
        MOV	R1,?V0 + 1
        MOV	A,R6
        MOV	R2,A
        MOV	A,R7
        MOV	R3,A
        LCALL	?US_DIV_MOD
        MOV	A,R0
        MOV	?V0 + 3,A
//   86 	  wordvalue = (wordvalue%divider);
        MOV	R0,?V0 + 0
        MOV	R1,?V0 + 1
        MOV	A,R6
        MOV	R2,A
        MOV	A,R7
        MOV	R3,A
        LCALL	?US_DIV_MOD
        MOV	?V0 + 4,R2
        MOV	?V0 + 5,R3
        MOV	?V0 + 0,?V0 + 4
        MOV	?V0 + 1,?V0 + 5
//   87 	  halPutch(dig+0x30);
        ; Setup parameters for call to function halPutch
        MOV	A,#0x30
        ADD	A,?V0 + 3
        MOV	R1,A
        LCALL	halPutch
//   88 		
//   89       divider/=10;
        MOV	A,R6
        MOV	R0,A
        MOV	A,R7
        MOV	R1,A
        MOV	R2,#0xa
        MOV	R3,#0x0
        LCALL	?US_DIV_MOD
        MOV	?V0 + 4,R0
        MOV	?V0 + 5,R1
        MOV	R6,?V0 + 4
        MOV	R7,?V0 + 5
//   90     }
        DEC	?V0 + 2
        SJMP	??ConsolePutInitDataWithoutRtn_6
??ConsolePutInitDataWithoutRtn_4:
        MOV	A,#0x2
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 15)
        MOV	R7,#0x8
        LJMP	?FUNC_LEAVE_XDATA
        CFI EndBlock cfiBlock1
//   91     //ConsolePut('\r');	
//   92     //ConsolePut('\n');	
//   93 }
//   94 		   	
//   95 
//   96 
//   97 
//   98 

        RSEG NEAR_CODE:CODE:NOROOT(0)
//   99 void conPCRLF(void){
conPCRLF:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI Function conPCRLF
        FUNCALL conPCRLF, conPrintROMString_func
        ; Saved register size: 0
        ; Auto size: 0
//  100 	conPrintROMString("\n");
        ; Setup parameters for call to function conPrintROMString_func
        MOV	R2,#(??xxxxromstr & 0xff)
        MOV	R3,#((??xxxxromstr >> 8) & 0xff)
        LCALL	conPrintROMString_func
//  101 }
        RET
        CFI EndBlock cfiBlock2

        RSEG CODE_C:CODE:REORDER:NOROOT(0)
??xxxxromstr:
        DB "\012"
//  102 

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  103 void conPrintROMString_func (ROMCHAR *s) {
conPrintROMString_func:
        CFI Block cfiBlock3 Using cfiCommon0
        CFI Function conPrintROMString_func
        FUNCALL conPrintROMString_func, halPutch
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL conPrintROMString_func, halPutch
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 3)
        CFI CFA_SP SP+-3
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        ; Saved register size: 2
        ; Auto size: 0
        MOV	DPL,R2
        MOV	DPH,R3
//  104   while(*s) {
??conPrintROMString_func_0:
        CLR	A
        MOVC	A,@A+DPTR
        JZ	??conPrintROMString_func_1
//  105     if (*s == '\n') halPutch('\r');
        CLR	A
        MOVC	A,@A+DPTR
        XRL	A,#0xa
        JNZ	??conPrintROMString_func_2
        ; Setup parameters for call to function halPutch
        MOV	R1,#0xd
        LCALL	halPutch
//  106     halPutch(*s);
??conPrintROMString_func_2:
        ; Setup parameters for call to function halPutch
        CLR	A
        MOVC	A,@A+DPTR
        MOV	R1,A
        LCALL	halPutch
//  107     s++;
        INC	DPTR
        SJMP	??conPrintROMString_func_0
//  108   }
//  109 }
??conPrintROMString_func_1:
        POP	DPH
        CFI DPH0 SameValue
        CFI CFA_SP SP+-3
        POP	DPL
        CFI DPL0 SameValue
        CFI CFA_SP SP+-2
        RET
        CFI EndBlock cfiBlock3
//  110 
//  111 
//  112 
//  113 

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  114 void conPrintString (char *s) {
conPrintString:
        CFI Block cfiBlock4 Using cfiCommon0
        CFI Function conPrintString
        FUNCALL conPrintString, halPutch
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL conPrintString, halPutch
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 3)
        CFI CFA_SP SP+-3
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        ; Saved register size: 2
        ; Auto size: 0
        MOV	DPL,R2
        MOV	DPH,R3
//  115   while(*s) {
??conPrintString_0:
        MOVX	A,@DPTR
        JZ	??conPrintString_1
//  116     if (*s == '\n') halPutch('\r');
        MOVX	A,@DPTR
        XRL	A,#0xa
        JNZ	??conPrintString_2
        ; Setup parameters for call to function halPutch
        MOV	R1,#0xd
        LCALL	halPutch
//  117     halPutch(*s);
??conPrintString_2:
        ; Setup parameters for call to function halPutch
        MOVX	A,@DPTR
        MOV	R1,A
        LCALL	halPutch
//  118     s++;
        INC	DPTR
        SJMP	??conPrintString_0
//  119   }
//  120 }
??conPrintString_1:
        POP	DPH
        CFI DPH0 SameValue
        CFI CFA_SP SP+-3
        POP	DPL
        CFI DPL0 SameValue
        CFI CFA_SP SP+-2
        RET
        CFI EndBlock cfiBlock4
//  121 

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  122 void conPrintUINT8_noleader (UINT8 x) {
conPrintUINT8_noleader:
        CFI Block cfiBlock5 Using cfiCommon0
        CFI Function conPrintUINT8_noleader
        FUNCALL conPrintUINT8_noleader, halPutch
        LOCFRAME XSTACK, 8, STACK
        ARGFRAME XSTACK, 8, STACK
        FUNCALL conPrintUINT8_noleader, halPutch
        LOCFRAME XSTACK, 8, STACK
        ARGFRAME XSTACK, 8, STACK
        FUNCALL conPrintUINT8_noleader, halPutch
        LOCFRAME XSTACK, 8, STACK
        ARGFRAME XSTACK, 8, STACK
        FUNCALL conPrintUINT8_noleader, halPutch
        LOCFRAME XSTACK, 8, STACK
        ARGFRAME XSTACK, 8, STACK
        MOV	A,#-0x8
        LCALL	?FUNC_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 8)
        ; Saved register size: 8
        ; Auto size: 0
        MOV	A,R1
        MOV	R6,A
//  123   BYTE c;
//  124   c = (x>>4)& 0xf;
        MOV	A,R6
        SWAP	A
        ANL	A,#0xf
        MOV	R7,A
//  125   if (c > 9) halPutch('A'+c-10);
        MOV	A,R7
        CLR	C
        SUBB	A,#0xa
        JC	??conPrintUINT8_noleader_0
        ; Setup parameters for call to function halPutch
        MOV	A,#0x37
        ADD	A,R7
        MOV	R1,A
        LCALL	halPutch
        SJMP	??conPrintUINT8_noleader_1
//  126    else halPutch('0'+c);
??conPrintUINT8_noleader_0:
        ; Setup parameters for call to function halPutch
        MOV	A,#0x30
        ADD	A,R7
        MOV	R1,A
        LCALL	halPutch
//  127   //LSDigit
//  128   c = x & 0xf;
??conPrintUINT8_noleader_1:
        MOV	A,#0xf
        ANL	A,R6
        MOV	R7,A
//  129   if (c > 9) halPutch('A'+c-10);
        MOV	A,R7
        CLR	C
        SUBB	A,#0xa
        JC	??conPrintUINT8_noleader_2
        ; Setup parameters for call to function halPutch
        MOV	A,#0x37
        ADD	A,R7
        MOV	R1,A
        LCALL	halPutch
        SJMP	??conPrintUINT8_noleader_3
//  130    else halPutch('0'+c);
??conPrintUINT8_noleader_2:
        ; Setup parameters for call to function halPutch
        MOV	A,#0x30
        ADD	A,R7
        MOV	R1,A
        LCALL	halPutch
//  131 }
??conPrintUINT8_noleader_3:
        MOV	R7,#0x1
        LJMP	?FUNC_LEAVE_XDATA
        CFI EndBlock cfiBlock5
//  132 

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  133 void conPrintUINT8 (UINT8 x) {
conPrintUINT8:
        CFI Block cfiBlock6 Using cfiCommon0
        CFI Function conPrintUINT8
        FUNCALL conPrintUINT8, conPrintROMString_func
        LOCFRAME ISTACK, 1, STACK
        ARGFRAME ISTACK, 1, STACK
        FUNCALL conPrintUINT8, conPrintUINT8_noleader
        LOCFRAME ISTACK, 1, STACK
        ARGFRAME ISTACK, 1, STACK
        MOV	A,R6
        CFI R6 A
        PUSH	A
        CFI R6 Frame(CFA_SP, 3)
        CFI CFA_SP SP+-3
        ; Saved register size: 1
        ; Auto size: 0
        MOV	A,R1
        MOV	R6,A
//  134   conPrintROMString("0x");
        ; Setup parameters for call to function conPrintROMString_func
        MOV	R2,#(??xxxxromstr_1 & 0xff)
        MOV	R3,#((??xxxxromstr_1 >> 8) & 0xff)
        LCALL	conPrintROMString_func
//  135   conPrintUINT8_noleader(x);
        ; Setup parameters for call to function conPrintUINT8_noleader
        MOV	A,R6
        MOV	R1,A
        LCALL	conPrintUINT8_noleader
//  136 }
        POP	A
        CFI R6 A
        CFI CFA_SP SP+-2
        MOV	R6,A
        CFI R6 SameValue
        RET
        CFI EndBlock cfiBlock6

        RSEG CODE_C:CODE:REORDER:NOROOT(0)
??xxxxromstr_1:
        DB "0x"
//  137 

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  138 void conPrintUINT16 (UINT16 x) {
conPrintUINT16:
        CFI Block cfiBlock7 Using cfiCommon0

⌨️ 快捷键说明

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