Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 898 Bytes

File metadata and controls

43 lines (30 loc) · 898 Bytes

AssemblySharp

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

Usage

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

Requirements

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