Symbols defined in symbol files may be used in any arithmetic expression. Absolute symbols (that is, symbols of constants) are treated as absolute expressions. Other symbols are treated as address expressions. Symbols are activated using the WA command.
The in-built register mnemonics supported by the Kernel Debugger and Dump Formatter are:
ax, bx, cx, dx, si, di, bp, ip, pc
eax, ebx, ecx, edx, esi, edi, ebp, eip
cs, ds, es, fs, gs, ss
flg, eflg
cr0, cr2, cr3
gdtb, gdtl
idtb, idtl
tr, ldtr, msw
dr0, dr1, dr2, dr3, dr4, dr5, dr6
tr6, tr7
These may be used as absolute expressions for the current register value. See the R command for information on displaying and setting current register values and for the definition of the register mnemonics.
The Kernel Debugger also defines mnemonics:
to represent the addresses of breakpoints defined by the BP and BR commands.
The expression evaluator allows the prefix @ to a symbol name to distinguish it from a similarly named mnemonic name. For example, @ax refers to the symbol ax, whereas ax refers to the ax register value.
Similar conflicts may also arise between hexadecimal values and symbols. These may be avoided by prefixing and hexadecimal numeric value with a zero.