shared traits for architecture definitions, instruction decoders, and related interfaces for instruction decoders from the yaxpeax project.
there are numerous architectures for which decoders are implemented, at varying levels of completion. now and in the future, they will be enumerated here:
| symbol | meaning | | ------ | ------- | | 🥳 | complete, reliable | | ⚠️| "complete", likely has gaps | | 🚧 | incomplete | | ❓ | unimplemented |
| architecture | library | decode | tests | benchmarks | note |
| ------------ | ------- | ------ | ----- | ---------- | ---- |
| x86_64
| yaxpeax-x86 | 🥳 | 🥳 | 🚧 | avx2, avx512, and some newer extensions unsupported |
| x86:32
| yaxpeax-x86 | 🥳 | 🥳 | ❓ | avx2, avx512, and some newer extensions unsupported |
| x86:16
| yaxpeax-x86 | ❓ | ❓ | ❓ | should share most but not all implementation with x86:32
|
| ia64
| yaxpeax-ia64 | 🥳 | ⚠️ | ❓ | lack of a good oracle has complicated testing |
| armv7
| yaxpeax-arm | 🚧 | 🚧 | ❓ | NEON is not yet supported |
| armv8
| yaxpeax-arm | 🚧 | 🚧 | ❓ | a32 decoding is not yet supported, NEON is not supported |
| m16c
| yaxpeax-m16c | ⚠️ | 🚧 | ❓ | |
| mips
| yaxpeax-mips | 🚧 | 🚧 | ❓ | |
| msp430
| yaxpeax-msp430 | 🚧 | 🚧 | ❓ | |
| pic17
| yaxpeax-pic17 | 🚧 | 🚧 | ❓ | |
| pic18
| yaxpeax-pic18 | 🚧 | 🚧 | ❓ | |
| pic24
| yaxpeax-pic24 | ❓ | ❓ | ❓ | exists, but only decodes NOP
|
| sm83
| yaxpeax-sm83 | 🥳 | 🚧 | ❓ | |
| avr
| yaxpeax-avr | 🥳 | 🚧 | ❓ | contributed by @the6p4c! |
| sh
/sh2
/j2
/sh3
/sh4
| yaxpeax-superh | 🥳 | 🚧 | ❓ | contributed by наб |
| MOS 6502
| yaxpeax-6502 | ⚠️ | ❓ | ❓ | contributed by @cr1901 |
the canonical copy of yaxpeax-arch
is at https://git.iximeow.net/yaxpeax-arch.
yaxpeax-arch
is also mirrored on GitHub at https://www.github.com/iximeow/yaxpeax-arch.