EasyManua.ls Logo

Commodore PC - Page 277

Commodore PC
414 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...
L/n/c:
>4
/Jn/cer
205
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
f**}
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
f0**}
64K
of
memory,
the
linker
is
likely
to
encounter
a
fixup-overflow
error
if
this
requirement
is
not
met.
Groups,
and
how
to
define
them,
are
discussed
further
in
the
("**)
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,
/0ms^
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.
Common
combine
types
n
n
n
n
n
Memory
combine
types
Private
combine
types
DQ

Related product manuals