💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › Languages.Programming › OMF ›… captured on 2023-03-20 at 23:24:41.
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
Subject: v001SRC070: coff (OMF Disassembler) 05/09 Newsgroups: comp.sources.apple2 Approved: jac@paul.rutgers.edu Submitted-by: Albert Chin-A-Young (26285659t@servax.fiu.edu) Posting-number: Volume 1, Source:70 Archive-name: utility/gs/disassem/coff/part05 Architecture: ONLY_2gs Version-number: 1.1 =coff.tex -\font\headbf=cmssbx10 scaled\magstep1 -\font\headrm=cmss10 scaled\magstep1 -\font\rm=cmss10 scaled\magstep1 -\font\bf=cmssbx10 scaled\magstep1 -\font\bff=cmssdc10 scaled\magstep1 -\font\it=cmssi10 scaled\magstep1 -\font\omf=cmssdc10 scaled\magstep1 -\font\text=cmtt10 scaled\magstep1 -\font\textsl=cmsltt10 scaled\magstep1 -\font\super=cmss10 scaled\magstep1 -\font\sample=cmtt10 -\font\sectionbf=cmssbx10 scaled\magstep1 - -% options -% -\baselineskip=13pt -\parskip=8pt -\parindent=2pc -\raggedbottom -\interlinepenalty=100 -\widowpenalty=250 -\clubpenalty=250 -\brokenpenalty=250 - -% define macro to create section titles -% -\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet -\def\section#1{\noindent{\sectionbf{#1}}} -\def\subsection#1{\indent{\sectionbf{#1}}} -\def\synopsis#1{\setbox0=\hbox{#1\thinspace} - \hangindent\parindent - \advance\hangindent by\wd0 - \indent\box0} -\def\segtype{\setbox0=\hbox{$\bullet$\enspace} - \hangindent\parindent - \advance\hangindent by\wd0 - \indent\box0} -\def\description{\hangindent\parindent} -\def\option#1{{\it#1}\parskip=0pt\par - \hangindent2\parindent\indent\indent\parskip=8pt} -\def\note#1#2{\setbox0=\hbox{#1\enspace} - \hangindent\parindent - \advance\hangindent by\wd0 - \indent\box0{\bf#2}} -\def\notenote{\setbox0=\hbox{\bull\enspace} - \hangindent\parindent - \advance\hangindent by\wd0 - \indent\hbox to\wd0{\hfil}} -\def\operator#1#2#3{\setbox0=\hbox{\bull\enspace} - \indent\hbox to\wd0{\hfil}% - \hbox to2pc{#1\hfil}\hbox to12pc{#2\hfil}(#3)\par} -\def\expr#1{\setbox0=\hbox{#1\enspace} - \setbox1=\hbox{\bull\enspace} - \hangindent\parindent - \advance\hangindent by\wd0 - \advance\hangindent by\wd1 - \indent\hbox to\wd1{\hfil}\box0} -\def\head#1{\setbox0=\hbox to5pc{\omf #1\hfil} - \hangindent\parindent - \advance\hangindent by 5pc - \indent\box0} -\def\headhead{\hangindent\parindent - \advance\hangindent by 5pc - \indent\hbox to5pc{\hfil}} -\def\headnote#1{\setbox0=\hbox{\bf #1\enspace} - \hangindent\parindent - \advance\hangindent by 5pc - \advance\hangindent by\wd0 - \indent\hbox to5pc{\hfil}\box0} -\def\body#1#2{\setbox0=\hbox to6pc{\omf #1\hfil} - \setbox1=\hbox to5pc{#2\hfil} - \hangindent\parindent - \advance\hangindent by 11pc - \indent\box0\box1} -\def\bodybody{\hangindent\parindent - \advance\hangindent by 11pc - \indent\hbox to11pc{\hfil}} -\def\bodynote#1{\setbox0=\hbox{\bf #1\enspace} - \hangindent\parindent - \advance\hangindent by 11pc - \advance\hangindent by\wd0 - \indent\hbox to11pc{\hfil}\box0} -\def\beginsample{\begingroup - \obeylines\obeyspaces - \parskip=0pt\baselineskip=10pt\sample - \catcode`\$=11 % take out definition of special chars - \catcode`\_=11 % that might appear in sample text - \catcode`\#=11 % hash mark is macro parameter character - \catcode`\~=11} -\def\endsample{\catcode`\$=3 % dollar sign is math shift - \catcode`\_=8 % underline for subscripts - \catcode`\#=6 % hash mark is macro parameter character - \catcode`\~=\active % tilde is active - \endgroup} - -% define header and footer -% -\headline={\line{\headbf COFF (1)\hfil USER COMMANDS\hfil COFF (1)}} -\footline={\vbox{\vskip4pc - \line{\headbf tao Developer Project\hfil Last change: 28 -September 1992\hfil\headrm\folio}}} -\topskip=4pc -\vsize=8.6in - -% start of text -% -\rm\bigskip\bigskip - -\section{NAME} - -{\bf coff} - Common Object File Format Disassembler/Dumper - -\bigskip - -\section{SYNOPSIS} - -\synopsis{\bf coff} [-acdefhilmnopstvxDT] [+asm] [+nodefault] [+header] -[+help] [+hex] [+infix]\break [+label] [+merlin] [+noheader] [+nooffset] -[+orca] [+postfix] [+shorta] [+shorti] [+tool] [+version] [+compress] -[+exact] [+thanks] {\it file} [{\it segments...}] [{\it loadsegments...}] - -\bigskip - -\section{DESCRIPTION} - -\description -This manual page documents {\bf coff}. {\bf coff} outputs Apple IIgs -OMF (Object Module Format) files in either OMF format (dump) or as 65816 -object code (disassembly). {\bf coff} takes file {\it file} as an argument -and outputs the disassembly to the standard output. If {\it segment} or -{\it loadsegment} arguments are given, those segments/loadsegments are -output in place of the entire file ({\it segment} and {\it loadsegment} -do not have to match the segment/loadsegment names in the OMF file exactly). - -\bigskip - -\section{OPTIONS} - -\option{-a, +shorta}{\bf coff} assumes it will be disassembling an OMF -file that was created for the Apple IIgs computer. Therefore, it assumes -16-bit addressing mode for the accumulator. This option disables 16-bit -addressing mode for the accumulator and assumes 8-bit addressing mode. - -\option{-d, +asm}Disassemble output of OMF file. 65816 code is output. This -option is the same as +merlin as {\bf coff} uses the Merlin 16+ assembler -format as its default 65816 disassembly format. - -\option{-f, +nooffset}Output for the body of OMF files is given by a -displacement value into the file and an object displacement into the file. -The displacement value is the actual position in the file where the OMF -record occurs. The object displacement is the number of bytes of code the -segment will link to. Enable this option to disable this output. - -\option{-h, +help}Display list of options for {\bf coff}. The list contains -the short and long options in addition to a brief description of each -option. - -\option{-i, +shorti}{\bf coff} assumes it will be disassembling an OMF file -that was created for the Apple IIgs computer. Therefore, it assumes 16-bit -addressing mode for the index registers. This option disables 16-bit -addressing mode for the index registers and assumes 8-bit addressing mode. - -\option{-l, +label}In assembly language programs certain routines have -labels associated with them (i.e. {\text jsr print}). When this is assembled -into an OMF file, the label `{\text print}' is replaced by an offset from -the beginning of the segment it is contained in. Enabling this option will -cause {\bf coff} to output the name of the label, `{\text print}', rather -than its offset, `{body}lt;$segname{body}gt;$+{body}lt;$offset{body}gt;