.assembly '8q' { } .assembly extern 'mscorlib' { .ver 1:0:5000:0 .publickeytoken = ( b7 7a 5c 56 19 34 e0 89 ) } .class 'EightQueens' extends [mscorlib]System.Object { .field static private bool[] 'up' .field static private bool[] 'down' .field static private bool[] 'rows' .method hidebysig static public void 'Main'() { .entrypoint .locals init ([0]int32 't0') ldc.i4 0 stloc 0 // i br $4 $1: ldsfld bool[] 'EightQueens'::'up' ldloc 0 // i ldsfld bool[] 'EightQueens'::'down' ldloc 0 // i ldc.i4 1 stelem.i1 ldc.i4 1 stelem.i1 $2: ldloc 0 // i ldc.i4.1 add .locals init ([1]int32 't1') stloc 1 // t1 ldloc 1 // t1 stloc 0 // i $4: ldloc 0 // i ldsfld bool[] 'EightQueens'::'up' ldlen conv.i4 blt $1 $3: .locals init ([2]int32 't2') ldc.i4 0 stloc 2 // i br $8 $5: ldsfld bool[] 'EightQueens'::'rows' ldloc 2 // i ldc.i4 1 stelem.i1 $6: ldloc 2 // i ldc.i4.1 add .locals init ([3]int32 't3') stloc 3 // t3 ldloc 3 // t3 stloc 2 // i $8: ldloc 2 // i ldsfld bool[] 'EightQueens'::'rows' ldlen conv.i4 blt $5 $7: ldc.i4 0 ldc.i4 8 newarr int32 call void 'EightQueens'::'queens'(int32,int32[]) ret .maxstack 5 } // end of method EightQueens.Main .method hidebysig static private void 'queens'(int32 'c',int32[] 'x') { .locals init ([0]int32 't0') ldc.i4 0 stloc 0 // r br $4 $1: ldsfld bool[] 'EightQueens'::'rows' ldloc 0 // r ldelem.i1 brfalse $5 ldsfld bool[] 'EightQueens'::'up' ldloc 0 // r ldarg 0 // c sub ldc.i4 7 add ldelem.i1 brfalse $5 ldsfld bool[] 'EightQueens'::'down' ldloc 0 // r ldarg 0 // c add ldelem.i1 brfalse $5 ldsfld bool[] 'EightQueens'::'rows' ldloc 0 // r ldsfld bool[] 'EightQueens'::'up' ldloc 0 // r ldarg 0 // c sub ldc.i4 7 add ldsfld bool[] 'EightQueens'::'down' ldloc 0 // r ldarg 0 // c add ldc.i4 0 stelem.i1 ldc.i4 0 stelem.i1 ldc.i4 0 stelem.i1 ldarg 1 // x ldarg 0 // c ldloc 0 // r stelem.i4 ldarg 0 // c ldc.i4 7 bne.un $7 ldarg 1 // x call void 'EightQueens'::'print'(int32[]) br $8 $7: ldarg 0 // c ldc.i4 1 add ldarg 1 // x call void 'EightQueens'::'queens'(int32,int32[]) $8: ldsfld bool[] 'EightQueens'::'rows' ldloc 0 // r ldsfld bool[] 'EightQueens'::'up' ldloc 0 // r ldarg 0 // c sub ldc.i4 7 add ldsfld bool[] 'EightQueens'::'down' ldloc 0 // r ldarg 0 // c add ldc.i4 1 stelem.i1 ldc.i4 1 stelem.i1 ldc.i4 1 stelem.i1 $5: $6: $2: ldloc 0 // r ldc.i4.1 add .locals init ([1]int32 't1') stloc 1 // t1 ldloc 1 // t1 stloc 0 // r $4: ldloc 0 // r ldsfld bool[] 'EightQueens'::'rows' ldlen conv.i4 blt $1 $3: ret .maxstack 7 } // end of method EightQueens.queens .method hidebysig static private void 'print'(int32[] 'x') { .locals init ([0]int32 't0') .locals init ([1]int32 't1') .locals init ([2]int32[] 't2') ldarg 0 // x stloc 2 // t2 ldc.i4.0 stloc 1 // t1 br $4 $1: ldloc 2 // t2 ldloc 1 // t1 ldelem.i4 stloc 0 // c ldstr "{0}" ldloc 0 // c ldc.i4 1 add box int32 call void [mscorlib]System.Console::'Write'(string,object) $2: ldloc 1 // t1 ldc.i4.1 add stloc 1 // t1 $4: ldloc 1 // t1 ldloc 2 // t2 ldlen conv.i4 blt $1 $3: call void [mscorlib]System.Console::'WriteLine'() ret .maxstack 3 } // end of method EightQueens.print .method hidebysig specialname rtspecialname public void .ctor() { ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret .maxstack 1 } // end of constructor EightQueens.EightQueens .method hidebysig specialname rtspecialname static private void .cctor() { ldc.i4 15 newarr bool dup ldc.i4 0 ldc.i4 1 stelem.i1 dup ldc.i4 1 ldc.i4 1 stelem.i1 dup ldc.i4 2 ldc.i4 1 stelem.i1 dup ldc.i4 3 ldc.i4 1 stelem.i1 dup ldc.i4 4 ldc.i4 1 stelem.i1 dup ldc.i4 5 ldc.i4 1 stelem.i1 dup ldc.i4 6 ldc.i4 1 stelem.i1 dup ldc.i4 7 ldc.i4 1 stelem.i1 dup ldc.i4 8 ldc.i4 1 stelem.i1 dup ldc.i4 9 ldc.i4 1 stelem.i1 dup ldc.i4 10 ldc.i4 1 stelem.i1 dup ldc.i4 11 ldc.i4 1 stelem.i1 dup ldc.i4 12 ldc.i4 1 stelem.i1 dup ldc.i4 13 ldc.i4 1 stelem.i1 dup ldc.i4 14 ldc.i4 1 stelem.i1 stsfld bool[] 'EightQueens'::'up' ldsfld bool[] 'EightQueens'::'up' callvirt instance object [mscorlib]System.Array::'Clone'() castclass bool[] stsfld bool[] 'EightQueens'::'down' ldc.i4 8 newarr bool dup ldc.i4 0 ldc.i4 1 stelem.i1 dup ldc.i4 1 ldc.i4 1 stelem.i1 dup ldc.i4 2 ldc.i4 1 stelem.i1 dup ldc.i4 3 ldc.i4 1 stelem.i1 dup ldc.i4 4 ldc.i4 1 stelem.i1 dup ldc.i4 5 ldc.i4 1 stelem.i1 dup ldc.i4 6 ldc.i4 1 stelem.i1 dup ldc.i4 7 ldc.i4 1 stelem.i1 stsfld bool[] 'EightQueens'::'rows' ret .maxstack 4 } // end of constructor EightQueens.EightQueens } // end of class EightQueens