Struct moa_m68k::decode::InstructionDecoding

source ·
pub struct InstructionDecoding<'a, Bus, Instant>
where Bus: BusAccess<M68kAddress, Instant = Instant>,
{ pub(crate) bus: &'a mut Bus, pub(crate) memory: &'a mut M68kBusPort<Instant>, pub(crate) decoder: &'a mut M68kDecoder<Instant>, }

Fields§

§bus: &'a mut Bus§memory: &'a mut M68kBusPort<Instant>§decoder: &'a mut M68kDecoder<Instant>

Implementations§

source§

impl<'a, Bus, Instant> InstructionDecoding<'a, Bus, Instant>
where Bus: BusAccess<M68kAddress, Instant = Instant>, Instant: Copy,

source

pub fn decode_next(&mut self) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_bit_ops( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_move_byte( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_move_long( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_move_word( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_misc( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_addq_subq( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_branch( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_moveq( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_div_or( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_sub( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_cmp_eor( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_mul_and( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_add( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn decode_group_shift( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>

source

fn read_instruction_word(&mut self) -> Result<u16, M68kError<Bus::Error>>

source

fn read_instruction_long(&mut self) -> Result<u32, M68kError<Bus::Error>>

source

fn decode_lower_effective_address( &mut self, ins: u16, size: Option<Size> ) -> Result<Target, M68kError<Bus::Error>>

source

fn decode_upper_effective_address( &mut self, ins: u16, size: Option<Size> ) -> Result<Target, M68kError<Bus::Error>>

source

fn get_extension_displacement( &mut self, select: u16 ) -> Result<i32, M68kError<Bus::Error>>

source

fn decode_extension_word( &mut self, areg: Option<u8> ) -> Result<Target, M68kError<Bus::Error>>

source

pub(crate) fn get_mode_as_target( &mut self, mode: u8, reg: u8, size: Option<Size> ) -> Result<Target, M68kError<Bus::Error>>

Auto Trait Implementations§

§

impl<'a, Bus, Instant> Freeze for InstructionDecoding<'a, Bus, Instant>

§

impl<'a, Bus, Instant> RefUnwindSafe for InstructionDecoding<'a, Bus, Instant>
where Bus: RefUnwindSafe, Instant: RefUnwindSafe,

§

impl<'a, Bus, Instant> Send for InstructionDecoding<'a, Bus, Instant>
where Bus: Send, Instant: Send,

§

impl<'a, Bus, Instant> Sync for InstructionDecoding<'a, Bus, Instant>
where Bus: Sync, Instant: Sync,

§

impl<'a, Bus, Instant> Unpin for InstructionDecoding<'a, Bus, Instant>

§

impl<'a, Bus, Instant> !UnwindSafe for InstructionDecoding<'a, Bus, Instant>

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> 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, S> IntoAddress<T> for S
where T: FromAddress<S>,

source§

fn into_address(self) -> T

Translate the given address into an address of type T
source§

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

§

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>,

§

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.