home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d2xx
/
d269
/
propgadget.lha
/
PropGadget
/
div020.asm
< prev
next >
Wrap
Assembly Source File
|
1989-11-06
|
1KB
|
40 lines
; There is not a man that lives, who hath not known his god-like hours.
; Wordsworth
; Jerry J. Trantow
; 1560 A East Irving Place
; Milwaukee, Wi 53202-1460
; written especially for Gadget calculation where result is always 32 bits
; 12 Jan 89 Now does a 64/32 with a 64 bit result
; 12 Jan 89 64 bit Quotient gets returned in the Dividend
; 14 Jan 89 passes divisor by value
; 15 Jan 89 Used Andi, ori to set X Flag
; 24 Jan 89 Division by 2^31 or larger doesn't seem to work
; 1 Feb 89 Implemented a 64/32 = 32 bit Quotient Division
; NOTE : ONLY USE THE LOWER ULONG i.e. ONLY A 32 bit Quotient
;
IFD LATTICE
CSECT text
XDEF _QuadDiv020
ELSE
machine MC68020
public _QuadDiv020
ENDC
_QuadDiv020:
link a5,#0
movem.l d2/d3/d5,-(sp) ; push registers on the stack
move.l 8(a5),a0 ; Points to Dividend (64 bits)
move.l (a0),d0 ; High ULONG of Quad
move.l 4(a0),d1 ; Low ULONG of Quad
divu.l 12(a5),d0:d1
; move.l d0,(a0) ; put Remainder in High ULONG of QUAD
move.l d1,4(a0) ; puts Quotient in Low ULONG of QUAD
movem.l (sp)+,d2/d3/d5
unlk a5
rts
end