This is coded as:
REGS=(register[,register]...),
where:
register
is one of the following to support OS/2 versions 1.1 and 1.2:
CS,DS,SS,ES,AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAGS
with the addition of the following to support OS/2 version 2.0:
EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI,EFLAGS,EIP,FS,GS
or the symbolic name of a C language variable declared with the register storage-class specifier as:
.symbolic_name
The same register may appear multiple times in the register list. It will be traced as many times as it appears. Extended registers (E) are 32 bits and logged as two words. All other registers are 16 bits and logged as one word.
Note: To log a C language variable declared with the register storage class, debug information must exist and the variable name is case sensitive. When formatting the data logged from a register variable, remember that there are no memory prefix bytes put into the log buffer.
Example of the REGS statement follows:
/* Given the following declaration in a C language source file: */ register int ret_code; /* To log registers AX, CX and the register variable ret_code: */ TRACE MINOR=..... REGS=(AX,CX,.ret_code), FMT="AX=%W CX=%W ret_code=%W"