mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 02:14:19 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,276 @@
|
||||
.he
|
||||
.bp odd
|
||||
.cs 5
|
||||
.mt 5
|
||||
.mb 6
|
||||
.pl 66
|
||||
.ll 65
|
||||
.po 10
|
||||
.hm 2
|
||||
.fm 2
|
||||
.ft All Information Presented Here is Proprietary to Digital Research
|
||||
.he
|
||||
.tc 6.0 L068 Linker
|
||||
.ce 2
|
||||
=================== REPLACE/RE-WRITE ENTIRE SECTION ================
|
||||
=================== DOCUMENT ON LD8K ATTACHED ================
|
||||
.sh
|
||||
Section 6
|
||||
.qs
|
||||
.sp
|
||||
.sh
|
||||
L068 Linker
|
||||
.qs
|
||||
.he CP/M-8000 Programmer's Guide 6.0 L068 Linker
|
||||
.sp 3
|
||||
.tc 6.1 Linker Operation
|
||||
.sh
|
||||
6.1 Linker Operation
|
||||
.qs
|
||||
.he CP/M-8000 Programmer's Guide 6.1 Linker Operation
|
||||
.ix linker (L068) operation
|
||||
.pp 5
|
||||
L068 is the CP/M-8000 Linker that combines several AS68 assembled
|
||||
(object) programs into one executable command file. All external
|
||||
references are resolved. The linker must be used to create
|
||||
executable programs, even when a single object program contains
|
||||
no unresolved references. The argument routines are concatenated
|
||||
in the order specified. The entry point of the output is the
|
||||
first instruction of the first routine.
|
||||
.sp 2
|
||||
.tc 6.2 Invoking the Linker (L068)
|
||||
.sh
|
||||
6.2 Invoking the Linker (L068)
|
||||
.qs
|
||||
.he CP/M-8000 Programmer's Guide 6.2 Invoking the Linker
|
||||
.ix Linker, invoking
|
||||
.pp
|
||||
Invoke L068 by entering a command of the following form:
|
||||
.sp 2
|
||||
.nf
|
||||
L068 [-F d:] [-R] [-S] [-I] [-Umodname]
|
||||
[-O filename] [-X] [-Zaddress]
|
||||
[-Daddress] [-Baddress] object filename [object filename]
|
||||
[>message filename]
|
||||
.fi
|
||||
.sp 2
|
||||
.ce
|
||||
.sh
|
||||
Table 6-1. Linker Command Options
|
||||
.qs
|
||||
.sp
|
||||
.in 5
|
||||
.ll 60
|
||||
.nf
|
||||
Option Meaning
|
||||
.fi
|
||||
.in 15
|
||||
.ti -10
|
||||
.sp
|
||||
-F d:
|
||||
.sp
|
||||
The -F option specifies the drive on which temporary files
|
||||
are created. The variable d: is the drive designation.
|
||||
.ix -F option (L068)
|
||||
.sp 2
|
||||
.ti -10
|
||||
-R
|
||||
.sp
|
||||
.ix -R option (L068)
|
||||
The -R option preserves the relocation bits so the resulting
|
||||
executable program is relocatable.
|
||||
.sp 2
|
||||
.ti -10
|
||||
-S
|
||||
.ix -S option (L068)
|
||||
.sp
|
||||
If specified, the output is stripped; the symbol table and relocation
|
||||
bits are removed to save memory space.
|
||||
.bp
|
||||
.in 0
|
||||
.ll 65
|
||||
.ce
|
||||
.sh
|
||||
Table 6-1. (continued)
|
||||
.qs
|
||||
.sp
|
||||
.in 5
|
||||
.ll 60
|
||||
.nf
|
||||
Option Meaning
|
||||
.fi
|
||||
.sp
|
||||
.in 15
|
||||
.ti -10
|
||||
-I
|
||||
.sp
|
||||
.ix -I option (L068)
|
||||
If -I is specified, no 16-bit address overflow messages
|
||||
are generated. When you assemble a program without the AS68 -L option, the
|
||||
linker may generate address overflow messages if the program contains
|
||||
addresses longer than 16 bits.
|
||||
.sp 2
|
||||
.ti -10
|
||||
-Umodname
|
||||
.sp
|
||||
.ix -Umodname option (L068)
|
||||
Links a module within the library with other modules in the command line.
|
||||
The module name, specified by the modname parameter, cannot exceed eight
|
||||
characters. You can use this option to create a program from modules
|
||||
within a library, if the module following the U option calls other modules
|
||||
in the library.
|
||||
.sp 2
|
||||
.ti -10
|
||||
-O filename
|
||||
.sp
|
||||
.ix -O option (L068)
|
||||
If specified, the object file produced by L068 has the filename that you
|
||||
specify following the -O option. The -O option and filename are separated
|
||||
by one or more spaces. If you do not specify a filename, the object
|
||||
file has the name C.OUT.
|
||||
.sp 2
|
||||
.ti -10
|
||||
-X
|
||||
.sp
|
||||
.ix -X option (L068)
|
||||
If specified, the symbol table includes all local
|
||||
symbols except those that begin with the letter L. If not specified, L068
|
||||
puts only global symbols in the symbol table. This option is
|
||||
provided so that you can discard compiler internally-generated labels
|
||||
that begin with the letter L while retaining symbols local to routines.
|
||||
.bp
|
||||
.in 0
|
||||
.ll 65
|
||||
.ce
|
||||
.sh
|
||||
Table 6-1. (continued)
|
||||
.qs
|
||||
.sp
|
||||
.in 5
|
||||
.ll 60
|
||||
.nf
|
||||
Option Meaning
|
||||
.fi
|
||||
.sp
|
||||
.in 15
|
||||
.ti -10
|
||||
-Taddress
|
||||
.sp 0
|
||||
.ti -10
|
||||
-Zaddress
|
||||
.sp
|
||||
.ix -Taddress (L068)
|
||||
.ix -Zaddress (L068)
|
||||
.ix -Daddress (L068)
|
||||
.ix -Baddress (L068)
|
||||
The -T and -Z options are equivalent. If specified, the hexadecimal
|
||||
address given is defined by L068 as the beginning address for the text
|
||||
segment. This address defaults to zero, or it can be specified as any
|
||||
hexadecimal number between 0 and FFFFFFFFH. This option is especially
|
||||
useful for stand-alone programs, or for putting programs in R0M.
|
||||
Hexadecimal characters can be in upper-case or lower-case.
|
||||
.sp 2
|
||||
.ti -10
|
||||
-Daddress
|
||||
.sp
|
||||
If specified, the hexadecimal address given is defined by L068 as the
|
||||
beginning address for the data segment. This address defaults to the next
|
||||
byte after the end of the text segment, or it can be specified as any
|
||||
hexadecimal number between 0 and FFFFFFFF. This option is especially
|
||||
useful for stand-alone programs or for putting programs in ROM. Hexadecimal
|
||||
address characters can be in upper-case or lower-case.
|
||||
.sp 2
|
||||
.ti -10
|
||||
-Baddress
|
||||
.sp
|
||||
If specified, the hexadecimal address given is defined by L068 as the
|
||||
beginning address for the bss. This address defaults to the next
|
||||
byte after the end of the data segment, or it can be specified as
|
||||
any hexadecimal number between 0 and FFFFFFFF.
|
||||
.sp 2
|
||||
.ti -10
|
||||
object filename [object filename]
|
||||
.sp
|
||||
.ix object filename option (L068)
|
||||
The name of one or more object files produced by the assembler AS68.
|
||||
These are the object files that L068 links.
|
||||
.bp
|
||||
.in 0
|
||||
.ll 65
|
||||
.ce
|
||||
.sh
|
||||
Table 6-1. (continued)
|
||||
.qs
|
||||
.sp
|
||||
.in 5
|
||||
.ll 60
|
||||
.nf
|
||||
Option Meaning
|
||||
.fi
|
||||
.sp
|
||||
.in 15
|
||||
.ti -10
|
||||
>message filename
|
||||
.sp
|
||||
.ix >message filename (L068)
|
||||
If specified, error messages produced by L068 are redirected to the file
|
||||
that you specify immediately after the greater than (>) sign. If
|
||||
you do not specify a filename, error messages are written to the
|
||||
standard default output device, which typically is your console terminal.
|
||||
.in 0
|
||||
.ll 65
|
||||
.sp 2
|
||||
.tc 6.3 Sample Commands Invoking L068
|
||||
.ne 10
|
||||
.sh
|
||||
6.3 Sample Commands Invoking L068
|
||||
.qs
|
||||
.he CP/M-8000 Programmer's Guide 6.3 Commands Invoking L068
|
||||
.sp 2
|
||||
.ti 8
|
||||
A>\c
|
||||
.sh
|
||||
L068 -S -0 TEST.8000 TEST.O
|
||||
.qs
|
||||
.sp
|
||||
.in 0
|
||||
.pp
|
||||
This command links assembled file TEST.O into file TEST.8000 and strips out
|
||||
the symbol table and relocation bits.
|
||||
.sp 2
|
||||
.ti 8
|
||||
A>\c
|
||||
.sh
|
||||
L068 -T4000 -D8000 -BC000 A.O B.O C.O
|
||||
.qs
|
||||
.sp
|
||||
.pp
|
||||
This command links assembled files A.O, B.O, and C.O to the default output
|
||||
file C.OUT. The text segment starts at location 4000H; the
|
||||
data segment starts at location 8000H; and the bss starts at
|
||||
location C000H.
|
||||
.sp 2
|
||||
.ti 8
|
||||
A>\c
|
||||
.sh
|
||||
L068 -I -O TEST.8000 TEST.O TEST1.0 >ERROR
|
||||
.qs
|
||||
.sp
|
||||
.pp
|
||||
This command links assembled files TEST.O and TEST1.O to file TEST.8000.
|
||||
Any 16-bit address overflow errors are ignored; error messages are
|
||||
directed to the file ERROR.
|
||||
.sp 2
|
||||
.tc 6.4 L068 Error Messages
|
||||
.sh
|
||||
6.4 L068 Error Messages
|
||||
.qs
|
||||
.he CP/M-8000 Programmer's Guide 6.4 L068 Error Messages
|
||||
.pp
|
||||
Appendix E lists the error messages that L068 displays.
|
||||
.sp 2
|
||||
.ce
|
||||
End of Section 6
|
||||
.nx seven
|
||||
|
||||
|
||||
Reference in New Issue
Block a user