home *** CD-ROM | disk | FTP | other *** search
- *-----------------------------------
- *áfLOATINGáPOINTáMACROSáANDáEQUATES
- *áFORáCALLINGáromáROUTINES.
-
- ayint = $af00 ;FAC->INTEGERáINáFAC+1,FAC+4
- givayf = $af03 ;fLOATáSIGNEDáINTEGERáINáa,y
- fout = $af06 ;FACá->áASCIIáSTRINGáATá$100
- val = $af09 ;aSCIIáSTRINGáATátxtptrá->áFAC
- getadr = $af0c ;FACá->áADRSáINálinnumá($16,$17)
- floatc = $af0f ;fLOATáADRSá(ALREADYáASSUMEDáTO
- ;áBEáINáFAC+1,FAC+2.ááeNTERáWITH
- ;á#BITSá+á$80áINáx-REG.áái.E.,
- ;áx=$88áFORáONEáBYTE,á$90áFORá2)
-
- *átHEá"t"áVERSIONSáOFáTHEáFOLLOWINGáASSUMEáTHATáTHE
- *áSTATUSáREGISTERáISáSETáACCORDINGáTOáFACá(FACEXP);
- *áTHISáCANáBEáACCOMPLISHEDáBYáldaáfacáPRIORáTOáCALLING:
-
- fsub = $af12 ;MEM-FACá->áFAC
- fsubt = $af15 ;ARG-FACá->áFAC
- fadd = $af18 ;MEM+FACá->áFAC
- faddt = $af1b ;ARG-FACá->áFAC
- fmult = $af1e ;MEM*FACá->áFAC
- fmultt = $af21 ;ARG*FACá->áFAC
- fdiv = $af24 ;MEM/FACá->áFAC
- fdivt = $af27 ;ARG/FACá->áFAC
- log = $af2a ;LN(FAC)á->áFAC
- int = $af2d ;INT(FAC)á->áFAC
- sqr = $af30 ;SQR(FAC)á->áFAC
- negop = $af33 ;-FACá->áFAC
- fpwr = $af36 ;ARG^MEMá->áFAC
- fpwrt = $af39 ;ARG^FACá->áFAC
- exp = $af3c ;EXP(FAC)á->áFAC
- cos = $af3f ;COS(FAC)á->áFACá(RADIANS)
- sin = $af42 ;SIN(FAC)á->áFAC
- tan = $af45 ;TAN(FAC)á->áFAC
- atn = $af48 ;ARCTAN(FAC)á->áFAC
- round = $af4b ;ROUNDáPRECISIONáBITáINTOáFAC
- ;áMOSTáROUTINESáCALLáTHISáFIRST
- ;áSOáITáISáRARELYáNEEDED
- abs = $af4e ;ABS(FAC)á->áFAC
- sign = $af51 ;rETURNáaá=á-1,0,1áACCORDING
- ;áTOáSIGNáOFáFAC.áásTATUSáREG
- ;áISáALSOáSETáACCORDINGLY
- fcomp = $af54 ;rETURNáaá=á-1,0,1áASá#áPOINTED
- ;áTOáBYá(a,y)áISá<=>áFAC.
- ;ásTATUSáSETáACCORDINGáTOáa-REG
- rnd = $af57 ;gENERATEáNEXTárndá#áANDáPLACE
- ;áINáFAC.
-
- conupk = $af5a ;uNPACKá#áATá(a,y)á->áARG
- movfrm = $af60 ;#áATá(a,y)áINáRAMá->áFAC
- movmf = $af66 ;pACKáFACá&áMOVEáTOá(x,y)
- movfa = $af69 ;ARGá->áFAC
- movaf = $af6c ;FACá->áARG
-
- frmevl = $af96 ;eVALáFORMULAáATátxtptr
- linget = $af9f ;aSCIIá#áATátxtptráTOáHEXáADRS
- ;áINálinnum.ááaSSUMESáPREVIOUS
- ;áCALLáTOáchrgetáORáchrgot.
-
- *-------------------------------------------------------
-
- point mac ;pOINTáTOáPACKEDá#áINáram1
- lda #]1
- ldy #>]1
- <<<
-
- getnum mac ;mOVEáFPá#áATá?áINTOáFAC
- point ]1
- jsr movfrm
- <<<
-
- stfac mac ;pACKáFACá&áMOVEáTOá?
- ldx #]1
- ldy #>]1
- jsr movmf
- <<<
-
- addto mac ;fACá+á(?)á->áFAC
- point ]1
- jsr fadd
- <<<
-
- subfrom mac ;(?)á-áFACá->áFAC
- point ]1
- jsr fsub
- <<<
-
- divinto mac ;(?)/FACá->áFAC
- point ]1
- jsr fdiv
- <<<
-
- multby mac ;(?)*FACá->áFAC
- point ]1
- jsr fmult
- <<<
-
- compare mac ;(?)á<=>áFACáRETURNSáa=1,0,-1
- point ]1
- jsr fcomp
- <<<
-