.From: <KRANENBU%HLERUL5.BITNET@wiscvm.wisc.edu>
.Subject: Deb2asm
.Date: Fri, 17 Jul 87 15:39 N
.To: info-ibmpc-request@c.isi.edu
.X-Original-To: "info-ibmpc-request@c.isi.edu", KRANENBURG
I would like to contribute the appended program DEB2ASM to the library.
DEB2ASM converts a disassembly output from the DOS DEBUG program to a
more regular and (hopefully) more legible format. The source is in
TURBO pascal and is packaged with an I/O -include- file. You will need
SORT.BOX (Borland Turbo Toolbox) or provide your own sorting routine.
The program produces labels from the hexadecimal offsets
(both code-labels and variables) appearing in debugger output and
constructs a cross-reference table with declarations of variables in
the format:
V_XXXX LABEL <TYPE> ; R_XXXX, R_XXXX, ...
where <TYPE> is BYTE, WORD or DWORD
and the R_XXXX's are the locations where the variable
occurs in the code.
Usage of a memory location as more than one type (referenced both
as a BYTE and as a WORD for instance) results in multiple entries in
the this table.
However, segment declarations are not generated and intersegment
references are not detected (this is an invitation, of cause).
Useful for deciphering ROM's of which the manufacturer failed to publish
a proper listing (for instance my PARADISE Graphics card, which makes
improper use of the NMI line (IOCHK) on my PC).
I also managed to regenerate the missing part of the AT BIOS Listing
this way (PC-AT Technical Reference, POST6 routine). I never saw a
supplement from IBM here.
If anyone is interested (and if it is not illegal) I can also post it
as an example of the ouput generated by Deb2asm.
Please let me know,
P. Kranenburg. (KRANENBU@HLERUL5.BITNET).
|