Skip to content

Latest commit

 

History

History
29 lines (19 loc) · 1.04 KB

File metadata and controls

29 lines (19 loc) · 1.04 KB

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.