MANIFEST {
   // operand size for cpdt instructions
   fcpdt.size = #x408000;
   fcpdt.s = #x000000;
   fcpdt.d = #x008000;
   fcpdt.e = #x400000;
   fcpdt.p = #x408000;

   // destination precision for cpdo
   fcpdo.size = #x80080;
   fcpdo.s = #x00000;
   fcpdo.d = #x00080;
   fcpdo.e = #x80000;

   // rounding mode for all but CPDT
   fr.field = #x00;
   fr.rton = #x00;   // round to nearest
   fr.rtopi = #x20;  // round to +infinity
   fr.rtomi = #x40;  // round to -infinity
   fr.rtoz = #x60;   // round to zero

   // Type of 2nd operand for cpdo
   ff.const = 8;

   // 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 { // constant values
   fc.0 = 0;
   fc.1 = 1;
   fc.2 = 2;
   fc.3 = 3;
   fc.4 = 4;
   fc.5 = 5;
   fc.half = 6;
   fc.10 = 7 }

MANIFEST { // CPRT ops
   ff.fixflt = #x000000
   ff.fix = ff.fixflt+ff.toarm;
   ff.flt = ff.fixflt+ff.fromarm;
   ff.mfs = #x200000;
   ff.rfs = ff.mfs+ff.toarm
   ff.wfs = ff.mfs+ff.fromarm
   ff.mfc = #x400000;
   ff.rfc = ff.mfc+ff.toarm
   ff.wfc = ff.mfc+ff.fromarm

   // CPDO ops (and compares)
   ff.cmf   = #x800000+ff.toarm;
   ff.cnf   = #xA00000+ff.toarm;
   ff.cmfe  = #xC00000+ff.toarm;
   ff.cnfe  = #xE00000+ff.toarm;
   ff.adf   = #x000000;
   ff.mlf   = #x100000;
   ff.sbf   = #x200000;
   ff.rsf   = #x300000;
   ff.dvf   = #x400000;
   ff.rdf   = #x500000;
   ff.pow   = #x600000;
   ff.rpw   = #x700000;
   ff.rmf   = #x800000;
   ff.fml   = #x900000;
   ff.fdv   = #xA00000;
   ff.frd   = #xB00000;
   ff.pol   = #xC00000;
   ff.mvf   = #x008000;
   ff.mnf   = #x108000;
   ff.abs   = #x208000;
   ff.rnd   = #x308000;
   ff.sqt   = #x408000;
   ff.log   = #x508000;
   ff.lgn   = #x608000;
   ff.exp   = #x708000;
   ff.sin   = #x808000;
   ff.cos   = #x908000;
   ff.tan   = #xA08000;
   ff.asn   = #xB08000;
   ff.acs   = #xC08000;
   ff.atn   = #xD08000 }

