singrdk/base/Windows/csic/test/8q.il.expected

319 lines
4.7 KiB
Plaintext

.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