Hallo, guten Tag.
Wie wird es in GFA-Basic rausgefiltert? 16 Bit Ergebnis und 16 Bit Rest von der Division?
PS: Mein Gfa-Basic-Buch wird noch geliefert von Amazon.
Danke.
Gruss
Beim lezten Wert kommt 65386 raus, Als Word ist es -150, weil das Bit 15 gesetzt ist.
Wie bekomme ich mit dem GFA-Befehl zügig das vordere Word und das hintere Word jeweils in & rein, das es richtig ausgegeben wird?
CLS
INLINE addr%,100
BLOAD "D:\INL\MULDIV.INL",addr%
DIM r%(16)
'
r%(0)=1
r%(1)=150
r%(2)=3
RCALL addr%,r%()
m%=r%(0)
'
r%(0)=2
r%(1)=450
r%(2)=3
RCALL addr%,r%()
d%=r%(0)
'
r%(0)=3
r%(1)=150
r%(2)=-3
RCALL addr%,r%()
ms%=r%(0)
'
r%(0)=(4)
r%(1)=450
r%(2)=-3
RCALL addr%,r%()
ds%=r%(0)
'
PRINT m%
PRINT d%
PRINT ms%
PRINT ds%
PAUSE 50
asl.w #2,D0
lea tab(PC),A0
movea.l A0,A1
adda.w D0,A1
suba.l (A1),A0
jmp (A0)
rts
mul:
mulu D1,D2
move.l D2,D0
rts
div:
divu D2,D1
move.l D1,D0
rts
muls:
muls D1,D2
move.l D2,D0
rts
divs:
divs D2,D1
move.l D1,D0
rts
tab: DC.L 1
DC.L tab-mul
DC.L tab-div
DC.L tab-muls
DC.L tab-divs
END