Miscellaneous debugging hints and tips


Bits, Bytes and Nibbles! (Or why hex calculators are handy!)

  • A doubleword is 8 bytes.
  • A fullword (or simply "word") is 4 bytes.
  • A halfword is 2 bytes.
  • A byte is 8 bits (or 2 nibbles).
  • A bit is either 0 (zero of "off") or 1 (one or "on")
    Each bit represents "powers of 2".
  • Hexadecimal (x'??') is base 16, and uses 0 thru 9 and A thru F (for decimal "10" thru "15"). Hexadecimal is an easier way for us to look at computer bits (ones and zeros).
  • For example, x'C7' represents one byte or 2 nibbles or 8 bits. The bit represetation of x'C7' is 11000111. x'C7' is 199 decimal. x'C7' is easier to read than 11000111 (for most people).
  • 24-bit addresses can be from 0 to 16 MB (2 to the 24th power) or 00000000 to 00FFFFFF.
  • 31-bit addresses can be up to 2GB (2 to the 31st power) or 01000000 to 7FFFFFFF.
  • When the high order bit (32nd) bit of the second fullword of the PSW is "1" or "on" (representing a 31-bit address), the PSW will contain addresses like 80939FE8 or 90939FE8. If we ignore the high order bit, we'd use 00939FE8 (8 minus 8 = 0) or 10939FE8 (9 mius 8 = 1), respectively. More examples:
    		80939FE8  90939FE8  A0939FE8  B0939FE8   C0939FE8  D0939FE8  E0939FE8  F0939FE8
    		31-bit address:
    		00939FE8  10939FE8  20939FE8  30939FE8   40939FE8  50939FE8  60939FE8  70939FE8