MANIFEST {
// Operand size bit
   ff.s = #x000000; ff.d = #x400000;

   // Type of 2nd operand
   ff.const = #x800000;

   // Direction for CPDT/CPRT operations
   ff.toarm = #x100000; ff.fromarm = #x000000;

   // the floating point co-processor id
   ff.cpno = #x100;

   ff.cpdt = #x0c000000;
   ff.cpdo = #x0e000000;
   ff.cprt = #x0e000010;

   // single precision floating point format
   fps.sign = #x80000000;
   fps.expt = #x7f800000;
   fps.mantissa =   #x007fffff;
   fps.impliedbit = #x00800000;
   fps.exptshift = 23 }

MANIFEST {
// Registers
   fr.0 = 0;
   fr.1 = 1;
   fr.2 = 2;
   fr.3 = 3;
   fr.4 = 4;
   fr.5 = 5;
   fr.6 = 6;
   fr.7 = 7 }

MANIFEST {
// CPRT ops
   ff.fixflt = #x000000
   ff.fix = ff.fixflt+ff.toarm;
   ff.flt = ff.fixflt+ff.fromarm;
   ff.trn = #x200000+ff.toarm;
   ff.mvpsw = #x800000;
   ff.mvffr = #xa00000;
   ff.mvfd1 = #xc00000;
   ff.mvfd2 = #xe00000;

   // CPDO ops (and compares)
   ff.cmf   = #x100030;
   ff.cnf   = #x300030;
   ff.adf   = #x000000;
   ff.sbf   = #x000020;
   ff.rsf   = #x000040;
   ff.asf   = #x000060;
   ff.mul   = #x100000;
   ff.div   = #x100020;
   ff.rdv   = #x100040;
   ff.cvt   = #x200000;
   ff.abs   = #x200020;
   ff.sqt   = #x200040;
   ff.mvfff = #x200060;
   ff.mnfff = #x300000 }
