900064D_930_Reference_Feb66 900064D 930 Reference Feb66

900064D_930_Reference_Feb66 900064D_930_Reference_Feb66

User Manual: 900064D_930_Reference_Feb66

Open the PDF directly: View PDF PDF.
Page Count: 106

Download900064D_930_Reference_Feb66 900064D 930 Reference Feb66
Open PDF In BrowserView PDF
TRAINING GROUP FilE COpy
FROf-EBT\' GF SD ~
TRAINING DEPT.

Sil

ItS

SCIENTIFIC DATA SYSTEMS

Reference Manual

SDS 930 BASIC INSTRUCTIONS
Page

Mnemanic

Octal Code

Name

.w.

CENTRAL PROCESSOR

A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T

35
36
37
62
71
75
76
77

Store A
Store B
Store Index
Exchange M and A
Load Index
Load B
Load A
Copy Effective Address
into index

54
55
56
57
61
63
64
65

Subtract M from A
AddMtoA
Subtract with Carry
Add with Carry
Memory Increment
Add A to M
Multiply
Divide

10
9
10
9
9
9
10

14
16
17

Extract
Merge
Exclusive Or

11
11
11

8
8
8
9
8
8
8
8

ARITHMETIC
SUB
ADD
SUC
ADC
MIN
ADM
MUL
DIV

A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T

11

LOGICAL
ETR A, T
MRG A, T
EOR A, T

REGISTER CHANGE
CLA
CLB
CAB
CBA
XAB
CBX
CXB
XXB
STE
LDE
XEE
CXA
CAX
XXA
CNA
BAC
ABC
CLR
CLX

04600001
04600002
04600004
04600010
04600014
04600020
04600040
04600060
04600122
04600140
04600160
04600200
04600400
04600600
04601000
04600012
04600005
04600003
24600000

Octal Code

Name

Page
Ref.

BRANCH

LOAD, STORE
STA
STB
STX
XMA
lOX
LDB
LDA
EAX

Mnemonic

BRU
BRX
BRM
BRR

A, T
A, T
A, T
A, T

01
41
43
51

Branch Unconditionally
Increment Index & Branch
Mark Place & Branch
Return Branch

14
14
15
15

Skip if Signal Not Set
Skip if A Equa Is M
Skip if M and B Do Not Compare Ones
Skip if M Negative
Reduce M, Skip if < 0
Skip if A = M on B Mask
Skip if M and A Do Not Compare Ones
Skip if A Greater Than M
Difference Exponents; Skip

27
15
16
16
16
15
16
15
16

TEST/SKIP
SKS
SKE
SKB
SKN
SKR
SKM
SKA
SKG
SKD

A
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T

40
50
52
53
60
70
72
73
74

SHIFT
LRSH
RSH
RCY
LSH
LCY
NOD

N, T
N, T
N, T
N, T
N, T
N, T

06624XXX Logical Right Shift AB
06600XXX Right Shift AB
06620XXX Right Cycle AB
06700XXX Left Shift AB
06720XXX Left Cycle AB
06710XXX Normalize; Decrement X

17
17
17
18
18
18

00
20
23

18
19
19

CONTROL
HLT
NOP
EXU A, T

Halt
No Operation
Execute

BREAKPOINT TESTS
Clear A
Clear B
Copy A into B
Copy B into A
Exchange A and B
Copy B into Index
Copy Index into B
Exchange Index and B
Store Exponent
Load "Exponent
Exchange Exponents
Copy Index into A
Copy A into Index
Exchange Index and A
Copy Negative into A
Copy B into A, Clear B
Copy A into B, Clear A
Clear AB
Clear X

12
12
12
12
12
13
13
13
i3
14
14
13
13
13
14
13
13
12
13

BPT
BPT
BPT
BPT

4
3
2
1

OVERFLOW
ROV
REO
OVT

04020040
04020100
04020200
04020400

Breakpoint
Breakpoint
Breakpoi.[lt
Breakpoint

00220001
00220010
04020001

Reset Overflow
Record Exponent Overflow
Overflow Test; Reset

19
18
19

= address;

*A

= indirect address;

Test
Test
Test
Test

00220002
00220004
00220020
04020002
04020004

Enab Ie Interrupts
Disable Interrupts
Arm Interrupts
Interrupt Disabled Test
Interrupt Enabled Test

23
23
23
23
23

Set Extension Register
Extension Register Test

19
20

19
19
19
19

INTERRUPT
EIR
DIR
AIR
!DT
lET

MEMORY EXTENSION
006200SR
0404000T

Legend:
A

No.4
No.3
No. 2
No. 1

T = tag field; N

= number of shifts

SOS 930 INPUT/OUTPUT INSTRUCTIONS
Mnemonic

Octal Code

Name

Page
Ref.

INPUT/OUTPUT INSTRUCTIONS

02
06

MrN
MIY
PIN
POT
WIM
YIM

A, T
A, T
A, T
A, T
A,T
A,T

12
10
33
13
32
30

Energize Output M
Energize Output to Direct Access
Channel
Memory into W when Empty
Memory into Y when Empty
Parallel Input
Parallel Output
W into Memory when Full
Y into MemQry when Full

38
39
41
41
39
39

00250000
00200000
002 14000
04020010
04020020
04021000
04022000
002 12000
040 14000
04011000
040 10400
040 12000

Alert Channel
Disconnect Channel
Terminate Output
Buffer Error Test W
Buffer Error Test Y
Buffer Ready Test W
Buffer Ready Test Y
Alert to Store Address
Channel Active Test; Skip if Inactive
Channel Error Test; Skip if no Error
Channel Inter-Record Test
Channel OCount Test; Skip if Count=O

33
33
33
37
37
37
37
33
37
37
38
38

26
27

CHANNEL
ALC
DSC
TOP
BET
BET
BRT
BRT
ASC
CAT
CET
CIT
CZT

C
C
C
W
Y
W
Y
C
C
C
C
C

PERIPHERAL DEVICE INSTRUCTIONS AND TESTS
Octal Codes given are for the W Channel, device number 0 (bits 2123), and 4 character/word mode (bits 15, 16).

C,U,CC 00202604
C,U,CC 00200644
C,U,CC 00202644

Read Paper Tape
Punch Paper Tape, Leader
Punch Paper Tape, No Leader

49
49
49

CARD
CRT
FCT
RCD
RCB

C,U
C,U
C,U,CC
C,U,CC
eFT C,U
SRC C,U
CPT C,U
PBT C,U
PCD C,U,CC
PCB C,U,CC

Page
Ref.

TRT
FPT
BTT
TGT
ETT
DT2
DT5
DT8
TFT

C,U
C,U
C,U
C
C,U
C,U
C,U
C,U
C

040 10410
04014010
04012010
04012610

040 11010
040 16210
04016610
04017210

040 13610
040 10210
RTD C,U,CC 00202610
RTB C,U,CC 00203610
RTS C
002 14000
00213610
SRR C
SFD C,U,CC 00202630
SFB C,U,CC 00203630
SRD C,U,CC 00206630
SRB C,U,CC 00207630
WTD <;,U,CC 00202650
WTB C,U,CC 00203650
EFT C,U,CC 00203670
ERT C,U,CC 00207670
002 14010
REW C,U

Tape Ready Test
File Protect Test
Beginning of Tape Test
Tape Gap Test
End of Tape Test
Density Test, 200 BPI
Density Test, 556 BPI
Density Test, 800 BPI
Tape EOF Test
MAGPAK Test
Read Tape Decimal (BCD)
Read Tape Binary
Convert READ to Scan
Sk ip Remainder of Record
Scan Forward Decimal (BCD)
Scan Forward Binary
Scan Reverse Decimal (BCD)
Scan Reverse Binary
Write Tape Decimal (BCD)
Write Tape Binary
Erase Forward Tape
Erase Reverse Tape
Rewind

57
57
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58

Pri nter Ready Test
End of Page Test
Pri nter Fau ItT est
Print Off-Line
Printer Skip to Channel N
Printer Space N Lines
Print Line Printer

63
63
63
63
63
63
63

Read Keyboard
Write Typewriter

46
46

LINE PRINTER
PRT
EPT
PFT
POL
PSC
PSP
PLP

C,U
C,U
C,U
C,U
C,U,N
C,U,N
C,U,CC

040 12060
04014060
04011060
002 10260
002 lN460
0021N660
00202660

TYPEWRITER

PAPER TAPE
RPT
PTL
PPT

Name

MAGNETIC TAPE

GENERAL
EOM A
EOD A

Octal Code

Mnemonic

040 12006
040 14006
00202606
00203606
04011006

002 12006
04014046
04012046

00202646
00203646

Card Reader Ready Test
First Column Test
Read Card Decimal (Hollerith)
Read Card Binary
Card Reader EOF Test
Skip Remainder of Card
Card Punch Ready Test
Punch Buffer Test
Punch Card Decimal (Hollerith)
Punch Card Binary

53
53
53
.53
53
53
53
53
53
53

RKB
TYP

C,U,CC 00202601
C,U,CC 00202641

OCTAL CODE CHANNEL SELECTION
Channel

EOM (02)

SKS (40)

W
Y
C
D
E
F
G
H

00000000
00000100
20000000
20000100
00400000
00400100
20400000
20400100

00000000
00000100
20000000
20000100
00040000
00040100
20040000
20040100

Add the appropriate entry to the octal code to select the channel.
Example: PCD (i. e., 00202646) for channel G is 20602646.

Legend:
A=address; T = tag field; C = channel number; U = unit number; CC = character/word count; N = number.

Price:

$2.50

SOS 930 COMPUTER
REFERENCE MANUAL

February 1966

&1'·1&
SCIENTIFIC DATA SYSTEMS/1649 Seventeenth Street/Santa Monica, CaHfornia/(213)UP1-0960

Printed in U.S.A.

@1965. 1966

Scientific Data Systems, Inc.

REVISIONS

This publication, SDS 9000 64D, dated February 1966, is

a

revision of the SDS 930

Computer Reference Manual, SDS 9000 64C. Changes to the previous manual are
indicated by a vertical Iine in the margin of the page.

RELATED PUBLICATIONS .

ii

Title of Manual

Publication
Number

SDS ALGOL 60 Reference

900699

SDS 900 Series FORTRAN II Reference

900003

SDS 900 Series FORTRAN II Operations

900587

SDS MONARCH Reference

900566

SDS SYMBOL and META-SYMBOL Reference

900506

SDS 920/930 Programmed Operators Technical

900020

SDS 930 Computer EXAMINER Diagnostic System Technical

900097

SDS 900 Series Utility and Debug Package (AID)

01 20 13

SDS Project Management System Reference

900818

SDS SORT/MERGE Reference

900997

SDS Business Language Reference

90 1022

CONTENTS

I.

IV.

GENERAL DESCRIPTION . . . . . . . . • . . .
Introduction . . . . . . . . . . . . . . . . . • .
SDS 930 Registers. . . . . . .
SDS 930 Memory . . . . . . . . . . . . . • .
Memory Word Formots .. . . . . . . . . • .
Special Characteristics .. . . . . . • • . . . ..

II.

MACHINE INSTRUCTIONS

......•...•..

(Continued)
Peripheral Equipment Description

3
4
4
6

.•....

49

Paper Tape Input/Output • • . • . . . . . •.
Card Input/Output . • . . . . . . . . . . .
Magnetic Tape Input/Output . . • . . .
Line Printer . . . • . . . . . • . • .

49
52
56
62

8

APPENDICES
Introduction . . . . . . . . • . . . . . . . . . . .. 8
8
Load/Store Instructions . . . . .
9
Arithmetic Instructions
11
Logical Instructions . . • . . . .
12
Register Change Instructions
14
Branch Instructions . . . . . . . . . . . . . .
15
Test and Skip Instructians
17
Shift Instructions . . . . . . .
Control Instructions . . . . . . . . . . . . . . . 18
Breakpoint Tests . . . . . . . . . .
19
19
Overflow Instructions . . . . . .
19
Memory Extension Instructions .
Floating Point Operations ..
.20
III.

INTERRUPT SYSTEM . . . . . . .

. 21

Priority Interrupt System. . . . .
.
Priority Interrupt Operations. . . .
.
Interrupt Control. . . . . . . . . . . .
.
Non-Interruptable Instructions . . . . . . . . . .
Enable/Disable Interrupt Instructions . . . . .
Arming Feature (Optional) . . . . . . . . . . . .
Channel Interrupt Designations . . . . . . . . .
End -of-Word/End -of-Transmission Interrupt
Operations; Compatible Mode. .
.
Count Equals Zero/End-of-Record;
Extended Mode . . . . . . . . . . .
.
IV.

INPUT/OUTPUT INSTRUCTIONS . . .

SDS Character Codes . . . . . . . . . . . . . . . . .
Table of Powers of Two . . . . . . . . . . . . . . .
Octal-Decimal Integer Conversion Tobie
.•
Octal-Decimal Fraction Conversion Table
.
Two's Complement Arithmetic . . • • . . . . . . . .
Optional Equipment . . . . . . . . . . . . . . . • . .
Data Multiplexing System . . . . . . • . • . . . .
Memory Interface Connection . . . . • . . . • . .
Automatic Power Fail-Safe
.......•....
Memory Parity Interrupts . . . . . . . . . • . . . .
Real-Time Clock . . . . . . . . .
. .....
Programmed Operator Instructions
.•....
Channel Memory Access Priority
..•..
Division Instruction . . . . . . . . . . . . . . . . • .
Instruction List - Functional Categories
..
Instruction List - Numerical Order
..
Instruction List - Alphabeti cal Order . . . . . . .

21
21
22
22
22
23
24

A-I
A-2
A-3
A-7
A-I0
A-II
A-II
A-15
A-15
A-15
A-16
A-17
A-19
A-19
A-20
A-25
A-29

FIGURES

24.
24

. .. 25

Introduction . . . . . . . . . . . . . .
. .. 25
Direct Memory Access System
. . . . . 26
Primary Input/Output Instructions
. . . . . 26
Communication Channel Input/Output
.28
Communication Channel EOM . . . . . . . . . 31
Standard EOM/EOD Instructions . . . . . . . 33
Compatible/Extended Input/Output Modes
34
Input/Output Class EOM/EOD . . . .
34
Termina I Functions; Extended Mode .
35
Channel ond Device SKS . . . . . .
37
Single-Word Data Transfer Via
Channels Wand Y . . . . . . . . .
38
Direct Parallel Input/Output Instructions . . . 41
Single-Bit Input/Output . . . . . . . .
41
Communication Channel Programming
42
Control Console . . . . . . . . . . . . . .
44

1-1
1-2
4-1
4-2
4-3
4-4
4-5
A-I

SDS 930 Computer (Frontispiece) . . . . . . . . . . iv
SDS 930 Computer Configuration . . . . . . . . . . 2
3
Basic Register Flow Diagram . . . . . . . . . . . .
SDS 930 Time-Multiplexed Communication
Channel, Block Diagram . . . . . . . . .
29
SDS 930 Direct Access Communication
Channel, Block Diagram . • . . . . . . .
30
45
SDS 930 Computer Control Panel . . . . . . .
Card Read Into Memory in Hollerith . . . . .
52
Printer Control Indicator Lights and Switches .. 62
SDS 930 Computer Overall Configuration. .. A-12

TABLES

3-1
4-1
4-2

Interrupt Location Assignments
Unit Address Codes . . . . . . .
Format Control Characters .. .

22
32
65

iii

t
r ......... .::. ':-.

5DS 930 Computer

iv

I. GENERAL DESCRIPTION
INTRODUCTION

•

Optional powerfail-safe feature permits saving contents
of memory and programmable registers in case of power
fai lure.

•

Up to four I/O communication channels (with optional
interlacing capability), time-multiplexed with computer operation, providing input/output rates of up to
one word per 3.5 microseconds

•

An optional Direct Memory Access System that allows
input/output transfer to occur simultaneously with
computer memory access, providing input/output rates
of up to one word per 1.75 microseconds

•

One to four Direct Access Communication Channels
that incorporate the Direct Memory Access System

•

Data Multiplex Channel that uses direct memory access
connection and accepts/transmits information from external devices, or subchannels, which may operate
simultaneously; thus, externally controlled and sequenced equipment may perform input/output buffering
and control operotions rather than the computer.

•

Time-Multiplexed Input/Output Channels operate upon
either words or characters. A 6-bit character is the
standard character size; 6- and 12-bit characters, or
6-, 12-, and 24-bit characters can be specified as desired. Direct Access Channels operate upon words and
characters. These channels accept 6-, 8-, 12-, and
24-bit characters. The number of characters per word
is specified by the external device.

•

Input/output with Scatter-Read and Gather-Write
facility

•

Standard input/output

The SDS 930 is a high-speed, low-cost, general-purpose digital computer with the following characteristics:
•

24-bit word plus parity bit

•

Binary arithmetic

•

Single address instructions with
Index Register
Indirect Addressing
Programmed Operators

•

Basic core memory 4,096 words, expandable to 32,768
words, all addressable with
0.7 microsecond access time
1.75 microsecond cycle time

•

Memory overlap between Central Processor and I/O
with two memory banks

•

Memory available in 4, 8, and 16 K banks

•

Multi-precision programming facility

•

Typical execution .times (including memory access and
indexing)
Fixed-Point Operations (in microseconds)
Add
Multiply

3.5
7.0

Floating-Point Operations (in microseconds)
Time-Multiplexed Communication Channel (without
interlace)

24-bit Fraction
39-bit Fraction
(plus 9-bit Exponent) (plus9-bit Exponent)
Add
Multiply

77
54

92
147

•

Program interchangeabi I ity with other SDS 900 Series
Computers

•

Parity checking of all memory and input/output
operations

•

Pri ori ty Interrupt System

Control Console
•

Optional input/output devices
Automatic typewriter
Photoelectric paper-tape reader and paper-tape punch,
and spooler mounted on cart
MAGPAK Magnetic Tape System
Magnetic-tape units (IBM-compatible; binary and
BCD)
Punched-card equipment

SDS I/O Options Interrupts 2 levels standard,
38 optional
System Interrupts, 896 optional

Line printers, graph plotters
Typewriter with electromechan ica I paper-tape reader
ond punch, auxi liary disc fi les

Up to 896 System Priority Interrupts

I I
I
I I··· •••. • •.•• I
EOM

Operands
SDS 930

SKS

Computer

Instructions

Core

Time-

Memory

4096 words
expandable to
32K

Multiplexed
I/O

POT/PIN

I Second Memory Path
I
(Optional)
I

24-bit Word
Parallel

I
I

Y
Time-Multiplexed
Communi cati on
Channels

E, F, G, H

I
I

\
\

I Data Multiplex System
I
I
I
I

Direct Access
Communication
Channels

\
\

GS~~

I

See Appendix A-II for complete
description of Data Multiplex System

* W-Buffer

Standard;
W Channel optional

Figure 1-1.

2

I

Subchannels

SDS 930 Computer Configuration

The P Register is a 14-bit register that contains the memory
address of the current instruction. Unless modified by the program, the contents of P increase by one at the completion of
each instruction.

Communications equipment, teletype consoles, display oscilloscopes
A/D converters, digital multiplexer equipment, and
other special system equipment
•

FORTRAN II and symbolic assembler as part of complete
. software package

•

All-silicon semiconductors

•

Operating temperature range: 100 to 40°C

•

Dimensions: 124 inches x 25-1/2 inches x 65 inches

•

Power: 3 kva

The Memory Extension Registers, EM3 and EM2, are 3-bit regi-I
sters that specify the portion of extended memory being used .
NOT AVAILABLE TO THE PROGRAMMER (see Fig. 1-2, light
lines)
The S Register is a 14-bit register that contains the address of
the memory location to be accessed for instructions or data.
The address is augmented by one of the Memory Extension
Registers.

SOS 930 REGISTERS
The 930 Central Processor contains the following arithmetic
and control registers. They are full-word, 24-bit registers except as noted.
AVAILABLE TO THE PROGRAMMER (see Fig. 1-2, dark lines)

The C Register is an arithmetic and control register used in
multiply, divide, and other operations. All instructions come
from memory to the C Register before decoding. Address modification and parity generation/detection take place in the
C Register.

The A Register is the main accumulator of the computer. The
B Register is an extension of the A Register. The B Register
contains the less significant portion of double-length numbers.

The 0 Register is a 6-bit register that contains the instruction
code of the instruction being executed.

The Index Register, X, used in address modification, is a fullword register. Indexing operations occur only with the least
significant 14 bits.

The M Register is a 24-bit register that holds each word as it
comes from memory. Recopying of a word into memory takes
place from the M Register.

A Register
(Main Accumulator)'

B Register

X Register

(Extended Accumulator)

(Index)

•

•

0
Reg.
(Instruction)

P Register

C Register

M Register

(Program Counter)

(Arithmetic and Control)

(Memory Access)

S Register
(Memory Address) r---------~-----------

EM3

Memory

EM2

Figure 1-2.

Basic Register Flow Diagram

.3

SOS 930 MEMORY

Example 2.

EM3 setting is 5; EM2 setting is 7:

ADD 34000 yields

Core memory is expandable from 4,09.6 to 32,768 words. Word'
length is 2:4 bits plus parity.
addressfield i~ the instruction
format is 14 bits long, allowing direct access of up to 16,384
words. The Memory Extension System provides direct access to
the total 32,768 words.

The

Memory isavailable in 4,096-, 8, 192~, and 16,384-word banks.
As an optional feature, if a power loss is detected, the computer 'may be interrupted and the transient, programmable registers stored to provide complete fail-safe capability. With this
option, power failure causes no loss of information.
Even parity is automatically generated or checked during each
read/write cycle. A control panel switch may be set to halt the
computer automatically in case of parity error detection.
The memory iscyclic, or "wrap-around", for each 16,384 words
being addressed. An attempt to access from a location whose address is greater than that avai lable resu Its inan access of a II zeros.
An attempt to store i nto ~uch a location results in a "no-op" oper'ation, with the next instruction in sequence being executed.
MEMORY EXTENSION SYSTEM
The Memory Extension System, containing two memory extension
registers, allows addressing of memories greater than 16,384
words. The program loads either or both of the Extend Memory
Registers and activates them as desired. Each register contains
3 bits, or one octal digit, that can become the most significant,
or fifth, digit of any operand address.
EM3

EM2

ITO

[IIJ

012

The program always addresses the first 8,192 words of core,
00000-17777, directly without regard to the Extend Memory
Registers. Whenever the operator initia Iizes the computer
(presses START), the computer presets a 3 in EM3 and a 2 in
EM2. This allows the programmer to address the first 16,384
words of core, 00000-37777, without being concerned with the
extension system.
Example 1. By previously setting EM2 to 4, the program adds
the contents of location 43300 to the A Register by executing
ADD 23300. The "2" calls for register EM2:

(EM2)
"ADD 43300" ..

4

2

3300

1

"ADD 54000" •

i~54000I

When (EM3) 13, the computer lights theEM31ight on the control
panel. When (EM2) 12, the computer lights the EM21ight on the
control panel. When executing the MARK PLACE AND BRANCH
(BRM) instruction, the computer' records the contents of EM3, EM2,
and the Overflow Indicator in the mark location. BRM stores
overflow in bitO of the mark; it stores the contents of EM3 in
bits 3 through 5 and the contents of EM2 in bits 6 through 8.
Bits 1 and 2 are unpredictable; bit 9 is zero.
Memory Write Lock-Out Feoture (Optional)
Permanent memory protection for selected areas of memory in
the SDS 930 Computer is provided/by a memory lock-out feature, which is controlled either manually by switches or by the
program with a lock-out register, protects the contents of
memory from inadvertent d!lstruction by operating pr6groms.
The entire memory isdivided into 2048 word blocks. This first
block, from 0000 to 2047, is furtherdivided intofour subblocks
of 512 words each. Each of these blocks can be individually
protected by turning on the appropriate switch with the manualcontrolled option or placing a one in the appropriate position
of the lock-out register with the program-controlled option.
Read operationsarealways allowed, but if a program or I/O channel attempts to store or write intoa protected block of memory, an
internal interrupt occurs to octal location 35. The memory cell
referenced is not altered. Therefore, not only is memory protected, but ,also the supervisory program is notified that an attempt to write into an interlocked area has occurred.

MEMORY WORD FORMATS

012

The program uses the first extension register, EM3, by calling
for an address with aI, 1 in the mo;t and next most significant
address bits, respectively (a "3" for the most significant octal
digit). The program calls for EM2, the second extension register, by setting the same two address bits to 1,0 (a "2" for the
most significant octal digit). Via memory extension instructions,
the program can set each of the registers to a desired "5th
digit" and can test the current setting of each register. Once
set, the contents of either register remain set until changed by
program or by pressing the S TART button.

ADD 23300 yields

(EM3)

4000

3

I

~43300

A computer word is 24 binary digits (bits) long.

Io

1111111

1I111111111111111

1 2 - - - - - - - - - - - - - - - - - - - - 23
00
01
02
03
04
05
06
07
The format above numbers the bits from the left, or most significant end of the word, to the right, or least significant end
of the word. This numbering format is the basis of references
to bit positions or bit numbers. Octal notation most easily describes the contents of the 24 bits of'a word. Thus, one octal
digit, 0 through 7, represents three binary digits. For example,
the octal number, 01234567, represents its binary equivalent,
000001 010011 100 101 110 Ill.
The computer instruction word format is:

IRIX II~struction Code II I
012
00

I
01

8910
02
03

Address Field

I
04

I
05

06

23
07

Bit position 0 contains the Relative Address Bit. Standard loading programs use this bit; central processor decoding logic does
not use or sense th is bi t. A l-bi t (octlaces to be shifted. Shift timing is:

LRSH

o

1 2 3

This instruction may perform scaling of floating-point
numbers by use of indexing, where the difference of
exponents is in the Index Register as positive quantity.
LOGICAL RIGHT SHIFT AB
66
I

C
23

LRSH performs a logical right shift. It shifts the contents of AB
right the number of places sp~i£ied in bits 15 through 23 of the
effective address. The bits in the sign position of A and the
sign position of B shift with the rest of the number. Vacated bits
on the left fill with zeros. Bits shift out of A23 into BO' Bits
sh ifti ng past B23 are lost.
Registers Affected: A, B
RCY

RIGHT CYCLE AB
66

o

Timing: 2-7

123

I

C
23

RCY shifts the contents of the AB Register right the number of
places specified in bits 15 through 23 of the effective address.
The bit in the sign position of B shifts like any other bit in B.
~its shifting out of A23 shift into BO' Bits from bit position 23

17

of B go into bit position 0 of A. The computer treats the doublelength register as if it were circular and cycles it onto itself; it
loses no bi ts.

NOD

67
I

Timing: 2-7

Registers Affected: A, B

NORMALIZE AND DECREMENT

I II

10

8 9 10

I

I

C

1415

23

EXAMPLE:
NOD shifts the contents of the AB Register left until (1) a bit
appears in position 1 of A that is not equal to the bit in the sign
position of A; or (2) until C shifts occur. The computer keeps
count of the number of places shifted and when the normalize
operation is completed, it subtracts the count from the contents
of the Index Register and places the result back into the Index.
[f, in the attempt to normalize, shifting exceeds 48 places,
the contents of the AB Register were initially zero. In this
case, the computer subtracts 48 from the Index Register. Zeros
fi II the vacated positions.

The instruction is: RCY 00017

A

B

Before Execution

61235703

41537701

After Execution

37701612

45703416

LSH

LEFT SHIFT AS
67

00

I

I

C
23

J15

LSH shifts the contents of the AB Register left the number of
places specified in bits 15 through 23 of the effective address.
Bits shift left through the sign position of A, but when a bit, different in value from the original sign, shifts into the sign position' the computer sets the Overflow Indicator. Bits shifting
out of BO go into A23' Bits shifting past position 0 in A are
lost. Zeros fill the vacated bit positions on the right end of
the B Register.
Registers Affected: A, B, Overflow Indicator

The number, C, placed in address bit positions 15 through 23,
is an upper limit for the number of left shifts that will occur.
The programmer must ensure that C is sufficiently large to
permit a complete normalization.
EXAMPLE:
NOD 30

Timing: 2-5

EXAMPLE:

6.

~

Before Execution

00004632

76124035

00000000

After Execution

23153705

20164000

77777765

X

Timing: 2-5

Registers Affected: A, B,X

The instruction is: LSH 00022

B

A
Before Execution

46712370

64132711

After Execution

70641327

11000000

REO

RECORD EXPONENT OVERFLOW
20010

02
LCY

o
C

o

1 2 3

I

23

1415

LCY shifts the contents of the AB Register left the number of
places specified in bits 15 through 23 of the effective address.
The bits in the sign positions of A and B shift like any other
bits in the number. Bits shifting out of So shift into A23 . The
instruction copies bits that shift from bit position 0 of A into
bit position 23 of S. The computer treats the double-length
register as if it were circular and cycles it onto itself. It loses
no bits.

I

This instruction is normally used after a normalize operation to
record a floating-point exponent overflow. See Floating-Point
Operations, this section.
Registers Affected: Overflow

Timing:

1

CONTROL INSTRU CTIONS
HLT

HALT

Timing: 2-5

Registers Affected: A, B

00

EXAMPLE:
The instruction is: LCY 00011

18

I

23
12 3
This instruction causes the Overflow Indicator to be turned on
if the content of bit 14 of the Index Register is not equal to the
content of bit 15 of the Index Register.

LEFT CYCLE AS

67

I

A

B

Before Execution

71432560

34156723

After Execution

32560341

56723714

o

I

23

When the computer executes this instruction, it halts computation and lights the HALT indicator in the console. Before halting, the computer increments the P Register and brings the next

instruction to the C Register to be displayed. To resume computation, the operator must first set the RUN-IDLE-STEP switch
to IDLE, then back to RUN.
The computer then executes the next instruction, according to
the P Register, and turns the HALT light off when the switch is
set to either the RUN or STEP position.

BREAKPOINT TESTS
This instruction tests the status of the Breakpoint switches singly
or in any combination. If anyone of the Breakpoint switches
tested is reset, the computer skips the next location in sequence
and executes the following instruction. If none of the Breakpoint switches tested is reset, the computer executes the next
instruction in sequence.

Indirect addressing and i ndexi ng do not appl y to th i s instruction.

Mnemonic
BPT
BPT
BPT
BPT

When the computer executes HLT, a" internal computation
ceases at the end of the present instruction being executed.
If an input/output operation is in progress, it continues until
completed. Computation automatically resumes with the
occurrence of a program interrupt, if the RUN-IDLE-STEP
switch is still in the RUN position and the interrupt system is
enabled.
Registers Affected: None

1
2
3
4

No.1
No.2
No.3
No.4

Octal Configuration

Timing: 1 + wait

o 40 20400
o 40 20200
o 40 20100
o 4020040

Test
Test
Test
Test

Registers Affected: None

Timing: I, if no skip
2, if skip

OVERFLOW INSTRUCTIONS
OVT

NOP

Name of Instruction
Breakpoint
Breakpoint
Breakpoint
Breakpoint

OVERFLOW INDICATOR TEST AND RESET

NO OPERATION

20001

40

I

I

23

20

I

23

Executing NOP does not affect the A Register, B Register,
X Register, or memory. Indirect addressing and indexing do
not apply to this instruction.
Registers Affected: None

Timing: 1

This instruction tests the status of the Overflow Indicator, skips
or not accordingly, and turns the indicator off. If the indicator
is off, the computer skips the next instruction in sequence and
executes the following instruction. If the indicator is on, the
computer executes the next instruction in sequence.
Registers Affected: Overflow
Indicator
RESET OVERFLOW

ROV
EXU

EXECUTE
23

I
0

M

I

23

EXU causes the contents of the effective memory location to
be executed as an instruction without altering the contents of
the Program Counter. If the effective location is not a Branch,
Skip, or another Execute instruction, the computer executes the
next instruction in sequence following the Execute instruction,
after it executes the contents of the effective location.
If the contents of the effective memory location are a Branch
instruction, program control goes to the effective address of
the branch and not to the next instruction in sequence following the Execute instruction.
If the contents of the effective memory location are a skip
instruction, then, depending on the skip decision, program
control returns to the next instruction, or the next instruction
plus one, following the Execute instruction.
If the contents of the effective memory location are another
Execute instruction, the above process continues identica"y,
with the normal return being the initial Execution location plus
one. This process can cascade indefinitely.

Registers Affected: None

Timing: 1

Timing: I, if no skip
2, if skip

02

0
J3

I

J9

I

20001

I

23

ROV unconditionally resets the Overflow Indicator (clears to
zero).
Registers Affected: Overflow

Timing: 1

MEMORY EXTENSION INSTRUCTIONS

o

SET EXTENSION REGISTER

06 200SR

06

I

161

18

2021

23

Th is instruction sets (or loads) Memory Extension Register 3 and/
or 2 with the contents of fields R3 and R2, respectively.
If 53, position 16, is a I, the computer sets the contents of R3,
bit positions 18 through 20, into EM3. This destroys the previous contents of EM3. If 53 is a 0, 5ET does not affect EM3.
If 52, position 17, is a I, the computer sets the contents of R2,
bit positions 21 through 23, into EM2. This destroys the pre- .
vious contents of EM2. If 52 is a 0, 5ET does not affect EM2.
If both 53 and 52 are I, 5ET loads both EM3 and EM2 simultaneously. If both 53 and 52 are 0, 5ET is effectively a "no-op"
instruction.
Registers Affected: EM3, EM2

Timing:

1

19

o

EXTENSION REGISTER TEST

40 4000T

,

40

This instruction tests the contents of the extension register as
follows:

No test. The computer executes the next instruction in
sequence.
Test EM2. If (EM2) 12, the computer skips the next i nstruction in sequence. If (EM2) = 2, the computer executes the
next instruction in sequence.

2

Test EM3. If (EM3)13, thecomputerskips the next instruction in sequence. If (EM3) =3, the computer executes the
next instruction in sequence.

3

Test EM3 and EM2. If (EM3) 13 or (EM2) 12, the computer skips the next instruction in sequence. When
(EM3) = 3 'and (EM2) = 2, the computer executes the next
instruction in sequence.
Timing: 1, if no skip
2, if skip

. Registers Affected: None

FLOATING POINT OPERATIONS
Floating-point operations are performed via Programmed Operator subroutines in either single or double-precision. Doubleprecision is used when accuracy of approximately 11 decimal
digits must be maintained. Single-precision permits faster
execution times with approximately seven decimal digits of
accuracy.
These standard Programmed Operators assume that the most
significant word is in A, or stored in location M + I, while
the less significant word is in B, or memory location M. See
Section I, Floating-Point Format.
DOUBLE-PRECISION FLOATING-POINT OPERATIONS
Double-precision floating-point operations are performed using a fractional number of 39 bits (38 bits plus sign) and an
exponent of nine bits (eight bits plus sign). Numbers are represented with a fraction equal to 11 decimal digits plus sign
and a multiplier as high as 1O±77.
The Programmed Operator subroutines that perform doubleprecision, floating-point operations are:
Designation

20

Single-precision, floating-point operations are performed using
a fractional number of 24 bits (23 bits plus sign) and an exponent
of nine bits (eight bits plus sign). Numbers are represented with
a fraction equal to six decimal digits plus sign and an exponent
as high as 1O±77.
The Programmed Operator subroutines that perform singleprecision floating-point operations are:

I

o

SINGLE-PRECISION, FLOATING-POINT OPERATIONS

Approx.
Execution Time

Name

Function

FLA

Floating
Add

Floating (A, B)
+ (M+l,M) +A,B

92 flsec

FLS

Floating
Subtract

Floating (A, B)
- (M+l, M) +A, B

101 flsec

FLM

Floating
Multiply

Floating (A, B)
x (M+liM)+A,B

147 flsec

FLO

Floating
Divide

Floating (A, B)
.;. (M+l,M)+A,B

157 flsec

Designation

Name

Function

Approx.
Execution
Time

FSA

Floating Add,
Single-Precision

Floating (A) + (M+ 1) ~A 77 flsec
Exponent in B,M

FSS

Floating Subtract,
Single-Precision

Floating (A) - (M+ 1) ~A
Exponent in B,M

FSM

F.loating Multiply, Floating (A) x (M+ 1) +A 54 flsec
Exponent in B, M
Single-Precision

FSD

Floating Divide,
Single-Precision

80 flsec

Floating (A).;. (M+1)+A 101 flsec
Exponent in 8, M

SDS 930 INSTRUCTIONS FOR
FLOATING-POINT OPERATIONS
To mainta in accuracy in floating-poi nt operations, a II fractiona I
numbers must be in normalized form, that is, shifted to the left
to eliminate leading insignificant digits. Whenafloating-point
arithmetic operation has been performed, the fractional number
must be normalized and the exponent adjusted to reflect the
c.hange in the fractiona I number. NORMALIZE AND DECREMENT X is used to:
(a) shift the fractional number to the .left to eliminate
leading insignificant digits.
(b) adjust the exponent (contained in the X Register)
for each bit position shifted.
To determine whether the adjusted exponent has overflowed the
15th bit in the Index Register during the above normalize operation, the instruction, RECORD EXPONENT OVERFLOW
(REO), is used. This instruction causes the Overflow Indicator
to be turned on if (X I4 ) 1 (X I5 ).
When performing floating-point addition and subtraction, it is
necessary to al ign the numbers so that the exponents are equal
before the arithmetic is performed. The single instruction,
DIFFERENCE EXPONENTS AND SKIP (74):
(a) determines which of the numbers is to be shifted, and
(b) determines the number of positions to be shifted to
al ign the numbers. AI ignment is performed using
SHIFT AB, Index bit equal to one, with the number
of shifts located in the X Register.
Manipulation of the exponent is required in all floating-point
operations. Capability is included in the Register Change
instruction to:
(a) transfer the exponent portion of the word to and from
the A, B, and X Registers, and
(b) clear exponent bits when arithmetic is to be performed.
These operations can be performed in effective combinations in
one machine cycle .

III. INTERRUPT SYSTEM
PRIORITY INTERRUPT SYSTEM
SDS 900 Series Computers contain a priority interrupt system
that provides added program control of input/output operations,
aids in programming simultaneous input/output and compute
operations, and allows immediate recognition of special external conditions.
Interrupts, as specified by the program, can signal when a single
word or a block of words has been transmitted. When received,
the internal logic examines the interrupt signal and causes the
computer to interrupt the program sequence at the end of the
execution cyc Ie of the current instruction. Without disturbing
the Program Counter Register, the computer transfers program
control to one of a selected set of memory locations. A MARK
PLACE AND BRANCH'(BRM) instruction in this location saves
the contents of the program counter, EM3, EM2, and overflow
indicator and transfers to the particular interrupt servicing routine required. Entrance to the proper service routine occurs
since each interrupt has a unique interrupt location. To exit
from the routine, a BRANCH UNCONDITIONALLY (BRU) instruction using indirect addressing returns control to the next
instruction in proper sequence in the main program; it also
clears the interrupt. Note that when an interrupt occurs causing the execution of the BRM in the interrupt level, the address
stored in the mark location is the location plus one of the instruction that was interrupted. In other words, the computer
increments. the program counter prior to inspecting its registers
for an interrupt condition.
The priority interrupt system has up. to 896 System interrupt levels. The levels are numbered upward from 200 and have priority according to number; the higher priority levels have a
smaller number. See Table 3-1, Interrupt Locations, for the
spec ific assignment.
The two standard as well as the additional interrupts obtained
with SDS optional hardware are located at interrupt levels
numbered from 30. In general, these have priority according to number like the System interrupts. Note that interrupts 30-77 have priority over any System interrupt (200 or
more). The Power Fail-Safe option interrupts (in locations
36 and 37) are "out-of-order" interrupts; they have the highest priority of all.
When an interrupt has occurred and its service subroutine has
been entered, an interrupt of higher priority can interrupt the
subroutine and gain program control for the servicing of its
more important-operation. But an interrupt of lower priority
cannot interrupt an interrupt-processing subroutine of a higher
level. Thus, the priority interrupt system allows interrupts to
be arranged according to their importance and/or according to
their need for speedyservicing.
The above type of interrupt is called a normal priority interrupt
to differentiate from another interrupt feature, the single-

instruction interrupt. This different kind of interrupt causes the
execution of only one instruction before automatically clearing
itself and returning to the program that it interrupted. For
example, if an external clock source is connected to the computer so that it pulses an interrupt line at set intervals, the
program can maintain a programmed real-time clock. Each
time the external pulse causes an interrupt, the program
executes the single instruction, MEMORY INCREMENT (MIN),
to add one to the memory word selected for use as the programmed real-time clock. The main program can examine this
memory location whenever necessory to determine how many
time increments have elapsed since the clock was started.
If the single instruction that is executed is a branch instruction,
and the branch occurs, the interrupt is cleared but there is no
return to the program that was interrupted. This type of interrupt needs no branch instruction to clear it.

Since the single-instruction interrupt performs just one instruction and clears itself, it can be sandwiched into a priority system without disturbance. Anyof the optiona I System interrupts
(200-1777) can be single- or normal-instruction interrupts in
any combination desired.

PRIORITY INTERRUPT OPERATIONS
A normal priority interrupt level has three operational states:
Inactive, Waiting, and Active.
In the inactive state, no interrupt signal has been received
into the level and none is currently being processed by its
interrupt servicing subroutine.
In the woiting state, an interrupt has been received into the
level, but is not being processed. This situation may be due
to an interrupt of higher priority being processed at this time.
When all higher waiting interrupts have been processed, this
level goes to the active state.
In the active state, the interrupt has caused the main program
to recognize its presence and has transferred to its assigned interrupt location where it is being processed. When the interrupt processing is completed, a BRANCH UNCONDITIONALLY (BRU) instruction with indirect addressing exits from the
service subroutine by transferring control to the proper return
location. This branch instruction also sets the inter:rupt level
to the inactive state.
:..
A single-instruction interrupt operates in the same way as the
normal priority interrupt in the inactive and waiting states.
However, when acknowledged, this interrupt enters the active
state, and remains there during the execution of one instruction. At the completion of the one instruction, the singleinstruction interrupt returns to the inactive state without the
aid of a branch instruction. The single instruction must have a
two-cycle or greater execution time.

21

INTERRUPT CONTROL
Two program control features are available in the interrupt
system. These features are Arm/Disarm and Enable/Disable.
Arm/Disarm controls whether an interrupt can proceed from the
inactive state to the waiting state. When armed, an interrupt
signal sets the interrupt to the waiting state. The disarmed condition causes that level to retain no record of an interrupt signa I enteri ng the Ieve I.
Enable/Disable operates on the entire interrupt system. When
the interrupt system is enabled, the System interrupts (200-1777)
are enabled; when the interrupt system is disabled, the system
interrupts are disabled. Enable/Disable operates differently for
the interrupts obtained with SDS options (30-:77). Enable/
Disable has no effect on the Power Fail-Safe interrupts; they
are always enabled and armed. See the last two subsections of
this section for a description of how the channel interrupts are
affected.
The control of the optional Arm/Disarm feature operates on individual System interrupt levels, t~at is,:.,), ,c, hosen, interrupt
0 M
I /) 1(..
" !~

(c::.

r

r

/.J

level may be selectively armed or disarmed. But the instruction structure for Arm/Disarm allows operation on these interrupts in groups of sixteen.

NON·INTERRUPTABLE INSTRUCTIONS
Three instructions prohibit interrupts following their execution.
If a branch occurs, an interrupt cannot occur between the execution of INCREMENT INDEX AND BRANCH (BRX) and the
instruction to which BRX branches. An interrupt cannot occur
between the execution of ENERGIZE OUTPUT M (EOM) and
the instruction following it or between the execution of
ENERGIZE OUTPUT TO DIRECT ACCESS CHANNEL (EOD)
and the instruction following it.

ENABLE/DISABLE INTERRUPT INSTRUCTIONS
Three instructions are avai lable for setting, resetting, and
testing the state of the INTERRUPT ENABLED indicator.

I;

;:;

,

Table 3-1.

Interrupt Location Assignments

30

Channel Y

Count Equals Zero (End-of-Word)

31

Channel W

Count Equals Zero (End-of-Word)

32

Channel Y

End -of-Record (End -of-Transmission)

33

Channel W

End -of-Record (End-of-Transmission)

36

Power ON

Power Fai I-safe interrupt: Power Return

37

Power OFF

Power Fai I-safe interrupt: Power below safe limit

60

Channel C

Count Equals Zero (End-of-Word)

61

Channel C

End-of-Record (End-of- Transmission)

62

Channel D

Count Equals Zero (End-of-Word)

63

Channel D

End-of-Record (End -of-Transmission)

64

Channel E

Count Equals Zero

65

Channel E

End -of -Record

66

Channel F

Count Equals Zero

67

Channel F

End-of-Record

70

Channel G

Count Equals Zero

71

Channel G

End-of-Record

72

Channel H

Count Equals Zero

73

Channel H

End-of-Record

74

Clock Sync. }

75

Clock Pulse

Locations 74, 75 are for the real-time clock

200}
217

Group 0 Optional General-Purpose Interrupts

220}
237

Group 1 Optional General-Purpose Interrupts
etc.

22

EIR

ARMING FEATURE (Optional)

ENABLE INTERRUPT

02

20002

I

I

1

23

EIR unconditionally sets the INTERRUPT ENABLED indicator
and enables the interrupt system. If any interrupt levels are
waiting, the one with the highest priority becomes active.
Registers Affected: None

DIR

The arming feature is controlled for a group of 16 interrupts by
a word sent to the group with the ARM INTERRUPTS (AIR) instruction followed by the PARALLEL OUTPUT (POT) instruction.
AIR operates on Iy on System interrupts (200-1777).
AIR

Timing:

ARM INTERRUPTS

o0

J

20020

02

I

1

3

23

AIR prepares the arm interrupt control unit to receive a control
word for a group of 16 interrupt levels. A PARALLEL OUTPUT
(POT) must always follow AIR, or an unpredictable operation
results.

DISABLE INTERRUPT

02

20004

I

I

Registers Affected: None

Timing: 1

23

DIR unconditionally resets the INTERRUPT ENABLED indicator
and disables the interrupt system. This instruction does not
change the current state of any interrupt level.

Section IV, Input/Output System, contains a discussion of
PARALLEL OUTPUT (POT). The word that the POT instruction
addresses has the following format:

Registers Affected: None

I

Timing: I

Address

IC I

I

5 6 7 81

o
lET

INTERRUPT ENABLED TEST;
SKIP IF INTERRUPT SYSTEM ENABLED

40

20004

I

I

23

If the priority interrupt system is enabled, the computer skips
the next instruction in sequence and executes the following
instruction. If the priority interrupt system is disabled, the
computer executes the next instruction in sequence.
Registers Affected:

!DT

None

Timing: I, if no skip
2, if skip

INTERRUPT DISABLED TEST;
SKIP IF INTERRUPT SYSTEM DISABLED

40

I

Registers Affected:

None

Timing: I, if no skip
2, if skip

I

23

The control operations are:

Bit
Octal Octal
Position Position Value

Function

02

00

o

Not used

01

2

Arm all interrupt levels that are
sel ected by a I in b it positions
8 - 23

10

4

Disarm all interrupt levels that are
selected by a 0 in bit positions
8 - 23

11

6

Arm all interrupts sel ected by a I
and disarm all interrupts selected
by a 0 in b it positions 8 - 23.

23

If the priority system is disabled, the computer skips the next
instruction in sequence and executes the following instruction.
If the priority interrupt is enabled, the computer executes the
next instruction in sequence.

1

The address field in bit positions 0 through 5 identifies which
group of 16 interrupts in the system is being addressed. Address 00 refers to the group of locations 200-217. The C field
controls what is done to the particular interrupt levels selected
in bit positions 8 through 23. Bit position 8 refers to the lowestnumbered level of the group, therefore the one with highest
priority. Bit position 23 refers to the last or highest-numbered
level, the one with lowest priority. For example, a word of
00240000 arms level number 201.

6-7

20002

I

Interrupt Select Bits

I

23

CHANNEL INTERRUPT DESIGNATIONS
As shown in the Interrupt Location Table, each I/O channel
has two interrupt levels. These reflect the two distinct uses of
interrupts during channel input and output. Also, each W, Y,
C, and D channel level has two names that reflect their use in the
ExtendedorCompatible I/O Modes (see Section IV, Compatible/
Extended Input/Output Modes.

END-OF-WORD/END-OHRANSMISSION INTERRUPT
OPERATIONS; COMPATIBLE MODE
A program can use Channels Wand Y as single-word, direct,
program-controlled, input/output buffers. Special I/O
instructions appl icable to Channe Is Wand Y control th is type
of operation (see Section IV). In this mode, the program can
specify that interrupts occur as each word is transferred from
the buffer to the periph'eral device on output, or as soon as the
buffer is filled from the peripheral device on input. This is the
End-of-Word interrupt. The program can spec ify that an Endof-Transmission interrupt occurs when the buffer detects a
signal such as End-of-Record from magnetic tape. During both
input and output operations, this interrupt occurs when the
peripheral device used in the transmission disconnects and the
buffer becomes ready for another input/output operation.

from memory. The End-of-Record interrupt occurs when the
channel receives an End-of-Record signal (gap). Input/output
functions can alter this latter occurrence for use with magnetic
tapes.
EFFECTS OF THE ENABLE/DISABLE FEATURE 0 N ARMABLE
INTERRUPTS
When operating an Input/Output Channel in the extended mode,
the interrupt Enable feature controls the Armable interrupts
(Count Equals Zero and End-of-Record). If a channel generates
an extended mode I/O interrupt while the system is disabled,
the designated interrupt level goes to the Waiting state. When
the program again enables the interrupt system, the interrupt
goes to the Active state when its priority allows.
This feature allows the programmer great ease in handl ing
multiple channel operations. The interrupt processing subroutine for one channel can disable the interrupt system whi Ie
it processes the interrupt. During this time, the system receives
all other interrupts in their respective levels and goes to the
Waiting state until the system is again enabled.

These two interrupts also can control input/output termination
for any communication channel when the program is operating
the buffers in the block transmission or "interlaced" compatibl
mode (optional system). The End-of- Transmission interrupt
operates in the fashion described above. In this mode, the Endof-Word interruptonlyoccurson input. The End-of-Word interrupt
occurs after the channel has read the number of words specified
and then another word fills the buffer. If the program encounters
the last word before an End-of- Transmission interrupt, the Endof-Word interrupt occurs after the next word is read. If an
End-of-Record condition occurs first, the End-of- Transmission
interrupt occurs. No End-of-Word interrupt occurs during
output.

INACTIVE

e

The Enable or Disable instructions "enable and arm" or "disable and disarm" the End-of-Word and End-of-Transmission interrupts when the channel is not operating in the extended
interlace mode. When the EIR instruction is executed, the
interrupt system is enabled and these interrupts are also armed;
when DIR is executed, the system is disabled and these interrupts are also disarmed.

Proceed if ARMED

WAITING

Proceed if Proper Priori ty

Proceed if ENABLED

COUNT EQUALS ZERO/END-OF-RECORD; EXTENDED MODE
When the SDS 930 Input/Output System uses channels within
its full capabilities, SDS 930 input/output functions control
interlaced block transmission operations (see Input/Output
Functions, Section IV). The interrupts used with the extended
input/output function control are Count Equals Zero and Endof-Record. The Count Equals Zero interrupt occurs when the last
of the number of words specified is placed into or brought

24

ACTIVE

Figure 3-1.

Interrupt Arm-Enable Response

IV. INPUT/OUTPUT INSTRUCTIONS
INTRODUCTION

COMMUNICATION CHANNELS

The SDS 930 has a flexible, input/output system to complement
its high, internal processing speed and versatile instructions.
This system can transmit data in word, character, or single-bit
form to and from the computer at the speed of internal computation. The input/output system assumes control of conditions
imposed by different characteristics of a wide variety of
devices, but leaves a high degree of input/output control to
the programmer.

Using Channels Wand Y, characters and words can be transmitted between memory and peripheral devices under the direct
control of single instructions. Each channel has associated with
it two instructions to facilitate direct control operations. For
Channel W, W INTO MEMORY (WIM) causes a word from a
peripheral transmission to be taken from the Channel W buffer
register and placed directly in the specified memory location
without disturbing any internal registers. MEMORY INTO W
(MIW) causes a word to be taken from a specified memory location and placed in the Channel W buffer register to be read
out to the currently operating peripheral device connected to
the channel. WIM and MIW are preceded by instructions from
the EOM group that set up the input/output operation. YIM
and MIY instructions function in an analogous manner for channel Y. The general test instruction, SKIP IF SIGNAL NOT
SET (SKS) provides the faci Iity for testing error indications and/
or for testing various peripheral device indicators.

This system inc ludes the following types of input/output:
Buffered input/output of data words, each under direct
program control
Communication channel input/output of characters or
words, time-shared with memory and multiplexed with
computation.
Communication channel input/output of characters or
words, fully buffered and simultaneous with computation.
Direct parallel input/output of up to 24 bits of information to and from external equipment, completelycontrolled
and sequenced externally.
Direct parallel input/output of up to 24-bit words to
and from external static registers under program control.
Single-bit input/output, such as equipment on/off status,
sense switches, and pulsing and sensing of special devices.
DATA FLOW PATHS
The SDS 930 includes as standard equipment one Time-Multiplexed Communication Channel (TMCC), without interlacing
capability, as well as provision for three additional channels.
The interlace unit is available as an option. The Wand Y
channels are avai lable with or without interlacei the C and D
channels are available only with interlace. These channels
are capable of automatically controlling the flow of data to
and from memory at rates up to one word every 3.5 microseconds. These channels run independently of the central processor
and only communicate with it to transferdata toorfrom memory.
In addition to the Time-Multiplexed Channels, a Direct Memory
Access System is available. This system uses a path to memory
separate from those used by the central processor. Up to four
Direct Access Communication Channels (with direct access
memory connections) can be attached to the Direct Access
System. These channel operate like the time-multiplexed
Channels except that they are faster and provide for a true
overlap of input/output with processing.
A Data Multiplex System, which uses the direct access memory
connection, is also available as an option. This system consists
of a Data Multiplex Channel that accepts/transmits data words
and memory addresses'from many external devicesorsubchannels,
all of which may be in operation at the same time. The system
is capable of transmitting up to 572,000 words per second
simultaneous with computation (see Appendix A-ll).

Additionally, using any channel including Channels Wand Y with
interlace,data can be transmitted to and from core storage under
channel control. Operation of a channe I is i ni tiated by the execution of a sequence of instructions in the centra I processor. Once
started, the channel operates independently of the central processor, automatically transferring each word at the correct time.
Four instructions control the process of transmitting and receiving data between channel peripheral equipment and the central
processor. These instructions are:
EOM

ENERGIZE OUTPUT M

EOD

ENERGIZE OUTPUT TO DIRECT ACCESS
CHANNELS

POT

PARALLEL OUTPUT

SKS

SKIP IF SIGNAL NOT SET

EOM instructions activate one of Channels W, Y, C, or D, to
select the periphera I device to be used, and to set up the initial conditions of the data transmission, including the peripheral operation to be performed. EOD instructions activate one
of Channels E, F, G, or H. The other functions of EOD are
simi lar to EOM. An EOM (EOD) instruction a Iso specifies terminal conditions for an operation.
PARALLEL OUTPUT (POT) sends out to the channel the number of
words in the transmission and the address at wh ich the output begins.
SKIP IF SIGNAL NOT SET (SKS) can test the Error indicators,
End-of-Transmission indicators, and other input/output control
indicators, such as printer end-of-form or card hopper empty.
The general order of use of these instructions for interlaced
operation is:
Instruction

EOM

Function
to address the channel, connect the peripheral device, specify various input/output
conditions, and alert the optional channel
interlace (see Communication Channel
Input/Output)

25

Instruction

Function

EOM

to specify the terminal conditions and interrupts desired during the transmission

POT

to transmit to the channel a word containing
the transmission starting address and block
length

Bits 0 through 9 of this latter word contain the ten lower order
bits .of the word count; bits 10 through 23 contain the 14 bits
of the starting address. The second EOM contains the highorder bits of the word count and starting address when needed.

ternally controlled and sequenced devices may present data
and addresses to the direct access connectors, thus allowing
input/output operations or other memory accesses to be performed independently of the computer.
These special input/output systems present an address and
various timing and control signals to the connector. External
data may be stored in any specified location, or read from any
location specified by the external unit. For example, the
external equipment may provide an interface register, thereby
allowing an entire block of data to be entered into or read
from memory. Telemetry data may be automatically decommutated, thus obviating sorting and sequencing within the
computer.

DIRECT PARALLEL INPUT/OUTPUT
The direct parallel input/output (POT/PIN) facility allows any
word in core memory to be presented, in parallel, at any special system connector or applicable standard peripheral connector; or, conversely, allows signals sent to a connector to be
stored in any core memory location. EOM and SKS instructions
control parallel input/output operations in the same way as in
channel operations. POT/PIN instructions also generate or
check for correct parity with each word transmitted.
See Direct Parallel Instructions, this section, for a detailed
description of parallel input/output.
SINGLE-BIT INPUT/OUTPUT
EOM and SKS instructions also perform single-bit input/output
and testing for special or standard devices. The execution of
an EOM transmits a single signal of approximately 1.4 microseconds duration to an external connector and also provides the
connector with a 15-bit address for the destination of this signal. SKS tests whether a similar signal is present on an external connector and skips accordingly. See Single-Bit Transmission,
this section, for further description of single-bit input/output.

DIRECT MEMORY ACCESS SYSTEM
This optional system provides direct transmission between peripheral devices and cor~ memory. Two access paths to the
memory module are available. The standard path connects to
the central processor; the other path connects to Direct Access
Communication Channels on the Direct Memory Access Connection. Direct memory access allows data to be transmitted
at the rate of' one 24-bit word every 1.75 microseconds, thus
sustaining an input/output rate of 572,000 words (equivalent to
2,284,000 characters) per second in parallel with full-speed
computation.
Communication Channels, E, F, G, and H, if present in a system, require the Direct Memory Access System, and therefore,
are called Direct Access Communication Channels. Operation
of these channels is discussed in Communication Channel Input/
Output, th is section.
Note that the Direct Memory Access System moy be obtained
separately and used to incorporate special-purpose input/output
equipm~nt instead of the standard Direct Access Channels. Ex-

26

PRIMARY INPUT/OUTPUT INSTRUCTIONS
EOM

ENERGIZE OUTPUT M
02

I
02

04

03

05

06

23
07

The major instruction for preparing Channel W (orY, C,
D) and an attached peripheral device to perform a data
transmission or other peripheral activity is the multi-purpose
instruction, ENERGIZE OUTPUT M (EOM). It operates in
four distinct modes with many functional configurations. These
modes are Buffer Control, Input/Output Control, Internal Control, and System Control. In the third and fourth modes, EOM
controls and initiates non-communication channel operations
such as special systems transmissions. Each of the frequently
used EOM instruction configurations has a mnemonic tag used
with standard SDS assemblers. These mnemonics appear in this
manual with the description of the specified configurations.
The different modes of operation are program-selectable by the
setting of two bits (10, 11 of octal position 3) within the EOM
instruction format:
Octal
Value
0

Bit Position 10
0

Bit Position 11
0

Buffer Contro I

0

Interna I Contro I

0
2
3

Area

Input/Output Control

System Control

A Buffer Control mode EOM operates essentially as a set-up or
preparation fcc i Iity for data transmissions or other periphera I
activities using the channel. The channel to be used, the
peripheral unit on that channel, the operation to be performed,
and the type of character format to be used are all detailed·
within this EOM. It also detai Is the use of BCD or binary data
transmission, the allowance or not of a leader(asinpapertape),
and theditection of operation (as in forward direction for
mognetic tape). Execution of such an EOM "connects" the
spec ifiedperiphera I unit to the channel. An EOM inthismode
can also alert the interlace, which is the optional, automatic
buffer control for input/output.

An EOM in the Input/Output mode directs peripheral devices
to perform non-transmitting operations such as rewind magnetic
tape and upspace the printer. This EOM selects certain channel operations such as interrupt response and input/output terminal function desired. It alerts peripheral devices that a
PARALLEL INPUT (PIN) or ,PARALLEL OUTPUT (POT) instruction follows. It also can give an extension of the word
count to 15 bits for the number of words to be transmitted and
an extension of the address specification to 15 bits. Without
disturbing the associated channel, this EOM can also set up
the interlace unit. It is with the input/output mode EOM that
the user selects his I/O operation as compatible or extended
. I/O modes (described later in this section).
This coding sequence initiates such an interlaced channel
operation (compatible mode):
Instruction

Function

EOM (Input/
Output Control
Mode)

Alert the interlace

POT

transmit starting address and
block length to interlace

EOM (Buffer
Control Mode)

address channel, connect
peripheral device, specify
various input/output conditions,
start transmission

Initiating an interlaced input/output operation via this sequence
of instructions facilitates checkout by allowing the programmer
to single-step through this portion of the program. The first
two instructions, EOM (Ioc) and POT, set up the interlace
with data address and block length. Therefore, single-stepping
through the sequence a I lows the interlaced channel to complete the input/output operation. When a single EOM (Buffer
Control mode) sets up the channel and interlace with a POT
instruction following, the programmer cannot step through the
sequence since the input/output operation proceeds before the
next stepped instruction (POT) places the address and block
length in the interlace.
An EOM in. the Internal Control mode enables and disables the
interrupt system. EOM in this mode also can prepare the system for the selective arming and disarming of the system interrupt
levels. This mode does not directly concern the input/output
programmer.
An EOM in the System Control mode is specifically coded for
a given installation and system. Address capability is 15 bits
or 32,768 combinations for these special system designations.
Note: If an interrupt occurs during the execution of an EOM
in any mode, no acknowledgement occurs unti I the completion
of the execution of the instruction following the EOM.

EOD

o

ENERGIZE OUTPUT TO DIRECT ACCESS CHANNEL

06
I

1 2 3

23

The EOD instruction operates in the Buffer Control and Input/
Output Control modes. It refers to Channels E, F, G, and H,
when present, and performs the same functions gnd operations
as on EOM on these channels.
SKIP IF SIGNAL NOT SET

SKS

40

o

I

1 2 3

00

01

23
02

03

05

04

06

07

The principal instruction for testing the states and responses of
data channels and their attached peripheral devices, as well
as testing internal and external indicators, is the multi-purpose
instruction, SKIP IF SIGNAL NOT SET (SKS). SKS is a "skip
c lass" instruction yielding a dec ision and transfer capabi I ity to
all channels, devices, indicators, and systems that require it.
It operates in four distinct modes: Special Internal Test, Channel and Device Test, Internal Test, and Special System Test.
In the second mode, SKS tests channel-oriented, input/output
functions. Each of the frequently used SKS instruction configurations has a mnemonic tag, used with SDS assemblers. These
mnemonics appear in this manual with the description of the
specific configuration.
These different modes of operation are program-selectable by
the setting of two bits (10, 11 of octal position 3) within the
SKS instruction format:
Bit Positions
11
10
0

0

Octal
Value

Timing

Specia I Interna I Test

1,2

Channel and Device Test

2,3

2

Internal Test

1,2

3

Special System Test

2,3

0

0
0

Area

In the Channel and Device Test mode, S KS tests a channel for
channel Ready (not active), interlace Wond Count Equal to
Zero, and Error. This mode also tests peripheral devices directly.
These include testing indicators in a magnetic tape unit suchas
Beginning-of-Tape, End-of-Tape, File-Protect Ring present,
and End-of-File. For example, an SKS instruction might address an indicator within the printer to determine whether the
paper is at the End-of-Form.
In the Interna I Test mode, SKS tests whether the interrupt system
is enabled or disabled, whether a breakpoint switch is set, and
whether Overflow is set.
In the Special Internal and Special System Test modes, SKS
tests signals of special configuration as the specific system
requires.

27

COMMUNICATION CHANNEL INPUT/OUTPUT
GENERAL INFORMA nON
SDS Communication Channels provide fully buffered, input/
output control and transmission, multiplexed or simultaneous
with computation. Up to eight data channels can connect to
the central processor, all operating independently of each
other.
Each channel can control as many as 30 input/output devices
and automatically handles character, word assembly and disassembly, input/output parity detection and generation, data
transmission to and from memory, and End-of-Transmission
detection.
All channels are bi-directional and can communicate with
6-bit character devices or word devices of up to 24 bits. In
the case of character-oriented devices, the program specifies
the number of characters to be contained in each word during
the transmission.
A channel buffer assembles and disassembles data words as they
are transmitted between core memory and the peripheral equipment. The buffer maintains control of operations such as
characters per word transmitted and direction of peripheral
operation (as in magnetic tape forward/reverse).
A Buffer Control mode EOM or EOD sets up the channel
buffer for operation. The execution of this EOM sets theoperation controls, places the unit address in the buffer, and initiates data assembly/disassembly. The presence of the unit
address activates the buffer, causing it to look for data coming
from the peripheral device or from memory, asdete,rminedbythe
unit address.
When in use, a channel interlace controls the transfer of the
data words going through the associated channel buffer. This
interlace supplies the memory address of data coming from or
going to memory and maintains the word count determining the
number of words transferred. The terminal interrupts, End-ofRecord and Zero Word Count, come from the interlace and are
under its control. The interlace controls input/output termination functions during interlaced operation.
Two EOM instructions and a POT instruction alert and set up a
channel interlace. The first EOM alerts the interlace that is
activates the interlace and instructs it to expect a wo:d count'
and starting address to be sent to it by the POT instruction.
The second EOM is an Input/Output mode EOM that specifies
the interrupt and the terminal function to be used. This EOM
also can specify a 15th address bit and five more high-order
word count bits expanding the word count from 10 bits to 15.
This sequence is written: EOM (Alert), EOM (I/O), and POT.
When the channel buffer is being set up at the same time, the
buffer control EOM can alert the interlace. When the buffer
is already set up, during a continuing I/O operation, the programmer may use the I/O EOM, ALERT CHANNEL (00250000),
to alert the interlace.
'
When the programmer does not desire to program the Extended Mode with the input/output terminal functions,
interrupts, and additional count or address, only the EOM
(Alert) and the POT are necessary to set up the channel
interlace (Compatible mode).

28

In the Extended Mode, the eight channels are programmed in the
same way, though there is a distinction between Channels W
through D and Channels E through H. The former group are TimeMultiplexed Channels; the latter are Direct Access Channels.
The Time-Multiplexed Channels use the memory logic of the
central processor to facilitate input and output of data words.
The transfer of each word between a time-multiplexed channel
buffer and memory requires two memory cycles. During this time,
computation stops in the central processor. Priority for the use
of the word input/output logic is in the order: Channel D, C,
Y, W. Any Time-Multiplexed Channel operating with interlace
has priority over the central processor for memory access.
Each Direct Access Channel has its own independent memory
logic. When memory access is needed to read or store a data
word, computation stops for one cycle. When two or more
Direct Access Channels require memory access simultaneously,
determination of priority is as described in Appendix A-19.
Transmission to and from Direct Access Chanl)els and core
memory are under the control of the channel. At the onset of
each memory cycle, the control unit interrogates all Direct
Access Channels to determine whether any channel requires a
transfer to or from computer memory; each channel gets priority
on the basis of need. If, during a channel transmission, a
transfer to or from computer memory is to take place, the computer connects the memory bank to the selected Direct Access
Channel. If, simultaneously, the computer requires access to
the same memory bank, the channel takes precedence and there
is a delay of one memory cycle. If the computer is not accessing the same memory bank as the direct access channel, the
transfer takes place without affecting computation speed. Thus,
internal computation and direct access channel transmissions
occur simultaneously and independently when the computer and
channel are accessing separate memory banks. Channel control
logic permits the transfer of only one word per memory cycle to
and from the computer memory independent of the number of
operating channels connected to the computer. Thus, the maximum transfer rate for the channel system is equa I to one word
every memory cycle, or approximately 572,000 words per second, or in excess of two and one-quarter million characters per
second for direct access channels.
COMMUNICATION CHANNEL DESCRIPTION
Figures 4-1 and 4-2 conta in block diagrams of the channels, the
functional control of information between the channels, the Data
Multiplexing System, the memory bank, and the external devices.
Up to 30 peripheral devices may be connected to one channel.
Each of these devices has a unique, two-digit, octal address
by which it is selected for an input/output operation. Toselect
the peripheral device, the program loads the proper unit address
into the 6-bit Unit Address Register (UAR) in the channel buffer.
Th is address selects both the device and, if appropriate, the function to be performed. Placing a non-zero unit address in the Unit
Address Register "connects" the peripheral unit addressed to the
channel and it becomes "active". When the UAR contains a zero
address, or any time that a termina lor initia I condition cl ears the
contents of UAR, the channel is "inactive." The zero in UAR also
means that it is not connected to a peripheral un it.
When the channel and the peripheral unit to be used have been
connected, the channel must have information pertaining to the
location in memory of the data to be transmitted or received
and pertaining to the number of data words in the transfer.

Channel W
Other
Sc

Communication

R

6-Bit + Parity

Channels

r .,
I
I

I

I
I
I
I

I
I
I
I

L..

U
A
R

6-Bit Unit
Function Address

W
A
R

Data

..J

rn

M
A
R

Add ress Li nes

I

Device
Control

(Y, C, D)

24-Bit

TMCC

Control Logic

Request

Control

Line

Unit

Address
Data

To
Memory
Via
CPU

Figure 4-1. SDS 930 Time-Multiplexed Communication Channel, Block Diagram
TIME-MUlTIPLEXED CHANNEL REGISTERS

the interlaced channel automatically places the word in memory when assembled.

In the Time-Multiplexed Channels W through D, there are two
registers important .to the programmer, the Word Assembly Register (WAR) and the Sing Ie-Character Register (SCR). The
WAR, a 24-bit, word-sized buffer, contains the word of data
actively being received or transmitted during an input or output operation. During input, 6-bit characters (plus parity)
enter the Single-Character Register where the channel buffer
assembles them, one at a time, into the WAR. Then the completed word is placed in memory. Depending on the number of
characters per word specified, the word assembled and placed
in memory during input has the form:
Word in Memory
One character per word mode
Unpredictable

I

o

1st

I

23

Two characters per word mode
Unpredictable

1

I

0

I

1st
11112

I

2nd
)18

I

23

Three characters per word mode
Unpred

I

5 16

1st

2nd

I

I

)12
Four characters per word mode

0

I
0

1st
I

)6

2hd
I

3rd
)18

3rd
)12'

I

)18

I

4th
I

When the end of an information record is detected by a buffer,
the buffer automatiCally disengages from the deviCe and is then
"ready" for another operation. The buffer logic is reset, except
that the state of the error indicator is maintained and the last
word of the input is still in the word register. If the number of
characters in the input record was not a multiple of the number
of characters assembled into each computer word, then zeros
are automatically forced into the least signifiCant positions of
the last' word. This last word can then be stored in memory by
a BUFFER INTO M WHEN READY WIM or YIM instruction
after the buffer has disengaged. If the number of characters in
the input record was a multiple of the number of characters assembled into each computer word, then the word remaining in
the W buffer is either the last group of characters from the input device; if they were not previously transferred to memory
by a BUFFER INTO M WHEN READY WIM or YIM, or zeros if
the last group of characters had been transferred to memory. In
either case, it is safe to issue one such instruction after the
buffer hilS disengaged without "hanging up" the computer.
During output, words come from memory into the WAR where
the chanriel buffer disassembles them into the SCR one 6-bit
character at a time. Depending on the characters per word
mode specified, the 6-bit characters within the word are output as follows:
Function

23

I

23

The unfilled character positions contain unprediCtable data.
When assembled during a single-word operatioh,a WIM instruction places the word into memory. Under interlace control,

Output one character from bits
o through 5
Output two characters from bits
o through 5, 6 through 11
Output three characters from bits
0-5,6-11, 12-17
Output four characters from bits
0-5, 6-11, 12-17, 18-23

Mode
One character per word
Two characters per word
Three characters perword
Four characters perword

29

the interlace allows any further data to fill the channel buffer
and generates the End-of-Word interrupt, if enabled.

As required, the characters are transferred into the SingleCharacter Register and output with generated parity. After
each character transfer, the word in the WAR is shifted left six
bits to be ready for the next transfer. Only those characters
needed from each word are used; when required, a new word
is brought to the WAR for the next character. For special
applications, a Time-Multiplexed Channel may be equipped
with a 12- or 24-bit Single-Character Register. The external
device which has a character size greater than 6 bits specifies
to the channel what its size is,12 or 24 bits. Standard 6-bit
devices are unaffected by the installation of a wider SCR.

The Memory Address Register (MAR) contains the starting destinationor source address in memory of the transmitted data. The memory locations to orfrom wh ich data words are to be tran'smi tted enter
the MAR at the same time the word count does. During transmission
of data, the interlace increments the contents of the MAR after each
word as it decrements the contents of the WCR. These two registers
provide the interlace control of block transmissions. The highorder 15th address bit comes from the second EOM, also.
DIRECT ACCESS CHANNEL REGISTERS

Interlace Regi sters
In the Direct Access Channels E through H, two other important registers are the Word Assembly Register (WAR) and the
Input/Output Register (JOR). The Word Assembl y Register is
a 24-bit word-sized buffer which, during a transmission, contains the information actively being transmitted to, or received
from, the external device. Information is assembled into, or
disassembled from, the WAR in one of four character sizes, 6, 8,
12 or 24 bits. The 6-bit mode is the normal mode of operation.
A device with a larger character size will send the channel a
signal to indicate its character size. It is the programmer's
responsibil ity to select a character/word count suitable for the
character size.

A channel interlace contains two working registers, the Word
Count Register (WCR) and the Memory Address Register (MAR).
In the set-up sequence -- EOM, EOM, POT -- for an interlaced input/output operation, the POT instruction transmits
to the interlace a data word made up of the word count (that
is, length) and the starting address of the data block. The
15-bit Word Count Register (WCR) contains the data word
count during a data transfer. The number of data words is
decremented by one and the new count replaces the old one
in the WCR for each word transmitted.
The count is assembled into the WCR from two places: the
least significant 10 bits is from the i'POTted" word and the
most significant 5 bits is from the "HI COUNT" field of the
second EOM. The form of the "POTted" word is:

Io

Word Count

(Time-Multiplexed channels can handle only 6-bit characters,
standard. There are, however, two options which will increase
the acceptable character size to 12 bits and to 24 bits. As with
the DACCs the external device signals the TMCC with its
character size.)

Start Address

I

I

When receiving 6-bit characters from a peripheral device
(operation is similar for other character sizes), the first character of a word enters the WAR into bit positions 18 through
23. When the WAR receives the next character, the first

23

When the word count is equal to zero, the transmission is complete. During output, .this causes a termination; during input,
Channel E
Character Input
6-Bit + Parity
(8-, 12-, 24-bit optional)

Other
Communication
I

o

Channels

Data

R ~~L~in-e-s-------'

(F, G, H)

Character Output
6-Bit + Parity
(8-, 12-, 24-bit optional)

I

Up to 30 I/O
U
__--~----~~A
Devices

R

W
C
R

~

Address

R

Lines

Address
Channel
Device
Control

Control Logic

Request
Line

Control
Unit

Data

Figure 4-2. SDS 930 Direct Access Communication Channel, Block Diagram

30

SOS
930
Memory
Modules

six bits in positions 18 through 23 shift into bit positions
12 through 17 and the incoming character is placed into bit
positions 18 through 23. The next incoming character causes
the two 6-bit characters in bit positions 12 through 23 to be
shifted to bit positions 6 through 17 and the incoming character
is placed into bit positions 18 through 23. The next character
causes another 6-bit left shift and then the character is placed
in the vacated bit positions 18 through 23. At this point, there
are 24 bits completely filling the WAR. This information is
now copied into the lOR to be placed into the proper memory
location.
The above procedure occurs when the programmer specifies
four characters per data word for the data transmission. If the
specification is three characters, the data word contains
three 6-bit characters in bit positions 6 through 23 and unpredictable information in bit positions 0 through 5 are transmitted
to the lOR. The next incoming character is accepted as the
first of another set of three characters. If the programmer
specifies two characters, the data word contains two 6-bit
characters in bit positions 12 through 23 and random data in
bit positionsO through 11 are transmitted to the lOR. If the
specification is one character, the data word transmitted to the
lOR contains only one character in bit positions 18 through 23.
When transmitting data using the character format mode, characters are taken from the WAR from the most significant end.
If the programmer specifies one character per word, the 6-bit
character in bit positions 0 through 5 is transmitted to the external device and then another full word of information is received from the lOR. If the programmer specifies two characters
per word, the 6-bit character in bit positions 0 through 5 is
transmitted. Then the contents of bit positions 6 through 23
shift left into bit positions 0 through 17, the new 6-bit character in bit positions 0 through 5 is transmitted and another word
is accepted from the lOR to be processed. If the programmer
specifies three characters, the 6-bit character'in bit positions
o through 5 is transmitted. The contents shift left six bits and
the new contents of bit positions 0 through 5 are transmitted.
The contents shift left six bits again and the third character
from bit positions 0 through 5 is transmitted. Then another
word is received from the lOR to be processed. If the programmer specifies four characters, the above process continues to
one more 6-bit left shift and the fina I six bits of the word are
transmitted before the next word is accepted from the lOR.
The Input/Output Register (lOR) is a 24-bit register which is a
full-word buffer between the WAR and memory. The Direct
Access Channel control unit places words into the lOR, await;"
ing their transfer to the WAR to be output. During input,the
lOR receives full words from the WAR and places them into
memory under control of the word count and memory address
being used in the transmission. During multiple data word
transfers, the WAR and the lOR simultaneously contain data
i nformat ion.

Bit
Octal Octal
Designation Position Value
00

B2

05

02

01-2

02

I/N

03

4

A I-bit in position 9 alerts
the buffer interlace.

00

03

o

Bit positions 10 and 11
contain the EOM mode indicator for the Buffer Control mode.

F/R

04

4

Bit position 12 specifies
the direction in which the
peripheral device will operate. A "0" specifies the
forward direction. A "1"
specifies the reverse
direction.

L/N

04

2

Bit position 13 specifies
whether the device should
be started with a leader as
in paper tape. A "0" specifies a start with leader.
A "I" specifies a start without leader.

D/B

04

Bit position 14 specifies the
mode of character format.
A "0" specifies BCD format.
A "1 " specifies Binary
format.

C/W

05

Bit positions 15 and 16specify the number of characters to be assembled into,
or disassembled from, each
transmitted word. One
character per word is specified by 00 (octal 0),
two by01 (octal 2), three
by 10 (octal 4) and four
by 11 (octal 6).

o

1 2 3
00
01

02

8 9 10 1112131415161718
03
04
05
06

2

4
6
UNIT

23
07

Channel W is numbered 00,
Channel Y is 01, Channel
C is 10, and Channel D
is 11.

o

The ENERGIZE OUTPUT M (EOM) used in the Buffer Control
mode addresses and connects the specified Channel W, Y, C,
or D, and selects the desired unit address. The detailed instruction format is:
Unit
I

Bit positions 1 and 17
specify the channel to
be activated.

Bl

COMMUNICATION CHANNEL PROGRAMMING

02
I

2

Function

06-7

Bit positions 3 through 8
contain 02, the instruction code for EOM.

Bit positions 18 through 23
specify the unit and the
function to be performed
with that unit.

31

Table 4-1.

00

Disconnect

40

01

Type Input No.

41

Type Output No.

02

Type Input No. 2

42

Type Output No. 2

03

Type Input No, 3

43

Type Output No. 3

04

Paper Tape Input No,

44

Paper Tape Punch Output No. 1

05

Paper Tape Input No. 2

45

Paper Tape Punch Output No. 2

06

Card Reader Input No.

46

Card Punch Output No.

07

Card Reader Input No: 2

47

Card Punch Output No. 2

10

Magnetic Tape Input No. 0

50

Magnetic Tape Output No. 0

11

Magnetic Tape Input No.

51

Magnetic Tape Output No.

12

Magnetic Tape Input No. 2

52

Magnetic Tape Output No. 2

13

Magnetic Tape Input No. 3

53

Magnetic Tape Output No. 3

14

Magnetic Tape Input No.4

54

Magnetic Tape Output No. 4

15

Magnetic Tape Input No. 5

55

Magnetic Tape Output No. 5

16

Magnetic Tape Input No.6

56

Magnetic Tape Output No. 6

17

Magnetic Tape Input No. 7

57

Magnetic Tape Output No. 7

20

60

High-Speed Printer Output No.

21

61

High-Speed Printer Output No. 2

22

62

23

63

24

64

Incremental Plotter Output No.

25

65

Incremental Plotter Output No. 2

66

Disc Fi Ie Output No. 1

26

32

Unit Address Codes

Disc File Input No.

27

Disc File Input No.2

67

Disc File Output No.2

30

Scan Magnetic Tape No. 0

70

Magnetic Tape Erase No. 0

31

Scan Magnetic Tape No.

71

Magnetic Tape Erase No.

32

Scan Magnetic Tape No. 2

72

Magnetic Tape Erase No. 2

33

Scan Magnetic Tape No. 3

73

Magnetic Tape Erase No. 3

34

Scan Magnetic Tape No.4

74

Magnetic Tape Erase No. 4

35

Scan Magnetic Tape No. 5

75

Magnetic Tape Erase No. 5

36

Scan Magnetic Tape No. 6

76

Magnetic Tape Erase No. 6

37

Scan Magnetic Tape No.7

77

Magnetic Tape Erase No. 7

EOD

Mnemonic

ENERGIZE OUTPUT TO DIRECT ACCESS CHANNEL

DSC
DSC
DSC
DSC
DSC
DSC
DSC
DSC

The EOD instruction used in the Buffer Control mode alerts
and connects the specified Direct Access Channel (E, F, G, H)
and the desired unit address. The instruction format is:
06

o

Unit

1 2 3

00

01

02

89101112131415161718
03
04
05
06

Bit
Octal Octal
Designation Position Value
Bl

00

B2

05

2

I

23
07

W
Y
C
D
E
F
G
H

Registers Affected:
Bit positions 1 and 17 specify the channel to be
activated. Channel E is
numbered 00, Channel Fis
01, Channel G is 10, and
Channel H is 11.

00200000
00200100
20200000
20200100
00600000
00600100
20600000
20600100

None

Timing:

ASC

ALERT TO STORE ADDRESS FROM CHANNEL
02

Several EOM and EOD function configurations have standard
uses. These have standard, assembler-type mnemonics and are
separate instructions.
.

23

ASC is always used in conjunction with PIN to determine the
current status of a peripheral operation being performed by the
selected channel. The two instructions are written together:

ALERT CHANNEL
02

12000

I

I

ASC alerts an interlaced channel so the PIN instruction
that follows can store the contents of the Memory Address
Register. This instruction affects the operation of the channel
in no other way. SE;le Direct Parallel Instructions, this section,
for a detailed discussion of PIN.

STANDARD EOM AND EOD CHANNEL INSTRUCTIONS

ASC

n

PIN

m, x

50000

I

23

ALC alerts the channel interla~e. This instruction does not
disturb the channel buffer in any way. ALC has no effect on
W or Y Buffers without interlace.

When the program executes these two instructions, the contents of the effective memory location designated by the PIN
instruction are:
Bit Positions

The channel Alerts are:
Mnemonic

Alert Channel

Instruction

ALC 0
ALC 1
ALC 2
ALC 3
ALC4
ALC 5
ALC 6
ALC 7

W

002-50000
00250100
20250000
202501OQ.
00650000
00650100
20650000
20650100

Y
C
D

E
F
G
H

Registers Affected:

None

Timing:

o through 9

Zero

10 through 23

Contents of channel's
Memory Address Register

1

TOP

00000

I

23

DSC disconnects the channel. It unconditionallysets the Unit
Address Register to 00 regardless of whether the channel iscurrently addressing a device. This instruction disconnects any
device which may be connected to. the channel. It also unconditionally makes the channel Ready (Inactive) and clears
the Error indicator.
.
.

o

0

Instruction

Channel

W
Y
C
D
E
F
G
H

ASC 0
ASC 1
ASC 2
ASC 3
ASC4
ASC 5
ASC 6
ASC 7
Registers Affected:

02

Contents

Mnemonic

DISCONNECT CHANNEL

I

0
1
2
3
4
5
6
7

Instruction

Function

All other indicators in the EOD are identical with EOM and
function in the same way.

ALC

Disconnect Channel

002 12000
002 12100
202 12000
202 12100
006 12000
00612100
206 12000
206 12100
Timing:

None

TERMINATE OUTPUT .oF CHANNEL

J

3

02

I

14000

8 9

I

23

When the last word of a block enters the channel, TOP terminates channel output. After the execution of this instruction,
the following occurs. When the channel buffer delivers the
last character to the peripheral device, the buffer disconnects.

33

TOP always terminates a non-interlaced channel output operation. It may be used with all communication channels if the
particular function selected is terminal function 11 but no
further data output is required (see Terminal Functions, this
section).

Mnemonic
TOP 0
TOPI
TOP2
TOP3
TOP4
TOP5
TOP 6
TOP7
Registers Affected:

Terminate Output
on Channel
W

Y
C
D
E
F
G
H

Instruction
002 14000
002 14100
202 14000
202 14100
00614000
006 14100
206 14000
206 14100

None

Bit.
Octal Octal
Designation Position Value

o
00
05

02/06

01-02 02/06

Bit positions 3 through 8
contain 02/06, the instruction code for EOM/EOD.

01

03

Bitpositions lOand 11 contain the EOM/EOD indicator for the Input/Output
control mode.

IA

04

COM PATIBLE/EXTENDED INPUT I OUTPUT MODES
The termination of an I/O operation and the interrupts that may
be associated with that termination fall into two classes: Compatible and Extended. The choice of one of these two "modes"
of input/output operation determines how the system behaves
when the termination of an I/O operation occurs.
As mentioned in Section III, Interrupt System, interrupts
occurring at the same level (e.g., location 30, 31, etc.) can
have different names (e. g., Count Equal Zero and End-ofWord). These names reflect the different I/O mode in operation when the interrupt occurs. The differences include the
timing of interrupt occurrence relative to the I/o operation
and type of interrupt requested.

In particular, the Interrupt Arm (IA) bit determines whether
any of the Extended functions operate; that is, a "0" in IA
means that the other Extended m~de controls, bits 13, 14, 15
and 16, have no effect.

INPUT IOUTPUT CLASS EOM/EOD
The Input/Output EOM (EOD) selects the I/O operation mode.
When the Extended mode is selected, this EOM also selects
(arms) which interrupts are tobe operational and selects the
desired terminal function. This EOM appl ies to Channels W, Y,
C, and D. EOD appl ies to Channels E, F, G, and H.

34

2
1

4

Bit positions 1 and 17 specify the chcnnel.

Bit position 12 selects the
mode of I/O operation. A
"0" specifies the Compatible
mode. The operation of bits
13, 14, 15, and 16aredisallowed. ChannelsW, Y, C
and D operate in this mode
which iscompletelySDS 920compatible. If interrupts
are required, the user enables
the Interrupt System, thus
enabling and arming the
End-of-Word and End-: in this section.

The unbuffered card punch operates similarly.
It generates the End-of-Record response after
punching each row. If any faults occur
during the punch ing of the entire card, the
card punch sends a signal to the channel
that sets the channel error indicator; th is
occurs after punching the last row (row 9).
NOTE:

Bit position 18 is the
high-order address bit.

A

HI Count

Bitpositions 19 through 23
contain the most significant four bits of the 15bit word count. These
positions specify a word
count greater than 1023.

Bit
Octal
Configuration Value
IOSD

A 2-bit function code in the Input/Output EOM (EOD) controls the termination of input/output operation in the extended
mode. These functions are described below with the letter C
representing the specified word count of the transmission.
Bit
Octal
Configuration Value
INPUT/OUTPUT OF A
RECORD AND DISCONNECT
Input

Output

00

Write C words. When C equals zero, output
is terminated (i. e./the device is signaled
that the last characters have been transmitted). When the peripheral device has
generated the end of record and, if necessary, checked the validity of the record, it
sends an End-of-Record response to the
Channel buffer. When received by the
buffer, the End-of-Record signal gener'ates
an End-of-Record interrupt (if armed) and
disconnects the channel.
The I ine printer generates the End-ofRecord response when it completes the
printing of a I ine. If the printer encounters
any print errors or faults, it sends a signal to
the channel that sets the channel error indicator; th is can occur since the printer has

01

2

Write C words. When C equals zero and
when the lost character has been transm itted,
the channel disconnects the device and becomes inactive. If an End-of-Record signal
is received before the count reaches zero,
the channel will disconnect immediately.

o

Read C words. If C equals zero before the Endof-Record is detected, the rest of the record is
ignored. At the End-of-Record, the peripheral
device is disconnected and the channel becomes
inactive.

INPUT/OUTPUT UNTIL SIGNAL
THEN DISCONNECT

Read C words. When C equals zero or when
the End-of-Record is encountered, the device
is disconnected and the channel becomes inactive. If the channel disconnects because
of a zero count,an EOR interrupt (if armed)
will be generated in addition to the count
equal zero interrupt. If both are armed,
C=O will occur first.

TERMINAL FUNCTIONS; EXTENDED MODE

lORD

A program should not use lORD with devices that do
not have End-of-Record conditions on input (e. g.,
typewriter) or generate End-of-Record responses upon
output term ination, (e. g., devices such as the paper
tope punch and typewriter). These devices do terminate output but give the program no indication
when they receive the last characters.

NOTE:

IORP

The IOSD is designed for use on devices which are
normally operated on the basis of the word count
only. Typewriters and paper tape devices are of
th is type, as are the printer and card punch when the
user does not wish to stay connected until the operation is complete.
INPUT/OUTPUT OF A
RECORD AND PROCEED

10

4

Read C words. If the channel counts C down
to zero before the peripheral device encounters the End-of-Record (EOR), the channel
ignores the rest of the record (to the End-ofRecord). When the peripheral device sends
the End-of-Record signal to the channel, the
channel sets its End-of-Record Indicator; this
signal sets the End-of-Record interrupt (if
armed). The channel does not disconnect.
The channel is now in on "Inter-record"
condition.

35

When the peripheral device is magnetic tape,
the tape continues to move when the tape
handler encounters the End-of-Record. The
End-of-Record occurs when the tape readheads encounter tape gap; this also causes a
If the
Tape Gap signal to "come high".
program executes a new read tape or scan
tape EOM during the inter-gap time (approximately .75 millisecond while the Tape Gap
signal is high), the tape remains in motion
and proceeds to read or scan the next record.
If the program executes no such EOM before
the Tape Gap signal drops, the channel disconnects and the tape comes to a stop. No
additional interrupt occurs. This is the only
condition that causes a channel to disconnect
automatically.
All other input devices remain connected until
the program takes further action. The paper
tape reader remains in motion; the program
should issue a "disconnect channel" instruction if the program is not reading any more
tape. To proceed after the End-of-Record
occurs, the program first executes a Buffer
Control mode EOM to re-initiolize the Channel Unit Address Register and then reloads the
interlace portion of the channel (the progral'T]
can alert the Interlace via the Buffer Control
EOM). Otherwise, the channel immediately
terminates any attempt to use its interlace
portion since the channel is aware that it is
still active and in the End-of-Record condition. When the program continues from an
Inter-record condition,the program shou Id use
an extended mode terminal function. An
IORP should not be used to read devices which
do not have EOR signals (e. g., the typewriter
and paper tape reader).
Write C words. When the channel interlace
counts C down to zero, the Interloce notifies
th~ channel buffer that it has received the
last word that is to be output; when the buffer
outputs this last word, it sends a signal to the
connected peripheral device indicating that
the device has the last word now. When the
peripheral device "receives, outputs ond
checks the validity of" this last word, it sends
an End-of-Record response to the channel
buffer. When received by the buffer, the
End-of-Record signal generates an End-ofRecord interrupt (if armed) and sets the Interrecord indicator; the channel does not
disconnect.
When the peripheral device is magnetic tape,
the tape continues to move after it signa Is
End-of-Record. As in reading tape, the signal causes the Tape Gap signal to come high.
If the program executes a new write tape or
erase tape EOM during the inter-gap time
(approximately one millisecond), the tape remains in motion and proceeds to write or erase
a new record. If the program executes no
such EOM before the Tape Gap signal drops,
the channel disconnects and the tape comes to

36

a stop. No interrupt occurs at this time. This
is the only condition which causes a channel
to disconnect automatically.
To proceed after the End-of-Record occurs,
the program first executes a Buffer Control
mode EOM to re-initialize the Channel Unit
Address Register and then reloads the interlace portion of the channel (the program can
alert the Interlace via the Buffer Control
EOM). Otherwise, the channel immediately
terminates any attempt to use its interlace
portion, since the channel is aware that it is
still active and in the End-of-Record condition.
When the program continues from an Interrecord condition, the program should use an
extended mode terminal function.
A program should not use IORP with devices
that do not generate End-of-Record responses
upon output termination; such devices are
paper tape and typewriter. These devices do
terminate output but give the program no indication when they receive the last characters.
The IORP should also not be used with the printer
and card punch since these devices expect the
channel to disconnect after they send EOR.
IOSP

INPUT/OUTPUT UNTIL
SIGNAL THEN PROCEED

Bit
Configuration

11

Octal
Value

6

Read C words. If the channel counts C down
to zero before the periphera I device encounters the End-of-Record, the channel generates
a Count Equals Zero interrupt (if armed). The
program should reload the interlace portion of
the channel to continue reading the record.
As far as the peripheral device knows, nothing
happens at this time. Failure to reload the
Interlace before the peripheral device sends
enough characters to overfill the channel
buffer causes a rate error; th i s sets the channe I
error indicator.
When the peripheral device encounters the
End-of-Record, IOSP operates identically
Iike the IORP command.
Write C words. When the channel counts C
down to zero, the cbannel generates a Count
Equals Zero interrupt (if armed); the channel
does not terminate output. The program should
reload the interlace portion of the channel to
continue writing in the same record. Fai lure
to reload the Interlace before the buffer transmits all of the characters in its registers and
before the peripheral device requests the next
character from the buffer results in a rate
error; this sets the channel error indicator.
If the program executes a TERMINATE OUTPUT
(TOP) instruction after the channel has counted
C down to zero, the channel terminates the
output and operates identically like the IORP
from this point on.

CHANNEL AND DEVICE SKS
Mnemonic
The Channel and Device Test mode SKIP IF SIGNAL NOT SET
(SKS) tests the indicators in a channel as well as devices attached to it. To test the channel, use unit address 00. The
instruction format is:

CAT
CAT
CAT
CAT
CAT
CAT
CAT
CAT

CHANNEL TESTS
40

o

1 2 3

00

I

I

8910112131415161718
23
01
02
03
04
05
06
07
00
Bit
Octal Octal
Designation Position Value
Function
01-02

40

01

03

Cl
C2
C3

03
00
05

40

Bit positions 10 and 11
contain the mode selection.
4
2
1

R

C

Bit positions 3 through 8
contain 40, the SKS instruc tion code.

BitsCl, C2, C3, usedasan
octal address, specify the
channel to be tested. Channel W is 0, Channel Y is I,
and soon, Channel H being 7.

04

2

E

4

00

Test for Inter-record
condition.
Bit positions 18 through 23
are zero to spec ify a channel test. Each of these tests
causes a skip when the test
condition is true.

Several SKS function configurations have standard uses. These
have standard, assembler-type mnemonics and are always used
as shown.
CHANNEL ACTIVE TESTi

0

J

3

40

I

None

Timing: 2, ifnoskip
3, if skip

BRTW

04021000

W BUFFER READY TEST

BRTY

0 40 22000

Y BUFFER READY TEST

Registers Affected: None

Timing: I, if no skip
2, if skip

The indicator that CAT tests is reset only by the next EOM that
connects and alerts the same channel.
CHANNEL ERROR TEST;

40

11000

I

I

I

23

CET tests the error indicator in the channel for being in the set
condition. If the error indicator has not been set, the computer skips the next instruction in sequence and executes the
following instruction. If the error indicator has been set, the
computer executes the next instruction in sequence.
Channel
Error Test

Mnemonic
CET 0
CET 1

W

CEl
CET
CET
CET
CET
CET

2

C

3
4
5
6
7

D
E
F
G
H

Reg isters Affected:

SKIP IF CHANNEL NOT ACTIVE

o

040 14000
04014100
240 14000
24014100
04054000
04054100
24054000
24054100

The following SDS 920- compatible instructions make the identical test as the above instructions on Channels Wand Yi

Test if indicator for Word
Count Equal to Zero is set.
A I-bit selects the test.
Skip if word count zero.

STANDARD SKS INSTRUCTIONS

CAT

W
Y
C
D
E
F
G
H

SKIP IF NO ERROR ON CHANNEL

Test for error indicator reset. A I-bit selects the
test. Skip if no error.
05

Instruction

0
1
2
3
4
5
6
7

Registers Affected:

CEl

Test for ready. A 1-bit
selects the test. Skip if
Ready or Inactive.

Channel
Active Test

Y

None

Instruction
040 11000
040 11100
240 11000
24011100
04051000
04051100
24051000
24051100
Timing: 2, ifnoskip
3, if skip

The following SDS 920-compatible instructions make the identical test of Channels Wand Y:

14000

I

23

If the channel is ready to accept a new input/output instruction, the computer skips the next instruction in sequence and
executes the following instruction. If the channel is active,
or in the process of disconnecting a peripheral unit, the computer executes the next instruction in sequence.

BETY

04020020

Y BUFFER ERROR TEST

BETW

04020010

W BUFFER ERROR TEST

Registers Affected:

None

Timing: I, if no skip
2, if skip

The indicator that CET tests is reset only by the next EOM that
connects and alerts the same channel.

37

CZT

CHANNEL ZERO COUNT TEST;

DEVICE TESTS

SKIP IF CHANNEL WORD COUNT IS ZERO

The SKIP IF SIGNAL NOT SET (SKS) below, used in the
Channel and Device Test mode, tests the condition of the peripheral devices in the system directly. The peripheral device
sections contain the individual instruction descriptions.

40

12000

I

I

I

23

CZT tests whether the contents of the Word Count Register in
the channel have been reduced to zero. If the contents of
WCR are zero, the computer skips the next instruction in sequence and executes the following instruction. If the contents
of the WCR are non-zero, the computer execute~ the next
instruction in sequence.
Mnemonic

Channel Zero
Count Test

Instruction

CZTO
CZTl
CZT 2
CZT 3
CZT 4
CZT 5
CZT6
CZT 7

W
Y
C
D
E
F
G
H

04012000
040 12100
24012000
240 12100
04052000
04052100
24052000
2 4052100

Reg isters Affected:

None

01
Bit
Designation

Octal Octal
Position Value

Cl

03

4

Bit positions 9, 1, and 17
are used as an octal digit
to specify the channel.

C2

00

2

Channel W is 0, Channel
Y is 1, and so on.

C3

05

40

01-02

01

03

Bit positions 10 and 11 contain the mode selection.

Unit Tests

04-05

Bit positions 12 through 16
sel ect the particular test
and are system dependent.

Un it Add ress

06-07

Bit positions 18 through 23
spec ify the un it address.

40

CHANNEL INTER-RECORD TEST i
SKIP IF INTER-RECORD INDICATOR IS SET
40

10400

I

I

I

Mnemonic
CIT
CIT
CIT
CIT
CIT
CIT
CIT
CIT

Channel InterRecord Test

0
1
2
3
4
5
6
7

Registers Affected: None

W
Y
C
D

E
F
G
H

Bit positions 3 through 8
contain the SKS instruction
code 40.

SINGLE·WORD DATA TRANSFER VIA CHANNELS WAND Y
23

CIT tests the Inter-record indicator in the selected channel. If
the Inter-record indicator is set, the computer skips the next
instruction in sequence and executes the follow ing instruction.
If the ind icator is reset, the computer executes the next instruction in sequence. (See IORP instruction description under
TERMINAL FUNCTIONS for Inter-record definition).

Instruction
040 10400
040 10500
240 10400
240 10500
04050400
04050500
24050400
24050500
Timing: 2, if no skip
3, if skip

The Inter-record indicator is set only during extended mode operation when using a Proceed Function; the indicator is set for
an inter-record or zero count condition, The indicator is reset
by the next alert and connect EOM.

38

3

Timing: 2, if no skip
3, if skip

The indicator that CZT tests is reset only by a POT instruction
to set up the word count and data address in the same channel.
CIT

40

INSTRUCTIONS
Channels Wand Y can be programmed as single-word input/
output buffers. Data transfer is performed under direct program
control or with the aid of the interrupt system. Interlace is
not used with these instructions.
The following two instructions perform data transfer using
Channel W.
MIW

MEMORY INTO CHANNEL W WHEN EMPTY
12

o

1 2 3

II I

M

8 9 10 I

23

MIW transfers the contents of the effective memory location
into the Channel W word buffer. If necessary, the central
processor "hangs up" until the buffer is empty and ready to
accept the data word.
The W buffer must be connected to the desired peripheral device by a previous "connect" EOM instruction that selects the
buffer, the unit address, and all appropriate control functions.
Registers Affected:

None

Timing: 2 + wait

WIM

o

CHANNEL W INTO MEMORY WHEN FULL

1 2 3

32
I

SINGLE-WORD OPERATIONS

M

23

8 9 10

WIM transfers contents of the Channel W word buffer into the
effective memory location. If necessary, the central processor
"hangs up" until the buffer is full and ready to deliver the
data word.
Registers Affected: M

MIY

MEMORY INTO CHANNEL Y WHEN EMPTY

M

10

o

Tim ing:3 + wait

123

I

23

MIY transfers the contents of the effective memory location
into the Channel Y word buffer. If necessary, the central
processor "hangs up" until the buffer is empty and ready to
accept the data word.
Registers Affected:

YIM

None

Use of the priority interrupt system el iminates the tie-up of the
central processor. The interrupt system allows the program to
connect the device to be used in the transfer, to enable the
interrupt, and then to continue processing in the main program.
When the buffer is ready to receive from, or transfer to,
memory, the End-of-Word interrupt to the corresponding
interrupt location notifies the program that the buffer is Ready.
A service routine entered via a BRANCH AND MARK PLACE
(BRM) instruction in the appropriate interrupt location processes
the interrupt. This routine contains the instruction (MIW or
WIM, for example) that can execute immediatel y without computer tie-up.
During single-word operations, a parity error or incorrect
timing error sets the buffer error indication in the channel.
The incorrect timing error occurs when characters enter the
buffer during input before the removal of the previous word;
during output, buffer error indication occurs if characters are
needed for output before the buffer rece ives the next word.
The transmission does not terminate upon detection of any of
these errors.

Timing: 2 + wait

CHANNEL Y iNTO MEMORY WHEN FULL
M

30

o

The single-word buffer operations are used in two ways. Data
words transfer between the channel and memory under direct
program control. The "connect" EOM and the input or output
channel instruction are in sequence and the computer "hangs
up" until the buffer is ready to perform the transfer. This delay
is usually due to buffer tie-up while the buffer is actively
transmitting or receiving the previously requested data word.

1 2 3

I

23

8 9 10

YIM transfers the contents of the Channel Y word buffer into
the effective memory location. If necessary, the central processor "hangs up" until the buffer is full and ready to del iver
the data word.
Registers Affected:

M

Timing: 3 + wait

The interrupt system can detect an End-of-Record termination.
During output, use of TERMINATE OUTPUT (TOP) after the
final MIW (MIY) causes an interrupt to the appropriate End-ofTransmission location when that final data word has been processed by the buffer. This interrupt takes the place of the
End-of-Word interrupt; the End-of- Transmission condition
inhibits the End-of-Word interrupt. During input, the End-ofTransmission interrupt is sent to the End-of- Transmission location when the End-of-Record is detected. During input from
devices which do not generate an End-of-Record, an EOM
disconnects (DSC) the channel to terminate the transmission.
This termination generates no End-of- Transmission interrupt.

39

EXAMPLE:

WIM
This program reads a block of binary paper tape of any length, using the W buffer without interlace. There is an
integral multiple of four characters in the block. This subroutine uses the End-of-Word and End-of-Transmission
interrupts of the W buffer and reads data into memory beginning in a table at location 1024.

Location

Instruction

H

PZE

This is an assembler instruction used to reserve the entry
location by filling H with Zero.

EIR

This instruction enables the interrupts. An End-of-Word
interrupt will be received after each word is assembled in
the W buffer.

TABLE

Comments

RPT

0, I, 4

This instruction initiates the paper tape read on Channel
W, four characters per word (see Paper Tape Input/
Output, this section).

BRR

H

Return to the main program while awaiting the filling of
the buffer with the first word read from tape.

00002000

This location contains the input table starting address.

When the buffer fills with the first word, it generates the End-of-Word interrupt to location 31.

31

BRM

HI

PZE

HI

This branch and mark instruction transfers to the read
routine.
Reserved entry location.

WIM

*TABLE

This instruction transfers the contents of the W buffer into
the location specified in the contents of location TABLE.
The * indicates indirect addressing. If desired, indexing
can be used.

MIN

TABLE

This instruction increments the location for the next
input word.

BRU

*Hl

This instruction transfers indirectl y back to the main program to await the next End-of-Word interrupt and clears
the currently active interrupt.

The above procedure continues until the end of the block. When gap is detected, the remaining character
positions of the word being assembled in the buffer fill with zeros, and the End-of- Transmission interrupt to
location 33 inhibits the End-of-Word interrupt.

33

BRM

H2

PZE

H2

This instruction transfers and marks to location H2.
This instruction reserves an entry location.

BET

o

This instruction tests for the occurrence of an error
during the input operation. If there were none, the
next instruction is skipped and the following one is
executed.

BRM

ERR

This instruction transfers to an assumed error routine.

BRU

*H2

This instruction returns to the main program.
operation is complete.

The read

Since in this example the input record has integral word-length, no characters are i~ the buffer when the
End-of-Record is reached. If there are one, two, or three characters in the buffer when it detects the gap,
an additional WIM has to be executed to place these characters into memory.

40

DIRECT PARALLEL INPUT/OUTPUT INSTRUCTIONS

POT

Two instructions, PARALLEL OUTPUT (POT) and PARALLEL
INPUT (PIN), permit any word in core memory to be presented
in parallel at a connector; or, inversely, permit signals sent to
a connector to be stored in any core memory location. The
execution of a POT or PIN instruction causes a signal to be
sent to the external device involved in the input/output operation. This signal notifies the device to send its data word as
soon as it is operational. When the device becomes operational
during a Read or PIN operation, it transmits a Ready signal to
the central processor while at the same time presenting its data
word. The computer places the received data word into a
specified memory location without disturbing any arithmetic
registers. The computer "hangs up" during the execution of
PIN until it receives the Ready signal from the external device.
During the execution of a POT instruction, . the central processor transmits a signal to the external device, alerting it to
receive a data word. When the device becomes operational,
it transmits a Ready signal to the central processor, which
releases the data word to the external device. The computer
"hangs up" during the execution of POT until it receives the
Ready signal from the external device.
For special system requirements, POT ond PIN cart be used
effectively with other instructions to produce high-speed,
synchronized, data transfers between the central processor and
external devices without the use of 0 communication c~annel.
Selective input/output to and from these devices is accomplished by precedingPOTor PIN with an EOMto alert the
desired device by specific address. By preceding the POT or
PIN with an SKS, the Ready signal of the special device can
be tested after the execution of the EOM but priorto execution of the parallel transfer instruction; a possible computer
"hang-up" can thereby be avoided. If the Ready signal from
the external dev ice sets one of the priority interrupts, parallel
input/output operation can occur os soon as the external device
is able to transmit or receive. Since the Ready signal initiating
the interrupt is present through the POT or PIN execution, no
computer" hang-up" occurs.
PIN

PARALLEL INPUT

33

o

1 2 3

I

,

13

o

12 3

M

8910

23

POT transmits the contents of the effective m,emory location in
parallel to 24 output I ines of an external device.
Registers Affected: None

Timing: 3 + wait

SINGLE-BIT INPUT IOUTPUT
Operating in the System mode, the two instructions, ENER""
GIZE OUTPUT M (EOM) and SKIP IF SIGNAL NOT SET (SKS),
provide single-bit input/output transmissions.
Execution of a System Mode EOM causes a signal of approximately 1.4 microseconds to be transmitted to one of a possible
16,384 signal destinations. The System Mode EOM format is:

EOM

ENERGIZE OUTPUT M

02

o

1 ,2 3

I

23

Bit position 3 through 8 contain the EOM instruction code, 02.

Bit positions lOand 11 contain the System Mode indicator.

Bit positions 12 through 23 contain the 12-bit address field
that specifies the special system destinations.

Bit position 2 contains O.

M

8 9 10

23

PIN stores the contents of 24 input I ines in parallel in the
effective memory location.
Registers Affected: M

PARALLEL OUTPUT

Timing: 4

+ wait

Bit positions 0 and 1 are reserved for special system address
bits.
Registers Affected: None

Timing: 1

41

Execution of a System Test Mode SKS causes a 14-bit address
to be presented to the collection of special system devices.
If the addressed external device is supplying a set signal to the
central processor, the computer executes the next instruction
in sequence from the SKS. If no signal is set, the computer
skips the next instruction in sequence and executes the following instruction.

COMMUNICATION CHANNEL PROGRAMMING
EXTENDED MODE
Programming a block transmissionof data using the full facil ity
of the input/output system includes these instructions: EOM
(Alert), EOM (I/o Control), and POT (PARALLEL OUTPUT).

The SKS System Test format, which has each corresponding
bit-set identical to the System EOM format, is:
SKS

II o

SKIP IF SIGNAL NOT SET

01

1

1 2 3

I

40

I

23

Registers Affected: None

Timing: 2, if no skip
3, if skip

A sample sequence of instructions from a magnetic tape read operation follows.

The octal configuration

of each instruction is given.

42

Location

Instruction

1000

00242610

This EOM specifies Channel W, bits 1 and 17, (no 2 in
00, no 1 in 05) alerts the interlace, bit 9 (a 4 in 03)
is in the Buffer Control mode (no 2 or 1 in 03) specifies
forward direction of tape motion with no leader and BC D
character format; bits 12, 13, 14, (a 4, no 2 and no 1
in 04) selects four characters per word.assembly mode,
bits 15, 16, (a 6 in 05) and connects the unit function
address 10 to read tape nu mber O.

1001

002 15001

This EOM is in the Input/Output Control mode, selects
the channel interrupt mode, bit 12,(a 4 in 04) disarms
the End-of-Record interrupt, bit 13, (no 2 in 04) arms
the Zero Count interrupt, bit 14, (a 1 in 04) selects
terminal function 00, bits 15, 16, (no 4 or 2 in 05) and
specifies high order word count of 01 (bits 20 through 23).

1002

031 01020

This POT transmits to the channel the contents of location 1020. The location contains the word count and
the starting location for data input.

1020

003 13500

Bit positions 0 through 9 of this location contain the low
order 10 bits of the word count. Bit positions 10 through
23 contain the 14 bits of the starting address

Comments

The channel assembles the starting address from the EOM, bit
18, and from the word transmitted by the POT. In this sample,
the starting address for the read operation is 135008. The word
count is assembled from the same EOM, bits 19 through 23, and
from the word transmitted by the POT. In this sample, the word
count is 020068' This is assembled as follows. Bits 19 through
23 of the EOM in location 1001 are 00001; bits 0 through 9 of
the transmitted word are 0 000 000 110. Assembling these bits
into one 15-bit count, 000010 000 000 110, the word count
becomes 02006 8 ,

These three instructions read one magnetic tape record of 2006word length into memory starting at location 13500. When the
word count equals zero during the transmission, an interrupt is
sent to Channel W interrupt level 31. Any further information

is ignored and when the tape reaches the End-of-Record, it is
stopped, disconnected, and the channel becomes inactive.
COMPATIBLE MODE
In the Compatible mode of channel operation, the second EOM
may be omitted if the word count is less than 1023 (17778)
words and the starting addresses are less than 16383 (377778)'
The End-of-Word and End-of-Transmission interrupts are used
when interrupts are desired. They can be armed/enabled or
disarmed/disabled by the Enable/Disable instructions. Since
the Extended input/output functions that are specified in the
second EOM cannot be used, the latter two interrupts are used
along with SKS tests to determine the terminal conditions of
input/output transmissions. This I/O mode operates onl y for
Channels W, Y, C, D.

A sample line print sequence programmed in the compatible mode follows:

Comments

Location

Instruction

1000

00242660

This EOM specifies Channel W, alerts the interlace, specifies four
characters per word, and connects the unit function address 60 for
Pr inter N umbe r 1.

1001

031 01030

This POT transmits to the channel the contents of location 1030.

1030

02042000

The location contains the word count and the starting address for
outpuL Bits 0 through 9 contain the word count of 41 8 ; the starting address is 20008 ,

Since the input/output facil ity is less comprehensive in this
mode, the user should be aware of the terminal conditions that
will occur. For output, the mode is equivalent to functions 00
and 01; tha't is, when C words have been transm itted, the output
terminates, and when the last character has been sent, the device disconnects. If the interrupt system is enabled, an Endof-Transmission interrupt to location 33 occurs when the device
disconnects. No interrupt occurs on level 31.

For input, this mode is equivalent to functions 00 and 01 if the
End-of-Record is encountered before the word count is reduced
to zero. If the word count is reduced to zero before the Endof-Record is encountered, the interlace portion of the channel
disengages all control of the channel buffer. The buffer con-

tinues to assemble characters until a word is completed. If the
interrupt system is enabled, the buffer then generates an Endof-Word interrupt on level 31. The program has approximatel y
1.5 character times to reload the interlace if reading is to continue. On Channel W (or Y) the contents of the buffer at this
time can be stored with the WIM (YIM) instruction.

If this form (EOM, POT) is used with Channels E through H,
the Terminal Function mode is 00 with no interrupts armed.

This mode of channel operation should generally not be used
on input unless the record length of the input records is fixed
and known.

43

CONTROL CONSOLE
The basic SDS 930 Computer System providesa console for operator control. This console connects directly to the centra I processor, contains switches for operation, and displays the contents of
operationa I registers.
DISPLAYS
The registers displayed on the console directly reflect the contents
of the hardware registers. If the operator changes or clears a disp lay, the contents of the actua I register a Iso change identica lIy.
PROGRAM LOCATION
The program counter is a 14-bit register that contains the location
of the next instruction to be executed. The programmer may change
the counter by inserting a BRU into the Instruction Register and executing it. When the computer is in the ID LE state, this register
displays the location of the instruction to be executed next.
INPUT/OUTPUT
The UNIT lights contain the unit address of the peripheral device
currently connected to the selected channel.
The ERROR light reflects the status of the channel error indicator. Setting the I/O DISPLAY SELECT thumbwheel switch selects the channel to be displayed.
MEMORY EXTENSION
There are two memory extension indicators. The left one lights
when EM3does not contain three (3); the right one lights when
EM2 does not contain two (2).

To change the contents of the selected register, press the indicator
button(s) in the corresponding bit posi tions. The computer must be
in the IDLE state and the registerpreviouslycleared. Pressing a
button places a l-bit into the selected position of the register.
MEMORY PARITY
If an operand or instruction access from memory encounters a
parity error, this light turns on. Setting the MEMORY PARITY
switch to CONTINUE clears the indicator and turns off the light.
INTERRUPT ENABLED
The INTERRUPT ENABLED light is on whenever the interrupt
system is enabled.
SWITCHES
POWER
The POWER switch turns the computer system power on or off.
When power is on, the switch is lit.
FILL
The operator has the option of four input media to initially load
or "fi II" the computer. The pairof three-position, spring-loaded,
center-return, toggle FILL switches are labeled: PAPER TAPE ~
MAG TAPE and CARDS-DRUM. For example, to select and initiate filling from paper tape on Channel W, set the first toggle
switch to PAPER TAPE and release.
The fill procedure is:
a)

Set up the selected input device with the input program. The initial portion of the program contains the
"bootstrap" (the short-load program).

b)

Set the RUN-IDLE-STEP switch in the IDLE position.

HALT
The HALT light is on whenever the computer executes an HLT
instruction while in the RUN position. To clear this indicator,
set the RUN-IDLE-STEP switch to IDLE.
OVERFLOW
This display shows the status of the Overflow Indicator.
REGISTER DISPLAY
This display consists of 24 binary indicators with a clear button
for the entire register and a set button for each indicator. The
REGISTER thumbwheel switch selects the internal register whose
contents are to be displayed. The selectable registers are:

44

C

C Register, which contains the full instruction immediately prior to its execution

A

A Register

B

B Register

X

Index Register X

c)

Press the START switch.

d)

Set the RUN-IDLE-STEP switch in the RUN position.

e)

Press one of the four FILL switches. This will cause a
WIM 2 (03200002) instruction to be inserted into the
Instruction Register and will load the Index Register
with 77777771. Depending on which switch is pressed,
activation of one of the following four devices on
Channel W will occur:
Paper Tape Reader No. 1 - Unit Address 04
Card Reader No. 1 - Unit Address 06
Disc Fi Ie No. 1 - Unit ,Address 26
Magnetic Tape Unit No. 0 - Unit Address 10
The FILL switch also prepares the channel to operate
in the forward, binary, four characters per word mode.

A "bootstrap" program must be in position to be read as the first
input from the device. A typical bootstrap program is:

- - - - I',PUT OUTPUT - - - -

_II
~

flUltlP!
'.;.4'

._--- --

- - - - - - PROCRAM lOCA110N

t'A'VTY'

M.

2Z

POWER

I

e
\

.

REGIS1ER

- - - - - - - - - - - - - - - - - R[GISIER !)ISPlAY - - - - - - - - - - - - - - - - -

WIlOflY

H' 1

0

0
~q

Figure 4-3. SDS 930 Control Panel

"'P"ORY tUM

13

lOt!

location

Instruction

Address

00002

WIM

00012, 2

00003

BRX

00002

00004

LDX

00011

00005

WIM

00000, 2

00006

SKS

21000

00007

BRX

00005

00010

BRU

BEGIN

00011

OCT

Starting address with
indirect address "tag"

The WIM 00002 instruction that is forced into the Instruction
Register stores the first word of the" bootstrap" program in
location 2. The computer then executes the contents of
location 2. The Index Register, which contains -7, modifies
the WIM in 2. The effective address of the WIM is then 00003
so that the second word is stored in3. This word is a BRX back
to the WIM.

I/O DISPLAY SELECT Switch
This eight-position, thumbwheel switch selects the channel
from which the unit address and error indicator are displayed
in the INPUT-OUTPUT lights.
INTERRUPT ENABLED Switch

If this switch is in the COMPUTER position, the Interrupt
System may be enabled or disabled under program control.
Placing the switch in the ENABLE position enables the Interrupt
System regard less of program operations. The switch is stationary in the COMPUTER position and momentary in the ENABLE
position.
MEMORY PARITY Switch
If this switch is in the HALT position, the computer enters an
Idle state whenever a memory parity error occurs. If this
switch is in the CONTINUE position, the computer does not
change state when memory parity occurs.
BREAKPOINT Switches

These two instructions then load the remainder of the "bootstrap"
program. The remaining six words can be those needed for the
specific loading that is to be done. The one shown loads a
record of any length. The Buffer Ready test in location 6 skips
when the End-of-Record has been reached. In "bootstrapping"
from paper tape or magnetic tape, the record may be of any
length. From cards, the record is 40 words.
RUN-IDLE-STEP Switch
This is a three-position, toggle switch with two stationary
positions and a spring-loaded, momentary position in STEP.
In the RUN position, computation occurs at machine speed.
In the IDLE position, the computer idles immediate Iy after an
instruction has been read from memory. If the REGISTER switch
is in the "C" position, the REGISTER DISPLAY shows the complete instruction. In the STEP position, the computer executes
the instruction and returns to the Idle state. Release the switch
to the IDLE position before performing another step.
HOLD Switch

The program may detect the status of these four switches by
using a breakpoint test. The switches, labeled RESET and SET,
control pre-determined options within the program.
MEMORY CLEAR Switches
To clear first 16 K words of memory, press the START switch and
then press both MEMORY CLEAR switches simultaneously. To
clear from 16 K through 24 K, set the Extend Memory Registers
EM2 = 4 and EM3 = 5, then press these two switches simultaneously. To clear from 24 K to 32 K, set EM2 = 6 and EM3 = 7,
then press both switches simultaneously.
INPUT/OUTPUT TYPEWRITER
The control console contains an electric, input/output typewriter for operator control, error or status messages, and simi lar
functions. The Typewriter is connected to Channel W, has the
input unit address 01, and the output unit address 41. Appendix
A -1 Iists the typewri ter codes.

When the HOLD switch is on, the current contents of the
program counter are he Id. Instructions inserted into the C
Register and executed do not step the program counter (i.e.,
it is inhibited from counting).

The typewriter control instructions follow. These sample
instructions use Typewriter Number 1 on Channel W with four
characters per word mode.

START Switch

RKB

This switch initializes the control section of the computer. It
resets all channels, clears the P Register, Overflow Indicator,
Memory Parity Error Indicator, and sets up a HALT (00) instruction in the C Register. The RUN-IDLE-STEP switch must be in
IDLE and the REGISTER SELECT switch must be at C when
pressing this switch. It clears all interrupts and disables the
interrupt system. The EM3 register is set to 3 and the EM2
register is set to 2.
REGISTER Select Switch
This four-position, thumbwheel switch selects the register to
be shown on the Register Display lights.

46

0, 1, 4 READ KEYBOARD WI,
4 characters/word

002 02601

This instruction alerts Channel Wand connects Typewriter
Number 1 to it. RKB prepares the channel to read input from
the keyboard. It also lights the input indicator on the typewriter.
TYP

0, 1, 4 WRITE TYPEWRITER WI,
4 characters/word

00202641

This instruction alerts Channel Wand connects it to Typewriter
Number 1. TYP prepares the channel to write output to the
typewri ter.

PROGRAMMING EXAMPLES
These examples present a straightforward sample of reading and
writing with the typewriter under program control.
EXAMPLE:

Typewriter Output
This routine causes the following message
ASSEMBLY DONE
ENTER NEW PROGRAM
to be typed out under program control. The computer stores the internal codes for fhese characters in m"emory
beginning in location 2000. The routine inserts the carriage return code, 52, and the space code, 12, where needed
and requests End-of-Record interrupt. It is written as a c lased subroutine using interrupts, and uses Channel Wand Typewriter Number 1.
Location
1000

WRITE

Comments

Instruction
PZE

This instruction is an assembler instruction, used here as
a convenient way to reserve the entry location for subroutine use.

CLR

Th is c I ears the A and B Regi sters.

STA

SWiCH

This clears the location called SWiCH. SWICH later
indicates to the main program that output is complete.

TYP

*0, 1, 4

This instruction connects Typewriter Number 1 to Channel
W for output, specifies four characters per word mode, and
alerts Channel W interlace. The instruction is an EOM
with octal configuration, 00242641.

EXU

WRITE

This instruction causes the Input/Output EOM in location
WRITE to be executed.

POT

WRITE + 1

This instruction sends the word count and starting address
in WRITE + 1 to the channel.

BRR

1000

This instruction branches back to the main program.

EOM
0040.3720

16200

This EOM specifi es termi nal outputfunction code 0 1 (IOSD)
and the End -of-Record interrupt. The word in WRITE + 1
speci fi es that ei ght words wi II output from memory begi nni ng
in location 2000. According to terminal function 01, when
the word count equals zero during the transmission, the
output terminates, and when the last character is out, the
device disconnects; at this time, the interrupt occurs.
"

The computer processes the main program while the channel performs the output operation. When finished with the output, an interrupt to interrupt level 33, the End-of-Record location for Channel W, occurs.
33

BRM

OKAY

PZE

OKAY

This instruction, placed in location 33, branches and
marks to location OKAY elsewhere in memory.
This instruction saves the entry location.

MIN

SWICH

This instruction increments location SWICH as an indicator for the main program.

BRU

* OKAY

This instruction branches to the main program and clears
the active interrupt.

47

This is the internal code for the output message:

2000

A

S

S

E

M

B

L

Y

Sp

0

0

N

E

C/R

E

N

21

62

62

25

44

22

43

70

12

24

46

45

25

52

25

45

E

R

Sp

N

E

W

Sp

P

R

0

G

R

A

M

Sp

25

51

12

45

25

66

12

47

51

46

27

51

21

44

12

T
2004

EXAMPLE:

63

Typewriter Input
The operator requests control to input four control characters. The subroutine is assumed to have been entered under
program control. There is no request for terminal interrupts in this example.
Location
INPUT

CHARS

48

Instruct ion

Comments

PZE

This instruction saves the entry location.

RKB

*0, 1, 4

This instruction connects Channel W to Typewriter Number 1, specifies the four characters per word mode, and
alerts the interlace. The input request light is lit. The
octal configuration of the instruction is 0 02 42601. The
asterisk prefixed to the address of read and write controlling EOM instructions indicates the setting of the interlace alert bit (9) ..

EXU

CHARS

This instruction executes the instruction at location
CHARS.

POT

CHARS + 1

This instruction transmits to the channel the word count
and starting address.

CAT

o

This instruction tests for channel not active. If the channel is active when the computer executes CAT, it executes the next instruction in sequence. If the channel is
inactive, the computer skips the next instruction and
executes the following one.

BRU

$-1

This instruction branches to the CAT instruction. The
dollar sign and accompanying signed integer in the address field is an assembler dec laration for the indicated
number of locations prior to or following the current one.
Plus indicates following.

BRU

CHECK

This instruction branches to an assumed routine to determine what characters were typed in.

EOM
00047640

14200

This EOM specifies terminal input function 01 and no interrupt at the end of transmission. The word in CHARS + 1
specifies that one word can be input into location 4000.
Only one word is accepted before the channel disconnects
and goes inactive. The Count Equals Zero causes channel disconnect.

PERIPHERAL EQUIPMENT DESCRIPTION

EXAMPLES:
This instruction

Communication channels facilitate a wide rangeof input/output
operations. Combinations of input/output functions can perform
Scatter-Read and Gather-Write operations. A channel may read
many records into one contiguous area of memory, or skip portions of records and read subsequent portions.

PPT 0, 1, 1

prepares the punch on Channel W to punch without
leader. It sets the channel to operate with one
character per word.

This section describes some of the input/output devices, available in the computer system and explains their use.

This instruction

PAPER TAPE INPUT/OUTPUT

PTL 0, 1, 4

Paper tape used with the computer is one-inch wide, affording
space for eight data holes and a sprocket hole in each frame of
information. There are ten frames per inch of paper tape. Six
hole positions contain information, one contains the odd parity
check, and the eighth is unused.
Frame of Inform~
00

p

:
•

0

00
0

: .\ .... ~ .. ~p.
)

,
0

0

Sprocket H"/(Ies
000 00
00
0

00000

gg
·og· .. Q~. ~~. ·g·o· ·ggo·· .... \
0

0

- - Direction of Travel

g

0

0

00

0

0

00
0

0

(
I

I
1 Block of Information

The organization of information on the tape is in blocks. A
block is a'group of frames set off by a gap of at least one blank
frame (in which only the sprocket hole ispunched) ateitherend.
Blocks may be of variable lengths.
For some operations a tape may consist of only one block, such
as a source language tape prepared off-line. In this case, the
program need not read the entire block at one time, but may
stop the reader between frames, and then start again to read
the remainder or another ,portion of the block.

00200644

prepares the punch and produces about 12 frames
of leader. It sets the channel to operate with four
characters per word.
No channel terminal function produces End-of-Record gap after
punching a block. The EOM instruction that addresses the punch
can only generate gap.
The punch operates at 60 characters per second, asynchronously.
If the channel does not supply characters to the punch fast
enough for operation at 60 cps, the punch waits for each character, losing no data and making no errors.
Programming
There are no status tests for the Paper Tape Reader or Punch,
that is, they are always ready for operation. When a channel
addresses either device, the device starts to send or accept data
within approximately one character time. The reader and punch
operate only in the binary mode and the forward direction; they
ignore any different mode specified, and use the forward-binary
mode. Unit addresses of 04 and 05 are for Paper Tape Readers
1 and 2, respectively, and unit addresses 44 and 45 are for
Paper Tape Punches 1 and 2.
Paper Tape Instructions
The following instructions use Channel W, Paper Tape Number
1, with four characters per word format.
RPT 0, 1, 4

All channel functions may be used in reading paper tape. An
input/output function that terminates because of a zero count
stops the tape between frames. A subsequent paper tape "read"
starts the reader and allows the next frame to be reod. An input/output function that terminates because of gap (End-ofRecord) stops the tape after the first blank frame of the gap.
When the tape starts, the tape reader ignores any leading blank
frames. After reading information from the tape, the reader
recognizes a blank frame as gap and signals the channel with an
End-of-Record indication.

00202644

READ PAPER TAPE

00202604

RPT initiates a paper tape read operation on tape read station
number 1 connected to Channel W in the four characters per
word format.
PH 0, 1, 4

PUNCH PAPER TAPE WITH LEADER

00200644

PTL initiates a paper tape punch operation on tape punch station
number 1 connected to Channel W in the four characters per
word mode. It generates approximately twelve frames of leader
preceding the first punched frame.
PPT 0, 1, 4 PUNCH PAPER TAPE WITH NO LEADER 0 02 02644

Punching
When a channel addresses the paper tape punch, the punch motor
also starts (if not already on). If the punch instruction so indicates, the punch unit punches a segment of leader (gap, or
blank frames). Bit position 13 of a Channel EOM or EOD instruction, which addresses the punch, contains a "0" to punch
leader; bit position 13 contains a "1" to punch without leader.

PPT initiates a paper tape punch operation on tape punch station number 1 connected to Channel W in the four characters
per word format. It generates no leader preceding the first
punched frame.
The desired EOM, POT combination follows each of these instructions to control the input/output of data.

49

I

EXAMPLE:

Punch Paper Tape
This program punches one block of 20 words beginning in location 2000. A twelve-frame leader precedes the block.
The routine is a closed subroutine that uses interrupts.
Location

Instruction

1000

PZE

This instruction saves a place for the entry location.

CLR

This instruction clears the A and B Registers.

PUN20

Comments

STA

WHERE

This instruction clears a switch location used as an indicator to the main program for completion of the punch
operation.

PTL

*0, I, 4

This instruction connects Channel W to Paper Tape Punch
Number I, specifies four characters per word mode, and
alerts the interlace. The instruction specifies leader to
be punched, and if not already on, turns the punch motor
on. The octal configuration of this EOM is 0 02 40644.

EXU

PUN20

This instruction executes the I/O Control EOM that sets
the interrupt and selects output function 00.

POT

PUN20 + I

This instruction transmits to the chonnel the word count
and starting address of the transmission.

BRR

1000

This instruction branches back to the main program.

EOM
01202000

16000

The EOM specifies terminal outputfunction 00 (lORD) and
the End-of-Record interrupt. The word in PUN20 + I specifi es 20 words of output from memory to the punch begi nni ng
at location 2000 (0120 is 0248 shifted right one place; it
is merged with 02000 to moke the "POTted" control word).
According to terminal output function 00, when the word
count equals zero during the transmission, the output terminates. The last word has not been fully transmitted at
this time. When it is and the output is complete, the channel disconnects and the interrupt occurs.

When the Count Equals Zero interrupt occurs:

50

Location

Instruction

33

BRM

END

PZE

Comments
END

This instruction branches and marks to END.
This instruction saves a place for the entry location.

MIN

WHERE

This instruction increments WHERE as a flag.

BRU

*END

This instruction returns to the main program and clears the
interrupt Ieve I.

EXAMPLE:

Read Paper Tape

This program reads a block of 64 characters from paper tape. The routine uses the four characters per word mode,
making the input 16 words. It turns the tape station on and requests a Count Equals Zero interrupt, level 31, for
the operation on Channel W. The routine is a closed subroutine.
location

Instruction

1000

PZE

This instruction saves a place for the entry location.

CLR

This instruction clears the A and B Registers.

REED

31

FNISH

Comments

STA

SWICH

This instruction clears location SWICH used as an inputfinished indicator.

RPT

* 0, I, 4

This instruction connects Paper Tape Reader Number 1 to
Channel W, specifies the four characters per word mode,
and alerts the interlace. The octal configuration of this
EOM instruction is 0 02 42604.

EXU

REED

This instruction executes the EOM at location REED.

POT

REED + 1

This instruction transmits to the channel the word count
and starting address.

BRR

1000

This instruction branches back to the main program for
processing while the input operation is in progress.

EOM
01003720

15200

This EOM specifies terminal input funct;on 01 (IOSD)and
the Count Equa Is Zero i nterrupl. The word in REED + 1
specifies that input into memory begins in location 2000
and that 16 words wi II be read before the operati on terminates. When the word count equals zero, the interrupt
occurs. Then the channel disconnects. When the tape
read operation is complete, the Count Equals Zero interrupt occurs at level 31.

BRM

FNISH

This instruction, in location 31 for this example, branches
and marks to location FNISH.

PZE

This instruction saves the entry location.

MIN

SWICH

This instruction sets an input-finished switch for use by
the main program.

BRU

*FNISH

This instruction branches back to the main program and
clears interrupt level 31 from the active state.

The programmer can make a test to the channel, CET, for parity error during the read operation before the BRU
instruction.

51

CARD INPUT/OUTPUT
The card reader scans the card, column by column, starting with
column one, and transmits either ao or 160 characters to the
channel depending on the mode of operation. When power is
on and cords are in the hopper, the operator mokes the card
ready by pressing the START button. During program operation,
the program must test for the ready condition before initiating
a card read operation. Once an EOM instruction starts the card
read, the desired channel function (EOM, POT) may control
the flow of information into memory. In the Hollerith mode,
any column read that is not punched in one of the 64 combinations listed in Appendix A-I results in a Validity check. The
presence of a Validity check causes an error signal to be sent
to the channel and lights theVALIDITY CHECK light on the
reader.

The computer uses aO-column cards .in two formats. The card
reader reads Hollerith-coded information from cards and transmitsthe corresponding SDS character codes to memory. In this
mode, each column contains the equivalent of one 6-bit internal character. Appendix A-I lists the character codes.
The card reader reads binary-coded information from the card
with two 6-bit characters per column. In binary mode, two
columns form a word. The top six rows (12-3) of column 1, for
example, form the first character and the bottom six (4-9) the
next character. The reader reads from column 1 to ao in this
top-bottom order. A single card holds 160 characters or 40
binary words.

If the stacker shou Id become fu II, or the hopper empty, the
reader is not ready and the NOT READY indicator lights. The
card reader remains in the NOT READY state until the operator
corrects the situation and presses the START button. Upon read-.
ing the last card, the reader sets an End-of-File signal if the
EOF ON switch is on. The central processor con test the Endof-File condition to determine if more cards are in the hopper.

Figure 4-4 shows the relation of Hollerith information on a .card
and in memory. Hollerith output to the punch is identically the
reverse.

Memory

Card A

....

m
0·w~

~

". cc

~"'l"'~

~

~

i- ....
,,~

=~
~~

-

....
....
....
........
....
....

~

~

=~
~~

~~
~~

'"

~~

....
.... '"
~

.... '"
.... '"

~~

";:0=
t.~ (Q

.... '"
........ '"

~cc

=~
~~

~~
~~

-... -... - -'.
... -

...

-- --.- --N

~

.......

...
....... ... ..........
... .......'"

....
'" ....
'"

....

~~ (,Cl

'"

'"
'"
'"

~

"~
"~
"~

=

-......

...
....... ......
.... ...
....
....... ...
~

...

....
....

.-~wQ
-. Q

-~_

... · 0

-;:;.0

•

V?
-i

B

S
62

T
63

A
21

R
51

B+

T
63

-6
60

C
23

R
51

T
63

-6
60

1)

1)

60

60

0
00

73

1
01

-6
60

n

;0

-i
(")
;0

-i

-J::O

-t:_

-;-

_~o

s:'

-;;c::I

-:::l=
-;;=
-;;=
-~Q
-~CI

...,
'"
...,
....

-OQ
-"Q
-.Q
-.Q
-MQ

9

-~Q
-~Q

-tlCI

-~'"
-~=

I/O

~
B + 19

.

<~

~

o~
,,~

~~

=~

~~

;:;:CD

~

c.;'<:C\

co

=~
,,~

~~

~

E~

co

....
....
....
....
....
'"
...
'"
...
....
......
....
....
......
....
....
'"
'" ...
.... '" '"
....
.... ...'" '"en .......

......
...... ...
...... .......
... ....
w

,

N

--------

1)

60

OQ
OQ
~Q

=Q
=Q
=Q
~Q

"Q
~Q

-'::::"Q

~_0iI=
~-

C)

Figure 4-4. Card Reod Into Memory in Hollerith

52

I
I

I
I
I
I
I

I
I

I
0
00

1
01

0
00

Punching

RCD 0, 1,4

The card punch punches cards a row ata time, starting with row
12. The punch coupler, in both the Hollerith and binary modes,
automatically rearronges the information to be punched. The
card punch program must present the entire card image, 80 or
160 characters, to the punch 12 times for each card. This is
necessary because of the way the punch operates. Aseach row
of the card approaches the punch station, the coupler exam ines
every character of the image to determine which column positions in that row should be punched. After the 12th output,
the card punch punches row 9 and completes the card cycle.

RCD alerts the card reader, couses a card to feed from the
hopper, and selects the Hollerith mode (as each column is read
it is translated to an SDS internal code). This mode can read
up to 80 characters (20 words) from a card.

The card punch is Ready to punch if there are cards in the
magazine, the stacker is not full, and the operator has pressed
the START button. The punch remains Ready as 19n9 as the above
conditions are true. A Punch Card instruction given when the
punch is Ready causes a card to feed past the punch station.
The program must then address the punch and give the same
instructions 12 times to transm it the card image to the coupler.

RCB 0, 1,4

READ CARD DECIMAL (Hollerith)

READ CARD BINARY

00202606

00203606

RCB a lerts the card reader, causes a card to feed from the
hopper and selects the binary mode (as each column is read it
is transmitted as two 6-bit binary characters). This mode can
read up to 160 characters (40 words) from a card.
SRC 0, 1

SKIP REMAINDER OF CARD

002 12006

This instruction causes the reader to stop transmission of
characters to the channel. The remaining characters are not
checked for val id ity, but a read check, feed check, or endof-record condition still cause an End-of-Record interrupt and
disconnect the card reader from the channel.

Programm ing Instructions
Card Punch Instructions
The Card Reader and Punch instructions follow. They use unit
number 1 on Channel W with the four characters per word trans, mission mode.
Card Read Instructions
CRT 0,1

CARD READER READY TEST

o 40

12006

This test determines if the selected card reader is Ready to read.
If so, the computer skips the next instruction in sequence and
executes the following instruction. If the reader is Not Ready,
the computer executes the next instruction in sequence.

PBT 0, 1

FIRST COLUMN TEST

CARD READER END-OF-FILE TEST

12046

CARD PU NCH READY TEST

04014046

040 14006

This test determines if the first column is about to be read by
the card reader. Since the time elapsing between the execution of a card reader EOM and the reading of the first column
is approximately 85 milliseconds (48,450 computer cycles),
th is test allows the computer to perform other operations
during this time. If FCT is executed less than 1.2 millisecond~
(approximately 685 computer cycles) before the first column is
due to be read, the computer skips the next instruction in
sequence ane' executes the following instruction. If FCT is
executed 1.2 milliseconds (or more) before the first column
is due to be read, the computer executes the next instruction
in sequence (does not skip).
CFT 0, 1

o 40

This instruction is used to test the status of the punch buffer.
If the punch buffer is clear (empty) and ready for loading
when PBT is executed, the computer skips the next instruction
in sequence ond executes the following instruction. If the
punch buffer is not clear when PBT is executed, the computer
executes the next instruction in sequence (does not skip). The
punch buffer is always clear if the punch is ready to feed and
punch.
CPT 0, 1

FCT 0,1

PUNCH BUFFER TEST

040 11006

This test determines if the End-of-File condition from the card
reader has been detected. If not, the computer skips the next
instruction in sequence and executes the following instruction.
If the EOF cond ition has been detected, the computer executes the next instruction in sequence.
The reader remains in the End-of-File condition until the operator adds cards to the hopper or turns off the EOF ON switch.

This test determines if the selected card punch is Ready to
punch. If so, the computer skips the next instruction in
sequence and executes the following instruction. If the punch
is Not Ready, the computer executes the next instruction in
sequence.
Before the punch is Ready, the operator must place blank cards
in the magazine and press the START button.
PCD 0, 1,4

PUNCH CARD DECIMAL (Hollerith)

00202646

PCD alerts the punch, causes a card to feed past the punch
station, and selects the Hollerith mode. A transmission of 80
characters (20 words) must follow this instruction. The instruction PCD followed by the transmission instructions for 80 characters per card is repeated 12 times.
PCB 0, 1,4

PUNCH CARD BINARY

00203646

PCB alerts the punch, causes a card to feed past the punch station, arid selects the binary mode. A transmission of 160 characters (40 words) must follow this instruction. The instruction
PCB followed by the transmission instructions for 160 characters
per cord is repeated 12 times.

53

EXAMPLE:

Card Read
This program reads one card in Hollerith mode. It is a closed subroutine that uses interrupts; assume the interrupt
system is enabled.
Location

Instruction

1000

PZE

CRT

Comments
This is ah assembler instruction. It conveniently reserves
a location for the subroutine entry.

0, 1

This instruction is the card reader Ready test for Card
Reader Number 1 on Chanhel W.

If Not Ready, the computer executes the next instruction.
If Ready, the computer skips the next one and executes
the following instruction. The octal configuration is
040 12006.

READ

BRU

$-1

This instruction branches back to the test on Not Ready.
The programmer can put an exit to a Not-Ready corrective routine here.

RCD

* 0, 1, 4

This instruction connects Card Reader 1 to Channel W,
alerts the interlace, starts a card moving toward the read
station, and specifies Hollerith mode. The octal configuration for this instruction is 0 02 42606.

EXU

READ

This instruction executes the I/O Control EOM atlocation READ.

POT

READ + 1

This instruction transmits to the channel the word count
and starting address.

BRR

1000

This instruction branches back to the main program.

EOM
01203720

15200

This EOM specifies terminal input function 01 (IOSD)and
the Count Equals Zero interrupt. The word in READ + 1
specifies that a record will be read into memory beginning at location 2000and specifies a 20-word limit.

The computer processes the main program whi Ie the channel performs the card read operation. When finished with the
input, transmission of an interrupt wi II occur to the interrupt level 31, the Count Equals Zero location for Channel W.

54

31

BRM

TEST

PZE

TEST

This instruction, placed in location 31 for this example,
branches and marks to location TEST.
This instruction saves a location for the routine entry.

CET

o

This instruction tests for an error on Channel W. Its octal
configuration is 040 11000.

BRM

ERR

The computer executes this instruction if there is an error
on Channel W. Assume that ERR is the entry to a corrective subroutine.

BRU

* TEST

This instruction returns control to the main program and
clears interrupt level 31. The computer executes this
instruction if no error is detected.

EXAMPLE:

Card Punch
This pragram punches one card in Hollerith mode. It is a closed subroutine that uses interrupts. The Index Register
counts the 12 times the program presents the card image to the punch.
Location
1000

MCRDS

GETRW

PNCH

Instruction

Address

PZE

Saves the location for the subroutine entry.

CLR

Clears the A and B Registers.

STA

SWICH

Clears a switch for later use.

LDA
STA

1000
ENTR2

This pair of LDA and STA place the main program mark address in
location ENTR2.

MIN

ENTR2

MIN adds one to the stored contents.

LDX

ROWS

Initializes the Index Register with 00077765 (octal), which is -11
decimal.

CPT

0, 1

Tests the card punch for a Ready condition. The card punch is Number
1 on Channel W.

BRU

$-1

The computer executes this instruction if the punch is Not Ready. It
branches back to the test, CPT 0, 1. The programmer can place an
exit to a time loop here with the facility to tell the operator that the
card punch wi II not become Ready.

PCD

* 0, I, 4

The computer executes this instruction if the punch is Ready. It alerts
Channel W with interlace, connects Card Punch Number 1 to Channel
W, starts a card moving toward the punch station, and specifies four
characters per word and Hollerith mode.

EXU

PNCH

Executes the EOM located in PNCH.

POT

PNCH + 1

Transmits to the channel the word count and starting address.

BRU

ENTR2

Branches back to the main program.

EOM

16000

This EOM specifies terminal output function 00 (lORD) and the End-ofRecord interrupt. The word in PNCH +1 specifies that 20 words will be
output from memory beginning in locotion 2000.

01203720

ROWS

Comments

Note that the program must send the card image to the channel twelve
times to punch a card.

00077765

The computer processes the main program whi Ie the channel performs the output. When Finished with the output, transmission of an interrupt will occur to the interrupt level 33, the End-oF-Record location for Channel W.
33

BRM

ENTR2

PZE

ENTR2
Saves a location for routine entry.

BRX

GETRW

Increments the index by one. If the base has not been incremented
through zero, the next instruction executed is at location GETRW.
When the base increments to zero, the computer executes the next instruction in sequence. The Index counts row times on the card.

MIN

SWICH

Sets a switch to indicate to the main program that the punch operation is
complete.

BRU

* ENTR2

Returns control to the main program and clears the interrupt.

55

MAGNETIC TAPE INPUT/OUTPUT
Format
Magnetic tape units used in SDS computer systems are IBM-compatible. The tape is one-half inch wide, Mylar base material,
1.5 mils thick. Tape reels (10 1/2-inch, plastic) contain up to
2400 feet of tape. A reflective marker, placed on the back of
the tape approximately ten feet from the beginning of it, indicates the load point. The leading ten feet leave space for
threading tape through the guides on the unit. The load point
marker is on the Mylar side of the tape along the edge nearest
the operator when the tape is mounted. A similar marker is
along the other edge of the tape to mark the end-of-reel. About 14 feet of tape are reserved between the End-of-Reel
marker and the end of the tape. This space includes at least
ten feet of leader and enough tape to hold a record of 9,600
characters in 200 bpi density after sensing of the End-of-Reel
marker.
Character recording on tape is in seven parallel tracks. A
change in the magnetic flux in a track records a I-bit for a
given character position. No change in magnetic flux indicates a O-bit. Six of the tracks are for information; the seventh
track is a parity check. The system allows both even and odd
parity, as needed. Binary recording uses odd parity. In this
mode, the tape unit records the six-bit characters from the
channel without change. Binary-coded decimal (BCD) recording uses even parity. In this mode, the tape control unit transforms characters from the channel to conform to standard IBM,
BCD interchange code (see Appendix A-I).
Arrangement of information on tape is in blocks that may contain one or more records. Only the capacity of available core
storage in the computer I imits block length. An inter-record
gap (section of blank tape) about 3/4-inch long separates blocks
of records on tape. In writing, the tape unit automatically produces gap at the end of a record or block. Reading begins wi th
the first character sensed after the gap and continues until encountering the next gap.
An inter-record gap, followed by a special, single-character
record, marks the end of a file of information. The character
is a Tape Mark (0001111). Writing a one-word record in BCD
with one-character-per-word format can record such a mark.
A reel of tape may contain one or more files. On reading an
End-of-File record, the tape control unit stops the tape and
sets its End-of-File indicator, which the program may test.
The tape control unit considers any record that contains only
Tape Mark (0001111) characters an End-of-Fi Ie. The tape unit
reads such' characters into memory like any other characters.
As the tape unit writes information it makes an odd-even count
of the number of I-bits in each track. At the end of each
record it writes a bit for each track such that the total number
of I-bits in each track is even. This parity check sum is always even whether the character parity is even or odd. The
character containing these check bits is the longitudinal parity character; the tape unit writes it slightly past the end of
recorded information in the block.
The longitudinal check character always reflects an even parity check for each channel. In the BCD mode, the check character itself always has an even number of I-bits. In the binary
mode, however, the check character may have either an even
'or an odd number of I-bits. This means that a reverse scan
over a binary record may result in turning on the error indicator

56

in the channel even though the record is correct. As a general
rule, the program ignores the error indicator after a reverse
operation.
It is possible to write tape in a 1-, 2-, or 3-character-perword mode provided that the rate of characters is sufficient. On
reading, however, the tape unit uses the character count to
ascertain when it has read two characters and can look for gap.
If a l-character-per-word "read" is in operation, a single
noise character will stop the tape. In reverse scan a l-character-per-word operation causes the tape to stop after detecting
the longitudinal check character at the end of the record. This
means that the tape stops in the recorded information.

All scan operations must be in 3- or 4-character-per-word mode
or the tape does not stop when it reaches gap.
As a general rule, the user should program tape units for three
or four characters per word, if possible. The write-tope-mark
operation is an exception to this rule.
Use of the TAPE READY TEST (TRT) between tape operations
of opposite direction ensures that the tape unit stops and reverses. It is an advisable programming practice to terminate tape
writing by several inches of erasure whenever subsequent resumption of recording is anticipated. This eliminates the effects
of a possible extraneous character that might arise through subsequent tape repositioning.
Reading
Once a tape starts with a Read Binary or Read BCD EOM or EOD,
it continues until the tape unit detects an End-of-Record gap.
If the computer does not instruct the tape unit to continue, it
stops in the middle of that gap. When the tape stops, the tape
unit disconnects from the channel. If the tape encounters an
End-of-File, the tape control unit sets its EOF indicator. The
central processor can test this indicator, which remains set unti I the tape unit control receives a new EOM/EOD on that
channel. The tape always stops after the Tape Mark.
At the end of the file the program reads the EOF character
(0001111) into memory along with its check character. In a
four-character-per-word "read", this appears in the first word
of the input area as a 17170000 word.
When the tape unit is writing on tape, it may transmit flux
disturbing surges ahead of the current writing positions; these
surges affect previously written records further down the tape.
This means that a record in the middle of a file cannot be updated or rewritten if the records that follow it are to be read.
Any errors detected either by the channel in the character
parity check or by the control unit with longitudinal parity
check sets the error indicator in the channel. When detecting
such an error in reading, the routine should backspace the
tape over the erroneous record and attempt to reread the record.
The tape unit backspaces over records using the Scan feature.
A Scan reverse EOM or EOD starts the tape in reverse. The
program then waits for the channel to become ready or waits
for the End-of-Transmission (if enabled). When the buffer
becomes ready or the End-of-Transmission interrupt occurs, the

tape stops in front of the backwardly traversed record. If the
program hs enabled the interrupts, the End-of-Word (11) interrupt occurs prior to the End-of-Transmission interrupt; executing a WIM to a dummy location and clearing the interrupt
with a BRU indirect ignore the interrupt.
A Scan operation is simi lar to a Read operation except that the
channel shifts the characters read through its Word Assembly
Register, but does not consi der a word camplete unti I it encounters a tape gap. When the tape reaches the gap, the
channel uses the last four characters in the word assembly as
the only word read from the record. When scanning in reverse,
the word consists of the last four characters scanned, whi ch
are the first four logi cal characters of the record. This operation assembles these characters in reverse. For example, if
the first four characters of the record are 1234 and the tape is
scanning the record in reverse, these appear as 4321 in the
word stored for that record.
The same operation occurs in the forward scan with the last
four characters of the record forming the word stored. The
Scan is useful for reverse searching on the first word of the
records in the file being searched. In this case, the routine
starts the tape in a reverse scan and loads the channel interlace with a terminal function 10 with a word count of 1 and
arms the Count Equals Zero interrupt. When the tape reaches
the beginning of the record, the channel stores the first word
and interrupts the program which checks the key word against
a search key. If they agree, then the program need only wait
for the channel to become inactive (ready) and the routine
reads the record forward. If the record is not the desired one,
the program gives another "scan reverse" without waiting for
the channel to become inactive, and reloads the channel interlace to scan the next record.
If the tape encounters the End-of-Reel marker whi Ie reading,
the tape logic sets the End-of-Reel indicator in the tape unit;
the program can test this at any time. An End-of-File normally indicates the end of recorded information on tape. It
is possible, however, to USto the End-of-Reel indicator to mark
the last record on the reel.

Once a tape unit is ready and the file-protect ring is on th!!!
tape reel, that is, the file-protect test is false, a Write operation can begin. The write tape EOM starts tape motion; the
tape remains in motion until it receives the termination signal
from the buffer. The tape control unit then writes the remaining characters of the r!!!cord and writes the longitudinal check
character. When the read-after-writ!!! head reads this check
character, the tape signals the channel it has reached gap. If
the unit receives no further writ!!! instruction within one mi.llisecond, the tape stops and disconnects.
If the user wishes to backspace or rewind and then to return at
some later time to record additional information at the end of
the previous series of records, the routine shou Id write an Endof-Fi Ie character or erase a segment of tape after the series of
written records. This practice provides positive identification
of the end of a record and facilitates return. to a specific location on the tape. If the programmer does not use this method,
the tape may not subsequently stop in the same location at the
end of the series of records as it did when writing the last record.
This would leave a segmentof tape in the gap which has not been
written and may cause erroneous operation when reading the tap!!!.

In addition to writing under program control, the program can
also erase magnetic tape. When using an erase EOM with an
erase unit address, the tape unit operates as though it were in
a Write mode, except that it records no information. The program or interlace supplies the count of the number of words to
be erased.
This type of erase is useful for the correction of !J write error.
When a write error occurs, an ERASE TAPE REVERSE (ERT)
starts the tape in reverse. The same count, used to write
the record originally, controls the erase. This procedure ensures that the tape always returns to the beginning of the erroneous record, even if a bad spot on the tape might appear as a
gap. The routine may now rewrite the record. If the Write still
produces an error, the routine erases the record backward and
then erases it foward, using the same count, and by-passes the
section of tape where the difficulty occurred. The routine may
now rewrite the record on a new section of tape.
The erase procedure can produce the required 3.75 inches of
-blank tape between the load point and the first record. This is
done by erasing 150 words at 200 bpi density, 417 words at
556 bpi density, or 600 words at 800 bpi density.
Use of a one-character-per-word, BCD, Write instruction
writes an End-of-File record. Then the program loads the channel interlace with a count of 1 and loads the address of a word
containing the Tape Mark character (17) in the left-most position. EOM or EOD instructions to the tape units specify startwithout-leader since the tape unit automatically generates gap
at the end of all records for leader. A magnetic tape program
should never include a leader instruction because an attempt
to generate leader may cause an erroneous operation.
Programming
The SKS and EOM instructions for normal tape operationsfollow. EOM instructions use four character per word format for
units on Channel W.
TRT O,n

TAPE READY TEST

0401041n

TRT 0 tests tape unit number n on Channel W for Not Ready.
If th!!! tape is Not R!!!ady, it skips th!!! next instruction in sequ!!!nce and ex!!!cut!!!S the following instruction. If the tape is
Ready, it !!!x!!!cutes the next instruction in sequence.
A tape is Not Ready if: (1) there is no physical unit set to the
logical unit number being tested, (2) the selected unit is not
in the Automatic mode, or (3) the tape is in motion for any
operation.
FPT O,n

FILE PROTECT TEST

040 1401n

Tests tape unit number n on Channe I W for fi Ie protect. If the
file-protect ring is present, the computer skips the next instruction in sequence and executes the following instruction. If not
inserted, it executes the next instruction in sequence. The skip
does not occur if there is no logical unit n on the channel.

BTT

O,n

BEGINNING OF TAPE TEST

040 1201n

Tests tape unit number n on Channel W for the beginning of the
tape. If not positioned on the load point marker, the computer
skips the next instruction in sequence and executes the following instruction. If positioned on the load point marker, it executes the next instruction in sequence. The skip does not occur
if there is no logical unit n on the channel.

57

ETT 0, n,

END OF TAPE TEST

040nOlri

Tests whether tap~ u'nit f)umber non Chann~1 W is,'not positioned
a(the end of the tape. If the tape unit has not sensed the Endof-Reel marker, the computer skips the next instruction i.n sequence and executes the foi lowing instruCtion. If the End":of.:.
Reel marker has been sensed, it executes the next instruction in
sequence. The End-of-Reel condition is reset when the tape unit
moves the tape backward over the End-of-Reel marker. The skip
does not OCClJr if there is no logical unit n on the channel.
DT2 0, n

DENSITY TEST" 200 BPI

040 1621n

Tests tape unit number n on Channel W for being set at 200 bpi
density. If not, the computer skips the next instruction in sequence and executes the f?lIowing instruction. If so, it exe-'
cutes the next instruCtion in sequence.
DT5 0, n

DENSITY TEST, 556 BPI

040 1661n

Tests tape unit number n on Channel W for being set at 556'bpi
density. If not, the computer skips the next instruction in sequence and executes the following instruction. Ifso, it
executes the rext instructi on in sequence.

WTD 0,n,4

Starts tape unit n on ,Channel W in a BCD Write mode.
EFT 0, n, 4

DENSITY TEST, SOOBPI

Starts tape unit ~ on Channel W in an Erase mode.
ERT 0, n, 4

Starts tape unit n on Channel W in reverse. inan Erase mode.
RTB 0, n, 4

RID 0, n! 4

READ TAPE IN DECIMAL (BCD)

SFB 0, n, 4

SCAN FORWARD IN BINARY

04013610

SRB 0,11,4

REW 0, n

0401261n

Tests whether tape unit n on Channel W has encountered gap
since it received the last EOM/EOD instrpction. If not, the
~omputer wi II skip the next instruction in sequence and execute
the following instruCtion. If so, it executes the next instruction in sequence. TGT wi II execute the next instruction during
the approximately 0.75 millisecond that the tape-gap indicator
is "true"I.
0401021n'

Tape unit n is tested for being a MAGPAK. If the tape unit is
not a MAGPAK, the computer skips the next instruction in sequence and executes the following instruction. If the tape' unit
is a MAGPAK"the computer executes the next inst~uction in
sequE1nce.
WTB 0, n, 4

WRITE TAPE IN BINARY

0

BCD Scan mode.

SCAN REVERSE IN BINARY

0020763n

SCAN REVERSEIN DECIMAL (BCD)

002 0663n

Starts tape unit n on Channel W in reverse in a BCD Scan mode.
REWIND

0021401n

Starts tape unit n on Channel W in a Rewind.
the channel.
RTS 0

CONVERT READ TO SCAN

REWdoes not use

002 14000

The tape unit currently in a read mode on the channel is instructed,to convert from the read mode of operation to the scan
mode of operati on.
SRR 0

SKIP REMAINDER OF

~ECORDt

00213610

The tape unit'currently on the channel is instructed to skip the
remainder .ofthe record being read.

0020365n

Storts tape unit n on Channel W in a Binary Write mode.

58

Binory Scan mode.

Starts tape unit n on Channel W in reverse in a Binary Scan
mode.

The End-of-Fi Ie indi cator remains set unti I the program ca lis for
another tape operation.

MAGPAK TEST

0

0020363n

SCAN FORWARDIN DECIMAL(BCD) 002 0263n

Starts tape unit n on Channel W forward in

SRD 0, n, 4

TAPE GAP TEST

0020261n

Starts tape unit n on Channel W in a BCD Read mode.

Test~ whether a tape unde~ control of the tape cOJltrol unit on
Channel W encountered an End-of-Fi Ie during the last Read or
Scan operation. If not, the computer skips the next instruction
in sequence and executes the following instruction. If so, it
executes the next instruction in sequence.

TGT 0, n

0020361n

READ TAPE IN BINARY

Starts tape unit n on Channel Win a Binary Read mode.'

SFD 0, n, 4

TAPE EN D-O F-FJ LE TEST

0020767n

ERASE TAPE IN REVERSE

040 1721n

Tests tape unit number n .on Channel W for being set at 800 bpi
density. If not, the computer skips the next instruction in sequenceand executes the following instruction. If so, it
executes the next instruction in sequence.
TFTO

0020367n

ERASE TAPE FORWARD

Starts tape unit.n on Channel W forward in
DT8 0, n

0020265n

WRITE TAPE IN DECIMAL (BCD)

t Note: This instruction applies only to 41.7-kc and 96-kc
'magnetic tape systems.

MAGNETIC TAPE EXAMPLE PROGRAMS
The following examples show samples of complete input/output programs for magnetic tape.
EXAMPLE:

Magnetic Tape Read
This program reads one record from Magnetic Tape Number 1 on Channel W.

It uses the End-of-Record interrupt.

The

tape is not at its beginning or end.
Location
1000

Instruction

Comments

PZE
TRT

Saves a location for the subroutine entry.
0,1

Tests Ready Magnetic Tape 1 on Channel W.

If Magnetic

Tape 1 is ready to perform an input/output operation, the
computer executes the next instruction in sequence.

If not,

it skips the next instruction and executes the following one.
The octal configuration is 040 10411.
BRU

$+2

Skips one instruction.

BRU

$-2

Branches back to TRT 0, 1.

The programmer can place here

an exit to a routine that determines reasons for the NonReady condition.

RTD

*0,1,4

Addresses Channel W, alerts the interlace, connects it to
Magnetic Tape 1, specifi es four characters per word and
BCD modes, and starts tape motion.

REDTP

EXU

REDTP

Executes the EOM located in location REDTP.

POT

REDTP+l

Transmits to the channel the word count and starti ng address.

BRR

1000

Branches back to the main program.

EOM
06203720

16000

This EOM specifies terminal input function 00 (lORD) and
the End-of-Record interrupt. The word in REDTP + 1 spec ifies that one record or 100 words, whichever is smaller,
will be read into memory beginning in location 2000. Any
remaining words in the record after the first 100 will be ignored. (0620 is equal to 1448 shifted right one place; it
is merged with 03720 to generate the "POTted" word.)

The main program continues while the channel performs the input operation. When finished, the End-of-Record interrupt
goes to location 33.

33

BRM

COMPL

PZE

COMPL

This instruction in interrupt location 33 branches and marks
to COMPL to finish the read operation.
Saves a location for the routine entry.

CET

o

Tests for error in Channel W. If it detects an error, the computer executes the next instruction in sequence. If not, it
skips the next one and executes the following instruction.
The octal configuration is 040 22000.

BRM

ERTST

Branches to an assumed routine to re-read the block a number
of times and, if the error continues, to notify the operator.

BRU

* COMPL

Returns control to the main program and clears interrupt level
33.

59

EXAMPLE:

Gather-Write Magnetic Tape
The program writes one record on magnetic tape. The gathering of the data written in that record is from three non-contiguous areas of memory. This program isa closed subroutine that uses the Count Equals Zero interrupti it uses Channel W
and Magnetic Tape Number 1 on Channel W with interlace.
A similar program can perform a scatter-read operation. The difference is the exchange of the read instruction (RTD) with
the write instruction (WTD) and the deletion of the file-protect testing instruction.
Location

Instruction

1000

PZE

Saves a location for the subroutine entry.

CLR

Clears the A and B Registers.

FAST

60

Comments

STA

COUNT

Clears location COUNT for use later as a switch.

TRT

0, 1

Tests whether Magnetic Tape 1 on Channel W is Ready.

BRU

$+2

Branches two locations ahead. The computer executes it if
the magnetic tape unit is Ready.

BRU

$ - 2

Branches back to the Ready test.

FPT

0, 1

Tests whether the file-protect ring is present on the tape reel.
If so, the computer skips the next instruction and executes the
following one. The octal configuration is 040 14011.

BRM

OPER

Branches and marks to an assumed routine to call the operator
qnd instruct him to insert file-protect ring on Magnetic Tape L

LOA
STA
MIN

1000
FAST
FAST

These three instructions place the marked subroutine entry
location plus one into location FAST.

WTD

0, I, 4

Connects Magnetic Tape 1 to Channel W, specifies BCD
transfer mode and four characters per word, and starts the
tape moving. The octal configuration is 0 02 02651.

BRU

FAST + 1

Branches around location FAST.

PZE

Saves a location for entry to the multiple write area of the
subroutine.

LOX

COUNT

Loads the Index Register with the contents of COUNT, which
picks up the proper input/output control instructions.

LDA
LOB
SKM
BRU
BRU

OKAY
MASK
COUNT

These five instructions determine when the write operation
is complete. When it is, location COUNT contains the number 6 and the active interrupt, level 31, is cleared. Locat ion MASK contains 77777777S.

ALC

o

Alerts the interlace in Channel W for subsequent loading.

EXU

A, 2

Executes the EOM located in address A modified by the Index.

POT

A + 1,.2

Transmits to the channel the word count and starting address.

MIN
MIN

COUNT
COUNT

These instructions add two to the contents of COUNT.

BRU

* FAST

Branches back to the main program.

$+2
* FAST

The main program continues while the channel performs the output. When finished, the Zero Word Count interrupt goes
to interrupt location 31.
Location
31

Instruction
BRM

Comments
FAST

Branches and marks at location FAST.

The routine repeats this for the output words in A + 2 and in A + 4. Then the test in location FAST + 4 causes a final
Branch to clear interrupt (BRU) back to the main program.

Location

Comments

Instruction

A

EOM
06203720

15600

This EOM specifies terminal output function 11 (IOSP) and
the Count Equals Zero interrupt. The word in A + 1 specifies that 100 words will be read out from memory beginning
in location 2000.

A+2

EOM
14404740

15600

This EOM specifies terminal output function 11 (IOSP) and
the Count Equals Zero interrupt. The word in A+3 specifies 200 words from memory beginning in location 2500.

A+4

EOM
06205670

15000

The EOM specifies terminal output function 00 (lORD) and
the Count Equals Zero interrupt. The word in A+5 specifies 100 words from memory beginning in location 3000.
Upon completion of the output of this sub-record, the channel disconnects.

OKAY

00000006

This is the stored number 6 used in the completion test above.

NOTE: This sample program is for clarification of magnetic tape programming. It does not include extra programming to
save the contents of the A or the Index Register for the main program.

61

LINE PRINTER
SDS buffered line printers are capable of printing up to 1000
lines per minute at 132 characters per line, with a standard set
of 56 characters. Printing is accomplished by means of a rotating character drum and a bank of 132 print hammers. The
drum passes 56 different characters, in lines of 132 each, past
the hammer bank. Upon command from the computer, the selected print hammers drive the paper against the ribbon and
onto the appropriate character typeface as it passes the print
position. The characters are transmitted sequentially for storage in the printer buffer before printing. A programmable format tape loop provides fixed (or preselected) space control.
Upspacing of 1 to 7 lines, as well as page control, may be accomplished by program instructions.
An optional, off-line facility allows the program or the operator to initiate card-to-printer or magnetic tape-to-printeroperations simultaneous with computation (see Off-Line Printing).
Printer Controls
The printer controls, Figure 4-5, for SDS line printers consist
of eight switches and indicators.

f
(

ON

l

READY

)

POWER

~r::::J

~~

Figure 4-5. Printer Control Indicator Lights and Switches
The POWER/ON switch is an alternate action switch. The computer must be turned on for this switch to be activated. Pressing POWER/ON lights the top half of the indicator, turns on
the motors and hammer driver power supply, and starts a timer
• that allows the motors to reach proper speed. After 20 seconds
the bottom half lights, indicating that the printer is operable.
When the printer is initially turned on, the READY indicator is
off. When pressed, it is turned on if:
1.

paper is loaded in the line printer,

2.

the lower half of the POWER/ON switch is lighted, and

3.

the hammer power supply is on.

62

This indicator autamatically goes off when the above conditions are not realized. The printer is ready for either online or off-line operation when READY is turned on. Ready
is reset to preclude computer intervention whi Ie changing
paper or ribbon, or operating the TOP OF FORM or SINGLE
SPACE switches.
Pressing TOP OF FORM causes the printer to position paper
accordi ng to format tape channe I 1. Th i sind i cator is lighted
only when the format tape is positioned at channell, that
is, top-of-form on a standard tape loop. This switch is operative when there is paper in the printer and the READY indicator is off.
Pressing SINGLE SPACE causes the printer to upspace paper
one single space, independently af the vertical format tape.
This switch is operative when there is paper in the machine and
READY is off.
The FAULT indicator lights when the printer detects a parity
error as information transfer from the buffer to the print hammers, or when it detects a parity error in incoming data from
magnetic tape or cards during an off-line operation. It remains
lighted until the next EOM addresses the printer. The condition
of the light corresponds to the status of a program-testable fault
indicator in the printer.
MANUAL/OFF LINEt is a combination of a switch and two
independent indicators. The program or the operator may
initiate off-line operation, which is indicated by the illumination of OFF LINE (the bottom half of this switch). If the
operator presses this switch to initiate off-line operation,
MANUAL (the top half of the switch) is also lighted and
remains lighted until the operator presses the switch again.
OFF LINE is normally reset when the end-of-file is detected
from the input unit. Pressing READY also resets OFF LINE,
that is, by switching the printer from the "ready" to the "not
ready" state.
The FORMAT/SPACE t switch is used in off-line operation.
, The operator may use either mode, spacing a single space after
each line of print, or using the first character stored on tape or
cards as a ver'tical format character.
The TAPE/CARD t switch selects the desired input device.
Paper Tape Format Loop
A paper tape format loop, placed in the printer, allows upspacing to proceed to prespecified vertical positions on the print
page. The format loop is an eight-channel paper tape. Putting a punch in the specified channel at the desired vertical
spacing selects the channel upspace. Channell is the top-ofform channel, channel 7 is the bottom-of-farm channel, and
channel 0 is the single-upspace channel. In the off-line mode
with SPACE control, channel 0 controls single spacing. When
printing with no format loop inserted in the printer, single upspacing occurs regardless of the channel specified.
tif an off-line coupler is not attached to the printer, the
MANUAL/OFF LINE, FORMAT/SPACE, and TAPE/CARD indicators neither light nor affect printer operation.

Line Printer Instructions
PLPO,1,4

PRINT LINE PRINTER

00202660

This instruction connects the line printer to channel Wand
ifies a character transmission of 4 characters per word.

The following control instructions are coded for Channel W
using unit number 1:
PRINTER OFF-LINE

002 10260

This instruction places the printer off-line and initiates an offline print operation. The selected input device (card reader 1
or magnetic tape unit 7) also goes off-line (See Off-Line
Printing).
PSC 0, 1,n

PRINTER SKIP TO FORMAT
CHANNEL n

Paper is loaded in the machine,

2.

The lower half of the POWER/ON switch is lighted, and

3.

The hammer power supply is on.

SPE.C-

This instruction is followed by the transmission of up to 132
characters. If the character count is less than 132, the characters are printed left-justified on the page. If the character
count is more than 132, the printer produces an undetectable error.

POL 0, 1

1.

0021n460

This instruction causes the printer to eject paper until the paper
tape format loop detects the first punched hole in the channel
specified by the number n (0 to 7). (See PSP for timing.)

If the printer is ready when PRT is executed, the computer skips
the next instruction in sequence and executes the following instruction. If the printer is not ready, the. computer executes
the next instruction in sequence (does not skip). Since the
printer tests ready whi Ie ejecting paper, the program should
allow a definite time interval to pass (see PSP) after a PSC or
PSP instruction before executing a new PSC or PSP. A dummy
PLP instruction may be issued between two space instructions
(PSC or PSP). This instruction will provide the timing required.
A ready test may be used to determine when the second paper
space instruction may be sent.
EPT 0, 1

END OF PAGE TEST
(Skip if not End of Page)

040 14060

This instruction tests the printer for paper position. If the paper
is positioned at the end of page (specified by formot channel 7)
the computer executes the next instruction in sequence (does
not skip). If the paper is. not positioned at the specified end
of page, the computer skips the next instruction in sequence
and executes the following instruction.
Terminating Line Printer Output

PSP O,l,n

PRINTER UPSPACE n LINES

002 1n660

This instruction causes the printer to upspace n (0 to 7) lines.
Consecutive upspace instructions must be separated by a sufficient time delay. Otherwise, the two PSP instructions may be
merged by the printer.

When the single-word mode of transmission is used for printing
on the line printer, each character transmission for a line must
be followed by a TERMINATE OUTPUT (TOP) instruction. TOP
is automatically generated with interlaced outputs.
Error Conditions

Approximate completion times for PSP (from initiation of instruction to paper stop) ore:

1.

Pri nt fault - parity error during transfer of character
information from print buffer to print hammers.

2.

Buffer error - parity of character rate error during transfer of information through buffer.

3.

Input fault - parity error in incoming data from cards or
magnetic tape (during off-line operation only).

Upspace 1 line: 25 mi IIiseconds (14,275 cycles)
Upspace more than 1 line: add 10 mi IIiseconds (5,690
cycles) for each additional line.
Line Printer Tests
The line printer tests to follow are coded for channel W using
unit number 1:

PFT 0,1

PRINTER FAULT TEST
(Skip if no Printer Fault)

04011060

This test determines if the printer has detected a parity error
during a transfer of information from the printer buffer to the
print hammers. If .such an error occurs, a fault detector is set
and the FAULT indicator is lighted. If the fault detector is set
when PFT is executed, the computer executes the next instruction in sequence (does not skip). If the fault detector is not
set, the computer skips the next instruction in sequence and
executes the following instruction.
PRT 0,1

PRINTER READY TEST
(Skip if Printer Ready)

04012060

This instruction tests the printer for a "ready" condition. The
criteria for a printer "ready" condition are:

Off-Line Printing
The optional, off-line facility allows the line printer to produce
printed records from card or magnetic tape sources without computer attention. The character transmission proceeds directly
from the source to the printer and the channel may sti II be used
by the computer for other input/output operations (e.g., card
reading on card reader 2, card punch, paper tape read/punch,
disk read/write, etc.). Once initiated, the printing operation
is controlled by the source and proceeds unti I the source generates an end-of-file signal (see card input and magnetic tape
input for appropriate end-of-file conditions).
The FAULT indicator lights when a parity error is detected during the reading of a tape record; the off-line printer rereads the
record in an attempt to read good data. If this reread record
contains an error, FAULT lights, the off-line operation terminates, and the printer goes back on-line if physi cally connected

63

EXAMPLE: Print Two Lines
This program positions the paper at the top of the page and prints two lines with a single upspace between them. It assumes
that the printer is ready to print o.r is becoming ready after a print operation. This.program, written as a closed subroutine,
uses channel W, Line Printer 1, and the Count Equals Zero and End-of-Record interrupts.
Location

Instruction

1200

PZE

Address

Reserves a location for subrouti ne entry.

CLR

PRINT

Comments

Clears the A and B Registers.

STA

SWICH

Initializes a location, SWICH, which indicates that printing is completed.

PRT

0,1

Tests for printer ready.

BRU

$-1

Returns controJ to the ready test; if the printer is not ready, the computer executes
this instruction.

PSC

0,1,1

Instructs the printer to move paper to the top of the page.
this instruction is 0 02 11460.

PLP

*0, 1,4

Connects Printer 1 to Channel W, and specifies four characters per word transfer mode,
and alerts the interlace. The octal configuration for this instruction is 0 0242660.

EXU

PRINT

Executes the EOM located in location PRINT.

POT

PRINT+l

Transmits the word count and starting address.

BRR

1200

Branches back to the main program while the line is being printed.

EOM
02043720

16200

This EOM specifies output function 01 and the. End-of-Record interrupt. The word in
PRINT + 1 speci fi es that 33 words wi II be output from memory begi nni ng in locati on 2000.

The octal configuration for this instruction is 0 40 12060.

The octal configuration for

The main program continues while the data transfer and printing is being completed. When completed, the End-of-Record interrupt goes to interrupt level 33. Thisindicdtes that aH the data from memory has been obtained, and that the printing of the
line has been completed.
33

BRM

UPSPC

PZE

UPSPC

Branches and marks to location UPSPC elsewhere in memory.
Reserves a bcation for an entry.

PRT

0,1

Tests for printer reac:\y condition.
wi II be ready.

BRU

*-1

Returns to the test.

PSP

0, 1, 1

Causes the printer to upspace one line. The octal configuration is 0 02 11660.

PLP

*0,1,4

'Sets up the printer with interlace.

EXU

PRNT

Executes the EOM in location PRNT.

POT

PRNT +1

Transmits to the channel the word count and s,tarting address.

BRU

*UPSPC

Branches and clears the interrupt to the mai n program to await completion of the data
transfer.

31

BRM

DONE

Branches and marks to location DONE elsewhere in memory.

DONE

PZE

HEAR

PRNT

Since the current line has been'printed, the printer

This pseudo operation reserves a location for an entry.

MIN

SWICH

Sets the printing complete flag.

BRU

*DONE

Branches back to the main program and clears interrupt 31.

EOM
02043761

15000

This EOM specifies terminal output function OO(iORD) and the Count Equals Zero interrupt. The word in PRNT +1 specifies that 33 words will be read out. from memory beginningin location 2033. The channel disconnects at the end of the output.

This is the final exit.

At location HEAR, note that the computer executes the instructions to print and control the printing before the printing has had
time to completely upspace the paper as requested. The i:nstructions cause an immediate transfer of data into the Print Buffer
and printing begins immediately after completion of upspacing.

64

to the computer and the MANUAL indictor is off. When a
validity check occurs during a card read, FAULT lights, the
operation terminates, and the printer goes back on-line if the
MANUAL indicator is off. The next EOM addressing the printer resets FAULT if the printer is on-line. If the MANUAL indicator is on, the error condition may be cleared by pressing
READY off and then on again. If a fault occurs in an off-line
operation initiated by the computer, the usual method for cleari ng the error is:

1.

Press MANUAL on.

2.

Press READY off.

3.

Press READY on.

4.

Press MANUAL off.

Off-line printing can be formatted as desired through the use of
a single upspace or the format control mode (see Table 4-2).
Off-line printing terminates by an end-of-file indicator from
either device. Upon termination of an off-line operation, a
physically connected off-line printer system returns on-line,
provided the MANUAL indicator is off.
Format Control Characters

Code

Character

Function

00
01
02
03
04
05
06
07
40
41
42
43
44
45
46
47

0
1
2
3
4
5
6
7
- (hyphen)
J
K
L
M
N

Skip to format channel
Skip to format channel
Skip to format channel
Skip to format channel
Skip to format channel
Skip to format channel
Skip to format channel
Skip to format channel
Do not space
Upspace 1 line
Upspace 2 lines
Upspace 3 lines
Upspace 4 lines
Upspace 5 lines
Upspace 6 lines
Upspace 7 lines

0
P

The procedure for operator control of off-line printing is:

1.

Switch on the desired input device. (Magnetic tape is
selected by dialing it to logical tape number 7.)

2.

Place paper at top of form, as desired, by means of the
TOP OF FORM switch.

3.

Select desired input device by means of the TAPE/CARD
switch.

4.

Select either the FORMAT or SPACE mode as required.

5.

Press MANUAL/OFF LINEswitch.

6.

Press READY switch on, which initiates actual data transfer.l

Printing Off-Line Under Computer Control

In a manual Iy i niti ated off-I i ne operation, steps 1 and 4 are not
required.

Table 4-2.

Printing Off-Line Under Operator Control

0
1
2
3
4
5
6
7

The procedure for computer control of off-line printing is:

1.

Turn the equipment on.

2.

Prepare the desired input device for operation.

3.

Select desired input device by means of the TAPE/CARD
switch.

4.

Select either the FORMAT or SPACE mode as required.

5.

Press the READY switch on.

6.

Under program control, test the tape or card unit and the
line printer for "ready" condition.

7.

Then, to start transfer of data, give the POL instruction to
print off-line.

.

Off-Line Print Termination
Off-line printing terminates when an end-of-file indicator from
the magnetic tape unit or card reader occurs. When printing
from magnetic tape, the print operation terminates when the
first character read from a record is the end-of-file code, octal 17.
When printing from cards, the print operation terminates when
the end-of-file signal comes from the reader. This occurs when
the card hopper becomes empty and the EOF ON switch on the
reader is on (END OF FILE indicator lights). If the hopper becomes empty when EOF ON is not lighted, the printer waits
for more cards to be placed in the hopper and the reader to become ready. When the reader is again ready, printing resumes.

65

I

SDS CHARACTER CODES

Characters
Printer

o

SDS
Internal
Code

Card
Code

Magnetic Tape
BCD Code
on Tape

12

40

11

40

01

41

11-1

41

SDS
Internal
Code

Card
Code

Magnetic Tape
BCD Code
on Tape

00

o

01

Characters
Typewriter

Printer

2

2

02

2

02

K

K

42

11-2

42

3

3

03

3

03

L

L

43

11-3

43

M

M

44

11-4

44

4

4

04

4

04

5

5

05

5

05

N

N

45

11-5

45

6

6

06

6

06

o

o

46

11-6

46

7

7

07

7

07

P

P

47

11-7

47

Q

50

11-8

50

R

51

11-9

51

8

8

10

8

10

Q

9

9

11

9

11

R

Blank

12

8-2

12@

# or =

13

8-3

13

@: or'

14

8-4

14

Space

>

& or +

Car. Ret.

!CD !0

$

0

52

11-0

53

11-8-3

53

52

54

11-8-4

54

11-8-5

55

15

8-5

15

55

>

16

8-6

16

56

11-8-6

56

J

17

8-7

17

57

11-8-7

57

+

20

12

60

{,

20

21

12-1

61

/

A

Blank

60

Blank

/

61

0-1

21

5

62

0-2

22

B

22

12-2

62

C

23

12-3

63

T

T

63

0-3

23

D

24

12-4

64

U

U

64

0-4

24

25

12-5

65

V

V

65

0-5

25

W

66

0-6

26

26

12-6

66

W

G

G

27

12-7

67

X

X

67

0-7

27

H

H

30

12-8

70

Y

Y

70

0-8

30

I

I

31

12-9

71

Z

Z

71

0-9

31

*CD

*0

72

0-8-2

32

73

0-8-.3

33

74

0-8-4

34

75

0-8-5

35

76

0-8-6

36

0-8-7

37

Backspace?C0

?0

II or )

32

12-0

0

72

33

12-8-3

73

34

12-8-4

74

35

12-8-5

75

<

36

'" Stop

37

0

NOTES:

CD

o

®

8)

o

The characters? ! and

12-8-6

76

12-8-7

77

* are for input only.

Tab

% or (

\
.. Delete

770

The functions Backspace, Carriage Return, or Tab always occur on output.

On the off-line paper tape preparation unit, 37 serves as a stop code and 77 as a code delete.
The internal code 12 is

writte~

on tape as a 12 in BCD. When read, this code is always converted to 00.

The codes 12-0 and 11-0 are generated by the card punch; however, the card reader will also accept 12-8-2
for 32 and 11-8-2 for 52 to.maintain compatibility with earlier systems.
For.the 64-character printers only.

A-J

TABLE OF POWERS OF TWO
n

1
2
4
8

0
1

1.0

2.
3

0.25
o. 125

16
32
64
128

4
5
6
7

0.062 5
0.03125
0.015625
0.007 812 5

256
512
1 024
2048

8
9
10
11

0.00390625
0.001 953 125
0.000 976 562 5
0.00048828125

4 096
8 192
16 384
32768

12
13
14
15

0.000 244140 625
0.0001220703125
0.000 061 035 156 25
0.000 030 517 578 125

O. 5

65
131
262
524

536
072
144
288

16
17
18
19

0.000
0.000
0.00.0
0.000

1
2
4
8

048
097
194
388

576
152
304
608

20
21
22
23

0.00000095367431640625
0.000 000476 837 158 203 125
0.000 000 238418 579101 5625
0.000 000 119 209 289 550 781 25

16
33
67
134

777
554
108
217

216
432
864
728

24
25
26
27

0.000 000 059 604 644775390 625
0.000 000 029 802322387 695 312 5
0.000000014901161 19384765625
0.000 000 007 450 580596 923 828 125

268435
536 870
1.073 741
2147483

456
912
824
648

28
29
30
31

0.000
0.000
0.000
0.000

000 003
000 001
000000
000 000

725 290 298 461 914062 5
862645149 230 957031 25
931 322574615478 515625
465 661 287307 739 257 812 5

296
592
184
368

32
33
34
35

0.000
O. qoo
0.000
0.000

000 000
000 000
000000
000 000

232830643 653
116 415321 826
058 207660 913
029 103830456

68 719 476 736
137438 953 472
274 877 906 944
549 755 ~13 888

36
37
38
39

0.000 000 000 014 551 915 228 366 851 806640 625
0.0000000000072759576141834259033203125
0.000 000 000 003 637978 807 091 712 951 660 156 25
0.000 000 000 001 818989403 545856 475 830 078 125

776
552
104
208

40
41
42
43

0.000 000 000 000 909494 701 772 928 237 915
0.000000000000454747350886464118957
0.000 000000000 227373 675443 232059478
0.000 000 000 000 113 686 837 721 616 029 739

592186 044416
184372 088 832
368 744 177 664
737488355328

44
45
46
47

0.000 000 000 000
0.000 000 000 000
0.000 000 000000
0.000000000 000

281 474 976 710 656

48

0.000 000 000 000 003 552713 678 800 500 929355621 337890 625

4 2'H
8 589
17 179
34359

1 099 511
2 199 023
4398046
8 796 093
17
35
70
140

A-2

2"

967
934
869
738

627
255
511
022

015
007
003
001

258 7890625
629 394 531 25
814697 265625
907 348 632812 5

056
028
014
007

869628 906
934814453
467407 226
733 703 613

843 418 860808014
421 709 430 404 007
210 854 715 202003
105427357.601 001

25
125
562 5
281 25

039
519
759
379

062 5
531 25
765.625
882812 5

869 689 941 4.06 25
434 844.970 703 125
717422485351 5625'
858 711 242675781 25

OCTAL -DECIMAL INTEGER CONVERSION TABLE

0000

0000

to
0777
IOctal)

0511

to

(Decimo/)

Octal Decimal

10000- 4096
20000- 8192
30000- 12288
40000 • 16384
50000 • 20480
60000- 24576
70000 • 28672

l~O

to
1777
(Octo!)

I

0512

to
1023
IOecimol)

0

1

2

3

4

5

6

7

0000
0010
0020
0030
0040
0050
0060
0070

0000
0008
0016
0024
0032
0040
10048
0056

0001
0009
0017
0025
0033
0041
0049
0057

0002
0010
0018
0026
0034
00'42
0050
0058

OOO;!
0011
0019
0027
0035
0043
0051
0059

0004
0012
0020
0028
0036
0044
0052
0060

0005
0013
0021
0029
0037
0045
0053
0061

0006
0014
0022
0030
0038
0046
0054
0062

0007
0015
0023
0031
0039
0047
0055
0063

0400
0410
0420
0430
0440
0450
0460
0470

0100
0110
0120
0130
0140
0150
0160
0170

0064
0072
0080
0088
0096
0104
0112
Oi20

0065
0073
0081
0089
0097
0105
0113
0121

0066
0074
0082
0090
0098
0106
0114
0122

0067
0075
0083
0091
0099
0107
0115
0123

0068
0076
0084
0092
0100
0108
0116
0124

0069
0077
0085
0093
0101
0109
0117
0125

0070
0078
0086
0094
0102
0110
0118
0126

0071
0079
0087
0095

0200
0210
0220
0230
0240
0250
0260
0270

0128
0136
0144
0152
0160
0168
0176
0184

0129
0137
0145
0153
0161
0169
0177
0185

0130
0138
0146
0154
0162
0170
0178
0186

0131
0139
0147
0155
0163
0171
0179
0187

0132
0140
0148
0156
0164
0172
0180
0188

0133
0141
0149
0157
0165
0173
0181
0189

0134
0142
0150
0158
0166
0174
0182
0190

0300
0310
0326
0330
0340
0350
0360
0370

0192
0200
0208
0216
0224
0232
0240
0248

0193
0201
0209
0217
0225
0233
0241
0249

0194
0202
0210
0218
0226
0234
0242
0250

0195
0203
0211
0219
0227
0235
0243
0251

0196
0204
0212
0220
0228
0236
0244
0252

0197
0205
0213
0221
0229
0237
0245
0253

0

1

2

3

4

5

0

1

2

3

4

5

6

7

0256
0264
0272
0280
0288
0296
0304
0312

0257
0265
0273
0281
0289
0297
0305
0313

0258
0266
0274
0282
0290
0298
0306
0314

0259
0267
0275
0283
0291
0299
0307
0315

0260
0268
0276
0284
0292
0300
0308
0316

0261
0269
0277
0285
0293
0301
0309
0317

0262
0270
0278
0286
0294
0302
0310
0318

0263
0271
0279
0287
0295
0303
0311
0319

0500 0320 0321
0510 0328 0329
05~0 0336 0337
0530 0344 0345
0540 0352 0353
0550 0360 0361
0560 0368 0369
0570 0376 0377

0322
0330
0338
0346
0354
0362
0370
0378

0323
0331
0339
0347
0355
0363
0371
0379

0324
0332
0340
0348
0356
0364
0372
0380

0325
0333
0341
0349
0357
0365
0373
0381

0326
0334
0342
0350
0358
0366
0374
0382

0327
0335
0343
0351
0359
0367
0375
0383

0167
0175
0183
0191

0600
0610
0620
0630
0640
0650
0660
0670

0384
0392
0400
0408
0416
0424
0432
0440

0385
0393
0401
0409
0417
0425
0433
0441

0386
0394
0402
0410
0418
0426
0434
0442

0387
0395
0403
0411
0419
0427
0435
0443

0388
0396
0404
0412
0420
0428
0436
0444

0389
0397
0405
0413
0421
0429
0437
0445

0390
0398
0406
0414
0422
0430
0438
0446

0391
0399
0407
0415
0423
0431
0439
0447

0198
0206
0214
0222
0230
0238
0246
0254

0199
0207
0215
0223
0231
0239
0247
0255

0700
0710
0720
0730
0740
0750
0760
0770

0448
0456
0464
0472
0480
0488
0496
0504

0449
0457
0465
0473
()oI81
0489
0497
0505

0450
0458
0466
0474
0482
0490
0498
0506

0451
0459
0467
0475
0483
0491
0499
0507

0452
0460
0468
0476
0484
0492
0500
0508

0453
0461
0469
0477
0485
0493
0501
0509

0454
0462
0470
0478
0486
0494
0502
0510

0455
0463
0471
0479
0487
0495
0503
0511

6

7

0

1

2

3

4

5

6

7

0518
0526
0534

1400
1410
1420
1430
1440
1450
1460
1470

0768
0776
0784
0792
0800
0808
0816
0824

0769
0777
0785
0793
0801
0809
0817
0825

077Q
0778
0786
0794
0802
0810
0818
0826

0771
0779
0787
0795
0803
0811
0819
0827

0772
0780
0788
0796
0804
0812
0820
0828

0773
0781
0789
0797
0805
0813
0821
0829

0774
0782
0790
0798
0806
0814
0822
0830

0775
0783
0791
0799
0807
0815
0823
0831 '
0839

01~

0111
0119
0127
0135
0143
0151
01~9

1000
1010
1020
1030
1040
1050
1060
1070

0512
0520
0528
0536
0544
0552
0560
0568

0513
0521
0529
0537
0545
0553
0561
0569

0514
0522
0530
0538
0546
0554
0562
0570

0515
0523
0531
0539
0547
0555
0563
0571

0516
0524
0532
0540
0548
0556
0564
0572

0517
0525
0533
0541
0549
0557
0565
0573

0550
0558
0566
0574

0519
0527
0535
0543
0551
0559
0567
0575

1100
1110
1120
1130
1140
1150
1160
1170

0576
0584
0592
0600
0608
0616
0624
0632

0577
0585
0593
0601
0609
0617
0625
0633

0578
0586
0594
0602
0610
0618
0626
0634

0579
0587
0595
0603
0611
0619
0627
0635

0580
0588
0596
0604
0612
0620
0628
0636

0581
0589
0597
0605
0613
0621
0629
0637

0582
0590
0598
0606
0614
0622
0630
0638

0583
0591
0599
0607
0615
0623
0631
0639

1500
1510
1520
1530
1540
1550
1560
1570

0832
0840
0848
0856
0864
0872
0880
0888

0833
0841
0849
0857
0865
0873
0881
0889

0834
0842
0850
0858
0866
0874
0882
0890

0835
0843
0851
0859
0867
0875
0883
0891

0836
0844
0852
0860
0868
0876
0884
0892

0837
0845
0853
0861
0869
0877
088S
0893

0838
0846
0854
0862
0870
0878
0886
089(

0855
0863
0871
0879
0887
0895

1200
1210
1220
1230
1240
1250
1260
1270

0640
0648
0656
0664
0672
0680
0688
0696

0641
0649
0657
0665
0673
0681
0689
0697

0642
0650
0658
0666
0674
0682
0690
0698

0643
0651
0659
0667
0675
0683
0691
0699

0644
0652
0660
0668
0676
0684
0692
0700

0645
0653
0661
0669
0677
0685
0693
0701

0646
0654
0662
0670
0678
0686
0694
0702

0647
0655
0663
0671
0679
0687
0695
0703

1600
1610
1620
1630
1640
1650
1660
1670

0896
0904
0912
0920
0928
0936
0944
0952

0897
0905
0913
0921
0929
0937
0945
0953

0898
0906
0914
0922
0930
0938
0946
0954

0899
0907
0915
0923
0931
0939
0947
0955

0900
0908
0916
0924
0932
0940
0948
0956

0901
0909
0917
0925
0933
0941
0949
0957

Og02
0910
09,18
0926
0934
0942
0950
0958

0903
0911
0919
0927
0935
0943
0951
0959

1300
1310
1320
1330
1340
1350
1360
1370

0704
0712
0720
CJ728
0736
0744
0752
0760

0705
0719
0721
0729
073'1
0745
0753
0761

0706
0714
0722
0730
0738
0746
0754
0762

0707
0715
0723
0731
0739
0747
0755
0763

0708
0716
0724
0732
0740
0748
0756
0764

0709
0717
0725
0733
0741
0749
0757
0765

0710
0718
0726
0734
0742
0750
0758
0766

0711
0719
0727
0735
0743
0751
0759
0767

1700
1710
1720
1730
1740
1750
1760
1770

0960
0968
09'76
0984
0992
1000
1008
1016

0961
0969
0977
098S
0993
1001
1009
1017

0962
0970
0978
098-6
0994
1002
1010
1018

0963
0971
0979
0987
0995
1003
1011
1019

0964
0972
0980
0988
0996
1004
1012

0965
0973
0981
0989
0997
1005
1013
1020 1021

0966
0974
0982
0990
0998
1006
1014
1022

0967
0975
0983
0991
0999
1007
1015
1023

0542

08~7

A-3

Octal-Decimal Integer Conversion Table

1

2

3

4

5

6

7

2400
2410
2420
2430
2440
2450
2460
2470

1280
1288
1296
1304
1312
1320
1328
1336

1281
1289
1297
1305
1313
1321
1329
1337

1282
i290
1298
1306
1314
1322
1330
1338

1283
1291
1299
1307
1315
1323
1331
1339

1284
1292
1300
1308
1316
1324
1332
1340

1285
1293
1301
1309
1317
1325
1333
1341

1286
1294
1302
1310
1318
1326
1334
1342

1287
1295
1303
1311
1319
1327
1335
1343

1095
1103
1111
1119
1127
1135
1143
1151

2500
2510
2520
2530
2540
2550
2560
2570

1344
1352
1360
1368
1376
1384
1392
1400

1345
1353
1361
1369
1377
1385
1393
1401

1346
1354
1362
1370
1378
1386
1394
1402

1347
1355
1363
1371
1379
1387
1395
1403

1348
1356
1364
1372
1380
1388
1396
1404

1349
1357
1365
1373
1381
1389
1397
1405

1350
1358
1366
1374
1382
1390
1398
1406

1351
1359
1367
1375
1383
1.391
1399
1407

1158
1166
1174
1182
1190
1198
1206
1214

1159
1167
1175
1183
1191
1199
1207
1215

2600
2610
2620
2630
2640
2650
2660
2670

1408
1416
1424
1432
1440
1448
1456
1464

1409
1417
1425
1433
1441
1449
1457
1465

1410
1418
1426
1434
1442
1450
1458
1466

1411
1419
1427
1435
1443
1451
1459
1467

1412
1420
1428
1436
1444
1452
1460
1468

1413
1421
1429
1437
1445
1453
1461
1469

1414
1422
1430
1438
1446
1454
1462
1470

1415
1423
1431
1439
1447
1455
1463
1471

2700
2710
2720
2730
2740
2750
2760
2770

1472
1480
1488
1496
1504
1512
1520
1528

1473
1481
1489
1497
1505
1513
1521
1529

1474
1482
1490
1498
1506
1514
1522
1530

1475
1483
1491
1499
1507
1515
1523
1531

1476
1484
1492
1500
1508
1516
1524
1532

1477
1485
1493
1501
1509
1517
1525
1533

1478 1479
1486 1487
149~ 1495
1502 1503
1510 1511
1518 1519
1526 1527
1534 1535

0

I

2

3

4

5

6

7

1

2

3

4

5

6

7

2000
2010
2020
2030
2040
2050
2060
2070

1024
1032
1040
1048
1056
1064
1072
1080

1025
1033
1041
1049
1057
1065
1073
1081

1026
1034
1042
1050
1058
1066
1074
1082

1027
1035
1043
1051
1059
1067
1075
1083

1028
1036
1044
1052
1060
1068
1076
1084

1029
1037
1045
1053
1061
1069
1077
1085

1030
1038
1046
1054
1062
1070
1078
1086

1031
1039
1047
1055
1063
1071
1079
1087

2100
2110
2120
2130
2140
2150
2160
2170

1088
1096
1104
1112
1120
1128
1136
1144

1089
1097
1105
1113
1121
1129
1137
1145

1090
1098
1106
1114
1122
1130
1138
1146

1091
1099
1107
1115
1123
1131
1139
1147

1092
1100
1108
1116
1124
1132
1140
1148

1093
1101
1109
1117
1125
1133
1141
1149

1094
1102
1110
1118
1126
1134
1142
1150

2200 1152 1153 1154
2210 1160 1161 1162
2220 1168 1169 1170
2231) 1176 1177 1178
2240 1184 1185 1186
2250 1192 1193 1194
2260 1200 1201 1202
2270 1208 1209 1210

1155
1163
1171
1179
1187
1195
1203
1211

1156
1164
1172
1180
1188
1196
1204
1212

1157
1165
1173
1181
1189
1197
1205
1213

1216
1224
1232
1240
1248
1256
1264
1272

1217
1225
1233
1241
1249
1257
1265
1273

1218
1226
1234
1242
1250
1258
1266
1274

1219
1227
1235
1243
1251
1259
1267
1275

1220
1228
1236
1244
1252
1260
1268
1276

1221
1229
1237
1245
1253
1261
1269
1277

1222
1230
1238
1246
1254
1262
1270
1278

1223
1231
1239
1247
1255
1263
1271
1279

0

1

2

3

4

5

6

7

3000
3010
3020
3030
3040
·3050
3060
3070

1536
1544
1552
1560
1568
1576
1584
1592

1537
1545
1553
1561
1569
1577
1585
1593

1538
1546
1554
1562
1570
1578
1586
1594

1539
1547
1555
1563
1571
1579
1587
1595

1540
1548
1556
1564
1572
1580
1588
1596

1541
1549
1557
1565
1573
1581
1589
1597

1542
1550
1558
1566
1574
1582
1590
1598

1543
1551
1559
1567
1575
1583
1591
1599

3400
3410
3420
3430
3440
3450
3460
3470

1792
1800
1808
1816
1824
1832
1840
1848

1793
1801
1809
1817
1825
1833
1841
1849

1794
1802
1810
1818
1826
1834
1842
1850

1795
1803
1811
1819
1827
1835
1843
1851

1796
1804
1812
1820
1828
J836
1844
1852

1797
1805
1813
1821
J829
1837
1845
1853

1798
1806
1814
1822
1830
1838
1846
1854

1799
1807
1815
1823
1831
1839
1847
1855

3100
3110
3120
3130
3140
3150
3160
3170

1600
1608
1616
1624
1632
1640
1648
1656

1601
1609
1617
1625
1633
1641
1649
1657

1602
1610
1618
1626
1634
1642
1650
1658

1603
1611
1619
1627
1635
1643
1651
1659

1604
1612
1620
1628
163.6
1644
1652
1660

1605
1613
1621
1629
1637
1645
1653
1661

1606
1614
1622
1630
1638
1646
16'>4
1662

1607
1615
1623
1631
1639
1647
1655
1663

3500
3510
3520
3530
3540
3550
3560
3570

1856
1364
1872
1880
1888
1896
1904
1912

1857
1865
1873
1881
1889
1897
1905
1913

1858
1866
1874
1882
1890
1898
1906
1914

1859
1867
1875
1883
1891
1899
1907
1915

1860
1868
1876
1884
1892
1900
1908
1916

1861
1869
18.77
1885
1893
1901
1909
1917

1862
1870
1878
1886
1894
1902
1910
1918

181i3
187.1
1879
1887
1895
1903
1911
1919

3200
3210
3220
3230
3240
3250
3260
3270

1664
1672
1680
1688
1696
1704
1712
1720

1665
1673
1681
1689
1697
1705
1713
1721

1666
1674
1682
1690
1698
1706
1714
1722

1667
1675
1683
1691
1699
1707
1715
1723

1668
1676
1684
1692
1700
1708
1716
1724

1669
1677
1685
1693
1701
1709
1717
1725

1670
1678
1686
1694
·1702
1710
1718
1726

1671
1679
1687
1695
1703
1711
1719
1727

3600
3610
3620
3630
3640
3650
3660
3670

1920
1928
1936
1944
1952
1960
1968
1976

1921
1929
1937
1945
1953
1961
1969
1977

1922
1930
1938
1946
1954
1962
1970
1978

1923
1931
1939
1947
1955
1963
1971
1979

1924
1932
1940
1948
1956
1964
1972
1980

1925
1933
1941
1949
1957
1965
1973
1981

1926
1934
1942
1950
1958
1966
1974
1982

1927
1935
1943
1951
1959
1967
1975
1983

3300
3310
3320
3330
3340·
3350
3360
3370

1728
1736
1744
1752
1760
1768
1776
1784

1729
1737
1745
1753
1761
1769
1777
1785

1730
1738
1746
1754
1762
1770
1778
1786

1731
1739
1747
1755
1763
1771
1779
1787

1732
1740
1748
1756
1764
1772
1780
1788

1733
1741
1749
1757
1765
1773
1781
1789

1734
1742
1750
1758
1766
1774
1782
1790

1735
1743
1751
1759
1767
1775
1783
1791

3700
3710
3720
3730
3740
3750
3760
3770

1984
1992
2000
2008
2016
2024
2032
2040

1985
1993
2001
2009
2017
2025
2033
2041

J986
1994
2002
2010
2018
2026
2034
2042

1987
1995
2003
.2011
2019
2027
2035
2043

1988
1996
2004
2012
2020
2028
2036
2044

1989
1997
2005
2013
2021
2029
2037
2045

1990
1998
2006
2014
2022
2030
2038
2046

1991
1999
2007
2015
2023
2031
2039
2047

2300
2310
2320
2330
2340
2350
2360
2370

A-4

0

0

2000
to
2777

(Octol)

1024
to

1535
(De~imol)

Octal Decimal

10000 -4096
20000 -.8192
30000·,·12288
40000· 16384
5.0000 - 20480
6POOO - 24576
70000 • 28672

3000

1536

to
3777

2047

(Oclol)

(Decimal)

to

Octal-Decimal Integer Conversion Table

4000

2048

to

10

4777

2559

(Oclol)

lDN;mol)

Octal

Decimal

10000· 4096
20000· 8192
30000· 12288
40000·16384
50000 • 20480
60000·24576
70000·28672

1

2

3

4

5

6

7

2305
2313
2321
2329
2337
2345
2353
2361

2306
2314
2322
2330
2338
2346
2354
2362

2307
2315
2323
2331
2339
2347
2355
2363

2308
2316
2324
2332
2340
2348
2356
2364

2309
2317
2325
2333
2341
2349
2357
2365

2310
2318
2326
2334
2342
2350
2358
2366

2311
2319
2327
2335
23043
2351
2359
2367

2119
2127
2135
2143
2151
2159
2167
2175

4500 2368 2369 2370
4510 2376 2377 2378
4520 2384 2385 2386
4~30 2392 2393 2394
4540 2400 2401 2402
4550 2408 2409 2410
4560 2416 2417 2418
4570 2424 2425 2426

2371
2379
2387
2395
2403
2411
2419
2427

2372
2380
2388
2396
2404
2412
2420
2428

2373
2381
2389
2397
2405
2413
2421
2429

2374
2382
2390
2398
2406
2414
2422
2430

2375
2383
2391
2399
2407
2415
2423
2431

2182
2190
2198
2206
2214
2222
2230
2238

2183
2191
2199
2207
2215
2223
2231
2239

4600
4610
4620
4630
4640
4650
4660
4670

2432
2440
2448
2456
2464
2472
2480
2488

2433
2441
2449
2457
2465
2473
2481
2489

2434
2442
2450
2458
2466
2474
2482
2490

2435
2443
2451
2459
2467
2475
2483
2491

2436
2444
2452
2460
2468
2476
2484
2492

2437
2445
2453
2461
2469
2477
2485
2493

2438
2446
2454
2462
2470
2478
2486
2494

2439
2447
2455

2246
2254
2262
2270
2278
2286
2294
2302

2247
2255
2263
2271
2279
2287
2295
2303j

4700 2496
4710 2504
4720 2512
473012520
474012528
4750 2536
4760,2544
i 4770! 2552

2497
2505
2513
2521
2529
2537
2545
2553

2498
2506
2514
2522
2530
2538
2546
2554

2499
2507
2515
2523
2531
2539
2547
2555

2500
2508
2516
2524
2532
2540
2548
2556

2501
2509
2517
2525
2533
2541
2549
2557

2502
2510
2518
2526
2534
2542
2550
2558

2503
2511
2519
2527
2535
2543
2551
2559

0

1

2

3

4

5

6

7

0

0

1

2

3

4

5

6

7

4000
4010
4020
4030
4040
4050
4060
4070

2048
2056
2064
2072
2080
2088
2Q96
2104

2049
2057
2065
2073
2081
2089
2097
2105

2050
2058
2066
2074
2082
2090
2098
2106

2051
2059
2067
2075
2083
2091
2099
2107

2052
2060
2068
2076
2084
2092
2100
2108

2053
2061
2069
2077
2085
2093
2101
2109

2054
2002
2070
2078
2086
2094
2102
2110

2055
2063
2071
2079
2087
2095
2103
2111

4400 2304
4410 2312
4420 2320
4430 2328
4440 2336
445012344
4460 2352
4470 2360

4100
4110
4120
4130
4140
4150
4160
4170

2112
2120
2128
2136
2144
2152
2160
2168

2113
2121
2129
2137
2145
2153
2161
2169

2114
2122
2130
2138
2146
2154
2162
2170

2115
2123
2131
2139
2147
2155
2163
2171

2116
2124
2132
2140
2148
2156
2164
2172

2117
2125
2133
2141
2149
2157
2165
2173

2118
2126
2134
2142
2150
2158
2166
2174

4200
4210
4220
4230
4240
4250
4260
4270

2176
2184
2192
2200
2208
2216
2224
2232

2177
2185
2193
2201
2209
2217
2225
2233

2178
2186
2194
2202
2210
2218
2226
2234

2179
2187
2195
2203
2211
2219
2227
2235

2180
2188
2196
2204
2212
2220
2228
2236

2181
2189
219':
2205
2213
2221
2229
2237

4300
4310
4320
4330
4340
4350
4360
4370

2240
2248
2256
2264
2272
2280
2288
2296

2241
2249
2257
2265
2273
2281
2289
2297

2242
2250
2258
2266
2274
2282
2290
2298

2243
2251
2259
2267
2275
2283
2291
2299

2244
2252
2260
2268
2276
2284
2292
2300

2245
2253
2261
2269
2277
2285,
2293
2301

,
I

0
.5000
10

I

2560
1o

.5777

3071

(0,101)

We6mol)

1

2

3

4

5

6

7

24~3

2471
2479
2487
2495

5000
5010
5020
5030
5040
5050
5060
5070

2560
2568
2576
2584
2592
2600
2608
2616

2561
2569
2577
2585
2593
2601
2609
2617

2562
2570
2578
2586
2594
2602
2610
2618

2563
2571
'2579
2587
2595
2603
2611
2619

2564
2572
2580
2588
2596
2604
2612
2620

2565
2573
2581
258\1
2597
2605
2613
2621

2566
2574
:<:5'82
2590
2598
2606
2614
2622

25671
2575
2583
2591 1
2599
2607
2615
2623

5400
5410
5420
54'30
5440
5450
5460
5470

2816
2824
2832
2840
2848
2856
2864
2872

2817
2825
2833
2841
2849
2857
2865
2873

2818
2826
2834
2842
2850
2858
2866
2874

2819
2827
2835
2843
2851
2859
2867
2875

2820
2828
2836
2844
2852
2860
2868
2876

28?1
2829
2837
2845
2853
2861
2869
2877

2822
2830
2838
2846
2854
2862
2870
2878

2823
2831
2839
2847
2855
2863
2e71
287\1

5100
5110
5120
5130
5140
5150
5160
5170

2624
2632
2640
2648
2656
2664
2672
2680

2625
2633
2641
2649
2657
2665
2673
2681

2626
2634
2642
2650
2658
2666
2674
2682

2627
2635
2643
2651
2659
2667
2675
2683

2628
2636
2644
2652
2660
2668
2676
2684

2629
2637
2645
2653
2661
2669
2677
2685

2630
2638
2646
2654
2662
2670
2678
2686

2631
2639
2647
2655
2663
2671
2679
2687

5500
5510
5520
5530
5540
5550
5560
5570

2880
2888
2896
2904
2912
2920
2928
2936

2881
2889
2897
2905
2913
2921
2929
2937

2882
2890
2898
2906
2914
2922
2930
2938

2883
2891
2899
2907
2915
2923
2931
2939

2884
2892
2900
2908
2916
2924
2932
2940

2885
2893
2901
2909
2917
2925
2933
2941

2886
2894
2902
2910
2918
2926
2934
2942

2887
2895
2903
2911
2919
2927
2935
2943

5200 2588
5210 2696
5220 12704
5230 1 2712
5240 , 2720
5250 !2728
5260 12736
5270 2744

2689
2697
2705
2713
2721
2729
2737
2745

2690
2698
2706
2714

2691
2699
2707
2715
2722 '2723
2730 2731
2738 2739
2746 2747

2692
2700
2708
2716
2724
2732
2740
2748

2693
2701
2709
2717
2733
2741
2749

2694
2702
2710
2718
2726
2734
2742
2750

2695
2703
2711
2719
2727
2735
2743
2751

5600
'5610
5620
5630
5640
5650
5660
5670

2944
2952
2960
2968
2976
2984
2992
3000

2945
2953
2961
2969
2977
2985
2993
3001

2945
2954
2962
2970
2978
2986
2994
3002

2947 2948 2949 2950
2955 2956 2957 2958
2963 2964 2965 2966
2971 2972 2973 2974
2979 2980 2981 2982
2987 2938 2989 2990
2995 2996 2997 2998
3003 3004 3005 3006

2951
2959
2967
2975
2983
2991
2999
3007

5300
5310
5320
5330
5340
5350
5360
5370

2753
2761
2769
2777
2785
2793
2801
2809

2754
2762
2770
2778
2786
2794
2802
2810

275-5
2763
2771
2779
2787
2795
2803
2811

2756
2764
2772
2780
2788
2796
2804
2812

2757
2765
2773
2781
2789
2797
2805
2813

2758
2766
2774
2782
2790
2798
2806
2814

2759
2767
2775
2783
2791
2799
2807
2815

:;700
5710
5720
5730
5740
5750
5760
5770

3008
3016
3024
3032
3040
3048
3056
3064

3009
3017
3025
3033
3041
3049
3057
3065

3010
3018
3026
3034
3042
3050
3058
3066

3011
3019
3027
3035
3043
3051
3059
3067

3014
3022
3030
3038
3046
3054
3062
3070

3015
3023
3031
3039
3047
3055
3063
3071

2752
2760
2768
2776
2784
2792
2800
2808

2725

3012
3020
3028
3036
3044
3052
3060
3068

3013
3021
3029
3037
3045
3053
3061
3069

A-5

Octal-Decimal Integer Conversion Table
0

I

2

3

4

5

6

1

2

3

4

5

6

7

3080
3088
3096
3104
3112
3120
3128

3081
3089
3097
3105
31!3
3121
3129

3082
3090
3098
3106
3114
3122
3130

3083
3091
3099
3107
3115
3123
3131

3084
3092
3100
3108
3116
3124
3132

3085
3093
3101
3109
3117
3125
3133

3086
3094
3102
3110
3118
3126
3134

3087,
3095
3103
3111
3119
3127
3135

6400
6410
6420
6430
6440
6450
6460
6470

3328
3336
3344
3352
3360
3368
3376
3384

3329
3337
3345
3353
3361
3369
3377
3385

3330
3338
3346
3354
3362
3370
3378
3386

3331
3339
3347
3355
3363
3371
3379
3387

3332
3340
3348
3356
3364
3372
3380
3388

3333
3341
3349
3357
3365
3373
3381
3389

3334
3342
3350
3358
3366
3374
3382
3390

3335
3343
3351
3359
3367
3375
3383
3391

6100 3136
6110 i 3144
612013152
6130 i 3160
6140 3168
6150 3176
6160 3184
6170 3192

3137
3145
3153
3161
3169
3177
3185
3193

3138
3146
3154
3162
3170
3178
3186
3194

3139
3147
3155
3163
3171
3179
3187
3195

3140
3148
3156
3164
3172
3180
3188
3196

3141
3149
3157
3165
3173
3181
3189
3197

3142
3150
3158
3166
3174
3182
3190
3198

3143
3151
3159
3167
3175
3183
3191
3199

6500
6510
6520
6530
6540
6550
6560
6570

3392
3400
3408
3416
3424
3432
3440
3448

3393
3401
3409
3417
3425
3433
3441
3449

3394
3402
3410
3418
3426
3434
3442
3450

3395
3403
3411
3419
3427
3435
3443
3451

3396
3404
3412
3420
3428
3436
3444
3452

3397
3405
3413
3421
3429
3437
3445
3453

3398
3406
3414
3422
3430
3438
3446
3454

3399
3407
3415
3423
3431
3439
3447
3455

16200 3200 3201 3202 3203 3204 3205 3206 3207

3208
3216
13224
3232
3240
3248
3256

3209
3217
3225
3233
3241
3249
3257

3210
3218
3226
3234
3242
3250
3258

3211
3219
3227
3235
3243
3251
3259

3212
3220
3228
3236
3244
3252
3260

3213
3221
3229
3237
3245
3253
3261

3214
3222
3230
3238
3246
3254
3262

3215
3223
3231
3239
3247
3255
3263

6600
6610
6620
6630
6640
6650
6660
6670

3456
3464
3472
3480
3488
3496
3504
3512

3457
3465
3473
3481
3489
3497
3505
3513

3458
3466
3474
3482
3490
3498
3506
3514

3459
3467
3475
3483
3491
3499
3507
3515

3460 3461 3462
3468 3459 3470
34'16 3477 3478
3484 3485 3486
3492 3493 3494
3500 3501 3502
3508 3509 3510
3516 3517 3518

3463
3471
3479
3487
3495
3503
3511
3519

5300 3264
6310 3272
6320 3280
6330 3288
6340 3296
6350 3304
636013312
6370 3320

3265
3273
3281
3289
3297
3305
3313
3321

3266
3274
3282
3290
3298
3306
3314
3322

3267
3275
3283
3291
3299
3307
3315
3323

3268
3276
3284
3292
3300
3308
3316
3324

3269
3277
3285
3293
3301
3309
3317
3325

3270
3278
3286
3294
3302
3310
3318
3326

3271
3279
3287
3295
3303
3311
33191

6700
6710
6720
6730
6740
6750
6760
6770

3520
3528
3536
3544
3552
3560
3568
3576

3521
3529
3537
3545
3553
3561
3569
3577

3522
3530
3538
3546
3554
3562
3570
3578

3523
3531
3539
3547
3555
3563
3571
3579

3524
3532
3540
3548
3556
3564
3572
3580

3525
3533
3541
3549
3557
3565
3573
3581

3526
3534
3542
3550
3558
3566
3574
3582

3527
3535
3543
3551
3559
3567
3575
3583,

0

1

2

3

4

5

6

7

2

3

4

5

6

7000
7010
7020
7030
7040
7050
7060
7070

3584
3592
3600
3608
3616
3624
3632
3640

3585
3593
3601
3609
3617
3625
3633
3641

3586
3594
3602
3610
3618
3626
3634
3642

3587 3588 3589
3595 3596 3597
3603 3604 3605
3611 3612 3613
3619 3620 3621
3627 3628 3629
3635 3636 3637
3643 3£44 3645

3590
3598
3606
3614
3622
3630
3638
3646

3591
3599
3607
3615
3623
3631
3639
3647

7400
7410
7420
7430
7440
7450
7460
7470

3840
3848
3856
3864
3872
3880
3888
3896

3841
3.849
3857
3865
3873
3881
3889
3897

3842
3850
3858
3866
38'14
3882
3890
3898

3843
3851
3859
3867
3875
3883
3891
3839

3844
3852
3860
386B
3876
3884
3892
3900

3845
3853
3861
3869
3877
3885
3893
3901

3846
3854
3862
3S70
3878
3886
3894
3902

3847
3855
3863 1
3871
3879
3887
3895
3903

7100
7110
7120
7130
7140
7150
7160
7170

3648
3656
3664
3672
3680
3688
3696
3704

3649
3657
3665
3673
3681
3689
3697
3705

3650
3658
3666
3674
3682
3690
3698
3706

3651
3659
3667
3675
3683
3691
3699
3707

3652
3660
3668
3676
3684
3692
3700
3708

3653
3661
3669
3677
3685
3693
3701
3709

3654
3662
3670
3678
3686
3694
3702
3710

3655
3663
3671
3679
3687
3695
3703
3711

7500
7510
7520
7530
7540
7550
7560
7570

3904
3912
3920
3928
3936
3944
3952
3960

3905
3913
3921
3929
3937
3945
3953
3961

3906
3914
3922
3930
3938
3946
3954
3962

3907
3915
3923
3931
3939
3947
3955
3963

3908
3916
3924
3932
3940
3948
3956
3964

3909
3917
3925
3933
3941
3949
3957
3965

3910
3918
3926
3934
3942
3950
3958
3966

3911
3919
3.927
3935
3943
3951
3959
3967

7200 3712
7210 3720
7220 3728
7230 3736
7240 ~7';·~
720 3752
17260 1:1750
7270 3'168

3713
3721
3([29
3737
3745
3753
3761
3769

3714
3722
3730
3738
3746
3754
3762
3770

3715
3723
3731
3139
3741
3755
3763
3771

3716
3724
3732
3740
3748
3756
3764
3772

3717
3725
3733
3741
3749
3757
3765
3773

3718
3726
3734
3'742
3750
3758
3766
3774

3719
3727
3735
3743
3751
3759
3767
3775

7600
7610
7620
7630
7640
7650
7660
7670

3968
3976
3984
3992
4000
4008
4016
4024

3969
3977
3985
3993
4001
4009
4017
4025

3970
3978
3986
3994
4002
4010
4018
4026

3971
3979
3987
3995
4003
4011
4019
4027

3972
3980
3988
3996
4004
4612
4020
4028

3973
3981
3989
3997
4005
4013
4021
4029

3974
3982
3990
3998
4006
4014
1022
4030

3975
3983
3991
3999
4007
4015
4023
4031

3777
3785
3793
3801
3809
3817
3825
3833

3778
3786
3794
3802
3810
3818
3826
3834

3779
3787
3795
3803
3811
3819
3827
3835

3780
3788
3796
3804
3812
3820
3828
3836

3781
3789
3797
3805
3813
3821
3829
3837

3782
3790
3798
3806
3814
3822
3830
3838

3783
3791
3799
3807
3815
3823
3831
3839

7700
7710
7720
7730
7740
7750
7760
7770

4032
4040
4048
4056
4064
4072
4080
4088

4033 4034 4035 4036
4041 4042 4043 4044
4049 4050 4051 4052
40~7 4058 4059 4060
4065 4066 4067 4068
4073 4074 4075 4076
4081 4082 4083 4084
4089 4090 4091 4092

4037
4045
4053
4061
4069
4077
4085
4093

4038
4046
4054
4062
4070
4078
4086
4094

4039
4047
4055
4063
4071
4079
4087
4095

6000 3072 3073 3074 3075 3076 3077 3078 3079

6010
6020
6030
6040
6050
6060
6070

6210
6220
6230
6240
6250
6260
6270

7300
7310
7320
7330
7340
7350
7360
7370

A-6

0

7

3776
3784
3792
3800
3808
3816
3824
3832

~

~

I

0

6000
to

6777
(Octol)

!

3072
to

3583

I (Decimol)

Octol Decimol
10000· 4096
20000· 8192
30000· 12288
40000 • 16384
50000 • 20480
60001)·24576
70000· 28672

7

7000

3584

to

to

7777

4095

(Octal)

(Decimal)

OCTAL· DECIMAL FRACTION CONVERSION TABLE
OCTAL

DEC.

OCTAL

DJ::C.

OCTAL

DEC.

OCTAL

m:c.

.000
.001
.002
.003
.004
.005
.006
.007
.010
.011
.012
.013
.014
.015
.016
.017
.020
.021
.022
.023
.024
.025
.026
.027
.030
.031
.032
.033
.034
.035
.036
.037
.040
.041
.042
.043
.044
.045
.046
.047
.050
.051
.052
.053
.054
.055
.056
.057
.060
.061
.062
.063
.064
.065
.066
.067
.070
.071
.072
.073
.074
,075
.076
.077

.000000
.001953
• d"03906
.005859
.007812
.009765
.011718
.013671
.015625
.017578
.019531
.021484
.023437
.025390
.027343
.029296
.031250
.033203
.035156
.037109
.039062
.041015
.042968
.044921
.046875
.048828
.050781
.052734
.054687
.056640
.058593
.060546
.062500
.064453
.066406
.068359
.010312
.072265
.074218
.076171
.078125
; 080078
.082031
.083984
.085937
.087890
.089843
.091796
.093750
.095703
.097656
.099609
.101562
.103515
.105468
.107421
.109375
.111328
.113281
.115234
.117187
.119140
• 121093
.123046

.100
.101
.102
.103
.104
.105
.106
.107
.110
.111
.112
.113
.114
.115
.116
.117
.120
.121
.122
.123
.124
.125
.126
.127
.130
.131
.132
.133
.134
.135
.136
.137
.140
.141
.142
.143
.144
.145
.146
.147
.150
.151
.152
.153
.154
.155
.156
.157
.160
.161
.162
.163
.164
.165
.166
.167
.170
.171
.172
.173
.174
.175
.176
.177

.125000
.126953
.128906
.130859
.132812
.134765
.136718
.138671
.140625
.142578
.144531
.146484
.148437
1150390
.152343
.154296
.156250
.158203
.160156
.162109
.164062
.166015
.167968
.169921
.171875
.173828
.175781
.1'17734
.179687
.181640
.183593
.185546
.187500
.189453
.191406
.193359
.195312
.197265
.199218
.201171
.203125
.205078
.207031
.208984
.210937
.212890
.214843
.216796
.218750
.220703
.222656
.224609
.226562
.228515
.230468
.232421
.234375
.236328
.238281
.240234
.242187
.244140
.246093
.248046

.200
.201
.202
.203
.204
.205
.206
.207
.210
.211
.212
.213
.214
.215
.216
.217
.220
.221
.222
.223
.224
.225
.226
.227
.230
.231
.232
.233
.234
.235
.236
.237
.240
.241
.242
.243
.244
.245
.246
.247
.250
.251
.252
.253
.254
.255
.256
.257
.260
.261
.262
.263
.264
.265
.266
.267
.270
.271
.272
.273
.274
.275
.276
.277

.250000
.251!l53
.253!l06
.255859
.257812
.259765
.261718
.263671
.265625
.267578
.269531
.271484
.273437
; 275390
.277343
.279296
.281250
.283203
.285156
.287109
.289062
.291015
.29296'8
.294921
.296875
.298828
.300781
.302734
.304687
.306640
.308593
.310546
.312500
.314453
.316406
.318359
.320312
.322265
.324218
.326171
.328125
.330078
.332031
.333984
.335937
.337890
.339843
.341796
.343750
.345703
.347656
.349609
.351562
.353515
.355468
.357421
.359375
.361328
.363281
.365234
.367187
.369140
.371093
.373046

.300
.301
.302
.303
.304
.305
.306
.307
.310
.311
.312
.313
.314
.315
.316
.317
.320
.321
.322
.323
.324
.:J25
.326
.327
.330
.331
.332
.333
.334
.3:j5
.336
.337
.340
.341
.342
.343
.3.44
.345
.346
.347
.350
.351
.352
.353
.354
.355
.356
.357
.360
.361
.362
.363
.364
.365
.366
.367
.370
.371
.372
.373
.374
.375
.376
.377

.375000
.376953
• 378!l06
.380859
.382812
.384765
.386718
.388671
.390625
.392578
.394531
.396484
.398437
.400390
.402343
.404296
.406250
.408203
.410156
.412109
.414062
.416015
.417968
.419921
.421875
.423828
.426781
.427734
.429687
.431640
.433593
.435546
.437500
.439453
.441406
.443359
.445312
.447265
.449218
.451171
.453125
.455078
.457031
.458984
.460937
.462890
.464843
.466'196
.468750
.470703
.472656
.474609
.416562
.478515
.460468
.482421
.484375
.486328
.4882l!1
.490234
.492187
.494140
.496093
.498046

A-7

Odal-Decimal Fraction Conversion Table

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC •

• 000000
.000001
.000002
.000003
.000004
.000005
.000006
.000007

.000000
.000003
.000007
.000011
.000015
.000019
.000022
.000026
.000030
.000034
.000038
.000041
.000045
.000049
.000053
.000057
.000061
.000064
.000068
.000072
.000076
.000080
.000083
.000087
.000091
.000095
.000099
.000102
.000106
.000110
.000114
.000118
.000122
.000125
.000129
.000133
.000137
.000141
.000144
.000148

.000100
.000101
.000102
.000103
.000104
.000105
.000106
.000107
,000110
.000111
.000112
.000113
.000114
.000115
.000116
.000117
.000120
,000121
.000122
,000123
.000124
.000125
.000126
.000127
.000130
.000131
.000132
.000133
.000134
.000135
.000136
.000137
.000140
,000141
.000142
.000143
.000144
.000145
.000146
.000147

.000244
.000247
.000251
.000255
.000259
.000263
.000267
.000270
.000274
.000278
.000282
.000286
.000289
.000293
.000297
.000301
.000305
.000308
.000312
.000316
.000320
.000324
.000326
.000331
.000335
.000339
.000343
.000347
.000350
.000354
.000356
.000362
.000366
.000370
.000373
.000371
.000381
.000385
.000389
.000392

.000200
.000201
.000202
.000203
.000204
.000205
.000206
.000207
.000210
.000211
.000212
.000213
.000214
.000215
.000216
.000217

.000488
.000492
.000495
.000499
.000503
.000507
.000511
.000514

.000300
.000301
.000302
.000303
.000304
.000305
.000306
.000307

.000518
.000522
.000526
.000530
.000534
.000537
.000541
.000545

.000310
.000311
.000312
.000313
.000314
.000315
.000316
.000317
.000320
.000321
.000322
.000323
.000324
.000325
.000326
.000327
.000330
.000331
.000332
.000333
.000334
.000335
.000336
.000337
.000340
.000341
.000342
.000343
.000344
,000345
,000346
.000347

.000732
.000736
.000740
.000743
.000747
.000751
.000755
.000759
.000762
.000766
.000770
.000774
.000778
.000782
.000785
.000789

.000152
.000156
.000160
.000164
.000167
.000171
.000175
.000179
.000183
.000186
.000190
.000194
.000198
.000202
.000205
.000209
.000213
.000217
.000221
.000225
.000228
.000232
.000236
.000240

.000150
.000151
.000152
.000153
.000154
.000155
.000156
.000157
.000160
.000161
.000162
.000163
.000164
.000165
.000166
.000167
.000170
.000171
.000172
.000173
.000174
.000175
.000176
.000177

.000396
.000400
.000404
.000408
.000411
.000415
.000419
.000423
.000427
.000431
.000434
.000438
.000442
.000446
.000450
.000453
.000457
.000461
.000465
.000469
.000473
.000476
.000480
.000484

.000250
.000251
.000252
.000253
.000254
.000255
.000256
.000257
.000260
.000261
.000262
.000263
.000264
.000265
.000266
.000267
.000270
.000271
.000272
.000273
.000274
.000275
.000276
.000277

.000010
.000011
.000012
.000013
.000014
.000015
.000016
.000017
.000020
.000021
.000022
.000023
.000024
.000025
.000026
.000027
.000030
.000031
.000032
.000033
.000034
.000035
.000036
.000037
.000040
.000041
.000042
.000043
.000044
.000045
.000046
.000047
.000050
.000051
.000052
.000053
.000054
.000055
.000056
.000057
.000060
.000061
.000062
.000063
.000064
.000065
.000066
.000067
.000070
.000071
.000072
.000073
.000074
.000075
.000076
.000077

A-8

.000220
.000221
.000222
.000223
.000224
.000225
.000226
,000227
.000230
.000231
.000232
.000233
.000234
.000235
.000236
.000237
.000240
.000241
.000242
.000243
.000244
.000245
.000246
.000247

.000549
.000553
.000556
.000560
.000564
.000568
.000572
.000576
.000579
.000583
.000587
.000591
.000595
.000598
.000602
.000606
.000610
.000614
.000617
.000621
.000625
.000629
.000633
.000637
.000640
.000644
.000648
.000652
.000656
.000659
.000663
.000667
.000671
.000675
.000679
.000682
.000686
.000690
.000694
.000698
.000701
.000705
.000709
.000713
.000717
.000720
.000724
.000728

.000350
.000351
.000352
.000353
.000354
.000355
.000356
.000357
.000360
.000361
.000362
.000363
.000364
.000365
.000366
.000367
.000370
.000371
.000372
.000373
.000374
.000375
.000376
.000377

.000793
.000797
.000801
.000805
.000808
.000812
.000816
.000820
.000823
.000827
.000831
.000835
.000839
.000843
.000846
.000850
.000854
.000858
.000862
,000865
,000869
,000873
,000877
,000881
,000885
.000888
.000892
.000896
.000900
.000904
.000907
.000911
.000915
.000919
.000923
.000926
.000930
.000934
.000938
.000942
.000946
.000949
.000953
.000957
.000961
.000965
.000968
.000972

Octal-Decimal Fraction Conversion Table

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC •

.000400
.000401
.000402
.000403
.000404
.000405
.000406
.000407
.000410
.000411
.000412
.000413
.000414
.000415
.000416
.000417

.000976
.000980
.000984
.000988
.000991
.000995
.000999
.001003
.001007
.001010
.001014
.001018
.001022
.001026
.001029
.001033

• 000500
.000501
.000502
.000503
.000504
.000505
.000506
.000507
.000510
.000511
.000512
.000513
.000514
.000515
.000516
.000517

.001220
.001224
.001228
.001232
.001235
.001239
.001243
.001247
.001251
.001255
.001258
.001262
.001266
.001270
.001274
.001277

.000600
.000601
.000602
.000603
.000604
.000605
.000606
.000607
.000610
.000611
.000612
.000613
.000614
.000615
.000616
.000617

.001464
.001468
.001472
.001476
.001480
.001483
.001487
.001491
.001495
.001499
.001502
.001506
.001510
.001514
.001518
.001522

.000700
.000701
.000702
•. 000703
.000704
.000705
.000706
.000707
.,000710
.000711
.000712
.000713
.000714
.000715
.000716
.000717

.001708
.001712
.001716
.001720
.001724
.001728
.001731
.001735
.001739
.001743
.001747
.001750
.001754
.001758
.001762
.001766

.000420
.000421
.000422
.000423
.000424
.000425
.000426
.000427
.000430
.000431
.000432
.000433
.000434
.000435
.000436
.000437
.000440
.000441
.000442
.000443
.000444
.000446
.000446
.000447
.000450
.000451
.000452
.000453
.000454
.000455
.000456
.000457
.000460
.000461
.000462
.000463
.000464
.000465
.000466
.000467
.000470
.000471
.000472
.000473
.000474
.000475
.000476
.000477

.001037
.001041
.001045
.001049
.001052
.001056
.001060
.001064
.001068
.001071
.001075
.001079
.001083
.001087
.001091
.001094
.001098
.001102
.001106
.001110
.001113
.001117
.001121
.001125
.001129
.001132
.001136
.001140
.001144
.001148
.001152
.001155
.001159
.001163
.001167
.001171
.001174
.001178
.001182
.001186
.001190
.001194
.001197
.001201
.001205
.001209
.001213
.001216

.000520
.000521
.000522
.000523
.000524
.000525
.000526
.000527
.000530
.000531
.000532
.000533
.000534
.000535
.000536
.000537
.000540
.000541
.000542
.000543
.000544
.000545
.000546
.000547
.000550
.000551
.000552
.000553
.000554
.000555
.000556
.000557
.000560
.000561
.000562
.000563
.000564
.000565
.000566
.000567
.000570
.000571
.000572
.000573
.000574
.000575
.000576
.000577

.001281
.001285
.001289
.001293
.001296
.001300
.001304
.001306
.001312
.001316
.001319
.001323
.001327
.001331
.001335
.001338
.001342
.001346
.001350
.0'01354
.001358
.001361
.001365
.001369
.001373
.001377
.001380
.001384
.001388
.001392
.001396
.001399
.001403
.001407
.001411
.001415
.001419
.001422
.001426
.001430
.001434
.001438
.001441
.001445
.001449
.001453
.001457
.001461

.000620
.000621
.000622
.000623
.000624
.000625
.000626
.000627
.000630
.000631
.000632
.000633
.000634
.000635
.000636
.000637
.000640
.000641
.000642
.000643
.000644
.000645
.000646
.000647
.000650
.000651
.000652
.000653
.000654
.000655
.000656
.000657
.000660
.000661
.000662
.000663
.000664
.000665
.000666
.000667
.000670
.000671
.000672
.000673
.000674
.000675
.000676
.000677

.001525
.001529
.001533
.001537
.001541
.001544
.001548
.001552
.001556
.001560
.001564
.001567
.001571
.001575
.001579
.001583
.001586
.001590
.001594
.001598
.001602
.001605
.001609
.001613
.001617
.001621
.001625
.001628
.001632
.001636
.001640
.001644
.001647
.001651
.001655
.001659
.001663
.001667
.001670
.001674
.001678
.001682
.001686
.001689
.001693
.001697
.0017.01
.001705

.000720
.000721
.000722
.000723
.000724
.000725
.000726
.000727
.000730
.000731
.000732
.000733
.000734
.000735
.000736
.000737
.000740
.000741
.000742
.000743
.000744
.000745
.000746
.000747
.000750
.000751
.000752
.000753
.000754
.000755
.000756
.000757
.000760
.000761
.000762
.000763
.000764
.000765
.000766
.000767
.000770
.0(1.0771
.000772
.000773
.000774
.000775
.000776
.000777

.001770
.001773
.001777
.001781
.001785
.0017H9
.001792
.001796
.001800
.001804
.001808
.001811
.001815
.001819
.001823
.001827
.001831
.001834
.001838
.001842
.001846
.001850
.001853
.001857
.001861
.001865
.001869
.001873
.001876
.001880
.001884
.001888
.001892
.001895
.001899
.001903
.001907
.001911
.001914
.001918
.001922
.001926
.001930
.001934
.001937
.001941
.001945
.001949

A-9

TWO'S COMPLEMENT ARITHMETIC
SDS computer systems hold negative numbers in memory in
binary two's complement form. The two's complement of a binary number is formed by adding one to the one's complement
(logical inverse) of the number. This convention allows the
sign of a number to be used as an integral part of the number
in all arithmetic operations and obviates the need for keeping
track of a detached sign with computer logic.

2.

In SDS systems, the sign bit is in the first bit position to the left
of the most significant magnitude bit. Thus, ifanSDScomputer
word was only 6 bits long instead of 24, some comrrion decimal
values would be represented in binary format as foll~ws:

The following examples show how two's complement numbers
automatically yield the correct result when used arithmetically
in the computer.

To find the decimal equivalent of a binary two's complement number:
a.

Express as an octal number

b.

Subtract one and form the complement

c.

Find the decimal equivalent.

The negative of the result is the decimal equivalent.

De.cimal
Number
Decimal
Number

Octal
Equivalent

3
2
1
0
-1
-2
-3
31
-31

03
02
01
00
(-}01
(-}02
(-}03
37
(-}37

Complement
Plus 1

Binary
Equivalent

77

000 011
000010
000001
000000
III 111
III 110
III 101
011 111
100001

76
75
41

+ 20

-=..QL
+17

1.

To find the binary, two's complement of a negative decimal number:
a.

Find the octal equivalent of the absolute of the
number

b.

Form the complement and add one

c.

Express as a binary number.

The result is the binary, two's complement equivalent.

A-l0

010 100

+ III 101
1010011 = 21 8= 17 10
Llost carry

Note that the carry out of the most significant (sign bit) position is
lost. Nevertheless, the value remaining is the correct answer.
Decimal
Number

Binary
Equivalent

- 32

100000
011 000
III 000-(-}10 8 =-8 10

+ 24

---:a
This table suggests the following algorithms:

Binary
Equivalent

When performing additions or subtractions in the computer, carries out of the sign bit do not always signify a true overflow
condition or cause the OVERFLOW indicator to be set. In an
addition, it is impossible to produce an overflow if the signs of
the operands are unlike. The computer sets the OVERFLOW indicator in an addition only when the signs of the two operands
are the same, but the sign of the result is opposite. In a subtraction, which in the computer is accomplished by forming the
two's. complement of the subtrahend and then adding to the
minuend, the .test for overflow is simi lar to that for addition.
That is, overflow occurs when both numbers hdve the same sign
after the subtrahend has been complemented but the sign of the
result is opposite.

OPTIONAL EQUIPMENT
DATA MULTIPLEXING SYSTEM
The standard I/O systems provided with the SDS 930 Computer
provide for operation with all standard SDS peripheral equipments and for high-performance special devices. The Data
Multiplexing System provides an alternate I/O system that isof
particular use in dealing with multiple source of data and for
systems which may have very high data rates (see Figure A-I).
The SDS 930 Computer has essentially two major paths along
which I/O data can flow to and from memory. The first path
is the same that is used by the main frame itself. The PIN/
POT operations use the first path. All Time-Multiplexed Communication Channels also use this path. In addition to this
path, which is primarily under the control of the main frame,
there is an optional second path that is completely under the
control of the units attached to it. The second path has priority over the first for access to memory. This path is made
available with the installation of the Multiple Access to Memory Feature.
/lAULTIPLE ACCESS TO MEMORY FEATURE (MAM)
The Multiple Access feature provides the necessary modules on
both main frame and memory to permit memories to be accessed
via the second path. A word can be transferred over the path
in either direction in one cycle. If the computer is equipped
with two or more memories and the main frame is communicating with one memory while some other device is using the second path to another memory, then there is no interference with
computation. If both the main frame and an I/O device using
the second path address the sarTie memory, the second path has
priority; the program loses one cycle while the second path
transmi ts.
The Multiple Access feature is required for the attachment of
Direct Access Communication Channels (DACC), Data Multiplex Channels (DMC), or Memory Interface Connections (MIC).
These devices all incorporate a priority scheme for determining the assignment of the second path. (See Figure A-I.)
Only four DACCs can be attached to one computer system;
Memory Interface Connections, and Data Multiplex Channels,
however, are unlimited in number.
A practically unlimited number of MICs in addition to the four
DACCs and the Data Multiplexing System (DMS) can be attached to a computer system. Each MIC has the necessary pri0rity control to operate with other MICs and DACCs and the
DMS. Both MICs and DACCs can be arranged so as to produce
any required configuration of priorities.
DATA MULTIPLEXING BASIC ELEMENTS
A Data Multiplexing System consists of two basic elements:

1. The Data Multiplex Channel (DMC) for communicating with several data sources/destinations and for synchronizing I/O operations with memory, MICs, DACCs, and other DMCs.

2. One or more Data Subchannels (DSC) for interfacing
between peripheral devices and systems and the DMC.
Data Multiplex Channel (DMC)
The Data Multiplex Channel is the basic unit for the Data
Multiplexing System. It connects to the second path to memory via the Multiple Access to Memory feature. A DMC consists of 24-bit register and control logic. All addresses
and data are transmitted between the DMC and subchannels
via a bus system. The data and address are connected to
memory via the MAM only when a transfer is to be made.
All program control required for a given I/O operation operates directly on the individual subchannel, not the DMC.
The DMC is equipped with an internal interlace feature. This
feature allows a subchannel to specify the address of a word in
memory where the data address and count are to be found.
When operating with internal interlace, the subchannel supplies the address of its interlace word instead of the actual
data address. The DMC reads out the interlace word, increments the address portion, decrements the count, restores the
word and then accepts the data from or transmits the data to
the subchannel. The DMC also supplies a signal to the subchannel if the decremented count is zero.
The format of the internal interlace word or word pair is as
shown:

I

o

WORD COUNT
I
I
8 9

DATA ADDRESS
I
I

23

The 9-bit word count allows for block lengths to 512 words.
With the 930, transmissions using internal interlace require 3
cycles per word.
The DMC also provides for automatic memory incrementing.
The counting capability of the DMC register is such that the
entire 24-bit register or either the upper 12 bits or the
lower 12 bits may be incremented. When such a memory increment operation is to be performed, the subchannel signals
the DMC with a special increment line and supplies the address. The DMC reads out the word, increments it and then
restores. If the word was zero after the incrementing, the
DMC signals the subchannel which may then interrupt the program. The maximum incrementing rate is 1 count every 2 cycles. Parity generation and detection are available.
Data Subchannels (DSC-N)
There are a number of subchannels wh ich can be attached to
the DMC. A full word, 24 bits plus parity, is available for
the 930. Words (24 bits) are assembled in two 12-bit characters. Subchannels can control and generate program interrupts
but do not include the interrupt levels themselves. The signals must be routed to optional interrupt levels if the interrupt
features are to be used.

A-II

......
_~_~_ITMiCI

...

PIN

....._ _~ITMCC

y

Main Frame

POT

.-

I---First Path ------,
Additional
Optional
Memories

...

.....- -.......-t

TMCC

C

......-r---.......-t TMCC

D

(Optional)
Memory

Memory

Multiple Access
to Memory
Feature

Multiple Access
to Memory
Feature

~

--- Second Path --It

,

---r----------.--~----_.--------~,_--------_.--------~r_------__.---

r ---- ----.,

1

1-:

1-

MIC
r-------------JI
MIC

I
I
I

DMC

I-! ~D"""A

It

DAi C 1_

EL:!-CC=--"'I_

I

1... _ _ _ _ _ _ _ _ _ _ _ _ _ ,

Data

I
I

Multiplexing System

I

I

I

It

I
I

----

---

:

I

I

I

:I
I

Priority
Control

It

Optionall- EIN

I

~I

DSC

It

1- - ~I
I

I

DSC

Priority
Control

I
I
I
I

,

1-- -d DSC 1---- :Priority Interrupts
I

I

I

I

Figure A-I. SDS 930 Overall Computer Configuration

A-12

The subchannels use a priority scheme to determine which may
transmit to the DMC at any given time. This is similar to the
scheme used by the MICs, DMCs, and in transmitting to memory. Up to 128 DSCs can be connected to a DMC. A DSC
can use the internal interlace feature of the DMC to control
its transmission or it can be equipped with an external interlace (EIN).
A DSC using internal interlace has two words assigned to it.
These two words are ad jacent even/odd locations and are fixed
for a given subchannel. The program can select either the
even or odd location. If the even location is selected, the
subchannel will automatically switch to the odd location when
the count field of the even word is zero. The program can also
select whether or not the subchannel will switch back to the
even word when the count field of the odd word is zero. The
subchonnel will generate an interrupt signal when the count
field of either word reaches zero. Transmission termination
occurs when the odd word's count equals zero if the subchannel
does not switch back to the even word.
The two-word internal interlace allows a subchannel to handle
continuous data by alternately working from one memory area
or another. By allowing the subchannel toswitch automatically from one interlace word to the other, the program is
relieved of the necessity for making real-time responses to the
zero count condition. Using first the even then the odd interlace word allows maximum word count of 1024 for a pair of
interlace words.
CHARACTER SUBCHANNEL (DSC-I)
The DSC-I contains a 12-bit data register that can assemble
and disassemble two 6-bit characters, and transm it one or two
6-bit characters or one 12-bit character. It checks and generates the parity of characters to enable it to couple with
standard SDS peripherals. The DSC-I has a unit address register. For the 9300, it can be used for mu Itiple typewriters
or other character-oriented devices. However, it only uses
12 bits of the full 24-bit word.
The subchannel can operate with either internal or external
interlace. It has one mode of output and two modes of input.
During output, it transmits until the odd internal interlace
word count is zero and then terminates if interlace cycling is
not requested. The output can also be terminated if the device sends an END signal to the channel. This END signal
may cause the DSC-I to generate an interrupt to the program.
Input, like output, can always be terminated due to an external END signal. The program can also specify if the DSC
is to terminate and disconnect on zero count or disconnect
only on the END signal. In either case, however, all transmission to memory is terminated after the odd interlace count
reaches zero if interlace cycling is not requested.

Its operation in this respect is identical to that of the DSC-1.
The DSC-II also contains control logic to facilitate memory
increment operations in conjunction with the DMC.
EXTERNAL INTERLACE
The external interlace (EIN) can be attached to the DSC to
control the transmission of its data to/from memory. The EIN
consists of a 15-bit address register and a 9-bit count register.
These registers are loaded automatically when the subchannel
is activated, the information coming from the internal interlace memory locations. Once the EIN is set up, it will control the transmissions of the DSC at a maximum rate of 1 word
per memory cycle. After each word is transmitted, the EIN
increments its address register and decrements its count. When
the count equals zero, the EIN signals the DSC, which can
then generate a program interrupt and/or notify the externa I
device. Transmission normally terminates on zero count.
Sequencing of interlace words is identical to the sequence of
operation performed for internal interlace, except that only
two memory cycles are used for interlace word processing. The
first is to access the interlace word initially; the second is to
restore the interlace word when the count reac hes zero.
PROGRAM CONTROL OF DATA SUBCHANNELS
Transmission of data between a DSC and computer memory is
controlled by two 24-bit interlace control words unique to the
DSC and wired into fixed adjacent locations in memory. During a transmission the DMC/DSC uses the two interlace control
words for determination of transmission address and record
length.
The DSCs are num bered from 0 to 0376 in even octal numbers;
this permits a maximum of 128 subchannels. The memory locations of the interlace control word pairs associated with the
DSCs are numbered XOOOO, X0001 for DSC-O, X0002, X0003
for DSC-2 ... X0376, X0377 for DSC-376. DSC-I numbering
need not be contiguous, but DSC-II's are configured one or
two in a modu Ie and are numbered with ad jacent numbers. If
a system contains multiple DSC-II modules (each with 1 or 2
subchannels), the module numbering need not be contiguous;
4,0 and 0224, 0220 and 0314 is a typical possibility for five
DSC-II subchannels. Transmissions to and from the DSC and
memory may be under internal interlace control or, when so
equipped, under external interlace control.
INTERNAL INTERLACE
During an internal interlace transmission, the DMC controls
the interlacing operation in the following order:
1.

Access Interlace Word
The DMC accesses the interlace word assigned to the
requesting subchannel.

FULL-WORD SUBCHANNEL (DSC-II)
2.
The DSC-II is a general purpose subchannel designed to allow
communication with word-oriented input/output units such as
analog-digital and digital-analog converters. It contains no
storage for data. The external device must be capable of
holding the data during the transmission to/from the DMC. (An
A-to-D converter would have such capabi I ity). Like the DSC-l,
the DSC-II can operate with either internal or external interlace.

Process Interlace Word
The DMC increments the 15-bit address portion of the
word and decrements the 9-bit word count.

3.

Test for Zero and Set Ind icator
Next, the DMC tests the word count for zero and if it is
zero, sets an indicator in the pertinent DSC.

A-13

4.

The DMC then places the new word count/address values
back into memory using the assigned address of requesting
subchannel.

Bit positions 16-23 contain the DSC number being alerted;
these numbers are the even numbers from 0 to 0376 for the
DSC and the C field (bits 13, 14) specifies one of three modes
to which the DSC is alerted. When followed by a POT instruction, the modes have the following meaning:

Access/Store as Requested

C

Effect

The DMC accesses or stores the transmitted word as requested using the incremental address (see above).

00

The subchannel decodes the lower 12 bits (12-23)
of the "POTted" word as the lower 12 bits of a
buffer control mode EOM.

Restore

5.

6.

Stop or Continue

For DSC-I, this will select a device with the unit
address field, set the character/word count,
specify binary or BCD format, forward or reverse,
and leader or no leader.

The DSC checks its zero count indicator and
a., if zero and working on the even interlace word, the
DSC continues operation using the odd interlace word,

For DSC-II, the 12 bits activate the subchannel
and select the proper unit (if more than one is
attached to the DSC).

b.

if zero, working on the odd interlace word and the
cycle bit is set, the DSC continues using the even
interlace word,

c.

if zero, working on the odd interlace word and the
cycle bit is reset, the DSC terminates the operation
on a DSC-II or responds as required by the function
control on a DSC-I.

d.

if not zero, the DSC returns operation to the DMC
to continue at 1 (above).

01

The subchannel decodes the lower 12 bits of the
"POTted" word as the lower 12 bits of an input/
output control mode EOM. If bits 18 through 23
are zero, the "POTted" word addresses the selected
DSC.
For DSC-I, these bits perform such functions as
rewind tape, space paper, etc.

Note that the first address used is the "address specified plus
one" and the first word count is the "word count specified
minus one". In particular, an initial word count of zero
causes a 512-word block to be transmitted.

For DSC-II, these bits perform such functions as
required by the selected device attached to the
DSC.
10

EXTERNAL INTERLACE
During transmissions utilizing external interlace control, the
interlacing operation proceeds as described above except that
when the DSC is activated, the DSC with external interlace
(EIN) requests the DMC to access the desired interlace control
word. The interlace control word is sent to the EIN. Thereafter, data transmissions to and from the DSC to memory utilize
the interlace address and word count supplied by the EIN.

The subchannel decodes the lower 12 bits of the
"POTted" word for controll ing the interlace and
interrupts. The control type EOM should precede
the buffer control EOM.
For DSC-I the form is:

0

0

12

Data transmissions using the EIN require only one cycle while
those data transmissions using internal interlace require three
cycles. Should a transmission result in the EIN detecting a
zero word count condition, the DSC-EIN will restore the external interlace word and will proceed according to 6 (above).
Any termination of a DSC operation prior to zero word count
due to any externally derived halt signal also causes a restoring of the EIN interlace control word.

1718

For DSC-lI, the form is:

0
An EOM, POT sequence selects, alerts, and controls the subchannel; an EOM, SKS sequence selects and tests the status
and conditions of the subchannel.

11 0 1

o

I

1 2 3

I

and is referred to as the "select EOM".

A-14

12

Bit
Position

EOM

23

FC is a 2-bit function code similar to the TMCC/
DACC terminal function codes. The remaining
bits function as described below for DSC-U.

DSC PROGRAMMING

The EOM has the form:

E Z
E
FC OW C/
R C
0

0

E Z C E
0 00 W y/
R C
0
1718

23

Function

20

A 1 in the EOR bit arms the End-of-Record interrupt for th is c hanne I.

21

A 1 in the ZWC bit arms the Zero Word Count
interrupt.

23

Bit
Position

When testing the subchannel, the U NIT field is set to 00. The
TEST field contains the same testing format as SKS for testing a
TMCC.

Function
A 1 in the CY bit (cycle) sets the cycle mode such
that the interlace will switch from the odd word
back to the even word at the zeroing of the odd
word count. If ZWC and CY are set, a zero count
interrupt is generated each time the interlace
sw itches (to either word - even or odd). If CY is
set to 0, the interlace will not proceed after the
count of the odd word is zero; and a zero count
interrupt occurs only when the count of the odd
word is zero.

22

A 0 in the E/O bit selects the even interlace word
as the first insterlace word in a transmission; note
that when starting on the even word, the interlace
always switches to the odd word for further control
when the even word count goes to zero. A 1 in
E/O sets the odd interlace word as the first interlace word in a transm iss ion; the interlace ceases
control when the odd word count reaches zero
unless the C bit is set to cycle.

23

TERMINATING DSC INPUT/OUTPUT
Once the cycle bit has been set, the interlace continues to
cycle back and forth between the even/odd interlace words.
An EOM, POT sequence is used to term inate the cycle. The
EOM is:

o

I

23

89

1112

23

141516

The lower 12 bits of the "POTted" word must be:

o

2

o
23

12

The interlace term inates the next time the count reaches zero
in the odd interlace word.
For example, to term inate the cycle on DSC 4, use the following sequence:
EOM 071004
POT 010000

o

23

I

TEST

8 9

1112

MEMORY INTERFACE CONNECTION
Once a computer is equipped with a multiple access to memory
feature, one or more memory interface connections (MIC) can
be attached. The MIC is a general interface between the computer and the outside world that allows special devices to be
connected to the computer. The MIC converts between the
4-volt logic levels used in the computer and the 8 volts used
outside. It preserves the integrity of the memory by generating
the parity of incoming data words. It will also check the parity
of words read from memory to indicate memory failures. If
incoming data is supplied with parity, the MIC will check for
odd parity as it generates the internal memory parity and
respond with a signal that indicates if the transmission was
correct. The device that is connected to the MIC must store
both the data and the address until the transmission to/from
memory is completed.

The computer core memory holds its information with all power
removed, but information in the computer registers is destroyed
by loss of power. Upon failure of main power to the computer,
this system provides that the contents of all registers and other
volatile information are automatically stored in core memory;
also, further writing into core storage is inhibited during the
decay period of the computer de power supply oui-puts. Erroneous memory control is prevented during power-off and power-on
operations. Power-oH/-on interrupt routines permit proper
resumption of a program, automatically, after power is restored.
Th is sol id-state system consists of ac power-sensing and memorysequencing circuitry, two high-priority interrupt channels, and
a "shut-down/start-up" programm ing sequence.
The SKIP IF SIG NAL NOT SET (SKS) instruction is an aid in
programming this option. Its address is 024000. If the OFF
interrupt (37) has just occurred, the computer executes the next
instruction in sequence (does not skip).

SDS computers incorporate an extensive memory parity checking
system. The inclusion of parity generation and checking circuitry assures the integrity of data and instructions transferred
among the memory, the central processing unit, and input/output
channels.

The SKS to test subchannels has the form:
SKS

SKS 071000

MEMORY PARITY INTERRUPTS

010000 00000200

o

EOM 070004

AUTOMATIC POWER FAIL-SAFE SYSTEM

DSC

EOM

For example, to test DSC 4 for errar, use the following sequence:

I

UNIT
161718

I

23

A select EOM with C equal to zero (C = 0) permits the SKSto
be directed to the subchannel or to the device attached to it.
The UNIT field specifies the device to be tested; the TEST
field is defined for the particular device.

In normal operation a switch on the computer console specifies
the action to be performed by the computer when a memory parity error is detected. Two actions are available: the computer
halts with the parity indicator lighted; or the computer ignores
the parity error and proceeds with the program.
In many real-time applications it is desirable to keep the computer running when a parity error is detected. Also, the program must be notified of the error without stopping computation.

A-15

An optional feature provides this capability by means of two
levels of enabled interrupts. One interrupt level is associated with the central processor; the other interrupt level
with the Direct Access Communication Channels and the
Data Multiplexing System. Memory parity errors detected
from these two sources produce a priority interrupt associated with the cause. The processing routine associated with
the interrupt can then take appropriate action, such as reinitiate the failed operation, notify the operator, or enter
a diagnostic routine. Such action allows memory parity errors to be recognized and handled properly without hindering the computer's performance of real-time or on-line
cal cu lati ons.

REAL-TIME CLOCK
The Real-Time Clock (RTC) provides a flexible time-orientation
system for the SDS 930 Computer. It derives time pulses from
the 60-cycle computer power supply. These pulses are then
used to produce a timing mark every 16.67 milliseconds, or
optionally every 8.33 milliseconds. The Real-Time Clock can
also accept timing marks from a customer-supplied input,
thereby allowing time measurement to any required resolution
for special applications. These timing marks are supplied at
standard SDS logic levels to the computer's RTC circuitry.
The timing marks are then used by the computer and its interrupt system to provide either an elapsed-time counter or a
continuously incrementing time counter depending on the needs
of the customer. The RTC operates in either mode depending
on lyon the computer's stored program.
Location

Type

Computer

Description

074

Normal

930

CLOCK SYNC

075

Single Instruction

930

CLOCK PULSE

The Clock Pu Ise and Clock Sync interrupts function together
to prov ide e lapsed-t ime, event cou nter, or t ime-of-day clocks.
The Clock Pu Ise interrupt is a single-instruction interrupt.
(Note: See Single Instruction Interrupts in Section 3.) AnMIN
instruction is usually placed in the Clock Pulse interrupt location. When MIN is used as a single-instruction interrupt

A-16

subroutine, it causes the contents of the effective address to be
incremented by one. Furthermore, if the new (incremented)
contents of the effective address is 0000, a Clock Sync interrupt is generated. The Clock Sync interrupt can be generated
in no other way.
ELAPSED-TIME CLOCK
The elapsed-time clock times the length of a program or subroutine, or initiates or discontinues processing at programdetermined time intervals. An arbitrary memory location is
reserved as a counter. When initialized, this cell contains
the 2's complement of the number of time intervals to be
counted. The Clock Pu Ise interrupt location contains an SKR
instruction.
Each Clock Pulse interrupt results in decrementing the clock
count by one. When the count is finished, an interrupt to the
Clock Sync location occurs. A su pervisory or other appropriate
control program can then be entered to perform the customerdesired operation.
CONTINUOUSLY INCREMENTING CLOCK
The continuously incrementing clock maintains "time-of-day"
for the computer. One memory location serves to count the
timing marks. In this case, the Clock Pulse is used to increment this location. (The Clock Pulse interrupt location contains an MIN instruction.) A simple, straightforward subroutine
can be entered to reconstruct the exact time-of-day from this
twenty-four bit count.
ARM/DISARM
The Clock Pulse interrupt can be armed and disarmed with these
instructions.
EOM Effective Address

Action

20200

Disarm Clock Pulse
Interrupt

20100

Arm Clock Pulse Interrupt

The Clock Sync interrupt is always armed.

PROGRAMMED OPERATOR INSTRUCTIONS
The SDS Programmed Operator enables a programmer to code a
subroutine call with a single instruction, just as if the subroutine were an actual machine instruction. Other computers
usually perform standard subroutine calls by executing a transfer to the starting location of the subroutine and, at the same
time, preserving a return address. This procedure requires an
operation code (indicating a transfer) and an operand address
(indicating the starting address of the subroutine). If the subroutine should require an additional operand, as in a floating
point add subroutine, for example, the calling sequence must
be longer to accommodate the specification of the operand.
The SDS Programmed Operator (abbreviated POP) uses the operation code to indicate the transfer address. When the computer
detects a "one" in bit position 2 of an instruction, bit positions
2 through S are not interpreted as a normal instruction, but instead, are treated as an address to which the computer transfers control. Thus the operand address field is free to designate
an address for use by the subroutine. There are 64 (decimal)
locations [(100)S through (177)S] to which a transfer may occur. These 64 locations constitute a I inkage table; theynormally contain appropriate unconditional transfer instructions
(BRU) to maintain the communication link between the POP
code and the subroutine being called by it.

By judicious useof the programmed operator principle, a one-toone correspondence may be maintained between SDS 930 instructions and SDS 925 instructions. For example, XMA is a 930
machine instruction; its function may be simulated on the SDS
925bya subroutine, and this subroutine maybe called by means of
a programmed operator. Thus, the main program requires the
same number of instructions for either the SDS 925 or 930.
Another advantage of the programmed operator is the ability to
change the arithmetic mode of a program without recoding the
arithmetic portions of the program. For example, if the programmer codes all arithmetic instructions as programmed operators, he could simply change the arithmetic subroutine package
and, hence, the arithmetic mode of the main program.
The following operations take place when thecomputer detects
a programmed operator:
1.

(P) ~ (~0-23

save P Register for return address

2.

1 ~( A

2

8

STA

35

STORE A

(A) -3i>M

3

8

LDB

75

LOAD B

(M)-3i> B

2

8

STB

36

STORE B

(B)~M

3

8

LOX

71

LOAD INDEX

(M)-3i>X

2

8

STX

37

STORE INDEX

(X)~M

3

8

XMA

62

EXCHANGE M AND A

(A)~(M)

3

9

EAX

77

COPY EFFECTIVE ADDRESS INTO
INDEX REGISTER

Effective

2

8

ADD

55

ADD M TO A

(A)+(M)~A

2

9

ADC

57

ADD WITH CARRY

(A)+ (M)+ Carry~A

2

9

ADM

63

ADD A TO M

(A)+ (M)--3i>M

3

9

MIN

61

MEMORY INCREMENT

(M)+1~M

3

9

SUB

54

SUBTRACT M FROM A

(A)-(M)-7A

2

10

SUC

56

SUBTRACT WITH CARRY

(A)-(M)-Carry ~A

2

10

MUL

64

MULTIPLY

(A)x(M}-7A, B

4

10

DIV

65

DIVIDE

(A, B).;.(M)-7A, R----?B

10

11

ETR

14

EXTRACT

(A) and (M)~A

2

11

MRG

16

MERGE

(A) or (M)-7A

2

11

EOR

17

EXCLUSIVE OR

(M)(A) or (M)(A) ~A

2

11

Address~X

ARITHMETIC

LOGICAL

REGISTER CHANGE
CLA

04600001

CLEAR A

0-3i>A

12

CLB

04600002

CLEAR B

O~B

12
12

CLR

04600003

CLEAR AB

0-3i>A, B

CAB

04600004

COPY A INTO B

(A) -3i>B

12

CBA

04600010

COpy B INTO A

(B)~A

12

XAB

04600014

EXCHANGE A AND B

(A)~(B)

12

BAC

04600012

COPY B INTO A, CLEAR B

(B)-7A,O-3i>B

13

ABC

04600005

COpy A INTO B, CLEAR A

(A)~B, 0--3i>A

13

CLX.

24600000

CLEAR INDEX REGISTER

0--3i>X

13

CXA

04600200

COPY INDEX INTO A

(X)--3i>A

13

A-20

Mnemonic

Instruction Code

Name

Function

Timing

Page
Ref.

REGISTER CHANGE (cont. )
CAX

04600400

XXA

COpy A INTO INDEX

(A)-3-X

13

04600600

EXCHANGE INDEX AND A

(X)~(A)

13

CBX

04600020

COPY B INTO INDEX

(B) -7X

13

CXB

04600040

COpy INDEX INTO B

(X)-7B

13

XXB

04600060

EXCHANGE INDEX AND B

(X)~(B)

13

STE

04600122

STORE EXPONENT

(B15-23)~X15-23

13

0~B15_23' X 15 -3-X O_ 14

LOE

04600140

LOAD EXPONENT

(X15_23)-7B15_23

14

XEE

046 00160

EXCHANGE EXPONENTS

(B15-23~(X15-23)

14

CNA

04601000

COPY NEGATIVE INTO A

-(A)-7A

14

006200SR

SET EXTENSION REGISTER

SR-7ME

19

0404000T

EXTENSION REGISTER TEST

(ME)T=O

MEMORY EXTENSION

2,3

20

BRANCH
14

BRU

01

BRANCH UNCONDITIONALLY

M-7P

BRX

41

INCREMENT INDEX AND BRANCH

(X)+1-3-X
If X Neg., M-7P
If X Pos., P+1-3-P

1
2

14

BRM

43

MARK PLACE AND BRANCH

(P)-?M;M+1~P

2

15

BRR

51

RETURN BRANCH

(M)+1-?P

2

15

SKE

50

SKIP IF A EQUALS M

If (A)!(M), P+1~P
If (A)=(M), P+2----3l-P

2
3

15

SKG

73

SKIP IF A GREATER THAN M

If (A)::;(M), P+ 1----3l-P
If (A)>(M), P+2----3l-P

2
3

15

SKM

70

SKIP IF A=M ON B MASK

If (B)(A)i(B)(M), P+1-7P
If (B)(A)=(B)(M), P+2-7P

2
3

15

SKA

72

SKIP IF M AND A.DO NOT COMPARE
ONES

If (A)(M)!O, P+ 1-3-P
If (A)(M)=O, P+2----3l-P

2
3

16

SKB

52

SKIP IF M AND B DO NOT COMPARE
ONES

If (B)(M)!O, P+ 1----3l-P
If (B)(M)=O, P+2----3l-P

2
3

16

SKN

53

SKIP IF M NEGATIVE

If (M)~, P+1----3l-P
If (M)M
If (M) Pos., P+1~P
If (M) Neg., P+2----"7P

3

16

TEST AND SKIP

A-21

Mnemonic

Instruction Code

Name

Function

Timing

Page
Ret·

TEST AND SKIP (cont.)
SKD

SKS

74

40

DIFFERENCE EXPONENTS AND SKIP

SKIP IF SIGNAL NOT SET

I{B15-23)-{M15_23)!-7X15_23
If Difference is Pos., P+ 1---7P
If Difference is Neg. f P+2---7P
If Signal=l, P+ 1-7P

If Signal=O, P+2---7P

16
2
3
2
3

27,37
38,42

SHIFT

RSH

06600XXX

RIGHT SHIFT AB

AB Shift Right N Places

2-7

17

RCY

06620XXX

RIGHT CYCLE AB

AB Cycled Right N Places

2-7

17

LRSH

06624XXX

LOGICAL RIGHT SHIFT AB

AB Shift Right N Places

2-7

17

LSH

06700XXX

LEFT SHIFT AB

AB Shift Left N Places

2-5

18

LCY

06720XXX

LEFT CYCLE AB

AB Cycled Left N Places

2-5

18

NOD

06710XXX

NORMALIZE AND DECREMENT INDEX

AB Left and X-l---7X
unti I AriA l' or N Sh ifts

2-5

18

Ha Its Computation

CONTROL
HLT

00

HALT

NOP

20

NO OPERATION

EXU

23

18
19

EXECUTE

Instruction M is Performed,
P is Unchanged

19

BREAKPOINT TESTS
BPTl

04020400

BREAKPOINT NO. 1 TEST

Test Breakpoint Switch

1,2

19

BREAKPOINT NO.2 TEST

Test Breakpoint Switch

1,2

19

BPT2

04020200

BPT3

04020100

BREAKPOINT NO.3 TEST

Test Breakpoint Switch

1,2

19

BPT4

04020040

BREAKPOINT NO.4 TEST

Test Breakpoint Switch

1,2

19

04020001

OVERFLOW INDICATOR TEST AND
RESET

Test Overflow Indicator

1,2

19

OVERFLOW
OVT
ROV

00220001

RESET OVERFLOW

Turn Off Overflow Indicator

19

REO

002 20010

RECORD EXPONENT OVERFLOW

1-70verflow Indicator
if X14#15

18

EIR

00220002

ENABLE INTERRUPT SYSTEM

23

DIR

00220004

DISABLE It'HERRUPT SYSTEM

23

lET

04020004

INTERRUPT ENABLED TEST

Skip if Interrupt System
Enabled

1,2

23

IDT

·04020002

INTERRUPT DISABLED TEST

Skip if Interrupt System
Disabled

1,2

23

INTERRUPT

, "''''':-c.:,

AIR

A-22

00220020

ARM INTERRUPTS

23

Mnemonic

Instruction Code

Name

Function

TIming

Page
Ref.

CHANNEL CONTROL
ALC 0

002 SOOOO

ALERT CHANNEL W

DSC 0

00200000

DISCONNECT CHANNEL W

ASC 0

002 12000

ALERT TO STORE ADDRESS IN
CHANNEL W

(For other channel codes,
see page 3S. )

33

TOP 0

002 14000

TERMINA TE OUTPUT ON CHANNEL W

(For other channel codes,
see page 3S. )

33

CAT 0

040 14000

CHANNEL W ACTIVE TEST; SKIP IF
CHANNEL INACTIVE

(For other channel codes,
see page 39. )

2,3

37

CET 0

040 11000

CHANNEL W ERROR TEST; SKIP IF NO
ERROR

(For other channel codes,
see page 39. )

2,3

37

b

040 10400

CHANNEL W INTER-RECORD TEST

(For other channel codes,
see page 40. )

2,3

38

CZTO

040 12000

CHANNEL W ZERO COUNT TEST;
SKIP IF COUNT EQUALS ZERO

(For other channel codes,
see page 40. )

2,3

38

(For other channel codes,
see page 3S. )
3
(For other channel codes,
see page 3S. )

33
33

CHANNEL TESTS

CIT

IN.PUT/OUTPUT
MIW

12

MINTO W BUFFER WHEN EMPTY

{M)~W

2 + wait

38

MIY

10

MINTO Y BUFFER WHEN EMPTY

{M)~Y

2 + wait

39

WIM

32

W BUFFER INTO M WHEN FULL

{W)~M

3 + wait

39

YIM

30

Y BUFFER INTO M WHEN FULL

{Y)--7M

3 + wait

39

PIN

33

PARALLEL INPUT

{Unit M)~M in Parallel

4 + wait

41

POT

13

PARALLEL OUTPUT

{M)~Unit M in Parallel

3 + wait

41

EOM

02

ENERGIZE OUTPUT M

26,31

EOD

06

ENERGIZE OUTPUT TO DIRECT
ACCESS CHANNEL

27,33

BETW

04020010

W BUFFER ERROR TEST

1,2

37

BETY

04020020

Y BUFFER ERROR TEST

1,2

37

BRTW

04021000

W BUFFER READY TEST

1,2

37

BRTY

04022000

Y BUFFER READY TEST

1,2

37

RKB 0,1,4

00202601

READ KEYBOARD

46

TYP 0, 1,4

00202641

WRITE TYPEWRITER

46

RPTO,I,4

00202604

READ PAPER TAPE

49

PTL 0,1,4

00200644

PUNCH PAPER TAPE WITH LEADER

49

PPTO;1,4

00202644

PUNCH PAPER TAPE WITH NO LEADER

49

TYPEWRITER

PAPER TAPE

A-23

Mnemonic

Name

Instruction Code

Function

Timing

Page
Ref.

~

PUNCHED CARD
CRT 0,1

04012006

CARD READER READY TEST

2,3

53

CFT 0, 1

040 11006

CARD READER END-OF-FILE TEST

2,3

53

RCD 0,1,4

00202606

READ CARD DECIMAL (HOLLERITH)

53

RCBO,1,4

00203606

READ CARD BINARY

CPT 0, 1

040 14046

CARD PUNCH READY TEST

PCD 0, 1,4

00202646

PUNCH CARD DECIMAL (HOLLERITH)

53

PCB 0, 1,4

00203646

PUNCH CARD BINARY

53

FCT 0, 1

04014006

FIRST COLUMN TEST

2,3

53

PBT 0, 1

040 12046

PUNCH BUFFER TEST

2,3

53

SRC 0,1

002 12006

SKIP REMAINDER OF CARD

TRT 0, n

0401041n

TAPE READY TEST

2,3

57

FPT 0, n

040 1401n

FILE PROTECT TEST

2,3

57

BTT 0, n

040 1201n

BEGINNING OF TAPE TEST

2,3

57

ETT 0, n

040 1101n

END OF TAPE TEST·

2,3

58

DT20,n

040 1621n

DENSITY TEST, 200 BPI

2,3

58

DT5 0, n.

040 1661n

DENSITY TEST, 556 BPI

2,3

58

DT8 0, n

040 1721n

DENSITY TEST, 800 BPI

2,3

58

TFT 0

04013610

TAPE END-OF-FILE TEST

2,3

58

TGT O,n

040 1261n

TAPE GAP TEST

2,3

58

WTB 0,n,4

0020365n

WRITE TAPE IN BINARY

58

WTD O,n,4

0020265n

WRITE TAPE IN DECIMAL (BCD)

58

EFT 0,4

0020367n

ERASE TAPE FORWARD

58

ERT 0, n,4

0020767n

ERASE TAPE IN REVERSE

58

RTB 0, n,4

0020361n

READ TAPE IN BINARY

58

RTD 0,n,4

0020261n

READ TAPE IN DECIMAL (BCD)

58

SFB 0, n,4

0020363n

SCAN FORWARD IN BINARY

58

SFD 0, n,4

0020263n

SCAN FORWARD IN DECIMAL (BCD)

58

SRBO, n, 4

0020763n

SCAN REVERSE IN BINARY

58

SRD 0, n,4

0020663n

SCAN REVERSE IN DECIMAL (BCD)

58

REW O,n

002 1401n

REWIND

58
58

53
2,3

53

53

MAGNETIC TAPE

040 1021n

MAGPAK TEST

RTS 0

00214000

CONVERT READ TO SCAN

58

SRR 0

002 13610

SKIP REMAINDER OF RECORD

58

PRT 0, 1

040 12060

PRINTER READY TEST

2,3

63

EPT 0, 1

040 14060

END OF PAGE TEST

2,3

63

PFT 0, 1

040 11060

PRINTER FAULT TEST

2,3

63

POL 0, 1

002 10260

PRINTER OFF-LINE

PSC 0, l,N

002 IN460

PRINTER SKIP TO CHANNEL N

63

2,3

PRINTER

·;.\-24

63

PSPO,l,N

002 lN660

PRINTER SPACE N LINES

63

PLP 0,1,4

00202660

PRINT LINE PRINTER

63

SDS 930 INSTRUCTION LIST-NUMERICAL ORDER
Instruction Code

Mnemonic

Name

Page References

00

HLT

HALT

18

01

BRU

BRANCH UNCONDITIONALLY

14

02

EOM

ENERGIZE OUTPUT M

25,26,27,28,31, 34,41
33

DSC 0

DISCONNECT CHANNEL W

00202601

RKB 0,1,4

READ KEYBOARD

46

00202641

TYP 0, 1,4

WRITE TYPEWRITER

46

00200644

PTL 0,1,4

PUNCH PAPER TAPE WITH LEADER

49

00202604

RPT 0,1,4

READ PAPER TAPE

49

00200000

For other channel codes see page

00202606

RCD 0,1,4

READ CARD DECIMAL (HOLLERITH)

53

0020261n

RTD O,n,4

READ TAPE IN DECIMAL (BCD)

58

0020263n

SFD 0, n,4

SCAN FORWARD IN DECIMAL (BCD)

58

00202644

PPT 0, 1,4

PUNCH PAPER TAPE WITH NO LEADER

49

00202646

PCD 0, 1,4

PUNCH CARD DECIMAL (HOLLERITH)

53

0020265n

WTD 0, n,4

WRITE TAPE IN DECIMAL (BCD)

58

00202660

PLPO,1,4

PRINT LINE PRINTER

63

00203606

RCB 0,1,4

READ CARD BINARY

53

0020361n

RTB 0, n, 4

READ TAPE IN BINARY

58

0020363n

SFB 0, n, 4

SCAN FORWARD IN BINARY

58

00203646

PCBO,1,4

PUNCH CARD BINARY

53

0020365n

WTB 0, n,4

WRITE TAPE IN BINARY

58

0020367n

EFT n,4

ERASE TAPE FORWARD

58

0020663n

SRD 0, n, 4

SCAN REVERSE IN DECIMAL (BCD)

58

0020763n

SRB 0, n, 4

SCAN REVERSE IN BINARY

58

0020767n

ERT 0, n, 4

ERASE TAPE IN REVERSE

58

002 10260

POL 0,1

PRINTER OFF-LINE

63

002 12000

ASC 0

ALERT TO STORE ADDRESS IN
CHANNEL W

For other channel codes, see page

33

002 12006

SRC 0

SKIP REMAINDER OF CARD

53

002 13610

SRR 0

SKIP REMAINDER OF RECORD

58

002 14000

TOPO

TERMINATE OUTPUT ON
CHANNEL W

00214000

RTS 0

For other channel codes, see page

34

CONVERT READ TO SCAN

58

002 1401n

REW 0, n

REWIND

58

002 1N460

PSC 0, I, N

PRINTER SKIP TO CHANNEL N

63

002 1N660

PSP 0, I, N

PRINTER SPACE N LINES

63

00220001

ROV

RESET OVERFLOW

19

00220002

EIR

ENABLE INTERRUPT SYSTEM

23

00220004

DIR

DISABLE INTERRUPT SYSTEM

23

00220010

REO

RECORD EXPONENT OVERFLOW

18

A-25

Instruction Code

Name

Mnemonic

00220020

AIR

ARM INTERRUPTS

00250000

ALC 0

ALERT CHANNEL W

EOD

ENERGIZE OUTPUT TO DIRECT ACCESS
CHANNEL

06
006200SR

Page References
23
For other channel' codes, see page 33
27,28,33,34

SET EXTENSION REGISTER

19
39

10

MIY

MINTO Y BUFFER WHEN EMPTY

12

MIW

MINTO W BUFFER WHEN EMPTY

38

13

POT

PARALLEL OUTPUT

41

14

ETR

EXTRACT

11

16

MRG

MERGE

11

17

EOR

EXCLUSIVE OR

11

20

NOP

NO OPERATION

19

23

EXU

EXECUTE

19

30

YIM

Y BUFFER INTO M WHEN FULL

39

32

WIM

W BUFFER INTO M WHEN FULL

39

33

PIN

PARALLEL INPUT

41

35

STA

STORE A

8
8
8

36

STB

STORE B

37

STX

STORE INDEX

40

SKS

SKIP IF SIGNAL NOT SET

040 1021n

MAGPAK TEST

27, 37, 38, 42
58

040 10400

CIT 0

CHANNEL W INTER-RECORD TEST

0401041n

TRT 0, n

TAPE READY TEST

040 11000

CET 0

CHANNEL W ERROR TEST; SKIP IF
NO ERROR

040 11006

CFT 0, 1

CARD READER END-OF-FILE TEST

53

040 1101n

ETT 0, n

END OF TAPE TEST

58

040 11060

PFT 0,1

PRINTER FAULT TEST

63

040 12000

CZT 0

CHANNEL W ZERO COUNT TEST;
SKIP IF COUNT EQUALS ZERO

for other channel codes, see page 38
57
For other channel codes, see page 37

For other channel codes, see page 38

040 .12006

CRT 0,1

CARD READER READY TEST

53

040 1201n

BTT 0, n

BEGINNING OF TAPE TEST

57

o 40

PBT 0, 1

PUNCH BUFFER TEST

53
63

12046

040 12060

PRT 0,1

PRINTER READY TEST

040 1261n

TGT O,n

TAPE GAP TEST

58

04013610

TFT 0

TAPE END-Of-FILE TEST

58

040 14000

CAT 0

CHANNEL W ACTIVE TEST; SKIP IF
CHANNEL INACTIVE

For other channel codes, see page 37

040 14006

FCT 0, 1

FIRST COLUMN TEST

53

o 40

1401n

FPT 0, n

FILE PROTECT TEST

57

040 14046

CPT 0, 1

CARD PUNCH READY TEST

53

040 14060

EPT 0,1

END OF PAGE TEST

63

040 1621n

DT2 0, n

DENSITY TEST, 200 BPI

58

040 1661n

DT5 0, n

DENSITY TEST, 556 BPI

58

A-26

Instruction Code

Mnemonic

Name

Page References

o 40 1721n
o 40 20001

DT8 0, n

DENSITY TEST, 800 BPI

58

OVT

OVERFLOW INDICATOR TEST AND RESET

19

04020002

!DT

INTERRUPT DISABLED TEST

23

04020004

lET

INTERRUPT ENAB~ED TEST

2~

04020010

BETW

W BUFFER ERROR TEST

37

·04020020

BETY

Y BUFFER ERROR TEST

37

04020040

BPT4

BREAKPOINT NO.4 TEST

19

04020100

BPT3

BREAKPOINT NO.3 TEST

19

04020200

BPT2

BREAKPOINT NO.2 TEST

19

04020400

BPTl

BREAKPOINT NO. 1 TEST

19

04021000

BRTW

W BUFFER READY TEST

37

04022000

BRTY

Y BUFFER READY TEST

37

EXTENSION REGISTER TEST

20

INCREMENT INDEX AND BRANCH

14

0404000T
41

BRX
BRM

MARK PLACE AND BRANCH

15

04600001

CLA

CLEAR A

12

04600002

CLB

CLEAR B

12

04600003

CLR

CLEAR AB

12

04600004

CAB

COpy A INTO B

12

04600005

ABC

COpy A INTO B, CLEAR A

13

04600010

CBA

COPY B INTO A

12

04600012

BAC

COPY B INTO A, CLEAR B

13

04600014

XAB

EXCHANGE A AND B

12

04600020

CBX

COPY B INTO INDEX

13

04600040

CXB

COPY INDEX INTO B

13

04600060

XXB

EXCHANGE INDEX AND B

13

04600122

STE

STORE EXPONENT

13
14

43

04600140

LDE

LOAD EXPONE NT

04600160

XEE

EXCHANGE EXPONENTS

14

04600200

CXA

COPY INDEX INTO A

13

04600400

CAX

COPY A INTO INDEX

13

04601000

CNA

COPY NEGATIVE INTO A

14

24600000

13

CLX

CLEAR INDEX REGISTER X

50

SKE

SKIP IF E EQUALS M

15

51

BRR

RETURN BRANCH

15

52

SKB

SKIP IF M AND B DO NOT COMPARE ONES

16

53

SKN

SKIP IF M NEGATIVE

16
10

54

SUB

SUBTRACT

55

ADD

ADD M TO A

56

SUC

SUBTRACT WITH CARRY

57

ADC

ADD WITH CARRY

60

SKR

REDUCE M, SKIP IF NEGATIVE

61

MIN

MEMORY INCREMENT

9
10
9
16
9

A-V

Instruct.ion Code

p,oge Reference.s .

62.

XMA

EXCHANGE M AND A .

9

63

ADM

ADD A·TO M

9

64

MUL

MULTIPLY

65

DIV

DIVIDE

11

RSH

RIGHT SHIFT AB

17

RCY

RIGHT CYCLE AB

17

LRSH

LOGICAL RIGHT SHIFlAB

LSH

LEFT SHIFT AB

18

NOD

NORMALIZE AND DECREMENT INDEX

L8

LCY

LEFT CYCLE AB

18

70

SKM

SKIP IF A=M ON B MASK

71

LOX

LOAD INDEX

72

SKA

SKIP IF M AND A DO NOT COMpARE ONES

16

73

SKG

SKIP IF A GREATER THAN M

15

74

SKD

DIFFERENCE EXPONENTS AND SKIP

16

75

LOB

LOAD B

8

76

LOA

LOAD A

8

77

EAX

COPY EFFECTIVE ADDRESS INTO INPEX REGISTER

8

o 6600XXX
o 6620XXX
o66'24XXX
o 6700XXX
o 6710XXX
o 6720XXX

A-28

N~me

Mnemonic

.~.

10

;

")

\",'

,

.,

17

15
8

SDS 930 INSTRUCTION LIST - ALPHABETICAL ORDER
Mnemonic

Instruction Code

ABC

04600005

Name
COpy A INTO B, CLEAR A

Page References
13

ADD WITH CARRY

9

55

ADD M TO A

9

63

ADD A TO M

9

ADC

57

ADD
ADM
AIR

00220020

ARM INTERRUPTS

ALC 0

00250000

ALERT CHANNEL W

For other channel codes, see page 33

ASC 0

002 12000

ALERT TO STORE ADDRESS IN
CHANNEL W

For other channel codes, see page 33

23

BAC

04600012

COpy B INTO A, CLEAR B

1·3

BETW

04020010

W BUFFER ERROR TEST

37

BETY

04020020

Y BUFFER ERROR TEST

37

BPTl

04020400

BREAKPOINT NO. 1 TEST

19

BPT2

04020200

BREAKPOINT NO. 2 TEST

19

BPT3

04020100

BREAKPOINT NO. 3 TEST

19

BPT4

04020040

BREAKPOINT NO.4 TEST

19

BRM

43

MARK PLACE AND BRANCH

15

BRR

51

RETURN BRANCH

15

BRTW

04021000

W BUFFER READY TEST

37

BRTY

04022000

Y BUFFER READY TEST

37

BRU

01

BRANCH UNCONDITIONALLY

14

BRX

41

INCREMENT INDEX AND BRANCH

14

BHO,n

040 1201n

BEGINNING OF TAPE TEST

57

CAB

04600004

COPY A INTO B

12

CAT 0

04014000

CHANNEL W ACTIVE TEST; SKIP IF
CHANNEL INACTIVE

For other channel codes, see page 37
13

CAX

04600400

COpy A INTO INDEX

CBA

04600010

COpy B INTO A

12

CBX

04600020

COpy B INTO INDEX

13

CET 0

040 11000

CHANNEL W ERROR TEST; SKIP IF
NO ERROR

CFT 0, 1

040 11006

CARD READER END-OF-FILE TEST

CIT 0

04010400

CHANNEL W INTER-RECORD TEST

CLA

04600001

CLEAR A

12

CLB

04600002

CLEAR B

12

CLR

04600003

CLEAR AB

12

CLX

24600000

CLEAR INDEX REGISTER X

13

CNA

046 01000

COpy NEGATIVE INTO A

14

CPT 0, 1

040 14046

CARD PUNCH READY TEST

53

CRT 0, 1

040 12006

CARD READER READY TEST

53

For other channel codes, see page 37
53
For other channel codes, see page 38

A-29

Name

Page References

Mnemonic

Instruction Code

CXA

04600200

COPY INDEX INTO A

13

CXB

04600040

COPY INDEX INTO B

13

CZT 0

040 12000

CHANNEL W ZERO COUNT TEST;
SKIP IF COUNT EQUALS ZERO

38

DIR

00220004

DISABLE INTERRUPT SYSTEM

23

DIVIDE

11

DIV

65

DSC 0

00200000

DISCONNECT CHANNEL W

DT2 0, n

040 1621n

DENSITY TEST, 200 BPI

58

DT5 0, n

040 1661n

DENSITY TEST, 556 BPI

58

DT8 0, n

040 1721n

DENSITY TEST, 800 BPI

58

EAX

77

For other channel codes, see page

33

COpy EFFECTIVE ADDRESS INTO
INDEX REGISTER

8

EFT n,4

0020367n

ERASE TAPE FORWARD

58

EIR

00220002

ENABLE INTERRUPT SYSTEM

23

EOD
EOM
EOR

06
02

ENERGIZE OUTPUT M

27,28,33,34
25,26,27,28,31,34,41

EXCLUSIVE OR

11

EPT 0,1

040 14060

END OF PAGE TEST

63

ERT O,n,4

0020767n

ERASE TAPE IN REVERSE

58

EXTRACT

11

END OF TAPE TEST

58

EXECUTE

19

ETR
ETT 0, n
EXU

17

ENERGIZE OUTPUT TO DIRECT ACCESS
CHANNEL

14
040 1101n
23

FCT 0, 1

040 14006

FIRST COLUMN TEST

53

FPT 0, n

040 1401n

FILE PROTECT TEST

57

HALT

18

HLT

00

IDT

04020002

INTERRUPT DISABLED TEST

23

lET

04020004

INTERRUPT ENABLED TEST

23

lORD

I/O OF A RECORD AND DISCONNECT

35

IORP

I/O OF A RECORD AND PROCEED

35

IOSD

I/O UNTIL SIGNAL THEN DISCONNECT

35

IOSP

I/O UNTIL SIGNAL THEN PROCEED

36

LEFT CYCLE AB

18

LCY

06720XXX

lOA

76

LOAD A

lOB

75

LOAD B

lOE
LDX

04600140
71

LRSH

06624XXX

I:SH

06700XXX

LOAD EXPONENT
LOAD INDEX

8
8
14
8

LOGICAL RIGHT SHIFT AB

17

LEFT SHIFT AB

18

MIN

61

MEMORY INCREMENT

MIW

12

MINTO W BUFFER WHEN EMPTY

38

MIY

10

MINTO Y BUFFER WHEN EMPTY

39

MRG

16

MERGE

11

A-30

9

Mnemonic
MUL
NOD
NOP

Instruction Code
64
067 lOXXX
20

Name

Pa~e

References

MULTIPLY

10

NORMALIZE AND DECREMENT INDEX

18

NO OPERATION

19

OVT

o 40 20001

OVERFLOW INDICATOR TEST AND RESET

19

PBT 0, 1

020 12046

PUNCH BUFFER TEST

53

PCB 0,1,4

00203646

PUNCH CARD BINARY

53

PCD 0, 1,4

00202646

PUNCH CARD DECIMAL (HOLLERITH)

53

PFT 0, 1

040 11060

PRINTER FAULT TEST

63

PARALLEL INPUT

41

PIN

33

PLP 0, 1,4

00202660

PRINT LINE PRINTER

63

POL 0, 1

002 10260

PRINTER OFF LINE

63

PARALLEL OUTPUT

41

POT

13

PPTO,1,4

00202644

PUNCH PAPER TAPE WITH NO LEADER

49

PRT 0, 1

040 12060

PRINTER READY TEST

63

PSC 0, 1,N

002 lN460

PRINTER SKIP TO CHANNEL N

63

PSP 0, 1,N

002 lN660

PRINTER SPACE N LINES

63

PTL 0, 1,4

00200644

PUNCH PAPER TAPE WITH LEADER

49

RCB 0, 1,4

00203606

READ CARD BINARY

53

RCD 0,1,4

00202606

READ CARD DECIMAL (HOLLERITH)

53

RCY

06620XXX

RIGHT CYCLE AB

17

REO

00220010

RECORD EXPONENT OVERFLOW

18

REW O,n

002 1401n

REWIND

58

RKB 0, 1,4

00202601

READ KEYBOARD

46

ROV

00220001

RESET OVERFLOW

19
49

RPT 0,1,4

00202604

READ PAPER TAPE

RSH

06600XXX

RIGHT SHIFT AB

17

RTBO,n,4

0020361n

READ TAPE IN BINARY

58

RTD 0, n,4

0020261n

READ TAPE IN DECIMAL (BCD)

58

RTS 0

002 14000

CONVERT READ TO SCAN

58

SFB 0, n, 4

0020363n

SCAN FORWARD IN BINARY

58

SFD 0, n,4

0020263n

SCAN FORWARD IN. DECIMAL (BCD)

58

SKA

72

SKIP IF M AND A DO NOT COMPARE
ONES

16

SKB

52

SKIP IF M AND B DO NOT COMPARE
ONES

16

SKD

74

DIFFERENCE EXPONENTS AND SKIP

16

SKE

50

SKIP IF A EQUALS M

15

SKG

73

SKIP IF A GREATER THAN M

15

SKM

70

SKIP IF A=M ON B MASK

15

SKN

53

SKIP IF M NEGATIVE

16

SKR

60

REDUCE M, SKIP IF NEGATNE

16

A-31

Mnemonic
SKS

Instruction Code

40

Name
SKIP IF SIGNAL NOT SET

Page References
27,37,38,42

SRB 0, n, 4

0020763n

SCAN REVERSE IN BINARY

58

SRC 0,1

002 12006

SKIP REMAINDER OF CARD

53

SRD 0, n, 4

0020663n

SCAN REVERSE IN DECIMAL (BCD)

58

SRR 0

002 13610

SKIP REMAINDER OF RECORD

58

STA
STB
STE

35

STORE A

36

STORE B

04600122

STORE EXPONENT

8
8
13

STX

37

STORE INDEX

SUB

54

SUBTRACT

10

56

8

SUBTRACT WITH CARRY

10

040 13610

TAPE END-OF-FILE TEST

58

TGT O,n

040 1261n

TAPE GAP TEST, CHANNEL W

58

TOP 0

002 14000

TERMINATE OUTPUT OF CHANNEL W

TRT O,n

0401041n

TAPE READY TEST

57

TYP 0,1,4

00202641

WRITE TYPEWRITER

46

W BUFFER INTO M WHEN FULL

39

SUC
. TFT 0

WIM

32

33,34

WTBO,n,4

0020365n

WRITE TAPE IN BINARY

58

WTD 0,n,4

0020265n

WRITE TAPE IN DECIMAL (BCD)

58

XAB

04600014

EXCHANGE A AND B

12

XEE

04600160

EXCHANGE EXPONENTS

14

XMA

62

XXA

04600600

XXB

04600060

YIM

A-32

30

EXCHANGE M AND A

9

EXCHANGE INDEX AND A

13

EXCHANGE INDEX AND B

13

Y BUFFER INTO M WHEN FULL

39

"

SCIENTIFIC DATA SYSTEMS

1649 Seventeenth Street· Santa Monica, California· Phone (213) UP 1- 0960



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2012:12:03 15:58:36-08:00
Modify Date                     : 2012:12:03 15:54:04-08:00
Metadata Date                   : 2012:12:03 15:54:04-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:c30d86a4-f170-4d77-b779-2d7e7f682818
Instance ID                     : uuid:78de271a-5940-4c07-98ec-a468d33d328d
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 106
EXIF Metadata provided by EXIF.tools

Navigation menu