home *** CD-ROM | disk | FTP | other *** search
- ;
- ; THIS THE FILE OF DBINT.ASM
- ;
- ;
- ;
- ;
- ;
- CMPT: MOV A,R5 ;THIS IS SUBROUTING 2-1
- CPL A
- ADD A,#01H
- MOV R5,A
- MOV A,R4
- CPL A
- ADDC A,#00H
- MOV R4,A
- RET
- ;
- ;
- NADD: MOV A,R3 ;THIS IS SUBROUTING 2-2
- ADD A,R7
- MOV R5,A
- MOV A,R2
- ADDC A,R6
- MOV R4,A
- RET
- ;
- ;
- ;
- ;
- ;
- NSUB1: MOV A,R3 ;THIS IS SUBROUTING 2-3
- CLR C
- SUBB A,R7
- MOV R5,A
- MOV A,R2
- SUBB A,R6
- MOV R4,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- DSUB: MOV A,R6 ;THIS IS SUBROUTING 2-4
- CPL ACC.7
- MOV R6,A
- DADD: MOV A,R2
- MOV C,ACC.7
- MOV PSW.5,C
- XRL A,R6
- MOV C,ACC.7
- MOV A,R2
- CLR ACC.7
- MOV R2,A
- MOV A,R6
- CLR ACC.7
- MOV R6,A
- JC DAB2
- LCALL NADD
- MOV A,R4
- JB ACC.7,DABE
- DAB1: MOV C,PSW.5
- MOV ACC.7,C
- MOV R4,A
- RET
- DABE: SETB C
- RET
- DAB2: LCALL NSUB1
- MOV A,R4
- JNB ACC.7,DAB1
- LCALL CMPT
- CPL PSW.5
- SJMP DAB1
- ;
- ;
- ;
- ;
- NMUL: MOV R4,#0 ;THIS IS SUBROUTING 2-5
- MOV R5,#0
- MOV R0,#16
- CLR C
- NMLP: MOV A,R4
- RRC A
- MOV R4,A
- MOV A,R5
- RRC A
- MOV R5,A
- MOV A,R6
- RRC A
- MOV R6,A
- MOV A,R7
- RRC A
- MOV R7,A
- JNC NMLN0
- MOV A,R5
- ADD A,R3
- MOV R5,A
- MOV A,R4
- ADDC A,R2
- MOV R4,A
- NMLN0: DJNZ R0,NMLP
- MOV A,R4
- RRC A
- MOV R4,A
- MOV A,R5
- RRC A
- MOV R5,A
- MOV A,R6
- RRC A
- MOV R6,A
- MOV A,R7
- RRC A
- MOV R7,A
- RET
- ;
- ;
- ;
- ;
- ;
- QKMUL: MOV A,R3 ;THIS IS SUBROUTING 2-6
- MOV B,R7
- MUL AB ;R3 * R7
- XCH A,R7 ;R7 =(R3*R7)L
- MOV R5,B ;R5 =(R3*R7)H
- MOV B,R2
- MUL AB ;R2 * R7
- ADD A,R5
- MOV R4,A
- CLR A
- ADDC A,B
- MOV R5,A ;R5 =(R2*R7)H
- MOV A,R6
- MOV B,R3
- MUL AB ;R3 * R6
- ADD A,R4
- XCH A,R6
- XCH A,B
- ADDC A,R5
- MOV R5,A
- MOV PSW.5,C ;Store CY
- MOV A,R2
- MUL AB ;R2 * R6
- ADD A,R5
- MOV R5,A
- CLR A
- MOV ACC.0,C
- MOV C,PSW.5
- ADDC A,B
- MOV R4,A
- RET
- ;
- ;
- ;
- ;
- NDIV1: MOV A,R3 ;THIS IS SUBROUTING 2-7
- CLR C ;
- SUBB A,R7
- MOV A,R2
- SUBB A,R6
- JNC NDVE1
- MOV B,#16
- NDVL1: CLR C
- MOV A,R5
- RLC A
- MOV R5,A
- MOV A,R4
- RLC A
- MOV R4,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,R7
- MOV R1,A
- MOV A,R2
- SUBB A,R6
- JB PSW.5,NDVM1
- JC NDVD1
- NDVM1: MOV R2,A
- MOV A,R1
- MOV R3,A
- INC R5
- NDVD1: DJNZ B,NDVL1
- CLR PSW.5
- RET
- NDVE1: SETB PSW.5
- RET
- ;
- ;
- ;
- IMUL: MOV A,R2 ;THIS IS SUBROUTING 2-8
- XRL A,R6
- MOV C,ACC.7
- MOV PSW.5,C
- MOV A,R2
- CLR ACC.7
- MOV R2,A
- MOV A,R6
- CLR ACC.7
- MOV R6,A
- LCALL NMUL
- MOV A,R4
- MOV C,PSW.5
- MOV ACC.7,C
- MOV R4,A
- RET
- ;
- ;
- ;
- ;
- IDIV: MOV A,R2 ;THIS IS SUBROUTING 2-9
- XRL A,R6
- MOV C,ACC.7
- MOV 0,C ;Save SIGN
- MOV A,R2
- CLR ACC.7
- MOV R2,A
- MOV A,R6
- CLR ACC.7
- MOV R6,A
- LCALL NDIV1
- MOV A,R4
- JB ACC.7,IDIVE
- MOV C,0 ;Restore SIGN
- MOV ACC.7,C
- MOV R4,A
- RET
- IDIVE: SETB PSW.5 ;Ouer Flow
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- DMUL: MOV A,R2 ;THIS IS SUBROUTING 2-10
- XRL A,R6
- MOV C,ACC.7
- MOV PSW.5,C
- MOV A,R2
- CLR ACC.7
- MOV R2,A
- MOV A,R6
- CLR ACC.7
- MOV R6,A
- MOV R4,#0
- MOV R5,#0
- MOV R0,#16
- CLR C
- DMLP: MOV A,R4
- RRC A
- MOV R4,A
- MOV A,R5
- RRC A
- MOV R5,A
- MOV A,R6
- RRC A
- MOV R6,A
- MOV A,R7
- RRC A
- MOV R7,A
- JNC DMLN
- MOV A,R5
- ADD A,R3
- MOV R5,A
- MOV A,R4
- ADDC A,R2
- MOV R4,A
- DMLN: DJNZ R0,DMLP
- MOV A,R4
- MOV C,PSW.5
- MOV ACC.7,C
- MOV R4,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- DDIV: MOV A,R2 ;THIS IS SUBROUTING 2-11
- XRL A,R6
- MOV C,ACC.7
- MOV 0,C ;Save SIGN
- MOV A,R2
- CLR ACC.7
- MOV R2,A
- MOV A,R6
- CLR ACC.7
- MOV R6,A
- CLR A
- MOV R4,A
- MOV R5,A
- LCALL NDIV1
- MOV C,0 ;Restore SIGN
- MOV A,R4
- RRC A
- MOV R4,A
- MOV A,R5
- RRC A
- MOV R5,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;