IOT Entry, Decoding and Dispatch

The Iinput/Output Transfer instruction handler is written in FORTRAN as a zero argument subroutine.
 
      SUBROUTINE PDP8IOT
 
 Upon entry the routine decodes the IOT instruction which has been left in the (now stored) memory data register. Two levels of dispatching take place. The first dispatch is to device handlers based on the instruction's device id (ID). A second level dispatch in most of these handlers decode the meaning of the IOP pulses in the context of the selected device.
 
      ID=(ISHIFT(MD,-3).AND.77B)+1 
      IO=(MD.AND.7B)+1 
      IF(ID.LE.5) GOTO (200,210,220,230,240),ID  
      IF(MD.EQ.6214B) GOTO 302 
      IF(MD.EQ.6201B) GOTO 106 
      GOTO 404
 
Program data transfer:
 
200   CONTINUE
      GOTO 404
 
Paper tape reader:
 
210   GOTO (404,108,212,404,106,404,212,404),IO
 
Paper tape punch:
 
220   GOTO (404,108,106,404,224,404,224,404),IO 
 
Teleprinter keyboard:
 
230   IF(MD.EQ.6032B) GOTO 106
      GOTO 404
 
Teleprinter printer:
 
240   GOTO (106,108,106,404,243,108,243,404),IO 
 

 


PDP-8 Simulator
© 1975, 1998, Ward Cunningham
all rights reserved