The Wayback Machine - https://web.archive.org/web/20231003165232/https://www.cs.auckland.ac.nz/references/macvax/address-mode.html

VAX Addressing Modes



Assembler

Comment

#<expr;> The operand is a read only constant = <expr;>.;
(Compiles to (PC)+ or a literal. )
<expr;> The <expr;> specifies the memory address of the operand.
(PC relative. Assembles to <expr;> - current_location (PC) )
@#<expr;> The <expr;> specifies the memory address of the operand.
(Absolute. Has the same effect as <expr;> but assembles to @(PC)+ )
@<expr;> The <expr;> specifies the address of the address of the operand.
(Assembles to @<expr;> - current_location (PC) )
Rn The operand is the register contents.
(Rn) The operand is at the address specified in the register.
-(Rn) The Register contents are decremented by the size of the operand type before being used as the address the operand.
(Rn)+ The Register contents are incremented by the size of the operand type after being used as the address the operand.
@(Rn)+ The Register contents is incremented by 4 after being used to obtain the address of the address of the operand.
<expr;>(Rn) The operand is at the address specified by the
<expr;> + the register contents.
@<expr;>(Rn) The address of the address of the operand is specified by the
<expr;> + register contents .
Indexed Modes Next Page

Notes