Arithmetic Expansion in MDB
Arithmetic expansion is performed to determine the value of an expression.
MDB commands can be preceded by expressions that represent a start address
or a repeat count. Arithmetic expansion can also be performed to compute a
numeric argument for a dcmd. An expression can appear in an argument list
enclosed in square brackets preceded by a dollar sign ($[expr]). In this case, the expression is replaced by its
arithmetic value.
Expressions can contain any of the following special words:
- integer
-
The specified integer value. Integer values can be prefixed with
0ior0Ito indicate binary values,0oor0Oto indicate octal values,0tor0Tto indicate decimal values, and0xor0Xto indicate hexadecimal values (the default). - 0[tT][0-9]+.[0-9]+
-
The specified decimal floating point value, converted to its IEEE double-precision floating point representation.
- 'cccccccc'
-
The integer value computed by converting each character to a byte equal to its ASCII value. Up to eight characters can be specified in a character constant. Characters are packed into the integer in reverse order (right-to-left), beginning at the least significant byte.
- <identifier
-
The value of the variable named by identifier.
- identifier
-
The value of the symbol named by identifier.
- (expression)
-
The value of expression.
- .
-
The value of dot.
- &
-
The most recent value of dot used to execute a dcmd.
- +
-
The value of dot incremented by the current increment.
- ^
-
The value of dot decremented by the current increment.
The increment is a global variable that stores the total bytes read by the last formatting dcmd. For more information about the increment, refer to the discussion of Dcmd Formatting Characters.