RUNUNIT - examine and patch a run-unit.
Syntax:
boff RUNUnit filename [options]
Options:
- filename
- is the name of the file containing the run-unit you want
to examine/patch.
- ManiFest=filename
- specifies a manifest file. For more details, see "expl boff manifest".
- Name=runame
- specifies the name of the run-unit you want to
examine/patch, if the file contains several run-units.
- -Write
- indicates that BOFF should not access the file with write
permissions (i.e. read only). This prevents accidental
alteration of the file. Without this option, BOFF
accesses the file for both read and write.
Description:
The RUNUnit mode of BOFF lets you examine and patch Native
Mode run-units. It is like "BOFF Patch", except in the
following ways.
- RUNUnit mode only works on Native Mode run-units.
- The binary @ construction (A@B) is not supported.
- All pointers must be full NSA pointers (with an offset in
the upper bits and a SEGID in the lower bits).
- A new unary @ construction has been introduced.
"A@" or "@A" can be used to refer to
a location in the file. "A" is an expression
giving an offset in the current hardware segment.
"A@" or "@A" is the pointer value
computed by shifting the offset to the top of a word and
ORing in the SEGID of the current segment. Thus
"*@A" refers to the contents of this location.
- The current segment is set by assigning a SEGID number to
the variable "segid". When the program begins
execution, "segid" has the (octal) value 6000.
- The ":vx" command displays the name of the
file, the name of the run-unit being examined, the entry
address, and the octal value of the descriptor that
frames the Linkage Segment.
To patch a value in the file, simply assign a new value to the
appropriate address. This changes the corresponding location in
the run-unit file.
See Also:
expl boff
expl boff patch
expl boff manual
Copyright © 1996, Thinkage Ltd.