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>
impl<'a, Bus, Instant> InstructionDecoding<'a, Bus, Instant>
pub fn decode_next(&mut self) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_bit_ops( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_move_byte( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_move_long( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_move_word( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_misc( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_addq_subq( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_branch( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_moveq( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_div_or( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_sub( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_cmp_eor( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_mul_and( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_add( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn decode_group_shift( &mut self, ins: u16 ) -> Result<Instruction, M68kError<Bus::Error>>
fn read_instruction_word(&mut self) -> Result<u16, M68kError<Bus::Error>>
fn read_instruction_long(&mut self) -> Result<u32, M68kError<Bus::Error>>
fn decode_lower_effective_address( &mut self, ins: u16, size: Option<Size> ) -> Result<Target, M68kError<Bus::Error>>
fn decode_upper_effective_address( &mut self, ins: u16, size: Option<Size> ) -> Result<Target, M68kError<Bus::Error>>
fn get_extension_displacement( &mut self, select: u16 ) -> Result<i32, M68kError<Bus::Error>>
fn decode_extension_word( &mut self, areg: Option<u8> ) -> Result<Target, M68kError<Bus::Error>>
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>
impl<'a, Bus, Instant> Sync for InstructionDecoding<'a, Bus, Instant>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
source§fn into_address(self) -> T
fn into_address(self) -> T
Translate the given address into an address of type
T