Page:CTSS programmer's guide.djvu/51

 the instruction counter is set to the next location; it is this location which is stored if an interrupt occurs. Thus if there is an interrupt at this point, the program resumes at the next instruction after the. Since interrupts are a normal occurrence in the Time-Sharing System, the 7090 cannot always be stopped by an  instruction. The  instruction, however, produces a genuine program stop and should be used in place of the. Only the following I/O units are available for background systems: the card reader, card punch and printer; tape units A1-A6, A10, B1-B6 and B10.

If other units are referenced, a diagnostic will occur. The "Load Channel" instruction is prohibited. A diagnostic will occur if an  instruction is used. A "Reset and Load Channel" instruction, if given, must immediately follow the select instruction; otherwise, the I/O check light will be turned on. An exception is made for three instructions; up to three 's, or  's, and/or  's may be inserted between the select and reset and load instructions. All I/O commands (including  commands) must have a "1" in bit position 20. This will automatically be done on assembly if the  pseudo-op is used in the Center version of the Fap assembler. I/O instructions, if generated, must also contain this bit. A diagnostic will be given if this condition is not met. When the supervisor determines that the background system is to be saved while a foreground program receives attention, the background system's machine conditions must be saved. In order to save the status of an I/O channel, the supervisor must wait for current I/O activity to stop. If the background system reads or writes long records on tape, the time spent waiting in the supervisor can be detrimental to the foreground response time. It is normally required, therefore, that all physical records read or written on tape be less than 1000 words. If this condition cannot be met, the matter should be discussed with the Computation Center Staff. 37