samunders-core / le_disasm

libopcodes-based (AT&T syntax) linear executable (MZ/LE/LX DOS EXEs) disassembler modified from http://swars.vexillium.org/files/swdisasm-1.0.tar.bz2
GNU General Public License v3.0
19 stars 5 forks source link

Klei1984/add support for 16bit le segments #12

Closed klei1984 closed 5 years ago

klei1984 commented 5 years ago

The architecture was refactored in the following ways:

With this change set 16 bit code segments could be disassembled by the tool and data references pointing into the 16 bit code segment are also identified as far as DS is correctly assumed to be the same as the containing ImageObject.base_address(). The printer does not replace data references within 16 bit code, for now this feature is commented out on a single line as GCC cannot handle 16 bit data references (relocation truncated to fit: R_386_16 against .data" error), but data labels are emitted never the less.