VAX11

 
 
Operand Descriptors
 
An operand descriptor is a string of characters consisting of three components:
<name>.<access type><datatype context>
The three components and their possible values are as follows.
 
(a) name
The name component of a descriptor is any word or abbreviation which is descriptive of the operand involved. Names such as src (“source”), dst (“destination”), pos ('position”), and so on, are used to give some indication as to the significance of the operand.
 
(b) access type
The access type component of a descriptor can take on a number of possible values.
r read-only. The operand is a structure (byte, word, and so on, depending on the operations context) whose location is specified by any general register or program counter addressing mode. The operand is read by the processor, but is not written by it.
w written-only. The operand is a structure (byte, word, and so on, depending on the operation's context) whose location is specified by any addressing mode except 0, 1, 2, or 3 (short literal) or program counter mode 8 (immediate). The operand is written by the processor, but is not read by it.
m modified. The operand is a structure (byte, word, and so on, depending on the operation's context) whose location is specified by any addressing mode except 0, 1,2, or 3 (short literal) or program counter mode 8 (immediate). The operand is read by the processor, and it may be modified and its new value written back to its location.
b branch displacement. There is no structure reference. Rather, the operand is a program counter displacement, whose size is determined by the operation's context, and whose value is sign extended to a longword upon execution.
a address access. The operand is the address of a structure (byte, word, arid so on, depending on the operation's context). The operand may be specified by any addressing mode except 0, 1, 2, 3 (short literal); general register mode 5 (register); and program counter mode 8 (immediate). Regardless of the operation's context, the operand is always a longword (since it is an address). The context of the address calculation is determined by the operation's context.
v bit field. The operand is one of the following.
1. The address of a structure (byte, word, and so on, depending on the operation's ontext). The operand may be specified by any addressing mode except 0, 1, 2, 3 (short literal); general register mode 5 (register); and program counter mode 8 (immediate). Regardless of the operations context, the operand is always a longword (since it is an address). The context of the address calculation is determined by the operation's context.
2. The contents of a register, the operand being specified by a general register mode 5 construction–Rn. The operand is the contents of Rn, or of R[n + l]'R[n]
 
(c) datatype context
The datatype context component of the descriptor specifies the operation's context and is used to determine side effects, to calculate addresses, and to determine the factor by which register contents are multiplied in index mode instruction. The possible datatype descriptors are the following.
b       byte
w       word
l       longword
q      quadword
o      octaword
x      datatype of the first (or only) operand specified by the operation
y      datatype of the second operand specified by the operation