home *** CD-ROM | disk | FTP | other *** search
- ;
- ;THIS IS THE FILE OF NBINT.ASM
- ;
- ;
- NIADD: MOV A,R0 ; THIS IS SUBROUTING 3-1
- MOV R4,A
- MOV A,R3
- MOV R7,A
- CLR C
- SA20: MOV A,@R0
- ADDC A,@R1
- MOV @R0,A
- INC R0
- INC R1
- DJNZ R7,SA20
- CLR A
- MOV ACC.0,C
- MOV @R0,A
- INC R3
- SA21: MOV A,R4
- MOV R0,A
- RET
- ;
- ;
- ;
- NISUB: MOV A, R0 ; THIS IS SUBROUTING 3-2
- MOV R4, A
- MOV A, R3
- MOV R7, A
- CLR C
- SB20: MOV A,@R0
- SUBB A,@R1
- MOV @R0, A
- INC R0
- INC R1
- DJNZ R7,SB20
- MOV A,R4
- MOV R0,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- NIMUL: MOV A,R0 ; THIS IS SUBROUTING 3-3
- MOV R4,A
- MOV A,R3
- MOV R7,A
- MOV A,R1
- MOV R5,A
- SE20: CLR C
- SUBB A,R7
- MOV R6,A
- MOV R1,A
- LCALL SUBD4
- MOV A,R7
- ADD A,R7
- MOV R2,A
- MOV B,#04H
- MUL AB
- SE201: PUSH ACC
- MOV A,R6
- MOV R1,A
- MOV A,R2
- MOV R3,A
- LCALL SUBE4
- JNC SE203
- MOV A,R7
- MOV R3,A
- MOV A,R6
- MOV R0,A
- MOV A,R4
- MOV R1,A
- CLR C
- SE202: MOV A,@R0
- ADDC A,@R1
- MOV @R0,A
- INC R0
- INC R1
- DJNZ R3,SE202
- JNC SE203
- MOV A,R5
- MOV R1,A
- MOV A,R7
- MOV R3,A
- SE204: MOV A,@R1
- ADDC A,#00H
- MOV @R1,A
- JNC SE203
- INC R1
- DJNZ R3,SE204
- SE203: POP ACC
- DEC A
- JNZ SE201
- MOV A,R2
- MOV R3,A
- MOV A,R6
- MOV R0,A
- RET
- SUBD4: CLR A ;N BYTES CLR
- SD40: MOV @R1,A
- INC R1
- DJNZ R3,SD40
- RET
- SUBE4: CLR C
- SE40: MOV A,@R1
- RLC A
- MOV @R1,A
- INC R1
- DJNZ R3,SE40
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- NINORM: SETB C ;; THIS IS SUBROUTING 3-4
- SC40: MOV A,@R1
- CPL A
- ADDC A,#00H
- MOV @R1,A
- INC R1
- DJNZ R3,SC40
- RET
- ;
- ;
- ;
- ;
- ;
- SNIMUL: MOV A,R0 ; THIS IS SUBROUTING 3-5
- MOV R4,A
- MOV A,R1
- MOV R5,A
- MOV A,R3
- MOV R7,A
- DEC A
- MOV R6,A
- ADD A,R4
- MOV R1,A
- MOV A,@R1
- ANL A,#80H
- MOV R2,A
- JZ SF21 ; < 0 SF21
- SETB C
- SF23: MOV A,@R0
- CPL A
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R3 ,SF23
- SF21: MOV A,R5
- ADD A,R6
- MOV R1,A
- MOV A,@R1
- ANL A,#80H
- MOV R6,A
- JZ SF22
- MOV A,R5
- MOV R1,A
- MOV A,R7
- MOV R3,A
- SETB C
- SF24: MOV A,@R1
- CPL A
- ADDC A,#00H
- MOV @R1,A
- INC R1
- DJNZ R3,SF24
- SF22: MOV A,R2
- XRL A,R6 ;SIGN > STATION
- PUSH A
- MOV A,R4
- MOV R0,A
- MOV A,R7
- MOV R3,A
- MOV A,R5
- MOV R1,A
- LCALL SE20
- POP ACC
- JZ SF20
- MOV A,R2
- MOV R3,A
- MOV A,R0
- MOV R1,A
- LCALL NINORM
- SF20: MOV A,R2
- MOV R3,A
- RET
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- NIZERO: MOV A,@R1 ; THIS IS SUBROUTING 3-6
- JNZ SF40
- INC R1
- DJNZ R3,NIZERO
- SF40: RET
- ;
- ;
- ;
- NIDIV1: MOV A,R0 ; THIS IS SUBROUTING 3-7
- ADD A,R7
- MOV R6,A
- MOV R1,A
- LCALL SUBD4
- MOV A,R7
- ADD A,R7
- MOV R2,A
- MOV B,#04H
- MUL AB
- SA401: PUSH ACC
- CLR C
- MOV A,R2
- MOV R3,A
- MOV A,R4
- MOV R1,A
- LCALL SUBE4
- MOV A,R6
- MOV R0,A
- MOV A,R5
- MOV R1,A
- MOV A,R7
- MOV R3,A
- CLR C
- SA402: MOV A,@R0
- SUBB A,@R1
- PUSH ACC
- INC R0
- INC R1
- DJNZ R3,SA402
- MOV A,R7
- MOV R3,A
- JC SA403
- MOV A,R4
- MOV R0,A
- INC @R0
- MOV A,R6
- ADD A,R7
- DEC A
- MOV R0,A
- SA404: POP ACC
- MOV @R0,A
- DEC R0
- DJNZ R3,SA404
- SJMP SA405
- SA403: POP ACC
- DJNZ R3,SA403
- SA405: POP ACC
- DEC A
- JNZ SA401
- MOV A,R6
- ADD A,R7
- DEC A
- MOV R0,A
- MOV R2,A
- MOV A,@R0
- RLC A
- JC SA407
- MOV A,R6
- MOV R1,A
- MOV A,R7
- MOV R3,A
- LCALL SUBE4
- MOV A,R2
- MOV R0,A
- MOV A,R7
- MOV R3,A
- ADD A,R5
- DEC A
- MOV R1,A
- SA406: CLR C
- MOV A,@R0
- SUBB A,@R1
- JC SA409
- JNZ SA407
- DEC R0
- DEC R1
- DJNZ R3,SA406
- SA407: MOV A,R4
- MOV R1,A
- MOV A,R7
- MOV R3,A
- SA408: MOV A,@R1
- ADD A,#01H
- MOV @R1,A
- JNC SA409
- INC R1
- DJNZ R7,SA408
- SA409: MOV A,R4
- MOV R0,A
- RET
- ;
- ;
- ;
- ;
- ;
- NIDIV2: MOV A,R0 ; THIS IS SUBROUTING 3-8
- MOV R4,A
- MOV A,R1
- MOV R5,A
- MOV A,R3
- MOV R7,A
- LCALL NIZERO
- JZ SA41
- MOV A,R5
- MOV R1,A
- MOV A,R7
- MOV R3,A
- LCALL NIDIV1
- MOV A,#0FFH
- MOV A,R7
- MOV R3,A
- SA41: RET
- ;
- ;
- ;
- ;
- ;
- SNIDIV: MOV A,R0 ; THIS IS SUBROUTING 3-9
- MOV R4,A
- MOV A,R1
- MOV R5,A
- MOV A,R3
- MOV R7,A
- LCALL NIZERO
- JZ SB41
- MOV A,R7
- MOV R3,A
- DEC A
- MOV R6,A
- ADD A,R4
- MOV R1,A
- MOV A,@R1
- ANL A,#80H
- MOV R2,A
- JZ SB42
- SETB C
- SB43: MOV A,@R0
- CPL A
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R3,SB43
- SB42: MOV A,R5
- MOV R0,A
- ADD A,R6
- MOV R1,A
- MOV A,@R1
- ANL A,#80H
- MOV R6,A
- JZ SB44
- MOV A,R7
- MOV R3,A
- SETB C
- SB45: MOV A,@R0
- CPL A
- ADDC A,#00H
- MOV @R0,A
- INC R0
- DJNZ R3,SB45
- SB44: MOV A,R6
- XRL A,R2
- PUSH ACC
- MOV A,R4
- MOV R0,A
- MOV A,R5
- MOV R1,A
- MOV A,R7
- MOV R3,A
- LCALL NIDIV1
- POP ACC
- JZ SB40
- MOV A,R0
- MOV R1,A
- MOV A,R7
- MOV R3,A
- LCALL NINORM
- SB40: MOV A,R7
- MOV R3,A
- MOV A,#0FFH
- SB41: RET
- ;
- ;
- ;
- ;