EasyManua.ls Logo

Commodore PC 20 - Page 343

Commodore PC 20
494 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
r
r
r--
[=-
[~
If
a
segment
has a
common
combine
type,
the
linker
combines
it
automatically
with
any
other
segments
that
have
the
same
name
and
belong
to
the
same class.
When
link
combines
common
seg-
ments, however, it places
the
start
of
each
segment
at
the
same
address, creating a series
of
overlapping segments.
The
result
is a single
segment
no
larger
than
the
largest
of
the
combined
segments.
The
linker treats segments
with
memory
combine
types exactly
like segments with
public
combine
types.
The
Microsoft Macro
Assembler
(MASM),
provides
combine
type
memory
for compatibil-
ity
with
linkers
that
support
a separate
combine
type for
memory
segments.
A
segment
has a private
combine
type only if
no
explicit
combine
type
is defined for it in
the
source
file. Link
does
not
combine
private segments.
Groups
Groups
permit
noncontiguous segments
that
do
not
belong
to
the
same
class
to
be
addressable relative
to
the
same frame address.
When
link
encounters
a group, it adjusts all
memory
references
to
items
in
the
group so
that
they
are relative
to
the same frame
address.
Segments in a group
do
not
have
to
be
contiguous and
do
not
have
to
belong
to
the
same class. Nor
do
they have
to
have
the
same
combine
type.
The
only
requirement
is
that
all segments in
the
group
fit within
64K
bytes.
Groups
do
not
affect
the
order
in
which
the
segments
are
loaded.
Unless you use class names and
enter
object
files in
the
right
order,
there
is
no
guarantee
that
the
segments will
be
contiguous.
In fact,
the
linker may place segments
that
do
not
belong
to
the
group
in
the
same
64K
bytes
of
memory. Although
link
does
not
explicitly
check
whether
all segments in a
group
fit within this
64K
of
memory,
the
linker is likely
to
encounter
afixup-overflow
error
if
this
requirement
is
not
met.
Unk: A Unker 205
Common combine
types
Memory combine
types
Private combine types
Groups,
and
how
to
define them, are discussed
further
in
the
nn
Microsoft Macro Assembler Reference Manual.
~
Fixups
Once
the
starting address
of
each
segment in a program is known,
and
all segment combinations
and
groups have
been
established,
the
linker
can
fix
up
any unresolved references
to
labels and vari-
ables. To fix
up
unresolved references,
the
linker
computes
an
appropriate offset and
segment
address and replaces
the
tem-
porary
values,
generated
by
the
assembler,
with
the
new
values.

Table of Contents

Related product manuals