Go command
Purpose: Executes the program you are debugging.
Stops the execution when the instruction at a specified ad-
dress is reached (breakpoint), and displays the registers,
flags, and the next instruction to be executed.
Format: G [=address][address [address...]]
Remarks: Program execution begins with the current instruction, whose
address is determined by the contents of the CS and IP regi-
sters, unless overridden by the =address parameter (the =
must be entered). If =address is specified, program execu-
tion begins with CS:=address.
The Go command has two format options:
Option 1
Use this option to execute the program you are debugging
without breakpoints. For example:
G [=address]
This option is useful when testing program execution with
different parameters each time. (Refer to the Name com-
mand.) Be certain the CS:IP values are set properly before
issuing the G command, if not using = address.
Option 2
This option performs the same function as option 1 but, in
addition, allows breakpoints to be set at the specified
address. For example:
G [=address] address [address...]
This method causes execution to stop at a specified location
so the system/program environment can be examined.
You can specify up to ten breakpoints in any order. You may
wish to take advantage of this if your program has many
paths, and you want to stop the execution no matter which
path the program takes.
The DEBUG program replaces the instruction codes at the
breakpoint addresses with an interrupt code (CCh). If any
one breakpoint is reached during execution, the execution
is stopped, the registers and flags are displayed, and all
the breakpoint addresses are restored to their original in-
struction codes. If no breakpoint is reached, the instruc-
tions are not restored.
Notes:
1. Once a program has reached completion (DEBUG has dis-
played the "Program terminated normally" message), it
is necessary to reload the program before it can be
executed again.
2. Make sure that the address parameters refer to locations
that contain valid CPU instruction codes. If you specify
an address that does not contain the first byte valid in-
struction, unpredictable results occur.
3. The stack pointer must be valid and have 6 bytes avail-
able for the Go command; otherwise, unpredictable results
occur.
4. If only an offset is entered for a breakpoint, the G
command assumes the segment contained in the CS register.
5. Do not set breakpoints at instructions in read-only mem-
ory (ROM BIOS or ROM BASIC).
For example:
G 102 1EF 208
Execution begins with the current instruction, whose address
is in the current values of CS:IP. The =address parameter
was not used.
Three breakpoints are specified; assume that the second is
reached. Execution stops before the instruction at location
CS:1EF is executed, the original instruction codes are re-
stored, all three breakpoints are removed, the display oc-
curs, and the Go command ends.
Refer to the Register command for a description of the dis-
play.