Alternatively, the bank argument can be a bank object (of the form device.bank.<bank-name>) together with the optional offset argument, which specifies a byte offset in the bank. This will show detailed information for the register at that offset. If the offset falls in the middle of a register, the covering register is shown with a note about the misalignment.
When used in an expression, the return value is a list with register offset within the bank, the register width in bits, the current value, and the physical addresses where the register is mapped, together with the corresponding memory spaces. If the register is not mapped or does not hold any value, the return value will still report them as 0.