[net.unix] IOT and EMT instructions on PDP-11's

davy@pur-ee.UUCP (Dave Curry) (09/08/85)

Let's just go straight to the source....

----------------
4.6.4 Traps

Trap instructions provide for calls to emulators, I/O monitors,
debugging packages, and user-defined interpreters.  A trap is
effectively an interrupt generated by software.  When a trap occurs
the contents of the current Program Counter (PC) and Program Status
Word (PS) are pushed onto the processor stack and replaced with the
contents of a two-word trap vector containing a new PC and new PS.
The return sequence from a trap involves executing an RTI or RTT
instruction which restores the old PC and old PS by popping them from
the stack.  Trap vectors are located permanently assigned fixed
address. [sic]

From: PDP-11/70 Processor Handbook, p. 4-68

----------------
EMT

[ .... ]

Description:

All operation codes from 104000 to 104377 are EMT instructions and may
be used to transmit information to the emulating routine (e.g.
function to be performed).  The trap vector for EMT is at address 30.
The new PC is taken from the word at address 30; the new central 
processor status (PS) is taken from the word at address 32.

Caution: EMT is used frequently by DIGITAL system software and is
therefore not recommended for general use.

From: PDP-11/70 Processor Handbook, p. 4-69

----------------
IOT

[ .... ]

Description:

Performs a trap sequence with a trap vector address of 20.  Used to
call the I/O Executive routine IOX in the paper tape software system,
and for error reporting in the Disk Operating System.  (no information
is transmitted in the low byte)

From: PDP-11/70 Processor Handbook, p. 4-72

----------------

Can we talk about something else now?

--Dave Curry