Table of Contents

Format

OP AF BF A Syllable B Syllable

OP = 35

AFBF Length, in bytes, of the parameter field. The maximum number of bytes moved is 9,999. A value of 0000 moves no data. Indirect field lengths can be specified. An AF literal of B1, B2, or B3 is interpreted as a length of 1, 2, or 3 characters in the A-location. All other literals cause an invalid instruction fault (IEX=22).

The A Syllable is the address of the parameter data field operand. Address can be indexed, indirect, or extended. The final address controller must equal UA or cause an invalid instruction fault (IEX=03).

The B Syllable is the address of the 20-digit environment field which can be indexed, indirect, or extended. The final address controller must be UN or cause an invalid instruction fault (IEX=03).

The environment field contains the following information:

Information Digits
Environment Number 00-05
Branch Address 06-11
Reserved 12-19
Note: The lowest memory address is 00.

Function

VEN checks the stack limit and then stores control information and parameters onto the users stack, located in memory. It executes an unconditional branch to a location specified by the environment field (B) using the specified MAT.

VEN performs the following operations:

  1. Checks the environment field (B) for either of these cases:
    • If the reserved area of the environment field is not zero, an invalid instruction fault (IEX=06) occurs, and the instruction terminates.
    • If the environment number in the environment field (B), is zero, zeroes are stored in the active environment number field of the virtual enter stack frame. Otherwise, the current active environment number is stored in the virtual enter stack frame.
  2. Stores the stack parameter.
    • The top of stack pointer, located at memory address 40, relative to base 0, is the starting address, relative to base 0, where the virtual enter stack frame is stored.
    • The sum of the top of stack pointer, the size of the virtual enter stack frame (30), the amount of parameters (2 x AFBF), and the size of the hardware call stack frame area (500) is compared to limit 0. If the sum is equal to or greater than limit 0, a stack overflow fault occurs, and the instruction terminates. Otherwise, the virtual enter stack frame is stored as shown below:
  3. Moves the parameters from a location in memory (A) to the stack.
  4. Sets the two most significant digits of IX3 to C0, and sets the six least significant digits of IX3 to the initial address specified at memory location 40 plus 14, relative to base 0. IX3 then points to the next instruction portion of the virtual enter stack frame.
  5. Stores the new value of the next available stack location, relative to base 0, into memory location 40, relative to base 0.
  6. Resets the comparison and overflow flags. The mode indicators, the accumulator, the measurement register, the mobile index registers and the interrupt mask register are not changed by this instruction.
  7. Changes environment number as follows:
    • If the environment number (B) is zero, an environment change is not required because the correct base/limit pairs are already resident in the processor. The active environment number remains unchanged.
    • If the environment number (B) is not zero, the active environment number is replaced. The MAT specified by this new active environment number is located and loaded.
  8. Executes an unconditional branch to the address, relative to base 1, that is contained in the branch address portion of the environment field (B). The active environment table and the environment table that are entered must share the same data area (base 0). The processor does not check for improper memory assignments.
Information Digits
Old TOS ⇒ Measurement Register (User Part) 00-05
COM & OVF Flags 06-07
Active Environment Number 08-13
New IX3 ⇒ Next Instruction Address 14-19
Saved IX3 Value 20-27
Stack Frame Indicator (“FF”) 28-29
Stack Parameters (0 to 9999 bytes) 30-xxxx
New TOS ⇒
Note - Lowest memory address = 00
Note: The processor loads certain task state when it is executing a virtual branch reinstate or a write hardware registers instruction (see Compatibility Notes A.44).

Comparison Flags

Subsequent to the execution of this instruction, the comparison flags will be reset.

Overflow Flag

Subsequent to the execution of this instruction, the overflow flag will be reset.