Contents of the OJ.DOC file
OJ(Intel)Object Juicer (1.0)OJ(Intel)
OJ - object file inspector
oj [-[cdefglpsv?]] [ ...]
Display record names and brief info.
-Output the module names.
-cDisasemble code segments.
-dDisplay data segments.
-eList external references.
-fList fixup information
-gList global names.
-lList debug line numbers.
-pList public procedures.
-sDisplay segments and groups.
OJ is a object file utility used to inspect the contents of
Intel(86/186/286) object modules and libraries. It's main use
is in debugging object files and libraries of questionable
origin when the source is not available. This version has been
tested on Microsoft C 3.0, Lattice C 3.0 and Xenix 2.0 objects
The code disassembly follows the standard 86/186/286 opcode instruction
set as listed in the iAPX 286 Programmers reference manual. Fixup
records are not included in any of the disassembled code so most
direct calls and jumps which depend on fixups by the linker are not
accurate. Iterated data blocks are not expanded.
When a library is used as input - oj looks until it finds a record
with a correct checksum and continues from there. If the librarian
has changed the format or packed the object files oj will probably
output a lot of garbage. Most libraries take a while to scan.
Fixups are printed in a rather crude fashion at this point, but they
are helpful in identifing jmp's and call's in the preceeding code
Here's the list of supported record formats -- ones with a '*'
are shown in verbose mode, but their contents are not explained in
the Microsoft documentation.
*RHEADR *REGINT *REDATA *RIDATA *OVLDEF *ENDREC *BLKDEF *BLKEND *DEBSYM THEADR
*LHEADR *PEDATA *PIDATA COMENT MODEND EXTDEF TYPDEF PUBDEF *LOCSYM LINNUM
LNAMES SEGDEF GRPDEF FIXUPP LEDATA LIDATA *LIBHED *LIBNAM *LIBLOC *LIBDIC
As soon as I can get a copy of the Intel documentation some of these
records will be included.
If you have Intel Objects which give OJ a hard time, or any suggestions
about this utility, please contact the author on Compuserve (72457,2171).
This software is in the public domain and may be freely copied
and used by anyone.
The MS-DOS Programmer's Reference ( by Microsoft ) 1984
iAPX 286 Programmers Reference Manual - Intel 1985
Programmer's Pocket Reference Guide - Intel 1982
PC-Tech Journal, October 1985 pp. 63-81
Copyright (C) Kevin Fox 1987