Initial Commit

This commit is contained in:
Mario Fetka
2023-05-18 07:33:02 +02:00
parent 882a9c99d6
commit 774ad0e693
95 changed files with 6818 additions and 0 deletions

179
man1/wdc816as.1 Normal file
View File

@@ -0,0 +1,179 @@
.Dd December 29, 2016
.Dt WDC816AS 1
.Os
.Sh NAME
.Nm wdc816as ,
.Nm wdc02as
.Nd WDC assembler
.Sh SYNOPSIS
.Nm
.Op Fl GSL1
.Op Fl I Ar path
.Op Fl D Ar symbol Ns Op = Ns Ar value
.Op Fl O Ar outfile
.Ar sourcefile
.Sh DESCRIPTION
The WDC macro assembler,
.Nm ,
provides all the tools and facilities to do professional assembly language
program development.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl 1
Version 1.0 of the assembler used slightly different control characters. In
particular, the macro concatenation character
.Ql |
was changed to
.Ql @ ,
the bit-wise inclusive OR character
.Ql ^
was changed to
.Ql | ,
and the bit-wise exclusive OR character
.Ql ^
was added. This option changes the characters back to the 1.0 versions
for compatibility.
.It Fl D
This option is used to define an absolute symbol at run time. The symbol
can then be used in conditional statements to change the code generated.
The symbol can be followed with an equal sign and an absolute decimal
value. If no value is specified, then the symbol is given the value one.
For example the following command line:
.Pp
.Dl Nm Fl D Ns Ar COUNT=3 Fl D Ns Ar DEBUG Ar FILE.ASM
.Pp
will set the absolute symbol COUNT to the value 3 and the symbol DEBUG to
the value 1. Specifying these options is equivalent to the following
statements appearing at the beginning of the source file:
.Pp
.Bd -literal -offset indent
COUNT GEQU 3
DEBUG GEQU 1
.Ed
.It Fl G
The assembler and linker can now produce source level debugging information
for programs. When this option is specified, the assembler will generate
special object file records which indicate the number of bytes generated
for each source line in the file. Information is also generated to
determine the source file containing the source line. This option will
increase the size of object modules generated by the assembler. The
.Li INCDEBUG
directive can be used to control the generation of source information
for included files. The
.Fl G
option creates the
.Pa .bin
file used with the WDC Debugger
.Nm ( WDCDB.EXE )
and the
.Pa WDCDB.INI
files.
.It Fl I
When the assembler encounters an
.Li INCLUDE
or
.Li APPEND
directive, the assembler looks in specific directories in a specific
order for the named file. First, the current directory is checked. Next,
any directories that have been specified using the
.Fl I
option will be searched. Finally, if an environment variable called
.Ev WDC_INC_65816
or
.Ev WDC_INC_6502
has been defined, then any directories specified in that variable
will be searched.
.Pp
For example, if one of the following lines is in the
.Pa AUTOEXEC.BAT
file:
.Pp
.Bd -literal -offset indent
SET WDC_INC_65816=C:\eWDC\eINCLUDE;C:\eWDC\eMACROS
SET WDC_INC_6502=C:\eWDC\eINCLUDE;C:\eWDC\eMACROS
.Ed
.Pp
then, the command:
.Pp
.Dl Nm Fl I Ar C:\eMYINC Ar PROG
.Pp
will assemble the file
.Ar PROG.ASM .
If the file contains any
.Li INCLUDE
or
.Li APPEND
directives, then the assembler will look for the specified file in this order:
.Pp
.Bd -literal -offset indent
current directory
C:\eMYINC
C:\eWDC\eINCLUDE
C:\eWDC\eMACROS
.Ed
.It Fl K
This option causes the path name specifying the name of the listing file to
be placed in the reserved word
.Dv __FILE__ .
.It Fl L
This option instructs the assembler to generate a listing file that will
have the same root name as the output name and an extension of
.Pa .LST .
The format and output control of the listing file are controlled by
assembler directives within the source file.
.It Fl O
This option is used to specify the name of the output file. Normally, the
output file has the same root name as the source file, and the extension is
changed to
.Pa .OBJ .
For example, the command:
.Pp
.Dl Nm Ar MYPROG.ASM
.Pp
will generate an output file called
.Ar MYPROG.OBJ .
If the
.Fl O
option is used, the output file name can be specified directly. For example:
.Pp
.Dl Nm Fl O Ar JUNK.REL Ar MYPROG.ASM
.Pp
will place the same output into a file called
.Ar JUNK.REL .
.It Fl S
Normally, labels that aren't declared global are not placed in the object
module since the assembler resolves all references to them. If the
.Fl S
option is specified, the symbols are included in the object file so that
the linker may pass them on to a symbol file that can be used when
debugging.
.It Fl V
This is the Verbose option. This option displays the amount of
RAM needed to assemble the program.
.It Fl W
This option causes a change in the default page width to 132, creating
a wide listing.
.El
.Sh ENVIRONMENT
The following environment variables affect the execution of
.Nm :
.Bl -tag -width indent
.It Ev WDC_INC_65816 , WDC_INC_6502
A semi-colon separated list of directories to search if an
input file cannot be found in the current directory or in any
directories specified via the
.Fl I
flag.
.El
.Sh SEE ALSO
.\" .Xr wdc02as 1 ,
.Xr wdc02cc 1 ,
.Xr wdc02op 1 ,
.\" .Xr wdc816as 1 ,
.Xr wdc816cc 1 ,
.Xr wdc816op 1 ,
.Xr wdcdb 1 ,
.Xr wdcln 1 ,
.Xr wdclib 1 ,
.Xr wdcobj 1 ,
.Xr wdcsym 1

129
man1/wdclib.1 Normal file
View File

@@ -0,0 +1,129 @@
.Dd December 24, 2016
.Dt WDCLIB 1
.Os
.Sh NAME
.Nm wdclib
.Nd WDC librarian
.Sh SYNOPSIS
.Nm
.Op Fl F Ar argfile
.Op Fl A | D | L | S | X
.Ar library
.Op Ar objfile ...
.Sh DESCRIPTION
.Nm
is a utility program that manipulates libraries of object modules.
.Nm
makes it possible to create a library of commonly used functions. This
library can be very efficiently searched and any modules required by the
program can be extracted from the library and placed in the output file.
.Pp
Since several object
modules may be contained in the same original source file,
.Nm
keeps track of the name of the file that each module comes from.
This allows all the modules associated with a file to be manipulated
without tediously typing in the name of each module. Options may be
specified individually or together.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl A
This option tells
.Nm
to add the specified files to the library. The symbol dictionary is updated
to include the names of symbols defined in the object modules in the files.
If none of the options
.Fl A , D ,
or
.Fl X
are given, the default is to assume option
.Fl A .
To create a library from a set of object files, use the command:
.Pp
.Dl Nm Fl A Ar MYLIB.LIB Ar LIBSRC1.OBJ Ar LIBSRC2.OBJ Ar LIBSRC3.OBJ
.Pp
which will create a library file called
.Ar MYLIB.LIB
and add all the modules
from the three object files. If
.Ar MYLIB.LIB
already existed, the modules
from the three object files will be added to the library.
.It Fl D
The modules in the library that originally came from the named files are
deleted from the library. Modules must be deleted before being replaced
with new ones.
.Pp
The following example shows how to remove the modules associated with an
object file.
.Pp
.Dl Nm Fl D Ar MYLIB.LIB Ar LIBSRC3.OBJ
.Pp
All of the modules associated with the file
.Ar LIBSRC3.OBJ
will be deleted from the library.
.Pp
This example shows how to replace a file in a library.
.Pp
.Dl Nm Fl D Ar MYLIB.LIB Ar LIBSRC2.OBJ
.Dl Nm Fl A Ar MYLIB.LIB Ar LIBSRC2.OBJ
.Pp
The modules associated with
.Ar LIBSRC2.OBJ
will first be deleted from the library and then added from the new version
of the file. The following options display information about the library
file after the modification arguments, if any, have been processed.
.It Fl F
This option must be followed by the name of a text file. The file will be
read and arguments will be extracted from the file. When the end of file
is reached, additional arguments are again extracted from the command
line. This allows more object modules than will fit on the standard command
line to be processed at one time.
.Pp
For example, these commands add all files with a
.Ar .OBJ
extension to the library.
.Pp
.Dl Nm DIR Ar *.OBJ > Pa OBJLIST
.Dl Nm Fl A Ar MYLIB.LIB Fl F Ar OBJLIST
.It Fl L
This option causes a list of the files in the library to be printed.
Associated with each file name is a file number. This number will also
appear in the symbol listing which indicates which file contains the
module that defines that symbol. This command will display the names
of all files added to a library.
.Pp
.Dl Nm Fl L Ar MYLIB.LIB
.Pp
This command adds two files to the library.
.Pp
.Dl Nm Fl AL Ar MYLIB.LIB Ar LIBSRC1.OBJ Ar LIBSRC2.OBJ
.Pp
After the files are added, a list of all the files in the library will
be printed.
.It Fl S
This option causes the dictionary of symbols contained in the library to
be printed. The dictionary is printed in alphabetical order. The number
of the file that defined the symbol along with the offset into the
library of the module that defined it are printed beside the symbol name.
.It Fl X
The modules in the library that originally came from the named files
are extracted from the library and placed into files with the same
name. After extraction, the modules in the library are deleted.
.Pp
The following example extracts two files from a library.
.Pp
.Dl Nm Fl X Ar MYLIB.LIB Ar LIBSRC3.OBJ Ar LIBSRC1.OBJ
.El
.Sh SEE ALSO
.Xr wdc02as 1 ,
.Xr wdc02cc 1 ,
.Xr wdc02op 1 ,
.Xr wdc816as 1 ,
.Xr wdc816cc 1 ,
.Xr wdc816op 1 ,
.Xr wdcdb 1 ,
.Xr wdcln 1 ,
.\" .Xr wdclib 1 ,
.Xr wdcobj 1 ,
.Xr wdcsym 1

405
man1/wdcln.1 Normal file
View File

@@ -0,0 +1,405 @@
.Dd December 28, 2016
.Dt WDCLN 1
.Os
.Sh NAME
.Nm wdclib
.Nd WDC linker
.Sh SYNOPSIS
.Nm
.Op Fl BEGNQTVWX
.Op Fl Hxx
.Op Fl Mxx
.Op Fl Sxx
.Op Fl O Ar output
.Op Fl Zsec=XX,XX
.Op Fl Asec=XX,XX
.Op Fl C=XX,XX
.Op Fl D=XX,XX
.Op Fl K=XX,XX
.Op Fl U=XX,XX
.Op Fl F Ar argfile
.Op Fl L Ar library
.Op Ar objfile ...
.Sh DESCRIPTION
The WDC linker,
.Nm ,
reads one or more object files and/or libraries and merges them into a
singleoutput file. References from one module to another are resolved
during the link. The linker operates in two passes. In the first pass,
each object module is scanned to determine what symbols are defined and
what symbols are referenced. Symbols that are defined are entered into a
symbol table. When other object modules want the address of a symbol they
will look in the symbol table. If the symbol is not in the symbol table
it is added to a list of undefined symbols. If a later module defines the
symbol it is removed from the undefined list. If a library is encountered,
it's dictionary is repeatedly scanned for any symbols that match any of
the symbols in the undefined list. If such a symbol is found, the module
that defines it is loaded from the library and its symbols are handled
just like a normal object module. Through this process, only object modules
that are needed are loaded from the library. Libraries are usually placed
at the end of the list of object files. At the end of the first pass, all
undefined symbol references should be resolved. During the second pass,
the linker reads each object module a second time. As it reads each
module, it generates the final output file based on the information in
the object module.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl A
This option is used to specify the relocation and ROM address of the named
section. The option is followed by information in the following format:
.Pp
.Dl Fl A Ns Ar section Ns = Ns Op Ad XXXX Ns Op , Ns Ad XXXX
.Pp
where section is the name of the section to be located. The section name
is followed by an
.Ql =
sign which in turn is followed by the relocation
address and ROM address separated by a comma. All addresses are assumed
to be hexadecimal numbers. If the comma and ROM address are not present,
it is assumed that the relocation address will be used for the ROM address
as well. If the comma is present and either the relocation address or
the ROM address is missing, then the specified address is assumed to be
the end of the previously specified section.
.It Fl B
This option is used to create a file with the same root name as the output
file and with the extension
.Pa .BNK .
This file is similar to the map file and contains bank information.
.It Fl C
This option is used to specify the relocation address and the ROM address
of the predefined CODE section. The format is:
.Pp
.Dl Fl C Ns Op Ad XXXX Ns Op , Ns Ad XXXX
.Pp
which is similar to the
.Fl A
option without the section name.
.It Fl D
This option is used to specify the relocation address and the ROM address
of the predefined DATA section. The format is:
.Pp
.Dl Fl D Ns Op Ad XXXX Ns Op , Ns Ad XXXX
.Pp
which is similar to the
.Fl A
option without the section name.
.It Fl E
This option is used to create a file with the same root name as the output
file and with the extension
.Pa .ERR .
This file contains any warnings or error messages generated during the link.
.It Fl F
This option causes the linker to continue reading options and file names
from a file. When done, it then continues reading arguments from the command
line. The name of the file follows the option
.Fl F .
Lines beginning with a
.Ql #
character are ignored. For example, the following
command links
.Pa PROG.OBJ
with
.Pa SUB1.OBJ , ... , SUB4.OBJ ,
and
.Pa TC.LIB .
It reads some arguments from the file
.Pa PROG.LNK :
.Pp
.Dl Nm Pa PROG.OBJ Fl F Ar PROG.LNK Pa TC.LIB
.Pp
where
.Pa PROG.LNK
contains:
.Bd -literal -offset indent
-O PROG.OUT
SUB1.OBJ
SUB2.OBJ
SUB3.OBJ
SUB4.OBJ
.Ed
.Pp
.Em WARNING:
There is a limit of 5000 files for the source level information
contained in reading file names from a file (Include files are counted
in this total).
.It Fl G
This option tell the linker to generate source level information. When
specified by itself with no additional symbol style option, the WDC symbol
file format is generated. Otherwise, if the
.Fl SN
Extended MicroTek symbol format option is specified, the source information
is added as special records.
.It Fl H
This option is used to select the format of the hex output file. Four formats
are currently supported. The following table shows the name of the format,
the option used to generate it, address field size.
.Pp
.Bl -column "Option" "File" "Size" "Format"
.It Sy "Option" Ta Sy "File" Ta Sy "Size" Ta Sy "Format"
.It Fl HB Ta Pa .BIN Ta -- Ta Straight Binary
.It Fl HI Ta Pa .HEX Ta 16 Ta Intel Hex
.It Fl HIE Ta Pa .HEX Ta 32 Ta Extended Intel Hex
.It Fl HM19 Ta Pa .S19 Ta 16 Ta Motorola S19
.It Fl HM28 Ta Pa .S28 Ta 24 Ta Motorola S28
.It Fl HM37 Ta Pa .S37 Ta 32 Ta Motorola S37
.It Fl HN Ta Pa .ISX Ta 24 Ta Nintendo Binary
.It Fl HT Ta Pa .TEK Ta 16 Ta Tektronix Hex
.It Fl HZ Ta Pa .BIN Ta 24 Ta WDC Binary
.El
.Pp
The following binary format is generated if
.Fl HZ
is specified to the linker:
.Pp
.Bl -inset -compact -offset indent
.It Initial byte 'Z' as signature.
.El
Then for each block:
.Bl -inset -compact -offset indent
.It 3 byte address
.It 3 byte length length bytes of data
.It The final block has an address and length of 0.
.It The default is Motorola S19.
.El
.It Fl J
This option causes the module info to be placed in alphabetical order.
By default, module info is sorted by section.
.It Fl K
This option is used to specify the relocation address and the ROM address
of the predefined KDATA section. The format is:
.Pp
.Dl Fl K Ns Op Ad XXXX Ns Op , Ns Ad XXXX
.Pp
which is similar to the
.Fl A
option without the section name.
.It Fl L
This option takes the following characters and adds
.Pa .LIB
to form the name of the library. The default library directories specified
in the
.Ev WDC_LIB
environment variable are then searched for the fully defined file name.
.Pp
For example, the command:
.Pp
.Dl Nm Fl J Fl L Ns Ar CL
.Pp
will look for the file
.Pa CL.LIB .
.Pp
.Em Note:
The order of the libraries is important! The linker will pull in the
functions it needs from the
.Em first
library it sees. For example,
the following command:
.Pp
.Dl Nm Pa Sample.obj Fl L Ns Ar MS Fl L Ns Ar CS
.Pp
will pull in the
.Fn scanf
and
.Fn printf
functions from the floating point library as it is specified first. This
will result in larger code size! Therefore, If you are using floating
point math, put
.Fl L Ns Ar MS
before
.Fl L Ns Ar CS
so the proper functions are included.
.Pp
If you are NOT using floating point math, do not include
.Fl L Ns Ar MS
on the command line, or put it after
.Fl L Ns Ar CS
.Pp
.Em Note:
For the W65C02, use
.Pa c.lib
and/or
.Pa m.lib .
For the W65C816, use
.Pa coc.lib , col.lib , com.lib , ms.lib , mm.lib , mc.lib , ml.lib ,
.Pa cs.lib , cm.lib , cc.lib ,
and/or
.Pa cl.lib.
.It Fl M
This option is used to select a special machine mode. Currently, the only
available machine modes are
.Fl MN , MN80 ,
and
.Fl MN21
which stand for Nintendo, slow and fast, and Nintendo Mode 21 respectively.
.It Fl N
If this option is specified, the linker will not place any symbols defined
in a
.Pa .QCK
file into the symbol file. This is useful if the
.Pa .QCK
file is created from a large amount of data whose symbols are not required
after linking. The symbol file can be significantly smaller if the data
symbols are discarded.
.It Fl O
Option
.Fl O
can be used to specify the name of the file to which the linker is to
write the executable program. The name of this file is in the parameter
that follows
.Fl O .
For example, the following command writes the executable program to the
file
.Pa PROG.OUT :
.Pp
.Dl Nm Fl O Ar PROG.OUT Pa PROG.OBJ Pa TC.LIB
.Pp
If this option is not used, the linker derives the name of the executable
file from that of the first input file with the extension changed to
reflect the type of hex file being generated.
.It Fl P
This option sets the fill characters in the hex output file. The default,
(no
.Fl P Ns No ),
does not add any fill characters to the hex output file. If this option is
specified as
.Fl PFF ,
it will fill in the blank areas of the hex output file with
.Li $FF Ns \(aqs
(all 1\(aqs). If this option is specified as
.Fl P00 ,
it will fill in the blank areas of the hex output file with zeros (0\(aqs).
.It Fl Q
As the linker reads files and modules, it displays the name of each module.
Each subsequent module name overwrites the preceding name. This option
tells the linker not to display module names.
.\"
.\" -S
.\"
.It Fl S
This option controls the generation of symbol file information. By default,
no symbol file is generated. When this option is specified, a symbol file
is generated which can be used to aid in debugging the application.
.Pp
The following table shows the options and the formats generated.
.Pp
.Bl -column "Option" "Format"
.It Sy "Option" Ta Sy "Format"
.It Fl S2 Ta 2500AD symbol format
.It Fl SM Ta MicroTek symbol format
.It Fl SN Ta Extended MicroTek symbol format
.It Fl SQ Ta Quick link object file
.It Fl SZ Ta WDC symbol format
.El
.Pp
The linker supports an extension to the Extended MicroTek symbol file format.
.Pp
The linker generates the following additional symbol records if the
.Fl G
(source level info) option and
.Fl SN
options have been selected.
.Pp
.Bl -tag -width indent -compact
.It 0-9
Standard MicroTek symbol type - global symbols
.It 50-59
Standard MicroTek symbol type - local symbols
.It 101
Single character name that is the status Register as specified by
LONGA/LONGI
directives. In other words, if
LONGA ON
is specified a 101 record will be generated with a
$20 as the ps value.
.It 102
A two character name (low,high) that is the line number associated
with this address.
.It 103
The name is the source file name associated with the object module.
.It 120+N
A zero length name with the address being the starting address for
section N. Section 1 is CODE, section 2 is DATA, section 3 is UDATA.
Other sections can probably be ignored unless you want to handle them.
.It 150+N
A zero length name with the address being the ending address for section N.
.El
.\"
.\" -T
.\"
.It Fl T
This option instructs the linker to generate a text map file with the
extension
.Pa .MAP .
The final address of each symbol is listed.
.It Fl U
This option is used to specify the relocation address and the ROM address
of the predefined UDATA section. The format is:
.Pp
.Dl Fl U Ns Op Ad XXXX Ns Op , Ns Ad XXXX
.Pp
which is similar to the
.Fl A
option without the section name. The UDATA section is a little different
since it never needs to be in the ROM at all since it contains
uninitialized data.
.Fl V
This option displays additional information to the screen giving the names
of variables and their locations.
.It Fl W
This option disables warnings from the linker. The linker will warn if a
symbol defined in a program module overrides a symbol defined in a library
module. This warning is useful for preventing hard to track down errors
such as when the user defines a routine called write that overrides the
library write routine.
.Pp
.Em Note:
This option not used after V3.10
.It Fl X
This option directs the linker to use EMM memory mapping to provide
additional space for linking programs with large numbers of symbols. It
must be the first option specified.
.\" -Z
.It Fl Z
This option is used to specify the top and bottom address to use when
spreading the indicated section of various modules across multiple
banks of memory. The format is:
.Pp
.Dl Fl Z Ns Ar section Ns = Ns Op Cm bottom Ns Op , Ns Cm top
.Pp
The section specified by
.Ar section
will be marked for spreading. The default bottom is
.Ad 0000
and the default top is
.Ad $1:0000 .
If no bottom or top is specified, the default is used. The first byte of
the section is specified using the ROM and relative org directives.
.Pp
The sub-options for
.Fl Z
are:
.Fl Z Ns Ar section Ns = ,
.Fl Z Ns Ar code Ns = ,
and
.Fl Z Ns Ar data Ns = .
.El
.Sh ENVIRONMENT
The following environment variables affect the execution of
.Nm :
.Bl -tag -width indent
.It Ev WDC_LIB
A semi-colon separated list of directories to search if an
input file cannot be found in the current directory.
.El
.Sh SEE ALSO
.Xr wdc02as 1 ,
.Xr wdc02cc 1 ,
.Xr wdc02op 1 ,
.Xr wdc816as 1 ,
.Xr wdc816cc 1 ,
.Xr wdc816op 1 ,
.Xr wdcdb 1 ,
.\" .Xr wdcln 1 ,
.Xr wdclib 1 ,
.Xr wdcobj 1 ,
.Xr wdcsym 1

77
man1/wdcobj.1 Normal file
View File

@@ -0,0 +1,77 @@
.Dd December 28, 2016
.Dt WDCOBJ 1
.Os
.Sh NAME
.Nm wdcobj
.Nd Examine WDC object modules
.Sh SYNOPSIS
.Nm
.Op Fl DLRS
.Ar objfile
.Sh DESCRIPTION
The
.Nm
utility provides a means to examine object modules created by the
.Nm WDCxAS
assembler.
.Nm
will print out the size and type of each section defined in the module, the
names of all symbols defined or referenced by the object module, and if
desired, each of the data records in the file. The
.Nm
utility is of limited usefulness to the typical programmer and is included
for completeness. Options allow control of the information displayed.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl D
This option causes display of any source debug information records present
in the object module. The appropriate options must have been specified when
compiling or assembling for debug information to be present. The default is
to NOT display debug information.
.It Fl L
Normally, when the records are displayed, all the data in the record is
displayed in hexadecimal format. When option
.Fl L
is specified, the data in the record is not displayed. This option is useful
for examining the structure of a file without displaying all the individual
data.
.Pp
To examine the individual records in an object module but without seeing all
of the data bytes, use the command:
.Pp
.Dl Nm Fl L Ar PROG.OBJ
.Pp
.It Fl R
This option causes display of each of the individual records in the object
module. Information about the object file format is available on request.
.Pp
To examine the individual records in an object module, use the command:
.Pp
.Dl Nm Fl R Ar PROG.OBJ
.Pp
.It Fl S
Normally, when
.Nm
is run, the information for the sections is followed by the symbol
information. When the
.Fl S
option is specified, the symbol information is suppressed.
.Pp
The following command displays just the section names and types of all
modules in the file
.Ar PROG.OBJ :
.Pp
.Dl Nm Fl S Ar PROG.OBJ
.El
.Sh SEE ALSO
.Xr wdc02as 1 ,
.Xr wdc02cc 1 ,
.Xr wdc02op 1 ,
.Xr wdc816as 1 ,
.Xr wdc816cc 1 ,
.Xr wdc816op 1 ,
.Xr wdcdb 1 ,
.Xr wdcln 1 ,
.Xr wdclib 1 ,
.\" .Xr wdcobj 1 ,
.Xr wdcsym 1

84
man1/wdcsym.1 Normal file
View File

@@ -0,0 +1,84 @@
.Dd December 28, 2016
.Dt WDCSYM 1
.Os
.Sh NAME
.Nm wdcsym
.Nd Examine WDC symbol tables
.Sh SYNOPSIS
.Nm
.Op Fl ALS
.Ar symfile
.Sh DESCRIPTION
The
.Nm
utility provides a means to examine symbol files generated by the
.Nm WDCLN linker.
.Nm
will print out the sections defined in the target program and if desired the
line tables, symbol records, auxiliary records and global symbols.
.Pp
Note:This is only for
.Em ZARDOZ
symbol files. See the
.Nm WDCLN
manual and the
.Fl G
and
.Fl HZ
options.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl A
This option causes the display of the auxiliary table. This table contains
typing information, array sizes and other information used in source level
debugging. Only one table is present in the symbol file and is referenced
by all sections and modules.
.It Fl L
This option causes the display of the line information data for each section
in the symbol file.
.It Fl S
This option causes the display of all global symbol records in the symbol
file. Normally, the global symbol records are suppressed.
.Pp
The following command displays the section information, and symbols for all
sections and the global symbols as well.
.Pp
.Dl Nm Fl S Ar PROG.SYM
.Pp
.El
The basic structure of the file is outlined as follows:
.Bl -inset -compact -offset indent
.It File Header
.It Module 1 Information
.Bl -inset -compact -offset indent
.It Section 1 Information
.It ...
.It Section N Information
.It Line Record Information
.El
.It Module 2 Information
.Bl -inset -compact -offset indent
.It ...
.El
.It Module N Information
.Bl -inset -compact -offset indent
.It ...
.El
.It Global Symbol Records
.It String Table
.It Auxiliary Record Table
.It Source File Information
.It End of file
.El
.Sh SEE ALSO
.Xr wdc02as 1 ,
.Xr wdc02cc 1 ,
.Xr wdc02op 1 ,
.Xr wdc816as 1 ,
.Xr wdc816cc 1 ,
.Xr wdc816op 1 ,
.Xr wdcdb 1 ,
.Xr wdcln 1 ,
.\" .Xr wdclib 1 ,
.Xr wdcobj 1
.\" .Xr wdcsym 1