private static GenerateInstructionFpu[] SetupTableFpu() { GenerateInstructionFpu[] instrs = new GenerateInstructionFpu[64]; // Populate table GenerateInstructionFpu unk = new GenerateInstructionFpu(UnknownFpu); for (int n = 0; n < instrs.Length; n++) { instrs[n] = unk; } instrs[0] = new GenerateInstructionFpu(Arithmetic.ADD); instrs[1] = new GenerateInstructionFpu(Arithmetic.SUB); instrs[2] = new GenerateInstructionFpu(Arithmetic.MUL); instrs[3] = new GenerateInstructionFpu(Arithmetic.DIV); instrs[4] = new GenerateInstructionFpu(Arithmetic.SQRT); instrs[5] = new GenerateInstructionFpu(Arithmetic.ABS); instrs[6] = new GenerateInstructionFpu(Arithmetic.MOV); instrs[7] = new GenerateInstructionFpu(Arithmetic.NEG); instrs[8] = new GenerateInstructionFpu(Arithmetic.ROUNDL); instrs[9] = new GenerateInstructionFpu(Arithmetic.TRUNCL); instrs[10] = new GenerateInstructionFpu(Arithmetic.CEILL); instrs[11] = new GenerateInstructionFpu(Arithmetic.FLOORL); instrs[12] = new GenerateInstructionFpu(Arithmetic.ROUNDW); instrs[13] = new GenerateInstructionFpu(Arithmetic.TRUNCW); instrs[14] = new GenerateInstructionFpu(Arithmetic.CEILW); instrs[15] = new GenerateInstructionFpu(Arithmetic.FLOORW); instrs[32] = new GenerateInstructionFpu(Arithmetic.CVTS); instrs[33] = new GenerateInstructionFpu(Arithmetic.CVTD); instrs[36] = new GenerateInstructionFpu(Arithmetic.CVTW); instrs[37] = new GenerateInstructionFpu(Arithmetic.CVTL); for (int n = 48; n <= 63; n++) { instrs[n] = new GenerateInstructionFpu(Conditional.Compare); } return(instrs); }
private static GenerateInstructionFpu[] SetupTableFpu() { GenerateInstructionFpu[] instrs = new GenerateInstructionFpu[ 64 ]; // Populate table GenerateInstructionFpu unk = new GenerateInstructionFpu( UnknownFpu ); for( int n = 0; n < instrs.Length; n++ ) instrs[ n ] = unk; instrs[ 0 ] = new GenerateInstructionFpu( Arithmetic.ADD ); instrs[ 1 ] = new GenerateInstructionFpu( Arithmetic.SUB ); instrs[ 2 ] = new GenerateInstructionFpu( Arithmetic.MUL ); instrs[ 3 ] = new GenerateInstructionFpu( Arithmetic.DIV ); instrs[ 4 ] = new GenerateInstructionFpu( Arithmetic.SQRT ); instrs[ 5 ] = new GenerateInstructionFpu( Arithmetic.ABS ); instrs[ 6 ] = new GenerateInstructionFpu( Arithmetic.MOV ); instrs[ 7 ] = new GenerateInstructionFpu( Arithmetic.NEG ); instrs[ 8 ] = new GenerateInstructionFpu( Arithmetic.ROUNDL ); instrs[ 9 ] = new GenerateInstructionFpu( Arithmetic.TRUNCL ); instrs[ 10 ] = new GenerateInstructionFpu( Arithmetic.CEILL ); instrs[ 11 ] = new GenerateInstructionFpu( Arithmetic.FLOORL ); instrs[ 12 ] = new GenerateInstructionFpu( Arithmetic.ROUNDW ); instrs[ 13 ] = new GenerateInstructionFpu( Arithmetic.TRUNCW ); instrs[ 14 ] = new GenerateInstructionFpu( Arithmetic.CEILW ); instrs[ 15 ] = new GenerateInstructionFpu( Arithmetic.FLOORW ); instrs[ 32 ] = new GenerateInstructionFpu( Arithmetic.CVTS ); instrs[ 33 ] = new GenerateInstructionFpu( Arithmetic.CVTD ); instrs[ 36 ] = new GenerateInstructionFpu( Arithmetic.CVTW ); instrs[ 37 ] = new GenerateInstructionFpu( Arithmetic.CVTL ); for( int n = 48; n <= 63; n++ ) instrs[ n ] = new GenerateInstructionFpu( Conditional.Compare ); return instrs; }