Implementation of C/C++ __asm
or __asm__
keywords as closely as possible in C#.
Standard Intel syntax used in Microsoft Micro Assembler (MASM) assembler is supported.
Works on .Net core 2.1
int a = 200;
int result = (int)X86Assembly.ExecuteScript(
ASM.MOV, REG.EAX, 100,
ASM.ADD, REG.EAX, a,
ASM.RET);
Console.WriteLine(result); // 300
int i = 100;
result = X86Assembly.ExecuteScript(
ASM.mov, REG.EAX, 0,
ASM.mov, REG.ECX, i,
new Label("myloop"),
ASM.add, REG.EAX, REG.ECX,
ASM.loop, "myloop",
ASM.ret));
Console.WriteLine(result); // 5050
Should be installed gcc, objdump. You need to set your PATH environment variable to include directory of them.
The MIT License (MIT) Copyright (c) 2019 20chan