From 90233c3cf84453424f1de6dd68f19255ece26f1d Mon Sep 17 00:00:00 2001 From: Johannes Stoelp Date: Sun, 5 Mar 2023 21:41:25 +0100 Subject: Updated doc comments --- src/imm.rs | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'src/imm.rs') diff --git a/src/imm.rs b/src/imm.rs index bcf0d31..85b2cbc 100644 --- a/src/imm.rs +++ b/src/imm.rs @@ -1,3 +1,6 @@ +//! Definition of different immediate types which are used as input operands for various +//! instructions. + /// Trait to interact with immediate operands. pub(crate) trait Imm { /// Get immediate operand as slice of bytes. @@ -5,8 +8,8 @@ pub(crate) trait Imm { } macro_rules! impl_imm { - ($name:ident, $size:expr, from: $( $from:ty ),* $(,)?) => { - /// Immediate operand. + (#[$doc:meta] $name:ident, $size:expr, from: { $( $from:ty ),* $(,)? }) => { + #[$doc] pub struct $name([u8; $size]); impl Imm for $name { @@ -29,7 +32,19 @@ macro_rules! impl_imm { } } -impl_imm!(Imm8, 1, from: u8, i8); -impl_imm!(Imm16, 2, from: u16, i16, u8, i8); -impl_imm!(Imm32, 4, from: u32, i32, u16, i16, u8, i8); -impl_imm!(Imm64, 8, from: u64, i64, u32, i32, u16, i16, u8, i8); +impl_imm!( + /// Type representing an 8 bit immediate. + Imm8, 1, from: { u8, i8 } +); +impl_imm!( + /// Type representing a 16 bit immediate. + Imm16, 2, from: { u16, i16, u8, i8 } +); +impl_imm!( + /// Type representing a 32 bit immediate. + Imm32, 4, from: { u32, i32, u16, i16, u8, i8 } +); +impl_imm!( + /// Type representing a 64 bit immediate. + Imm64, 8, from: { u64, i64, u32, i32, u16, i16, u8, i8 } +); -- cgit v1.2.3