P or PA - patch memory

Usage:

P <address>,<value>[,<value>]*

Examples:

P 1432,010,0377777
P .uid 262221272731 456220202020
P name .uid

Description:

This command provides the capability to patch a contiguous area of memory, starting at a specified address (A1). The patch data (D1,D2,...,Dn) are processed serially and stored in ascending locations, starting at A1. Each such Di may assume one of the following forms:

  Di - Patch the next location with Di.
n*Di - patch the next "n" locations with Di

Both Di and A1 are allowed to be symbolic expressions. This precludes the use of the old rDi, Dir and rDir forms (see Bull manual DD43, Debug and Trace Routines) as they would be interpreted as symbolic addresses. The use of the symbolic address '*' IS allowed in Di; the command

P * 5**

is perfectly valid (although a little strange).

Using PA instead of P gives an absolute patch, rather than the relative (to the offset) patch done by P.

See Also:

expl trace expression
for a discussion of symbolic expressions.

Copyright © 1996, Thinkage Ltd.