[][src]Struct z80emu::CpuDebug

pub struct CpuDebug {
    pub code: CpuDebugCode,
    pub mnemonic: &'static str,
    pub pc: u16,
    pub prefix: Option<Prefix>,
    pub args: CpuDebugArgs,
}

This struct is being passed to the user debugger function when the command is being executed.

The Display, LowerHex and UpperHex traits are implemented for this type and all its components so it's just easy to use:

This example is not tested
format_args!("{}", deb)

to get the commands as text:

  143 SUB  B              [144]
  144 ADC  HL, HL         [237, 106]
  146 JR   NC, 151        [48, 3]

The hex modifier "{:x}":

008fh SUB  B              [90]
0090h ADC  HL, HL         [ed, 6a]
0092h JR   NC, 0097h      [30, 03]

and it's alternative "{:#x}":

0x008f SUB  B               [90]
0x0090 ADC  HL, HL          [ed, 6a]
0x0092 JR   NC, 0x0097      [30, 03]

can be used to format numbers. One can use upper case hex also: "{:X}" and "{:#X}". If the different formatting or spacing is required the following can be used:

This example is not tested
format_args!("{:04x} : {:6} {:#20x} {:02X?}", deb.pc, deb.mnemonic, deb.args, deb.code.as_slice())
008f : SUB    B                    [90]
0090 : ADC    HL, HL               [ED, 6A]
0092 : JR     NC, 0x0097           [30, 03]

Fields

code: CpuDebugCode

A copy of bytes that assemble the command that has been executed.

mnemonic: &'static str

An assmebler mnemonic symbol of the executed command.

pc: u16

A program counter addressing the executed command in memory.

prefix: Option<Prefix>

An optional prefix of the executed command.

args: CpuDebugArgs

Arguments of the command.

Trait Implementations

impl Clone for CpuDebug[src]

impl Debug for CpuDebug[src]

impl Display for CpuDebug[src]

impl Hash for CpuDebug[src]

impl LowerHex for CpuDebug[src]

impl PartialEq<CpuDebug> for CpuDebug[src]

impl StructuralPartialEq for CpuDebug[src]

impl UpperHex for CpuDebug[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.