The task enable toggles are used to specify the operating conditions of a task running on a given processor.
The task enable toggles are stored in memory in the following format
|Soft Fault Enable||1||3|
|Task Snap Enable||1||0|
The task enable toggles may be changed by the following instructions and procedures:
If the processor detected error was an Invalid Instruction fault, Address Error fault or Instruction Timeout fault, then both the task snap enable for that task and the Processor Snap Enable must have been set to allow a SNAP picture to be stored into memory at the address specified by the Snap Picture Address. The SNAP picture address must have been previously loaded by a Write Hardware Register instruction.
The Trace Enable toggle allows the Trace function of a processor. The Trace Enable toggle is either set or reset by the Hyper Call, the Return, or the Virtual Branch Reinstate instructions or the Hardware Call procedure. The Trace Enable toggle is always reset by the Interrupt Procedure.
When the trace function is enabled, a Trace Fault Hardware Call procedure will be executed at the completion of the current instruction except after the hardware call return variant of the Return instruction. The Hardware Call procedure will store the instruction address of the next instruction to be executed along with some trace parameters on the stack. See Compatibility Notes A.50.
The hardware call return variant of the Return instruction will prevent a hardware call procedure due to the Trace Enable toggle until the next instruction has been executed.
The Privileged Enable toggle is used to permit the use of certain instructions that may only be executed by the operating system. If the toggle is set (privileged), all instructions are allowed to be executed. If the toggle is reset, only a subset of the instruction set is allowed to be executed and an attempt to use a privileged instruction will cause an Invalid Instruction (**IEX = 02**) fault.
The following instructions are privileged:
The Privileged Enable toggle also restricts the use of the MCP environment number in certain instructions. In the Virtual Enter, the virtual exit variant of the Return, the Move String, the Compare String and the Hash String instructions, if the most significant digit of the environment number is equal to D and the system is not operating with Privileged Enable set, cause an Invalid Instruction (**IEX = 31**) fault. In the Move String, Compare String and Hash String instructions, if the Environment Number is equal to 000000 and the sytsem is not operating with Privileged Enable set, cause an Invalid Instruction (**IEX = 32**) fault.
The soft fault enable toggle allow the soft fault reporting feature of the V-Series operating system.
When this toggle is set, the Branch Communicate, Hyper Call, Return and Virtual Branch Reinstate instructions will examine the Soft Fault Pending flag in the Reinstate List entry for the current task and cause a Hardware Call Procedure to be executed if the digit is not equal to zero.