pub struct CpuDebug {
pub code: CpuDebugCode,
pub mnemonic: &'static str,
pub pc: u16,
pub prefix: Option<Prefix>,
pub args: CpuDebugArgs,
}
Expand description
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:
ⓘ
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:
ⓘ
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§
source§impl PartialEq for CpuDebug
impl PartialEq for CpuDebug
impl Eq for CpuDebug
impl StructuralPartialEq for CpuDebug
Auto Trait Implementations§
impl RefUnwindSafe for CpuDebug
impl Send for CpuDebug
impl Sync for CpuDebug
impl Unpin for CpuDebug
impl UnwindSafe for CpuDebug
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