CHAPTER
61
RUNNING YOUR PROGRAM

Absolute

Programs

If
your
program
was assembled using
the
ASEO location counter, you may be able
to
load
and
test
your
program
on
the Intellec development system immediately after
it
is assembled. Notice, however,
that
your program must include
an
ORO
directive
that
will cause
the
program
to
load into a memory location
that

will

not
conflict with
ISIS-II.
(ORO
4000H loads your program well above ISIS-II.)
If
your program does
not
include
such
an
ORO
directive,
it
must
be
reassembled before you attempt
to
execute it.
To
execute
your
program, you need only enter its object file name in response
to
an
ISIS-II
prompt.
For
example, assume
that
your program's name
is
MYPROO. By
default, its object file name is MYPROO.OBJ. Entering MYPROO.OBJ after
an
ISIS-II
prompt
loads the program
and
starts its execution.
Program execution begins
at
the address specified as the operand
of
the END direc-
tive
in
the
source
program.
If
this address is missing
or
conflicts with ISIS-II, the
program
cannot
be
executed.

Relocatable

Programs

Some
portion
of
your
program has been assembled
in
the relocatable mode if
the
program contains a CSEO
or
DSEO directive. Such programs are
not
directly exe-
cutable since
some
addresses are assembled relative
to
zero rather
than
any actual
address.
To
resolve these addresses,
you
must submit your object file
to
the
LOCATE
program.
LOCATE supplies absolute addresses for the relocatable
ad-
dresses. Notice
that
you can supply absolute
load
addresses through the LOCATE
program. These addresses override
any
ORO
directives in your program. Also, you
must be certain
to
locate your program
so
that
is does
not
conflict with ISIS-II.
If
your
program
comprises a number
of
separately assembled modules, you must
submit
the
object
file
to
the
LINK program before using LOCATE. The LINK pro-
gram binds together
the
separate modules
and
resolves any external addresses speci-
fed
by
EXTRN
directives.
The
final
product
of
LINK (if needed)
and
LOCATE is
an
absolute object program
file. You
can
run
this program as though
it
were assembled as
an
absolute program.
Program
execution begins
at
the address specified as the operand
of
an
END direc-
tive
in
the
source program. When
the
program comprises separately assembled
modules, only
one
module
may
specify a
start
address in its END directive.
If
this
address is missing
or
conflicts with ISIS-II, the program cannot be executed.
6-1