📄 mfxbs.asm
字号:
RLC A
XCH A,R3
XCH A,R2
RLC A
XCH A,R2
RLC A
DJNZ R7,S030
DEC R6
MOV @R1,A
INC R1
S028: MOV A,R3
MOV B,#0AH
MUL AB
MOV R3,A
MOV R7,B
MOV A,R2
MOV B,#0AH
MUL AB
ADD A,R7
MOV R2,A
CLR A
ADDC A,B
MOV @R1,A
INC R1
DJNZ R6,S028
DEC R1
SJMP S031
S022: MOV A,R2
SUBB A,#80H
JC S032
S023: MOV R5,#0CDH
MOV R4,#0CCH
LCALL DMUL
MOV A,R2
JB 0E7H,S033
MOV A,R7
MOV C,0E7H
ORL C,0E6H
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
DEC R6
S037: MOV A,R6
ADD A,#0FDH
MOV R6,A
DEC R1
INC @R1
INC R1
SJMP S021
S036: SJMP S034
S027: MOV A,R2
RRC A
MOV R2,A
MOV A,R3
RRC A
MOV R3,A
INC R6
SJMP S026
S024: MOV A,#0CBH
CLR C
SUBB A,R3
MOV A,#0CCH
SUBB A,R2
JC S035
S025: MOV R4,#0A0H
MOV R5,#00H
LCALL DMUL
MOV A,R2
JB 0E7H,S099
MOV A,R7
MOV C,0E7H
ORL C,0E6H
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
DEC R6
S038: MOV A,R6
ADD A,#04H
MOV R6,A
DEC R1
DEC @R1
INC R1
SJMP S036
S033: MOV A,R7
JNB 0E7H,S037
MOV A,R3
ORL A,#01H
MOV R3,A
SJMP S037
S099: MOV A,R7
JNB 0E7H,S038
MOV A,R3
ORL A,#01H
MOV R3,A
SJMP S038
FSDT: JC S039
MOV C,39H
JB 0D5H,S040
MOV A,R2
RRC A
MOV R2,A
MOV A,R3
RRC A
MOV R3,A
INC R6
RET
S040: MOV A,R4
RRC A
MOV R4,A
MOV A,R5
RRC A
MOV R5,A
INC R7
RET
S039: MOV A,R2
JNZ S041
CJNE R3,#00H,S042
MOV R6,#42H
S043: RET
S041: JB 0E7H,S043
S042: MOV C,0D5H
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
CLR 0D5H
DEC R6
SJMP S039
;浮点数到整数转换,(R0) 到 R2R3,符号在 0EH.
FINT: CLR 0D5H
INC R0
MOV A,@R0
MOV R2,A
INC R0
MOV A,@R0
MOV R3,A
DEC R0
DEC R0
MOV A,@R0
MOV C,0E7H
MOV 3CH,C
CLR 0E7H
JNB 0E6H,S044
MOV R2,#00H
MOV R3,#00H
RET
S044: CJNE A,#11H,S045
S045: JC S046
SETB 0D5H
MOV R2,#0FFH
MOV R3,#0FFH
RET
S046: CJNE A,#10H,S047
RET
S047: CLR C
XCH A,R2
RRC A
XCH A,R2
XCH A,R3
RRC A
XCH A,R3
INC A
SJMP S046
;双字节整数转浮点数,R2R3 到(R1) 指定单元,符号在 0EH。
INTF: MOV R6,#10H
SETB C
CLR 0D5H
LCALL FSDT
MOV A,R6
MOV C,3CH
MOV 0E7H,C
MOV R4,A
LCALL FSTR
RET
NORM: MOV A,@R0
MOV C,0E7H
MOV 0D5H,C
INC R0
MOV C,0E6H
MOV 0E7H,C
MOV R2,A
MOV A,@R0
INC R0
JNZ S048
MOV A,@R0
JNZ S049
DEC R0
DEC R0
MOV A,#45H
S051: MOV C,0D5H
MOV 0E7H,C
MOV @R0,A
RET
S048: JB 0E7H,S050
S049: CLR C
MOV A,@R0
RLC A
MOV @R0,A
DEC R0
MOV A,@R0
RLC A
MOV @R0,A
INC R0
DEC R2
CJNE R2,#0C0H,S048
S050: DEC R0
DEC R0
MOV A,R2
SJMP S051
;
;多项式运算子程序
FPLN: POP DPH
POP DPL
CLR A
MOVC A,@A+DPTR
MOV R6,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R2,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R3,A
INC DPTR
T1ABH: MOV A,@R0
XRL A,R6
MOV C,0E7H
MOV 38H,C
INC R0
MOV A,@R0
MOV R4,A
INC R0
MOV A,@R0
MOV R5,A
DEC R0
DEC R0
LCALL DMUL
MOV A,R2
JB 0E7H,T1C9H
MOV A,R7
RLC A
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
DEC R6
T1C9H: MOV A,R6
ADD A,@R0
MOV C,38H
MOV 0E7H,C
MOV R6,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R4,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R5,A
INC DPTR
CLR 3AH
LCALL FABP
MOV A,R4
MOV R6,A
CLR A
MOVC A,@A+DPTR
CJNE A,#40H,T1ABH
LCALL FSTR
INC DPTR
CLR A
JMP @A+DPTR
;
;FML4:
FML4: LCALL FLD4
INC R1
MOV A,R0
PUSH ACC
LCALL DML3
POP ACC
MOV R0,A
DEC R1
MOV A,R2
MOV C,0E7H
MOV 0D5H,C
MOV A,@R0
XRL A,@R1
MOV C,0E7H
MOV 38H,C
MOV A,@R0
ADD A,@R1
XCH A,R1
PUSH ACC
SETB C
LCALL FSD4
POP ACC
XCH A,R1
MOV C,38H
MOV 0E7H,C
MOV R4,A
RET
;
;FDV4:
FDV4: LCALL FLD4
MOV A,@R0
XRL A,@R1
MOV C,0E7H
MOV 38H,C
CLR A
MOV R5,A
MOV R6,A
MOV R7,A
INC R1
CJNE @R1,#00H,T353H
INC R1
CJNE @R1,#00H,T352H
INC R1
CJNE @R1,#00H,T351H
DEC R1
DEC R1
DEC R1
SETB C
RET
T351H: DEC R1
T352H: DEC R1
T353H: DEC R1
MOV A,@R0
XCH A,R0
INC R1
PUSH ACC
T359H: MOV A,R4
INC R1
INC R1
SUBB A,@R1
MOV A,R3
DEC R1
SUBB A,@R1
MOV A,R2
DEC R1
SUBB A,@R1
JC T372H
CLR 0D5H
CLR 39H
LCALL FSD4
MOV A,R5
RRC A
MOV R5,A
CLR C
SJMP T359H
T372H: MOV A,R0
PUSH ACC
LCALL DDV3
POP ACC
DEC R1
XCH A,R0
POP ACC
XCH A,R0
CLR C
SUBB A,@R1
MOV C,38H
MOV 0E7H,C
MOV R4,A
CLR C
RET
;PLD4:
FLD4: INC R0
MOV A,@R0
MOV R2,A
INC R0
MOV A,@R0
MOV R3,A
INC R0
MOV A,@R0
MOV R4,A
DEC R0
DEC R0
DEC R0
RET
;DML3:
DML3: MOV R0,#19H
CLR C
CLR A
MOV R5,A
MOV R6,A
MOV R7,A
T39CH: MOV A,R5
RRC A
MOV R5,A
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
XCH A,R2
RRC A
XCH A,R2
XCH A,R3
RRC A
XCH A,R3
XCH A,R4
RRC A
XCH A,R4
DJNZ R0,T3B1H
RET
T3B1H: JNC T39CH
INC R1
INC R1
ADD A,@R1
MOV R7,A
MOV A,R6
DEC R1
ADDC A,@R1
MOV R6,A
MOV A,R5
DEC R1
ADDC A,@R1
MOV R5,A
SJMP T39CH
;DDV3:
DDV3: MOV R0,#18H
INC R1
INC R1
T3C5H: CLR C
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
XCH A,R3
RLC A
XCH A,R3
XCH A,R2
RLC A
XCH A,R2
MOV 0D5H,C
CLR C
SUBB A,@R1
DEC R1
MOV A,R3
SUBB A,@R1
DEC R1
MOV B,A
MOV A,R2
SUBB A,@R1
INC R1
INC R1
JB 0D5H,T3EBH
JC T3F3H
T3EBH: CLR C
MOV R2,A
MOV A,R4
SUBB A,@R1
MOV R4,A
MOV R3,B
INC R7
T3F3H: DJNZ R0,T3C5H
DEC R1
DEC R1
RET
;FAB4:
FAB4: INC R1
MOV A,@R1
MOV R5,A
INC R1
MOV A,@R1
MOV R6,A
INC R1
MOV A,@R1
MOV R7,A
DEC R1
DEC R1
DEC R1
MOV A,@R0
MOV C,0E7H
MOV 38H,C
XRL A,@R1
JNB 0E7H,T40FH
CPL 3AH
T40FH: MOV A,R0
PUSH ACC
MOV A,@R0
MOV C,0E6H
MOV 0E7H,C
MOV R0,A
MOV A,R1
PUSH ACC
MOV A,@R1
MOV C,0E6H
MOV 0E7H,C
MOV R1,A
T421H: CLR C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -