kobalicek 118ae6ced1 [Bug] Fixed sign and zero extension in Function API (x86)
The problem was that the sign/zero extension was not working with
TypeIds, but it was working with register IDs, when emitted. Thus,
even when TypeId was uint8, for example, the register could be
uint32, so the final instruction emitted was 'movzx eax, eax', for
example, which was wrong.
2024-01-13 14:31:35 +01:00
2024-01-01 20:15:00 +01:00
2024-01-01 20:15:00 +01:00
2020-02-08 10:13:44 +01:00

AsmJit

AsmJit is a lightweight library for machine code generation written in C++ language.

See asmjit.com page for more details, examples, and documentation.

Documentation

Breaking Changes

Breaking the API is sometimes inevitable, what to do?

Project Organization

  • / - Project root.
    • src - Source code.
      • asmjit - Source code and headers (always point include path in here).
        • core - Core API, backend independent except relocations.
        • arm - ARM specific API, used only by ARM and AArch64 backends.
        • x86 - X86 specific API, used only by X86 and X64 backends.
    • test - Unit and integration tests (don't embed in your project).
    • tools - Tools used for configuring, documenting, and generating files.

TODO

  • Ports:
    • 32-bit ARM/Thumb port.
    • RISC-V port.

Support

Notable Donors List:

Authors & Maintainers

Languages
C++ 93.2%
JavaScript 3.3%
C 3.2%
CMake 0.3%