Common Intermediate Language: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
→‎Преамбула: добавлен символ завершения строки ; после метки outer,метка перенесена во внутренниц цикл.
Код стал соответствовать фрагменту на C#, выдаёт простые числа до 1000
Строка 46:
 
<source lang="cil">
.assembly primes{}
.method private hidebysig static void Main( string [] args ) cil managed
{
.entrypoint
.maxstack 2
.locals init ( [0] int32 iV_0,
[1] int32 j int32 V_1)
 
IL_0000: ldc.i4.2
stloc ldc.0i4.2
br.s stloc.0 // IL_001fv_0=2
br.s IL_001f
IL_0004: ldc.i4.2
IL_0004: stlocldc.i4.12
br.s stloc.1 // IL_0011v_1=2
br.s IL_0011
IL_0008: ldloc.0
IL_0008: ldloc.0 // V_0 ldloc.1
rem ldloc.1 // V_1
brfalse.s IL_0000rem // V_0 % V_1
ldloc brfalse.1s IL_001b
ldc.i4 ldloc.1 //v_1
add ldc.i4.1
stloc.1 add
stloc.1 // v_1+=1
IL_0011: ldloc.1
IL_0011: ldloc.1 //if ldloc.0v_1<=v_0
blt.s IL_0008ldloc.0
ldloc blt.0s IL_0008
ldloc.0
call void [mscorlib]System.Console::WriteLine(int32)
IL_001b: ldloc.0 //v_0
ldc.i4.1
add
stloc.0 //v_0+=1
IL_001f: ldloc.0
ldc.i4 0x3e8
blt.s IL_0004 //if v_0<=1000
ret
}