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
0i
or0I
to indicate binary values,0o
or0O
to indicate octal values,0t
or0T
to indicate decimal values, and0x
or0X
to 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.