Intctl - Intel i960 Jx Developer's Manual

Microprocessor
Table of Contents

Advertisement

INSTRUCTION SET REFERENCE
6.2.34

intctl

Mnemonic:
intctl
Format:
intctl
Description:
Globally enables, disables or returns the current status of interrupts
depending on the value of src1. Returns the previous interrupt enable state (1
for enabled or 0 for disabled) in dst. When the state of the global interrupt
enable is changed, the processor ensures that the new state is in full effect
before the instruction completes. (This instruction is implemented by manip-
ulating ICON.gie.)
src1 Value
if (PC.em != supervisor)
Action:
generate_fault(TYPE.MISMATCH);
old_interrupt_enable = global_interrupt_enable;
switch(src1) {
case 0: # Disable. Set ICON.gie to one.
case 1: # Enable. Clear ICON.gie to zero.
case 2: # Return status. Return ICON.gie
default:
}
if(old_interrupt_enable)
dst = 1;
else
dst = 0;
6-66
Global Enable and Disable of Interrupts
src1
dst
reg/lit
reg
Operation
0
Disables interrupts
1
Enables interrupts
Returns current interrupt enable
2
status
globally_disable_interrupts;
global_interrupt_enable = false;
order_wrt(subsequent_instructions);
break;
globally_enable_interrupts;
global_interrupt_enable = true;
order_wrt(subsequent_instructions);
break;
break;
generate_fault(OPERATION.INVALID_OPERAND);
break;

Advertisement

Table of Contents
loading

Table of Contents