Debugger fix (#32)

fixed an issue where debugger had an error when trying to dump registers. It tried to use get() method instead of get_f() method. Also changed format of floating point registers to show up as floats instead of Hex.
master
KGrykiel 1 year ago committed by GitHub
parent 07265f26c9
commit 3b89387e0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -147,7 +147,10 @@ class Registers:
) )
def _reg_repr(self, reg: str, name_len=4, fmt="08X"): def _reg_repr(self, reg: str, name_len=4, fmt="08X"):
txt = "{:{}}=0x{:{}}".format(reg, name_len, self.get(reg, False), fmt) if reg in self.float_regs:
txt = "{:{}}={: .3e}".format(reg, name_len, self.get_f(reg, False))
else:
txt = "{:{}}=0x{:{}}".format(reg, name_len, self.get(reg, False), fmt)
if reg == "fp": if reg == "fp":
reg = "s0" reg = "s0"
if reg == self.last_set: if reg == self.last_set:
@ -156,7 +159,13 @@ class Registers:
return FMT_ORANGE + FMT_UNDERLINE + txt + FMT_NONE return FMT_ORANGE + FMT_UNDERLINE + txt + FMT_NONE
if reg == "zero": if reg == "zero":
return txt return txt
if self.get(reg, False) == 0 and reg not in Registers.named_registers(): should_grayscale_int = (
reg in self.valid_regs
and self.get(reg, False) == 0
and reg not in Registers.named_registers()
)
should_grayscale_float = reg in self.float_regs and self.get_f(reg, False) == 0
if should_grayscale_int or should_grayscale_float:
return FMT_GRAY + txt + FMT_NONE return FMT_GRAY + txt + FMT_NONE
return txt return txt

Loading…
Cancel
Save