Extending SSCLI 2.0 ------------------- Shared Source Common Language Infrastructure 2.0 Release can be found at: http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en Be sure to also install the prerequired software (also Perl). After decompression to lets say "d:\sscli20\" follow the instructions in rotor.pdf starting from page 56 (more exactly page 72). Files needing modifying: \clr\src\fjit\fjit.cpp \clr\src\fjit\fjit.h \clr\src\fjit\fjitdef.h \clr\src\inc\opcode.def - modify the line having string rep "unused" and bytecode 0xA6 with the line specified in rotor.pdf page 76 (with the correction of 0xA6 instead of 0xA3) \clr\src\vm\vertable.h - page 78 in the pdf (careful CEE_UNUSED21, ..) Copy the file (found in this archive) opcodegen.pl to \clr\src\inc\ and then at the command prompt: c:\sscli20\clr\src\inc> perl opcodegen.pl Overwrite-copy the resulting five .cs files (spawned in the same dir) to \clr\src\bcl\system\reflection\emit\ Go to the root of SSCLI in the command prompt and enter: > env > buildall It should take a long time to build completely. The warnings displayed are normal, as stated in the SSCLI 2.0 readme's. Create a simple.cs file containing: double a = 3; double b = 2; System.Console.WriteLine(""+ a*b ); Compile it: csc simple.cs (be sure to have runned \"env.bat debug" in this console, or else the official .Net compiler will be launched; env needs the parameter "debug" or else ilasm will fail) Run-test it: clix simple Disassemble by: ildasm simple.exe > simple.il Modify simple.il replacing "mul" with "exp" in the code. Assemble back: ilasm simple.il Run: clix simple Launching simple.exe directly will not run - it would use the .Net CLI.