ack/mach/m68k2/as/testfp.s

216 lines
3 KiB
ArmAsm
Raw Normal View History

1991-09-06 16:01:22 +00:00
.sect .text ; .sect .rom ; .sect .data ; .sect .bss ; .sect .text
! test for Motorola MC68881 floating point processor instructions
! compare result of disassembled output with source.
.define _m_a_i_n
_m_a_i_n:
blablabla:
! dyadic instructions
fadd.l 12(a6),fp0
fadd fp0,fp1
fcmp.l 12(a6),fp0
fcmp fp0,fp1
fdiv.l 12(a6),fp0
fdiv fp0,fp1
fmod.l 12(a6),fp0
fmod fp0,fp1
fmul.l 12(a6),fp0
fmul fp0,fp1
frem.l 12(a6),fp0
frem fp0,fp1
fscale.l 12(a6),fp0
fscale fp0,fp1
fsgldiv.l 12(a6),fp0
fsgldiv fp0,fp1
fsglmul.l 12(a6),fp0
fsglmul fp0,fp1
fsub.l 12(a6),fp0
fsub fp0,fp1
!monadic instructions
fabs.p 12(a6),fp1
fabs.x fp1,fp2
fabs fp1
facos.p 12(a6),fp1
facos.x fp1,fp2
facos fp1
fasin.p 12(a6),fp1
fasin.x fp1,fp2
fasin fp1
fatan.p 12(a6),fp1
fatan.x fp1,fp2
fatan fp1
fatanh.p 12(a6),fp1
fatanh.x fp1,fp2
fatanh fp1
fcos.p 12(a6),fp1
fcos.x fp1,fp2
fcos fp1
fcosh.p 12(a6),fp1
fcosh.x fp1,fp2
fcosh fp1
fetox.p 12(a6),fp1
fetox.x fp1,fp2
fetox fp1
fetoxm1.p 12(a6),fp1
fetoxm1.x fp1,fp2
fetoxm1 fp1
fgetexp.p 12(a6),fp1
fgetexp.x fp1,fp2
fgetexp fp1
fgetman.p 12(a6),fp1
fgetman.x fp1,fp2
fgetman fp1
fint.p 12(a6),fp1
fint.x fp1,fp2
fint fp1
fintrz.p 12(a6),fp1
fintrz.x fp1,fp2
fintrz fp1
flogn.p 12(a6),fp1
flogn.x fp1,fp2
flogn fp1
flognp1.p 12(a6),fp1
flognp1.x fp1,fp2
flognp1 fp1
flog10.p 12(a6),fp1
flog10.x fp1,fp2
flog10 fp1
flog2.p 12(a6),fp1
flog2.x fp1,fp2
flog2 fp1
fneg.p 12(a6),fp1
fneg.x fp1,fp2
fneg fp1
fsin.p 12(a6),fp1
fsin.x fp1,fp2
fsin fp1
fsinh.p 12(a6),fp1
fsinh.x fp1,fp2
fsinh fp1
fsqrt.p 12(a6),fp1
fsqrt.x fp1,fp2
fsqrt fp1
ftan.p 12(a6),fp1
ftan.x fp1,fp2
ftan fp1
ftanh.p 12(a6),fp1
ftanh.x fp1,fp2
ftanh fp1
ftentox.p 12(a6),fp1
ftentox.x fp1,fp2
ftentox fp1
ftwotox.p 12(a6),fp1
ftwotox.x fp1,fp2
ftwotox fp1
!sincos
fsincos.s 12(a6),fp0:fp1
fsincos.x fp2,fp0:fp1
!some moves
fmove.l 12(a6),fp0
fmove.l fp1,12(a6)
fmove.p fp0,12(a6){d0}
fmove.p fp0,12(a6){#4}
fmove.l 12(a6),fpcr
!fmove.l a0,fpcr ! error
fmove.l a0,fpiar
fmovecr #1,fp1
!fmovem.x d1,(a0)+ ! error
fmovem.x d1,-(a0)
fmovem.x fp0-fp3/fp5,-(a0)
!fmovem.x -(a0),fp0-fp3/fp5 ! error
fmovem.x (a0)+,fp0-fp3/fp5
!some branches
fbeq blablabla
fbne blablabla
fbgt blablabla
fbngt blablabla
fbge blablabla
fbnge blablabla
fblt blablabla
fbnlt blablabla
fble blablabla
fbnle blablabla
fbgl blablabla
fbngl blablabla
fbgle blablabla
fbngle blablabla
fbogt blablabla
fbule blablabla
fboge blablabla
fbult blablabla
fbolt blablabla
fbuge blablabla
fbole blablabla
fbugt blablabla
fbogl blablabla
fbueq blablabla
fbor blablabla
fbun blablabla
fbf blablabla
fbt blablabla
fbsf blablabla
fbst blablabla
fbseq blablabla
fbsne blablabla
fdbgl d4,blablabla
!nop
fnop
!fscc
fsult d4
!ftst
ftst.p 12(a6)
ftst fp0
!save/restore
fsave 12(a6)
! fsave (a5)+ ! error
frestore 12(a6)
! frestore -(a5) ! error
!trap
ftrapeq
ftrapeq.l #4
ftrapeq.w #4