📄 serial.src
字号:
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR A
MOV R3,A
MOV R2,A
MOV R1,#080H
MOV R0,#0BFH
LCALL ?C?FPMUL
POP DPL
POP DPH
LCALL ?C?LSTXDATA
; }
; SOURCE LINE # 454
?C0086:
; if(f<1.175494E-38){
; SOURCE LINE # 455
MOV R7,#0FDH
MOV R6,#0FFH
MOV R5,#07FH
MOV R4,#00H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL ?C?FPCMP3
JNC ?C0087
; yyprintf("?.??????");//太小了,超出了最小范围。
; SOURCE LINE # 456
MOV R3,#0FFH
MOV R2,#HIGH (?SC_26)
MOV R1,#LOW (?SC_26)
LCALL _?yyprintf
LJMP ?C0088
; return;
; }
; SOURCE LINE # 458
?C0087:
; if(f>1E35){ //f>10^35
; SOURCE LINE # 459
MOV R7,#0CH
MOV R6,#013H
MOV R5,#09AH
MOV R4,#079H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL ?C?FPCMP3
JZ $ + 4H
JNC $ + 5H
LJMP ?C0089
; tf=f/1E35;
; SOURCE LINE # 460
MOV R3,#0CH
MOV R2,#013H
MOV R1,#09AH
MOV R0,#079H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
LCALL ?C?LSTXDATA
; b=1000.0;
; SOURCE LINE # 461
MOV DPTR,#04H
LCALL ?C?XBPOFF
LCALL ?C?LSTKXDATA
DB 044H
DB 07AH
DB 00H
DB 00H
; for(i=0,j=38;i<4;i++,j--)
; SOURCE LINE # 462
MOV DPTR,#0CH
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOV A,#026H
MOVX @DPTR,A
?C0090:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
CLR C
XRL A,#080H
SUBB A,#084H
JNC ?C0091
; if(tf/b<1) b=b/10.0;
; SOURCE LINE # 463
MOV DPTR,#04H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
CLR A
MOV R3,A
MOV R2,A
MOV R1,#080H
MOV R0,#03FH
LCALL ?C?FPCMP3
JZ ?C0091
JC ?C0091
MOV DPTR,#04H
LCALL ?C?XBPOFF
PUSH DPH
PUSH DPL
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR A
MOV R3,A
MOV R2,A
MOV R1,#020H
MOV R0,#041H
LCALL ?C?FPDIV
POP DPL
POP DPH
LCALL ?C?LSTXDATA
; else break;
; SOURCE LINE # 464
?C0092:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
INC A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
SJMP ?C0090
?C0091:
; w=f/(1E29*b); //1E35*b/1E6
; SOURCE LINE # 465
MOV R7,#08H
MOV R6,#08FH
MOV R5,#0A1H
MOV R4,#06FH
; PrintW(w,j);
; SOURCE LINE # 466
; }
; SOURCE LINE # 467
LJMP ?C0202
?C0089:
; else if(f>1E28){ //10^28<f<=10^35
; SOURCE LINE # 468
MOV R7,#039H
MOV R6,#03FH
MOV R5,#01H
MOV R4,#06EH
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL ?C?FPCMP3
JZ $ + 4H
JNC $ + 5H
LJMP ?C0096
; tf=f/1E28;
; SOURCE LINE # 469
MOV R3,#039H
MOV R2,#03FH
MOV R1,#01H
MOV R0,#06EH
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
LCALL ?C?LSTXDATA
; b=1E7;
; SOURCE LINE # 470
MOV DPTR,#04H
LCALL ?C?XBPOFF
LCALL ?C?LSTKXDATA
DB 04BH
DB 018H
DB 096H
DB 080H
; for(i=0,j=35;i<8;i++,j--)
; SOURCE LINE # 471
MOV DPTR,#0CH
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOV A,#023H
MOVX @DPTR,A
?C0097:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
CLR C
XRL A,#080H
SUBB A,#088H
JNC ?C0098
; if(tf/b<1) b=b/10.0;
; SOURCE LINE # 472
MOV DPTR,#04H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
CLR A
MOV R3,A
MOV R2,A
MOV R1,#080H
MOV R0,#03FH
LCALL ?C?FPCMP3
JZ ?C0098
JC ?C0098
MOV DPTR,#04H
LCALL ?C?XBPOFF
PUSH DPH
PUSH DPL
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR A
MOV R3,A
MOV R2,A
MOV R1,#020H
MOV R0,#041H
LCALL ?C?FPDIV
POP DPL
POP DPH
LCALL ?C?LSTXDATA
; else break;
; SOURCE LINE # 473
?C0099:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
INC A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
SJMP ?C0097
?C0098:
; w=f/(1E22*b); //1E28*b/1E6
; SOURCE LINE # 474
MOV R7,#078H
MOV R6,#086H
MOV R5,#07H
MOV R4,#064H
?C0198:
; PrintW(w,j);
; SOURCE LINE # 475
; }
; SOURCE LINE # 476
LJMP ?C0202
?C0096:
; else if(f>1E21){ //10^21<f<=10^28
; SOURCE LINE # 477
MOV R7,#027H
MOV R6,#0D7H
MOV R5,#058H
MOV R4,#062H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL ?C?FPCMP3
JZ $ + 4H
JNC $ + 5H
LJMP ?C0103
; tf=f/1E21;
; SOURCE LINE # 478
MOV R3,#027H
MOV R2,#0D7H
MOV R1,#058H
MOV R0,#062H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
LCALL ?C?LSTXDATA
; b=1E7;
; SOURCE LINE # 479
MOV DPTR,#04H
LCALL ?C?XBPOFF
LCALL ?C?LSTKXDATA
DB 04BH
DB 018H
DB 096H
DB 080H
; for(i=0,j=28;i<8;i++,j--)
; SOURCE LINE # 480
MOV DPTR,#0CH
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOV A,#01CH
MOVX @DPTR,A
?C0104:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
CLR C
XRL A,#080H
SUBB A,#088H
JNC ?C0105
; if(tf/b<1) b=b/10.0;
; SOURCE LINE # 481
MOV DPTR,#04H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
CLR A
MOV R3,A
MOV R2,A
MOV R1,#080H
MOV R0,#03FH
LCALL ?C?FPCMP3
JZ ?C0105
JC ?C0105
MOV DPTR,#04H
LCALL ?C?XBPOFF
PUSH DPH
PUSH DPL
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR A
MOV R3,A
MOV R2,A
MOV R1,#020H
MOV R0,#041H
LCALL ?C?FPDIV
POP DPL
POP DPH
LCALL ?C?LSTXDATA
; else break;
; SOURCE LINE # 482
?C0106:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
INC A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
SJMP ?C0104
?C0105:
; w=f/(1E15*b); //1E21*b/1E6
; SOURCE LINE # 483
MOV R7,#0A9H
MOV R6,#05FH
MOV R5,#063H
MOV R4,#058H
?C0199:
; PrintW(w,j);
; SOURCE LINE # 484
; }
; SOURCE LINE # 485
LJMP ?C0202
?C0103:
; else if(f>1E14){ //10^14<f<=10^21
; SOURCE LINE # 486
MOV R7,#021H
MOV R6,#0E6H
MOV R5,#0B5H
MOV R4,#056H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
LCALL ?C?FPCMP3
JZ $ + 4H
JNC $ + 5H
LJMP ?C0110
; tf=f/1E14;
; SOURCE LINE # 487
MOV R3,#021H
MOV R2,#0E6H
MOV R1,#0B5H
MOV R0,#056H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
LCALL ?C?LSTXDATA
; b=1E7;
; SOURCE LINE # 488
MOV DPTR,#04H
LCALL ?C?XBPOFF
LCALL ?C?LSTKXDATA
DB 04BH
DB 018H
DB 096H
DB 080H
; for(i=0,j=21;i<8;i++,j--)
; SOURCE LINE # 489
MOV DPTR,#0CH
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOV A,#015H
MOVX @DPTR,A
?C0111:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
CLR C
XRL A,#080H
SUBB A,#088H
JNC ?C0112
; if(tf/b<1) b=b/10.0;
; SOURCE LINE # 490
MOV DPTR,#04H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?FPDIV
CLR A
MOV R3,A
MOV R2,A
MOV R1,#080H
MOV R0,#03FH
LCALL ?C?FPCMP3
JZ ?C0112
JC ?C0112
MOV DPTR,#04H
LCALL ?C?XBPOFF
PUSH DPH
PUSH DPL
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR A
MOV R3,A
MOV R2,A
MOV R1,#020H
MOV R0,#041H
LCALL ?C?FPDIV
POP DPL
POP DPH
LCALL ?C?LSTXDATA
; else break;
; SOURCE LINE # 491
?C0113:
MOV DPTR,#0CH
LCALL ?C?XBPOFF
MOVX A,@DPTR
INC A
MOVX @DPTR,A
MOV DPTR,#0DH
LCALL ?C?XBPOFF
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
SJMP ?C0111
?C0112:
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -