1#![no_std]
18
19use core::fmt::Display;
20use core::fmt::Formatter;
21
22#[cfg(feature = "full")]
23pub mod decoder_full;
24#[cfg(feature = "full")]
25pub use decoder_full as decoder;
26#[cfg(feature = "full")]
27pub use decoder_full::Opcode;
28#[cfg(feature = "full")]
29impl Display for Opcode {
30 fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
34 crate::format_insn::format_insn_pc(0, f, self)
35 }
36}
37
38#[cfg(feature = "exception")]
39pub mod decoder_exception;
40#[cfg(feature = "exception")]
41pub use decoder_exception::Opcode as ExceptionOpcode;
42#[cfg(feature = "exception")]
43impl Display for ExceptionOpcode {
44 fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
48 crate::format_insn::format_insn_pc(0, f, self)
49 }
50}
51
52#[cfg(feature = "load_store")]
53pub mod decoder_load_store;
54#[cfg(feature = "load_store")]
55pub use decoder_load_store::Opcode as LoadStoreOpcode;
56#[cfg(feature = "load_store")]
57impl Display for LoadStoreOpcode {
58 fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
62 crate::format_insn::format_insn_pc(0, f, self)
63 }
64}
65
66#[cfg(feature = "system")]
67pub mod decoder_system;
68#[cfg(feature = "system")]
69pub use decoder_system::Opcode as SystemOpcode;
70#[cfg(feature = "system")]
71impl Display for SystemOpcode {
72 fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
76 crate::format_insn::format_insn_pc(0, f, self)
77 }
78}
79
80pub mod format_insn;
81pub mod registers;