dynasm-lib

Crates.iodynasm-lib
lib.rsdynasm-lib
version0.1.0-alpha
sourcesrc
created_at2020-07-02 22:32:37.83462
updated_at2020-07-02 22:32:37.83462
descriptionA pure rust assembler, not a JIT. Used within direct-asm for maximum control over assembly.
homepage
repositoryhttps://github.com/HeroicKatora/dynasm-rs
max_upload_size
id260791
size766,430
Andreas Molzer (HeroicKatora)

documentation

https://github.com/HeroicKatora/dynasm-rs

README

A Dynamic assembler written in Rust for Rust.

The purpose of this tool is to ease the creation of programs that require run-time assembling.

This was forked from the dynasm crate, to remove its heavy integration into proc-macro for basic parsing and code generation. The product is a library

Features

  • Fully integrated in the rust toolchain, no other tools necessary.
  • The assembler library works on the stable Rust compiler.
  • The software form of assembly can be converted into a series of Vec.push and Vec.extend.
  • Errors are almost all diagnosed at compile time in a clear fashion.

Documentation

WIP

Architecture support

  • Supports the x64/x86 instruction sets in long and protected mode with every AMD/Intel/VIA extension except for AVX-512.
  • NOT YET: Supports the aarch64 instruction set up to ARMv8.4 except for SVE instructions again. The development of this assembler backend has been generously sponsored by the awesome folks at Wasmer!

Example

WIP

Background

This project is forked from Dynasm

Sponsorship

None. Please sponsor by contributing code. For example, re-integrating the dynasm plugin frontend on this backend?

License

Mozilla Public License, v. 2.0, see LICENSE

Copyright 2016 CensoredUsername, HeroicKatora

Guaranteed to be working compiler versions

Stable

Commit count: 296

cargo fmt