home *** CD-ROM | disk | FTP | other *** search
- ;
- ;
- ; THIS IS FILE OF TBF.ASM
- ;
- ;
- NORM: MOV A,@R0 ;THIS IS SUBROUTING 4-1
- MOV C,ACC.7
- MOV PSW.5,C
- INC R0
- NORM1: MOV A,@R0
- INC R0
- JNZ NORM3
- MOV A,@R0
- JNZ NORM4
- DEC R0
- DEC R0
- MOV A,#40H
- NORM2: MOV C,PSW.5
- MOV ACC.7,C
- MOV @R0,A
- RET
- NORM3: JB ACC.7,NORM5
- NORM4: CLR C
- MOV A,@R0
- RLC A
- MOV @R0,A
- DEC R0
- MOV A,@R0
- RLC A
- MOV @R0,A
- DEC R0
- DEC @R0
- MOV A,@R0
- INC R0
- ANL A,#7FH
- CJNE A,#40H,NORM3
- DEC R0
- SJMP NORM2
- NORM5: DEC R0
- DEC R0
- MOV A,@R0
- SJMP NORM2
- ;
- ;
- ;
- ;
- ;
- FSDT: JC FS2 ;THIS IS SUBROUTING 4-2
- MOV C,39H
- JB PSW.5,FS1
- MOV A,R2
- RRC A
- MOV R2,A
- MOV A,R3
- RRC A
- MOV R3,A
- INC R6
- RET
- FS1: MOV A,R4
- RRC A
- MOV R4,A
- MOV A,R5
- RRC A
- MOV R5,A
- INC R7
- RET
- FS2: MOV A,R2
- JNZ FS4
- CJNE R3,#0,FS5
- MOV R6,#41H
- FS3: RET
- FS4: JB ACC.7,FS3
- FS5: MOV C,PSW.5
- MOV A,R3
- RLC A
- MOV R3,A
- MOV A,R2
- RLC A
- MOV R2,A
- CLR PSW.5
- DEC R6
- SJMP FS2
- ;
- ;
- ;
- ;
- ;
- FMLD: MOV A,@R0 ;THIS IS SUBROUTING 4-3
- MOV R6,A
- INC R0
- MOV A,@R0
- MOV R2,A
- INC R0
- MOV A,@R0
- MOV R3,A
- DEC R0
- DEC R0
- MOV A,@R1
- MOV R7,A
- INC R1
- MOV A,@R1
- MOV R4,A
- INC R1
- MOV A,@R1
- MOV R5,A
- DEC R1
- DEC R1
- RET
- ;
- ;
- ;
- ;
- ;
- FSTR: MOV A,R4 ;THIS IS SUBROUTING 4-4
- MOV @R1,A
- INC R1
- MOV A,R2
- MOV @R1,A
- INC R1
- MOV A,R3
- MOV @R1,A
- DEC R1
- DEC R1
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- FABP: MOV A,R6 ;THIS IS SUBROUTING 4-5
- MOV C,ACC.7
- MOV 38H,C
- XRL A,R7
- JNB ACC.7,FA1
- CPL 3AH
- FA1: MOV A,R6
- MOV C,ACC.6
- MOV ACC.7,C
- MOV R6,A
- MOV A,R7
- MOV C,ACC.6
- MOV ACC.7,C
- MOV R7,A
- CLR C
- MOV A,R6
- SUBB A,R7
- JZ FA2
- CLR PSW.5
- CLR 39H
- JB ACC.7,FA5
- CJNE R4,#0,FA6
- CJNE R5,#0,FA6
- FA2: JB 3AH,FA8
- MOV A,R3
- ADD A,R5
- MOV R3,A
- MOV A,R2
- ADDC A,R4
- MOV R2,A
- JNC FA4
- SETB 39H
- CLR C
- FA3: CLR PSW.5
- LCALL FSDT
- FA4: CJNE R2,#0,FAA
- CJNE R3,#0,FAA
- MOV R4,#41H
- RET
- FAA: MOV A,R6
- MOV C,38H
- MOV ACC.7,C
- XCH A,R4
- MOV R6,A
- RET
- FA5: CJNE R2,#0,FA7
- CJNE R3,#0,FA7
- MOV A,R7
- MOV R6,A
- SJMP FA2
- FA6: CPL PSW.5
- FA7: CLR C
- LCALL FSDT
- SJMP FA1
- FA8: MOV A,R3
- CLR C
- SUBB A,R5
- MOV R3,A
- MOV A,R2
- SUBB A,R4
- MOV R2,A
- JNC FA9
- CLR A
- CLR C
- SUBB A,R3
- MOV R3,A
- CLR A
- SUBB A,R2
- MOV R2,A
- CPL 38H
- FA9: SETB C
- SJMP FA3
- ;
- ;
- ;
- ;
- ;
- ;
- FADD: CLR 3AH ;THIS IS SUBROUTING 4-6
- LCALL FMLD
- LCALL FABP
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- FSUB: SETB 3AH ;THIS IS SUBROUTING 4-7
- LCALL FMLD
- LCALL FABP
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- FMUL: LCALL FMLD ;THIS IS SUBROUTING 4-8
- MOV A,R6
- XRL A,R7
- MOV C,ACC.7
- MOV 38H,C
- LCALL WDMUL
- MOV A,R7
- MOV C,ACC.7
- MOV PSW.5,C
- MOV A,@R0
- ADD A,@R1
- MOV R6,A
- SETB C
- LCALL FSDT
- MOV A,R6
- MOV C,38H
- MOV ACC.7,C
- MOV R4,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- WDMUL: MOV A,R3 ;THIS IS SUBROUTING 4-10
- MOV B,R5
- MUL AB
- MOV R7,B
- MOV A,R3
- MOV B,R4
- MUL AB
- ADD A,R7
- MOV R7,A
- CLR A
- ADDC A,B
- MOV R3,A
- MOV A,R2
- MOV B,R5
- MUL AB
- ADD A,R7
- MOV R7,A
- MOV A,R3
- ADDC A,B
- MOV R3,A
- MOV PSW.5,C
- MOV A,R2
- MOV B,R4
- MUL AB
- ADD A,R3
- MOV R3,A
- CLR A
- ADDC A,B
- MOV C,PSW.5
- ADDC A,#0
- MOV R2,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- FDIV: LCALL FMLD ;THIS IS SUBROUTING 4-9
- MOV A,R6
- XRL A,R7
- MOV C,ACC.7
- MOV 38H,C
- CLR A
- MOV R6,A
- MOV R7,A
- CJNE R4,#0,FD1
- CJNE R5,#0,FD1
- SETB C
- RET
- FD1: MOV A,R3
- SUBB A,R5
- MOV A,R2
- SUBB A,R4
- JC FD2
- CLR PSW.5
- CLR 39H
- LCALL FSDT
- MOV A,R7
- RRC A
- MOV R7,A
- CLR C
- SJMP FD1
- FD2: CLR A
- XCH A,R6
- PUSH ACC
- LCALL WDDIV
- POP ACC
- ADD A,@R0
- CLR C
- SUBB A,@R1
- MOV C,38H
- MOV ACC.7,C
- MOV R4,A
- CLR C
- RET
- ;
- ;
- ;
- ;
- ;
- WDDIV: MOV A,R1 ;THIS IS SUBROUTING 4-11
- PUSH ACC
- MOV B,#10H
- DV1: CLR C
- MOV A,R6
- RLC A
- MOV R6,A
- MOV A,R7
- RLC A
- MOV R7,A
- MOV A,R3
- RLC A
- MOV R3,A
- XCH A,R2
- RLC A
- XCH A,R2
- MOV PSW.5,C
- CLR C
- SUBB A,R5
- MOV R1,A
- MOV A,R2
- SUBB A,R4
- JB PSW.5,DV2
- JC DV3
- DV2: MOV R2,A
- MOV A,R1
- MOV R3,A
- INC R6
- DV3: DJNZ B,DV1
- POP ACC
- MOV R1,A
- MOV A,R7
- MOV R2,A
- MOV A,R6
- MOV R3,A
- RET
- ;
- ;
- ;
- ;
- ;
- INTTF: MOV R6,#10H ;THIS IS SUBROUTING 4-12
- SETB C
- CLR PSW.5
- LCALL FSDT
- MOV A,R6
- MOV C,3CH
- MOV ACC.7,C
- MOV R4,A
- LCALL FSTR
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- FINT: CLR PSW.5 ;THIS IS SUBROUTING 4-13
- 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,ACC.7
- MOV 3CH,C
- CLR ACC.7
- JNB ACC.6,FIN1
- MOV R2,#00H
- MOV R3,#00H
- RET
- FIN1: CJNE A,#11H,FIN5
- JC FIN3
- FIN5: SETB PSW.5
- MOV R2,#0FFH
- MOV R3,#0FFH
- RET
- FIN3: CJNE A,#10H,FIN4
- RET
- FIN4: CLR C
- XCH A,R2
- RRC A
- XCH A,R2
- XCH A,R3
- RRC A
- XCH A,R3
- INC A
- SJMP FIN3
- ;