Skip to content

Run x86 assembly with assembly macro-like syntax in C#

License

Notifications You must be signed in to change notification settings

20chan/AssemblySharp

Repository files navigation

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

About

Run x86 assembly with assembly macro-like syntax in C#

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages