Version History

8051 Disassembler release history.

Version 4.1

Released Aug 20, 2026 - This release corrects how the disassembler reads Intel HEX files, and where it says your jumps and calls go. Extended address records are now supported: a file placing code beyond the first 64 KB with Extended Segment (02) or Extended Linear (04) records used to load at the wrong addresses, with blocks that belong 64 KB apart landing on top of each other. Both are now applied correctly. AJMP and ACALL destinations were also wrong - the three destination bits held inside the opcode were ignored, and the page was measured from the instruction's own address rather than the one after it - so the Control Flow view drew arrows to addresses the program never reaches. Also fixed: duplicate-address records no longer crash the app; extended-address record bytes are no longer mapped as code or counted in program size; the Memory Map shows the range your file occupies instead of always starting at 0000; a lower-case end-of-file record is accepted; and PSW.1 is annotated like every other PSW bit.

Bug fixes

  • AJMP and ACALL jump destinations were computed incorrectly, so the Control Flow view drew arrows to the wrong addresses
  • Unhandled exception when two records in a HEX file load the same address
  • Non-data records had their bytes mapped into program memory as code and counted as program size
  • Memory Map view always started at address 0000, filling the list with empty rows for a file that loads higher up
  • PSW.1 missing from the bit table, and a lower-case end-of-file record made the whole file be rejected
  • Intel HEX extended segment (02) and extended linear (04) address records were not applied, so files above 64 KB loaded at the wrong addresses

Upgrade instructions

Run the installer over your existing installation. Your settings and any project files are preserved, and no uninstall is needed.