Argument

Enum Argument 

Source
pub enum Argument {
    Imm(isize),
    Reg(Register),
    Label(String),
}
Expand description

A high-level representation for an argument given to an instruction. The Argument::Imm variant may represent any of the following concrete arguments: uimm4, imm4, uimm8, imm8. An op2 or uop2 is considered to be either a register or a imm4, uimm4 respectively.

Variants§

§

Imm(isize)

§

Reg(Register)

§

Label(String)

Implementations§

Source§

impl Argument

Source

pub fn parse_int(arg: &str) -> Result<isize, ParseIntError>

Parses an int, potentially in hex or binary formats.

Source

pub fn parse(arg: &str) -> Option<Self>

Parses an argument.

Source§

impl Argument

Source

pub fn apply<F: FnOnce(&mut isize)>(&mut self, f: F)

Applies an arithmetic manipulation to an argument if it is an immediate.

Trait Implementations§

Source§

impl Clone for Argument

Source§

fn clone(&self) -> Argument

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Codable for Argument

Source§

fn encode(&self) -> u16

Encodes the instruction or portion thereof.
Source§

fn decode(value: u16, mode: Mode) -> Option<Self>

Decodes the instruction given the current mode of execution.
Source§

impl Debug for Argument

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Argument

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Argument

Source§

fn eq(&self, other: &Argument) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Argument

Source§

impl StructuralPartialEq for Argument

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.