home *** CD-ROM | disk | FTP | other *** search
- ;*************************************************************************
- ;** Silver MULU **
- ;** Contributor: L.Lucius Nov 15th 1995 **
- ;** Modified for HOp: Thomas Richter (thor) Nov 1st 1997 **
- ;** Function: Modify 68000 math routines to use 68020+ instructions. **
- ;*************************************************************************
-
-
- ;*************************************************************************
- ;
- ; MULU
- ;
- ;
- #match
- #code
- 48E7 3C00 ; MOVEM.L D2-D5,-(A7)
- 4205 ; CLR.B D5
- 4A80 ; TST.L D0
- 6A04 ; BPL.B 000E
- 4605 ; NOT.B D5
- 4480 ; NEG.L D0
- 4A81 ; TST.L D1
- 6A04 ; BPL.B 0016
- 4605 ; NOT.B D5
- 4481 ; NEG.L D1
- 3400 ; MOVE.W D0,D2
- 3601 ; MOVE.W D1,D3
- 4840 ; SWAP D0
- 4841 ; SWAP D1
- 3803 ; MOVE.W D3,D4
- C8C2 ; MULU.W D2,D4
- C6C0 ; MULU.W D0,D3
- C4C1 ; MULU.W D1,D2
- C2C0 ; MULU.W D0,D1
- D682 ; ADD.L D2,D3
- 2003 ; MOVE.L D3,D0
- 4240 ; CLR.W D0
- 4840 ; SWAP D0
- 4843 ; SWAP D3
- 4243 ; CLR.W D3
- D883 ; ADD.L D3,D4
- D181 ; ADDX.L D1,D0
- 4840 ; SWAP D0
- 4240 ; CLR.W D0
- 4244 ; CLR.W D4
- 4844 ; SWAP D4
- 8084 ; OR.L D4,D0
- 4A05 ; TST.B D5
- 6702 ; BEQ.B 0048
- 4480 ; NEG.L D0
- 4CDF 003C ; MOVEM.L (A7)+,D2-D5
- 4E75 ; RTS
- ;
- ;
- #replace
- 4C00 1C00 ; MULS.L D0,D0:D1
- E180 ; ASL.L #8,D0
- E180 ; ASL.L #8,D0
- 9241 ; SUB.W D1,D1
- 4841 ; SWAP D1
- 8081 ; OR.L D1,D0
- 4E75 ; RTS
- #end
-
-