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,6 +147,9 @@ class Registers:
)
def _reg_repr(self, reg: str, name_len=4, fmt="08X"):
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":
reg = "s0"
@ -156,7 +159,13 @@ class Registers:
return FMT_ORANGE + FMT_UNDERLINE + txt + FMT_NONE
if reg == "zero":
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 txt

Loading…
Cancel
Save