Minor tweaks (#1034)

This commit is contained in:
MrBrain295
2021-06-03 07:07:49 +00:00
committed by GitHub
parent 0c735da97d
commit 3bad253214

27
i/Il.il
View File

@@ -1,25 +1,20 @@
// compile:
// ilasm <this file's name>
// (if ilasm cannot be found, it's in the .NET directory (%windir%\Microsoft.NET\Framework\v4.0.30319\ilasm.exe))
// assembly references // assembly references
.assembly extern mscorlib .assembly extern mscorlib
{ {
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
.ver 4:0:0:0 .ver 4:0:0:0
} }
// assembly manifest // assembly manifest
.assembly ilhw .assembly ilhw
{ {
// target framework
// this is always a pain in the ass (thus copy it from another assembly by using ildasm)
.custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) .custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string)
= ( 01 00 1C 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B // ....NETFramework = ( 01 00 1C 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B
2C 56 65 72 73 69 6F 6E 3D 76 34 2E 35 2E 33 01 // ,Version=v4.5.3. 2C 56 65 72 73 69 6F 6E 3D 76 34 2E 35 2E 33 01
00 54 0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73 // .T..FrameworkDis 00 54 0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73
70 6C 61 79 4E 61 6D 65 14 2E 4E 45 54 20 46 72 // playName..NET Fr 70 6C 61 79 4E 61 6D 65 14 2E 4E 45 54 20 46 72
61 6D 65 77 6F 72 6B 20 34 2E 35 2E 33 ) // amework 4.5.3 61 6D 65 77 6F 72 6B 20 34 2E 35 2E 33 )
.hash algorithm 0x00008004 .hash algorithm 0x00008004
@@ -30,8 +25,8 @@
.imagebase 0x00400000 .imagebase 0x00400000
.file alignment 0x00000200 .file alignment 0x00000200
.stackreserve 0x00100000 .stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI .subsystem 0x0003
.corflags 0x00000001 // ILONLY .corflags 0x00000001
.class public abstract auto ansi sealed ILHW.Program .class public abstract auto ansi sealed ILHW.Program
@@ -43,10 +38,10 @@
.entrypoint // this method is the entry point of the program .entrypoint // this method is the entry point of the program
.maxstack 1 // the maximum amount of objects on the stack is 1. .maxstack 1 // the maximum amount of objects on the stack is 1.
ldstr "Hello World" // loads a string on the stack (it actually allocates it and puts the GC handle on the stack) ldstr "Hello World"
call void [mscorlib]System.Console::WriteLine(string) // this should be straightforward enough call void [mscorlib]System.Console::WriteLine(string)
ret // even void methods need a return statement ret
} }
} }