HRM
Zilog
HRM
breakpoint suspends execution
of
the
user's
program
and
saves
all
registers,
program
counters (PC), and the Flag
Control Word (FCW) in the memory
area
provided.
It
then
displays a message reporting the break and the address where
it occurred.
Any number of breakpoints can be set manually by setting the
instruction
at
the
desired breakpoint address to %7FOO
(%
indicates the address is
in
hexadecimal
notation).
This
interrupts
the
executing
program and jumps (traps) to the
breakpoint procedure.
When
the
breakpoint
is
no
longer
required,
the
original
instruction
must
be
manually
restored.
The BREAK command saves the address where the breakpoint
is
being
set
and
the instruction that it is replacing.
When
the breakpoint is cleared, the instruction is
automatically
restored.
The
BREAK
command
also
stores
a
repetition
counter, n.
Execution is not suspended until the
nth
time
this
breakpoint is encountered unless another breakpoint is
encountered first.
The following restrictions on the user program are necessary
to set breakpoints:
1.
This program must be able to
execute
with
interrupts
enabled after encountering
~he
breakpoint.
2.
The program
should
not
be
timing-dependent
because
there
will
be
some
timing
distortion each time the
breakpoint is encountered.
3.
The user program must not use Channel
3
of
the
Z80A
Counter
Timer
Circuit (CTC #0), because it is used to
implement the multiple execution feature.
4.
The breakpoint cannot be within an interrupt
procedure
entered
by
an
interrupt from Channels 0 through 2 of
the Z80B CTC #0.
The BREAK and the NEXT commands
us~
instruction modification
and
the
interrupt
system.
Therefore,
the program being
debugged cannot be in
the
PROM
area
and
cannot
involve
modification of the interrupt status.
Any set breakpoints must be cleared
by
hitting RESET
before
a
new
program
is
loaded from the System 8000; otherwise,
previously set breakpoints continue to operate
on
the
new
program during debugging.
5-15
Zilog
5-15
Need help?
Do you have a question about the System 8000 and is the answer not in the manual?
Questions and answers