aboutsummaryrefslogtreecommitdiff
path: root/src/real_mode/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/real_mode/mod.rs')
-rw-r--r--src/real_mode/mod.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs
index 274d472..4049a97 100644
--- a/src/real_mode/mod.rs
+++ b/src/real_mode/mod.rs
@@ -10,7 +10,13 @@ pub use crate::MemoryAccessSize;
use crate::{Address, Word};
#[cfg(feature = "fmt")]
-pub use self::display::{DisplayStyle, InstructionDisplayer};
+pub use self::display::{
+ DisplayStyle,
+ DisplayRules, DefaultRules,
+ InstructionDisplayer, InstructionRuleBundle
+};
+#[cfg(feature = "fmt")]
+pub use self::display::AbsoluteAddressFormatter;
#[cfg(all(feature = "fmt", feature = "alloc"))]
pub use self::display::InstructionTextBuffer;
@@ -3326,6 +3332,18 @@ impl Instruction {
}
}
+ // TODO: more docs
+ #[cfg(feature = "fmt")]
+ pub fn display_rules<'a, 'rules, Rules>(
+ &'a self,
+ rules: &'rules Rules
+ ) -> display::InstructionRuleBundle<'a, 'rules, Rules> {
+ display::InstructionRuleBundle {
+ instr: self,
+ rules,
+ }
+ }
+
/// does this instruction include the `xacquire` hint for hardware lock elision?
pub fn xacquire(&self) -> bool {
if self.prefixes.repnz() {