pineapple-src/externals/dynarmic/externals/oaknut
2022-07-18 00:57:52 +02:00
..
.github/workflows early-access version 2836 2022-07-15 13:11:09 +02:00
include/oaknut early-access version 2844 2022-07-18 00:57:52 +02:00
tests early-access version 2829 2022-07-12 16:46:34 +02:00
.clang-format early-access version 2829 2022-07-12 16:46:34 +02:00
.gitignore early-access version 2829 2022-07-12 16:46:34 +02:00
CMakeLists.txt early-access version 2836 2022-07-15 13:11:09 +02:00
LICENSE early-access version 2829 2022-07-12 16:46:34 +02:00
README.md early-access version 2829 2022-07-12 16:46:34 +02:00

Oaknut

A C++20 assembler for AArch64 (ARMv8.0)

Oaknut is a header-only library that allows one to dynamically assemble code in-memory at runtime.

Usage

Simple example:

using EmittedFunction = int (*)();

EmittedFunction EmitExample(oaknut::CodeGenerator& code, int value)
{
    using namespace oaknut::util;

    EmittedFunction result = code.ptr<EmittedFunction>();

    code.MOVZ(W0, value);
    code.RET();

    return result;
}

License

This project is MIT licensed.