1
0
Fork 0
mirror of https://git.suyu.dev/suyu/dynarmic.git synced 2025-03-04 13:16:04 +00:00
dynarmic/externals/oaknut
Merry 786161b416 externals: Update oaknut
Merge commit '4e8975616946b89c53533549c0d3bab4d0dc9653'
2022-07-16 20:28:26 +01:00
..
.github/workflows externals: Update oaknut 2022-07-12 20:41:36 +01:00
include/oaknut externals: Update oaknut 2022-07-16 20:28:26 +01:00
tests
.clang-format
.gitignore
CMakeLists.txt externals: Update oaknut 2022-07-12 20:41:36 +01:00
LICENSE
README.md

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.