aboutsummaryrefslogtreecommitdiff
path: root/src/real_mode
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2025-06-01 09:28:57 +0000
committeriximeow <me@iximeow.net>2025-06-01 09:28:57 +0000
commitcf9ab8fcd04608c565da4fd1aff5bff47a5fe385 (patch)
treea0c63b5d92a3e0d97abd0d1f19d2c89be0ddb3a5 /src/real_mode
parent54538a07bf4e0b8b2335e146198cda02a49589c8 (diff)
describe the per-isa extensions a bit better
Diffstat (limited to 'src/real_mode')
-rw-r--r--src/real_mode/mod.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs
index 8037d93..1ef76ea 100644
--- a/src/real_mode/mod.rs
+++ b/src/real_mode/mod.rs
@@ -2709,6 +2709,14 @@ impl LengthedInstruction for Instruction {
///
/// unless you're using an `Arc<Mutex<InstDecoder>>`, which is _fine_ but i'd be very curious about
/// the design requiring that.
+///
+/// `InstDecoder::default()` constructs a decoder that will decode all instructions valid in 16-bit
+/// mode. the associated per-extension functions are not yet fully tested or implemented, and
+/// should be considered unstable.
+///
+/// the per-extension functions themselves will not change version to version, but if an
+/// instruction is incorrectly accepted or rejected under a particular subset of ISA extension
+/// flags, this will be fixed in a minor or patch version of `yaxpeax-x86.
#[derive(PartialEq, Copy, Clone, Eq, Hash, PartialOrd, Ord)]
pub struct InstDecoder {
flags: [u64; 2],