Skip to content

monoid/harm

Repository files navigation

AARCHMRS dataset as Rust code

This Rust library provides functionality for synthesizing ARM64 instruction encodings. It was derived from the Arm Limited's AARCHMRS dataset.

The crate's module structure follows the dataset tree structure. For each instruction variant described in the dataset, a corresponding Rust function is generated.

The source code of this crate is generated by tools at the same repository at https://github.com/monoid/harm.

As with the original dataset, this code is licensed under BSD-3-Clause license.

Regenerating dataset

To regenerate the code, use the aarchmrs-generate binary. The dataset URL and MD5 checksum are pinned in the aarchmrs-gen crate.

Please, run cargo fmt afterwards.

harm dynamic ARM assembler

This is a work in progress: a dynamic AArch64 assembler based on the low-level code derived from the AARCHMRS dataset.

Using named functions instead of fiddling with raw bitmasks directly is expected to be more error-proof.

About

A dynamic ARM64 assembler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages