home *** CD-ROM | disk | FTP | other *** search
- ; THIS IS THE FILE OF NBNF.ASM
- ;
- ;
- ;
- NBINTOF:MOV A,R7 ;THIS IS SUBROUTING 5-1
- MOV B,#08H
- MUL AB
- DEC A
- INC R0
- MOV @R0,A
- LCALL NBNORM
- RET
- ;
- ;
- ;
- ;
- NBNORM: DEC R0 ;THIS IS SUBROUTING 5-2
- MOV A,@R0
- JNB ACC.7,NOR0
- JB ACC.6,NOR1
- NOR2: INC R0
- RET
- NOR0: JB ACC.6,NOR2
- INC R0
- LCALL NORA
- LCALL NORB
- NOR4: JB ACC.6,NOR2
- INC R0
- LCALL NORB
- DJNZ R2,NOR4
- LJMP NOR2
- NOR1: LCALL NORA
- NOR6: INC R0
- LCALL NORB
- DJNZ R2,NOR5
- LJMP NOR2
- NOR5: JB ACC.6,NOR6
- LJMP NOR2
- NORA: MOV A,R7
- MOV B,#08H
- MUL AB
- DEC A
- MOV R2,A
- RET
- NORB: MOV A,R7
- MOV R6,A
- MOV A,R0
- CLR C
- SUBB A,R7
- MOV R0,A
- CLR C
- NORB0: MOV A,@R0
- RLC A
- MOV @R0,A
- INC R0
- DJNZ R6,NORB0
- DEC @R0
- DEC R0
- MOV A,@R0
- RET
- ;
- ; ;
- NBNET: MOV A,R7 ;THIS IS SUBROUTING 5-3 SUBCG
- MOV R6,A
- MOV A,R0
- CLR C
- SUBB A,R7
- MOV R0,A
- SETB C
- NNT1: MOV A,@R0
- CPL A
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R6,NNT1
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- NBFSDT: MOV R2,#00H ;THIS IS SUBROUTING 5-4 SUBEG
- NST1: INC @R0
- DEC R0
- MOV A,R7
- MOV R6,A
- MOV A,@R0
- MOV C,ACC.7
- NST0: RRC A
- MOV @R0,A
- DEC R0
- MOV A,@R0
- DJNZ R6,NST0
- MOV A,R2
- RRC A
- MOV R2,A
- MOV A,R0
- ADD A,R7
- MOV R0,A
- INC R0
- DJNZ R3,NST1
- MOV A,R2
- JNB ACC.7,NSTR
- CLR C
- MOV A,R0
- SUBB A,R7
- MOV R0,A
- MOV A,R7
- MOV R6,A
- SETB C
- NST5: MOV A,@R0
- ADDC A, #00H
- MOV @R0,A
- INC R0
- DJNZ R6,NST5
- NSTR: RET
- ;
- ;
- ;
- NBFADD: MOV A,@R1 ;THIS IS SUBROUTING 5-5 SUBFG
- CPL A
- INC A
- MOV R3,A
- MOV A,@R0
- ADD A,R3
- MOV R3,A
- JNB ACC.7,NAD2
- CPL A
- INC A
- MOV R3,A
- LCALL NBFSDT
- LJMP NAD1
- NAD2: JZ NAD1
- MOV A,R0
- XCH A,R1
- XCH A,R0
- LCALL NBFSDT
- MOV A,R0
- XCH A,R1
- XCH A,R0
- NAD1: MOV A,R7
- XCH A,R6
- CLR C
- MOV A,R0
- SUBB A,R7
- MOV R0,A
- MOV A,R1
- SUBB A,R7
- MOV R1,A
- CLR C
- NAD8: MOV A,@R0
- ADDC A,@R1
- MOV @R0,A
- INC R0
- INC R1
- DJNZ R6,NAD8
- JNB PSW.2,NAD3
- INC @R0
- MOV A,R7
- XCH A,R6
- DEC R0
- MOV A,@R0
- MOV C,ACC.7
- CPL C
- NAD4: RRC A
- MOV @R0,A
- DEC R0
- MOV A,@R0
- DJNZ R6,NAD4
- MOV A,R7
- ADD A,R0
- MOV R0,A
- INC R0
- NAD3: LCALL NBNORM
- RET
- ;
- ;
- ;
- NBFSUB: LCALL NBNET ;THIS IS SUBROUTING 5-6 SUBGG
- LJMP NBFADD
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- NBFMUL: MOV A,@R0 ;THIS IS SUBROUTING 5-7; SUBBH
- ADD A,@R1
- INC A
- MOV @R0,A
- CLR PSW.5
- DEC R0
- MOV A,@R0
- JNB ACC.7,FML0
- CPL PSW.5
- INC R0
- LCALL NBNET
- LJMP FML1
- FML0: INC R0
- FML1: MOV A,R0
- XCH A,R1
- XCH A,R0
- DEC R0
- MOV A,@R0
- JNB ACC.7,FML2
- CPL PSW.5
- INC R0
- LCALL NBNET
- LJMP FML3
- FML2: INC R0
- FML3: MOV A,R0
- CLR C
- SUBB A,R7
- MOV R3,A
- MOV A,R1
- SUBB A,R7
- MOV R2,A
- SUBB A,R7
- MOV R5,A
- MOV R0,A
- MOV A,R7
- MOV R6,A
- FML4: MOV @R0,#00H
- INC R0
- DJNZ R6,FML4
- MOV A,R7
- MOV B,#08H
- MUL AB
- INC A
- MOV R4,A
- FML8: CLR C
- MOV A,R5
- MOV R0,A
- MOV A,R7
- RL A
- MOV R6,A
- FML5: MOV A,@R0
- RLC A
- MOV @R0,A
- INC R0
- DJNZ R6,FML5
- JNC FMLL
- MOV A,R5
- MOV R0,A
- MOV A,R3
- MOV R1,A
- MOV A,R7
- MOV R6,A
- CLR C
- FML6: MOV A ,@R0
- ADDC A,@R1
- MOV @R0,A
- INC R0
- INC R1
- DJNZ R6,FML6
- MOV A,R7
- MOV R6,A
- FML7: MOV A,@R0
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R6,FML7
- FMLL: DJNZ R4,FML8
- MOV A,R7
- RL A
- MOV B,#08H
- MUL AB
- MOV R4,A
- FMLB: DEC R0
- MOV A,@R0
- JB ACC.6,FML9
- INC R0
- DEC @R0
- CLR C
- MOV A,R5
- MOV R0,A
- MOV A,R7
- RL A
- MOV R6,A
- FMLA: MOV A,@R0
- RLC A
- MOV @R0,A
- INC R0
- DJNZ R6,FMLA
- DJNZ R4,FMLB
- FML9: MOV A,R2
- DEC A
- MOV R0,A
- MOV A,@R0
- JNB ACC.7,FMLK
- INC R0
- MOV A,R7
- MOV R6,A
- SETB C
- FMLP: MOV A,@R0
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R6,FMLP
- FMLK: JNB PSW.5,FMLR
- MOV A,R2
- ADD A,R7
- MOV R0,A
- LCALL NBNET
- FMLR: RET
- ;
- ;
- ;
- ;
- ;
- NBFDIV: MOV A,@R0 ;THIS IS SUBROUTING 5-8 SUBAH
- CLR C
- SUBB A,@R1
- MOV R2,A
- MOV A,R7
- MOV B,#08H
- MUL AB
- ADD A,R2
- DEC A
- MOV @R0,A
- CLR PSW.5
- DEC R0
- MOV A,@R0
- JNB ACC.7,NDV0
- CPL PSW.5
- INC R0
- LCALL NBNET
- LJMP NDV1
- NDV0: INC R0
- NDV1: MOV A,R0
- XCH A,R1
- XCH A,R0
- DEC R0
- MOV A,@R0
- JNB ACC.7,NDV2
- CPL PSW.5
- INC R0
- LCALL NBNET
- LJMP NDV3
- NDV2: INC R0
- NDV3: MOV A,R0
- MOV R2,A
- DEC R0
- MOV A,R7
- XCH A,R6
- NDV4: MOV A,@R0
- JNZ NDV5
- DEC R0
- DJNZ R6,NDV4
- SETB C
- RET
- NDV5: CLR C ;R2:40 R3:50 R5:30
- MOV A,R2
- SUBB A,R7
- MOV R3,A
- MOV A,R1
- SUBB A,R7
- SUBB A,R7
- MOV R2,A
- XCH A,R0
- MOV A,R7
- XCH A,R6
- NDV6: MOV @R0,#00H ; 0 >40,41
- INC R0
- DJNZ R6,NDV6
- MOV A,R5
- MOV R0,A
- MOV A,R7
- MOV R6,A
- NDV7: MOV @R0,#00H ;0 > 31,30
- INC R0
- DJNZ R6,NDV7
- MOV A,R7
- RL A
- MOV B,#08H
- MUL AB
- MOV R4,A
- INC R4
- CLR C
- NDVE: MOV A,R2 ;RLC 43-40 31-30
- MOV R0,A
- MOV A,R7
- RL A
- MOV R6,A
- NDV8: MOV A,@R0
- RLC A
- MOV @R0,A
- INC R0
- DJNZ R6,NDV8
- MOV A,R5
- MOV R0,A
- MOV A,R7
- MOV R6,A
- NDV9: MOV A ,@R0
- RLC A
- MOV @R0,A
- INC R0
- DJNZ R6,NDV9
- DJNZ R4,NDVA
- LJMP NDVX
- NDVA: MOV A,R5
- MOV R0,A
- MOV A,R3
- MOV R1,A
- MOV A,R7
- MOV R6,A
- CLR C
- NDVB: MOV A,@R0
- SUBB A,@R1
- MOV @R0,A
- INC R0
- INC R1
- DJNZ R6,NDVB
- JNC NDVC
- MOV A,R5
- MOV R0,A
- MOV A,R3
- MOV R1,A
- MOV A,R7
- MOV R6,A
- CLR C
- NDVD: MOV A,@R0
- ADDC A,@R1
- MOV @R0,A
- INC R0
- INC R1
- DJNZ R6,NDVD
- CLR C
- LJMP NDVE
- NDVC: SETB C
- LJMP NDVE
- NDVX: MOV A,R7
- RL A
- MOV B,#08H
- MUL AB
- MOV R4,A
- DEC R4
- NDVX3: MOV A,R2
- ADD A,R7
- ADD A,R7
- DEC R0
- MOV R0,A
- MOV A,@R0
- JB ACC.6,NDVK
- INC R0
- DEC @R0
- MOV A,R2
- MOV R0,A
- MOV A,R7
- RL A
- MOV R6,A
- CLR C
- NDVX2: MOV A,@R0
- RLC A
- MOV @R0,A
- INC R0
- DJNZ R6,NDVX2
- DJNZ R4,NDVX3
- NDVK: MOV A,R0
- CLR C
- SUBB A,R7
- MOV R0,A
- MOV A,@R0
- JNB ACC.7,NDVX1
- SETB C
- INC R0
- MOV A,R7
- MOV R6,A
- NDVP: MOV A,@R0
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R6,NDVP
- NDVX1: JNB PSW.5,NDVX4
- MOV A,R2
- ADD A,R7
- ADD A,R7
- MOV R0,A
- LCALL NBNET
- NDVX4: RET