This is used to log memory in a function compiled using 16-bit segment:offset addressing and is coded as:
MEM=(address_spec,flag,{length|LEN}),
where:
address_spec
is a segmented memory address specification as described in Address Specification.
is a mandatory parameter that identifies the level of indirection to be used on the address. It is one of:
D[IRECT]
I[NDIRECT][*[{+|-}iiiiiiii]]...
IF
INDIRECT means that the address contains a segmented address and is dereferenced to obtain the memory location. The optional asterisks denote the level of indirection, one for each level. The indirect offsets iiiiiiii are added to or subtracted from the value found at the given level of indirection.
IF (Indirect Flat) means that the address contains a flat address that is dereferenced to obtain the memory location.
Only far pointers may be dereferenced when using segmented addressing.
is the number of bytes at the memory location to be saved in the trace buffer. If length is too big, a warning message will be given, and length will be set to MAXDATALENGTH. If length is 0 an error message will be given, and this tracepoint will be ignored.
specifies that this is a variable length record to log and the length was specified by the preceding LEN statement. If there was no preceding LEN statement, this tracepoint is rejected. Either length or LEN must be specified, but not both.