home *** CD-ROM | disk | FTP | other *** search
-
- ; Mathematik-Interface
-
- INCLUDE "lvo/math.i"
-
- XREF _MathBase
- XREF _MathTransBase
- XREF _MathIeeeDoubBasBase
- XREF _MathIeeeDoubTransBase
-
-
-
-
-
- CREATE MACRO Basis,Name,Registermaske,Registeranzahl,Satz1,Anzahl1,Satz2,Anzahl2...
-
- IFD \2
- XDEF _\2
-
- _\2
- IFEQ \4-1
- move.l \3,-(SP)
- ELSE
- movem.l \3,-(SP)
- ENDC
-
- TIEFE SET 4+4*\4
- IFNC '\5',''
- SATZ \5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k
- ENDC
-
- move.l \1,a6
- jsr _LVO\2(a6)
- IFEQ \4-1
- move.l (SP)+,\3
- ELSE
- movem.l (SP)+,\3
- ENDC
- rts
-
- ENDC
-
- ENDM
-
-
-
-
-
- SATZ MACRO Satz1,Anzahl1,Satz2,Anzahl2...
- IFEQ \2-1
- move.l TIEFE(SP),\1
- ELSE
- movem.l TIEFE(SP),\1
- ENDC
- TIEFE SET TIEFE+4*\2
- IFNC '\3',''
- SATZ \3,\4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i
- ENDC
- ENDM
-
-
-
-
-
-
-
-
-
-
- ; MathFFP
-
- ; SPFix(float)(D0)
- CREATE _MathBase,SPFix,a6,1,d0,1
-
- ; SPFlt(integer)(D0)
- CREATE _MathBase,SPFlt,a6,1,d0,1
-
- ; SPCmp(leftFloat,rightFloat)(D1,D0)
- CREATE _MathBase,SPCmp,a6,1,d1,1,d0,1
-
- ; SPTst(float)(D1)
- CREATE _MathBase,SPTst,a6,1,d1,1
-
- ; SPAbs(float)(D0)
- CREATE _MathBase,SPAbs,a6,1,d0,1
-
- ; SPNeg(float)(D0)
- CREATE _MathBase,SPNeg,a6,1,d0,1
-
- ; SPAdd(leftFloat,rightFloat)(D1,D0)
- CREATE _MathBase,SPAdd,a6,1,d1,1,d0,1
-
- ; SPSub(leftFloat,rightFloat)(D1,D0)
- CREATE _MathBase,SPSub,a6,1,d1,1,d0,1
-
- ; SPMul(leftFloat,rightFloat)(D1,D0)
- CREATE _MathBase,SPMul,a6,1,d1,1,d0,1
-
- ; SPDiv(leftFloat,rightFloat)(D1,D0)
- CREATE _MathBase,SPDiv,a6,1,d1,1,d0,1
-
- ; SPFloor(float)(D0)
- CREATE _MathBase,SPFloor,a6,1,d0,1
-
- ; SPCeil(float)(D0)
- CREATE _MathBase,SPCeil,a6,1,d0,1
-
- ; Offsets
-
- IFD OFFSETS1
-
- XDEF _LVOSPFix
- XDEF _LVOSPFlt
- XDEF _LVOSPCmp
- XDEF _LVOSPTst
- XDEF _LVOSPAbs
- XDEF _LVOSPNeg
- XDEF _LVOSPAdd
- XDEF _LVOSPSub
- XDEF _LVOSPMul
- XDEF _LVOSPDiv
- XDEF _LVOSPFloor
- XDEF _LVOSPCeil
-
- ENDC
-
-
-
-
-
- ; MathTrans
-
- ; SPAtan(float)(D0)
- CREATE _MathTransBase,SPAtan,a6,1,d0,1
-
- ; SPSin(float)(D0)
- CREATE _MathTransBase,SPSin,a6,1,d0,1
-
- ; SPCos(float)(D0)
- CREATE _MathTransBase,SPCos,a6,1,d0,1
-
- ; SPTan(float)(D0)
- CREATE _MathTransBase,SPTan,a6,1,d0,1
-
- ; SPSincos(leftFloat,rightFloat)(D1,D0)
- CREATE _MathTransBase,SPSincos,a6,1,d1,1,d0,1
-
- ; SPSinh(float)(D0)
- CREATE _MathTransBase,SPSinh,a6,1,d0,1
-
- ; SPCosh(float)(D0)
- CREATE _MathTransBase,SPCosh,a6,1,d0,1
-
- ; SPTanh(float)(D0)
- CREATE _MathTransBase,SPTanh,a6,1,d0,1
-
- ; SPExp(float)(D0)
- CREATE _MathTransBase,SPExp,a6,1,d0,1
-
- ; SPLog(float)(D0)
- CREATE _MathTransBase,SPLog,a6,1,d0,1
-
- ; SPPow(leftFloat,rightFloat)(D1,D0)
- CREATE _MathTransBase,SPPow,a6,1,d1,1,d0,1
-
- ; SPSqrt(float)(D0)
- CREATE _MathTransBase,SPSqrt,a6,1,d0,1
-
- ; SPTieee(float)(D0)
- CREATE _MathTransBase,SPTieee,a6,1,d0,1
-
- ; SPFieee(integer)(D0)
- CREATE _MathTransBase,SPFieee,a6,1,d0,1
-
- ; SPAsin(float)(D0)
- CREATE _MathTransBase,SPAsin,a6,1,d0,1
-
- ; SPAcos(float)(D0)
- CREATE _MathTransBase,SPAcos,a6,1,d0,1
-
- ; SPLog10(float)(D0)
- CREATE _MathTransBase,SPLog10,a6,1,d0,1
-
- ; Offsets
-
- IFD OFFSETS2
-
- XDEF _LVOSPAtan
- XDEF _LVOSPSin
- XDEF _LVOSPCos
- XDEF _LVOSPTan
- XDEF _LVOSPSincos
- XDEF _LVOSPSinh
- XDEF _LVOSPCosh
- XDEF _LVOSPTanh
- XDEF _LVOSPExp
- XDEF _LVOSPLog
- XDEF _LVOSPPow
- XDEF _LVOSPSqrt
- XDEF _LVOSPTieee
- XDEF _LVOSPFieee
- XDEF _LVOSPAsin
- XDEF _LVOSPAcos
- XDEF _LVOSPLog10
-
- ENDC
-
-
-
-
-
- ; MathDoubBas
-
- ; IEEEDPFix(double)(D0/D1)
- CREATE _MathIeeeDoubBasBase,IEEEDPFix,a6,1,d0-d1,2
-
- ; IEEEDPFlt(integer)(D0)
- CREATE _MathIeeeDoubBasBase,IEEEDPFlt,a6,1,d0,1
-
- ; IEEEDPCmp(double,double)(D0/D1/D2/D3)
- CREATE _MathIeeeDoubBasBase,IEEEDPCmp,d2-d3/a6,3,d0-d3,4
-
- ; IEEEDPTst(double)(D0/D1)
- CREATE _MathIeeeDoubBasBase,IEEEDPTst,a6,1,d0-d1,2
-
- ; IEEEDPAbs(double)(D0/D1)
- CREATE _MathIeeeDoubBasBase,IEEEDPAbs,a6,1,d0-d1,2
-
- ; IEEEDPNeg(double)(D0/D1)
- CREATE _MathIeeeDoubBasBase,IEEEDPNeg,a6,1,d0-d1,2
-
- ; IEEEDPAdd(double,double)(D0/D1/D2/D3)
- CREATE _MathIeeeDoubBasBase,IEEEDPAdd,d2-d3/a6,3,d0-d3,4
-
- ; IEEEDPSub(double,double)(D0/D1/D2/D3)
- CREATE _MathIeeeDoubBasBase,IEEEDPSub,d2-d3/a6,3,d0-d3,4
-
- ; IEEEDPMul(double,double)(D0/D1/D2/D3)
- CREATE _MathIeeeDoubBasBase,IEEEDPMul,d2-d3/a6,3,d0-d3,4
-
- ; IEEEDPDiv(double,double)(D0/D1/D2/D3)
- CREATE _MathIeeeDoubBasBase,IEEEDPDiv,d2-d3/a6,3,d0-d3,4
-
- ; IEEEDPFloor(double)(D0/D1)
- CREATE _MathIeeeDoubBasBase,IEEEDPFloor,a6,1,d0-d1,2
-
- ; IEEEDPCeil(double)(D0/D1)
- CREATE _MathIeeeDoubBasBase,IEEEDPCeil,a6,1,d0-d1,2
-
- ; Offsets
-
- IFD OFFSETS3
-
- XDEF _LVOIEEEDPFix
- XDEF _LVOIEEEDPFlt
- XDEF _LVOIEEEDPCmp
- XDEF _LVOIEEEDPTst
- XDEF _LVOIEEEDPAbs
- XDEF _LVOIEEEDPNeg
- XDEF _LVOIEEEDPAdd
- XDEF _LVOIEEEDPSub
- XDEF _LVOIEEEDPMul
- XDEF _LVOIEEEDPDiv
- XDEF _LVOIEEEDPFloor
- XDEF _LVOIEEEDPCeil
-
- ENDC
-
-
-
-
-
- ; MathDoubTrans
-
- ; IEEEDPAtan(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPAtan,a6,1,d0-d1,2
-
- ; IEEEDPSin(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPSin,a6,1,d0-d1,2
-
- ; IEEEDPCos(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPCos,a6,1,d0-d1,2
-
- ; IEEEDPTan(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPTan,a6,1,d0-d1,2
-
- ; IEEEDPSincos(double,pf2)(A0,D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPSincos,a6,1,a0,1,d0-d1,2
-
- ; IEEEDPSinh(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPSinh,a6,1,d0-d1,2
-
- ; IEEEDPCosh(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPCosh,a6,1,d0-d1,2
-
- ; IEEEDPTanh(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPTanh,a6,1,d0-d1,2
-
- ; IEEEDPExp(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPExp,a6,1,d0-d1,2
-
- ; IEEEDPLog(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPLog,a6,1,d0-d1,2
-
- ; IEEEDPPow(exp,arg)(D2/D3,D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPPow,d2-d3/a6,3,d2-d3,2,d0-d1,2
-
- ; IEEEDPSqrt(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPSqrt,a6,1,d0-d1,2
-
- ; IEEEDPTieee(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPTieee,a6,1,d0-d1,2
-
- ; IEEEDPFieee(single)(D0)
- CREATE _MathIeeeDoubTransBase,IEEEDPFieee,a6,1,d0,1
-
- ; IEEEDPAsin(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPAsin,a6,1,d0-d1,2
-
- ; IEEEDPAcos(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPAcos,a6,1,d0-d1,2
-
- ; IEEEDPLog10(double)(D0/D1)
- CREATE _MathIeeeDoubTransBase,IEEEDPLog10,a6,1,d0-d1,2
-
- ; Offsets
-
- IFD OFFSETS4
-
- XDEF _LVOIEEEDPAtan
- XDEF _LVOIEEEDPSin
- XDEF _LVOIEEEDPCos
- XDEF _LVOIEEEDPTan
- XDEF _LVOIEEEDPSincos
- XDEF _LVOIEEEDPSinh
- XDEF _LVOIEEEDPCosh
- XDEF _LVOIEEEDPTanh
- XDEF _LVOIEEEDPExp
- XDEF _LVOIEEEDPLog
- XDEF _LVOIEEEDPPow
- XDEF _LVOIEEEDPSqrt
- XDEF _LVOIEEEDPTieee
- XDEF _LVOIEEEDPFieee
- XDEF _LVOIEEEDPAsin
- XDEF _LVOIEEEDPAcos
- XDEF _LVOIEEEDPLog10
-
- ENDC
-
-
-
-
-
- END
-
-