900505C_SDS_92_Reference_Jun65 900505C SDS 92 Reference Jun65

900505C_SDS_92_Reference_Jun65 900505C_SDS_92_Reference_Jun65

User Manual: 900505C_SDS_92_Reference_Jun65

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

Download900505C_SDS_92_Reference_Jun65 900505C SDS 92 Reference Jun65
Open PDF In BrowserView PDF
SCIENTIFIC DATA SYSTEMS

Reference Manual

SOS 92 BASIC INSTRUCTIONS (CENTRAL PROCESSOR)
Mnemonic

Octal Code

Name

LOAD/STORE
LDA
LDB
STA
STB
XMA
XMB

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

64
24
44
04
74
34

XMF A, T 17
LDF A, T 57
0044
SFT
SFF
0042
INF
0046

Load A
Load B
Store A
Store B
Exchange Memory and A
Exchange Memory and B

Exchange Memory and F
Load F
Set Flag True
Set Flag False
Invert Flag

ARITHMETIC
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T
A, T

62
22
63
23
60
20
61
21
76
36
16
56
13
53
52
12

Add to A
Add to B
Add with Carry to A
Add with Carry to B
Subtract to A
Subtrac t to B
Subtract with Carry to A
Subtract with Carry to B
Memory Plus A to Memory
Memory Plus B to Memory
Memory Plus One to Memory
Memory Plus Flag to Memory
Multiply A (Optional)
Multiply B (Optional)
Divide AB (Optional)
Divide BA (Optional)

LOGICAL
ANA
ANB
ORA
ORB
EOA
EOB
MAA
MAB

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

65
25
67
27
66
26
75
35

AND to A
AND to B
OR to A
OR to B
Exclusive OR to A
Exclusive OR to B
Memory AND A to Memory
Memory AND B to Memory

45
05
47
07
46
06

Compare
Compare
Compare
Compare
Compare
Compare

BRU
BRC
BRL
BFF
BFT
BDA
BAX
BRM
BMC

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

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

37

Branch Unconditionally
Branch, Clear Interrupt, and Load Flag
Branch and Load Flag
Branch on Flag False
Branch on Flag True
Branch on Decrementing A
Branch and Exchange A and B
Branch and Mark Place
Branch, Mark Place, and Clear Flag

42
02
43
03
02 or 42
43
03

Cycle
Cycle
Cyc Ie
Cycle
Cycle
Cycle
Cycle

73
32
33
31
71
70
30
77

SHIFT
CYA
CYB
CFA
CFB
CYD
CFD
CFI

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

A
B
Flag and
Flag and
Double
Flag and
Flag and

A
B
Double
Double Inverse

CONTROL
EXU A, T 72
0041 or
HLT
00000000

Execute
Halt

TRAP
SCT
RCT
TCT

0061
0060
0160

Set Program-controlled Trap
Reset Program-controlled Trap
Test Program-controlled Trap

BREAKPOINT TESTS
BPT
BPT
BPT
BPT

1
2
3
4

0144
0145
0146
0147

Breakpoint
Breakpoint
Breakpoint
Breakpoint

0051
0050
0150
00020001

Enab Ie Interrupt
Disab Ie Interrupt
Interrupt Enabled Test
Arm Interrupts

No.
No.
No.
No.

1 Test
2 Test
3 Test
4 Test

INTERRUPTS
EIR
DIR
lET
AIR

COMPARISON
COA
COB
CMA
CMB
CEA
CEB

Name

Octal Code

BRANCH

FLAG

ADA
ADB
ACA
ACB
SUA
SUB
SCA
SCB
MPA
MPB
MPO
MPF
MUA
MUB
DVA
DVB

Mnemonic

Ones with A
Ones with B
Magnitude of Memory with A
Magnitude of Memory with B
Memory Equa I to A
Memory Equal to B

Legend:
A = address; * A = indirect address; =A = immediate address; T = index tag

SOS 92 COMPUTER
REFERENCE MANUAL

June 1965

Ell' -\I!J
SCIENTIFIC DATA SYSTEMS/1649 Seventeenth Street/Santa Monica, Cal ifornia

@1965 Scientific Doto Systems, Inc.

Printed in U.S.A.

REVISIONS
Th is pu bl ication, 90 05 05C, supersedes the SDS 92 Computer Reference Manual, 900505B.
Revisions, corrections, and clarifications to the previous edition are indicated by a vertical
I ine in the left or right marg in of the page.

ii

CONTENTS
GENERAL DESCRIPTION . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . .
SDS 92 Registers . . . . . . . . . . . . .
SDS 9.2 Memory . . . . . . . . . . . . . .
Memory Word Formats . . . . . . . . . .
Addressing Facil ities . . . . . . . . . .
Trapping Facil ity . . . . . . . . . . . . .

II

1-1

APPENDIX A

1-3
1-4
1-4
1-4

SDS Character Codes
Table of Powers of Two . . . . . . . . . . . . .
Octal-Decimal Integer Conversion Table ..
Octal-Decimal Fraction Conversion Table .
Two's Complement Arithmetic . • . . . . . . .

1-6

2-1

MACHINE INSTRUCTIONS
Load;Store Instructions . . . . . . . . .
Flag Instructions . . . . . . . . . . . . .
Logical Instructions . . . . . . . . . . .
Comparison Instructions . . . . . . . . .
Branch Instructions . . . . . . . . . . . .
Shift Instructions . . . . . . . . . . . . .
Control Instructions
Trapping Instructions
..........
Breakpo i nt Tests . . . . . . . . . . . . .

III

.
.
.
.
.
.

APPENDIXES

1-1

.
.
.
.
.
.

Optional Equipment
Real-Time Clock
Automatic Power Fail-Safe . . . . . . . . .
Data Mu Itiplexing System . . . . . . . . .
Memory Parity Interrupts . . . . . . . . . .
Trapping Return Subroutine Example . . . . .
SDS 92 Memory Allocation
......... .
92 Instruction List - Functional Categories .
92 Instruction List - Numerical Order . . . .
92 Instruction List - Alphabetical Order

2-2

.
.

INPUT/OUTPUT SYSTEM . . . . . . . . . . . .

3-1

Introdu ct ion . . . . . . . . . . . . . . . . .
Data Transfer Instructions . . . . . . . .
I/O Channel Operation . . . . . . . . . .
EOM Instructions . . . . . . . . . . . . . .
SES Instructions . . . . . . . . . . . . . . .
Interlace . . . . . . . . . . . . . . . . . . .
POT/BPO, PIN/BPI Instructions
Single Bit Input/Output . . . . . . . . . .
I/O Termination Programming Notes ..
Priority Interrupt System (Optional) ..
Control Console . . . . . . . . . . . . . . .
Peripheral Equ ipment Description . . . .
Input/Output Typewriter . . . . . . .
Paper Tape Input/Output . . . . . . .
Card Input/Output . . . . . . . . . . .
Magnetic Tape Input/Output
Line Printer . . . . . . . . . . . . . . .

3-1
3-2
3-3
3-5
3-6
3-7
3-8
3-9
3-9

A-3

A-7
A-lO

I

B-1
B-1
B-1
B-1
B-4

I

APPENDIX B

2-1
2-3
2-4
2-4
2-5
2-6
2-7
2-7

A-1
A-2

B-5
B-6

B-7
B-11

B-15

FIGURES
1-1

1-2
3-1
3-2
3-3
3-4
3-5
3-6

3-10

3-13
3-15
3-15
3-17
3-18
3-21
3-25

SDS 92 Computer (Frontispiece)
......
SDS 92 Computer Configuration
......
Basic Register Flow Diagram . . . . . . . . .
ROT/RIN Data Transmission . . . . . . . . .
SDS 92 Channel Buffer . . . . . . . . . . . .
Interrupt Arm-Enable Response . . . . . . .
SDS 92 Computer Control Panel
......
Card Read into Memory in Hollerith . . . .
Printer Control Indicators and Switches

.
.
.
.
.
.
.
.

iv

1-2
1-3
3-2
3-3

3-12
3-14
3-19
3-25

TABLES
3-1
3-2
3-3

iii

Unit Address Codes
Interrupt Location Assig nments . . . . . . . .
Format Control Characters . . . . . . . . . . .

3-4
3-11

3-26

,
•

J

Iliin

~"

SDS 92 Computer

iv

I. GENERAL DESCRIPTION
INTRODUCTION

•

6-bit characters, 286,000 characters/second,
parity checked and packed 1 per word

The SDS 92 is a small, high-speed, very low-cost, generalpurpose computer designed especially to include application
in the following areas:
•

High-speed computer-based systems featuring speed
and flexibility

•

Format conversion featuring complete versatility in
formats and equipment involved

•

Three standard I/O modes:

6-bit characters, 286,000 characters/second,
parity checked and packed 2 per word
12-bit parallel words, 572,000 words/second,
parity checked

Small, general-purpose applications featuring repetitive, high-speed computation

•

I/O transfer of 12-bit characters, 286,000 characters/
second, parity checked, optional

•

Four console sense switches

•

Optional features
Interlace feature for standard I/O buffer

The SDS 92 has the following characteristics:

High-speed multiply and divide instructions,
5 and 13 cycles, respectively

•

The first commercia I computer using monolithic integrated circuits; all fl ip-flops are integrated

•

12-bit word plus parity bit

•

1.75 jJsec memory cyc Ie

•

Binary, integer arithmetic

•

12- and 24-bit instructions

•

Immediate, direct and indirect addressing

Keyboard/printer (teletype) with or without
paper tape reader and punch, 10 cps

•

2048-word basic memory

Paper tape reader and punch, 300 and 60 cps,
respectively

•

Memory expandable to 4096, 8192, 16,384 or 32,768
words, all directly addressable

MAGPAK Magnetic Tape System

Many-channel Data Multiplexing System using
a second, independent path to memory
24-bit parallel I/O
Up to 256 levels of true priority interrupt
Automatic power fai I-safe
Memory parity checking
Real-time clock
•

Peripheral equipment for the SDS 92

All equipment in SDS standard peripheral line
•

Two independent arithmetic registers, either of which
may be an accumulator

•

True Index Register; adds no time to execution

•

Instruction set comparable to medium-scale computer;
includes shift instructions

•

Software
Basic uti lity package

•

•

•

Symbolic assembler
I/O packages for optional peripheral equipment
Mathematical subroutines, including floatingpoint arithmetic, fixed-point multiply and divide,
and elementary mathematical functions

4096 single-bit control outputs; 4096 single-bit sense
inputs

•

All silicon semiconductors

Independent I/O buffer with automatic assembly/
disassemblyof 6-bit characters to/from words (standard)

•

O perating temperature range:

•

Dimensions: 65 in. x 30 in. x 25-1/2 in.

I/O block transfer standard

•

Power: 1 kva

1-1

0
100 to 40 C

Priority Interrupt
up to 256 Levels
I

I

I J

•

t t t

EOM

•

•

t

2048 Words
Expandable to :

SES

Core
Memory

SDS 92
Computer

12-bit Word POT/PIN
Para II e I,
Single Word BPO/BPI
or Bloc k
(24-bit Single
Word 0 ptional)

t
I
I
I
I
I
I
I
I

Basic I/O Channel

.--_

I

..

L__

I

6 bits

I

Second Memory Path

I

~

12 bits
Optional

4K
8K
16K
32K

I

12 bits
WOT;WIN
ROT/RIN

(plus parity) {}

~

t

I
f

t
I
t

External
Devices

!

Data Multiplex System

I

f

• • •

I

f

Subchannels
(6-bit, 12-bit, or 24-bit)

Items with dotted lines (---) are optional.

Figure 1-1.

t

4

SDS 92 Computer Configuration

1-2

SDS 92 REGISTERS

The Flag Bit Register is a one-bit register used for arithmetic
carry, storage and testing.

The 92 Central Processor contains the following arithmetic and
control registers. They are full-word, 12-bit registers except
as noted.

NOT AVAILABLE TO THE PROGRAMMER (light lines)
The S Register is a 15-bit register that contains the address of
the memory location being accessed for instructions or data.

AVAILABLE TO THE PROGRAMMER (dark lines)

The C Register, is a 12-bit register that is used in arithmetic and
control operations.

The A Register and the B Register are two independent, 12-bit
accumulators. The A Register is also the index register.

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

The P Register is a 15-bit register that contains the memory
address of the current instruction. Unless modified by the program, the contents of P increase by one during one-word instructions and increase by two during two-word instructions.

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

B
(Accumu lator)

1

Flag B;,
j

F
I

A
(Accumulator and/
or Index)
j

Adder

,

--

S
(Memory Address)

P
(Program Counter)

,

C
(Arithmetic and
Control)

-

--

M
(Memory Access)

Memory

--------------------~

Figure 1-2.

Basic Register Flow Diagram

1-3

o
(Opcode)

offers great versatility both in addressing and indexing capabilities. In most cases, the instruction can select either the A or
B for use as the accumulator.

SDS 92 MEMORY
The basic 92 memory contains 2048 words, consisting of 12{,its
plus parity. Memory is available in 4096-, 8192-, 16,384and 32,768-word sizes. The central processor can directly address all memory. Addresses for memory words extend from locations 00000 to 77777 (octal). If the address of the next
instruction to be executed is outside of available memory (for
less than 32,768-word memories), the 92 executes a halt instruction (00000000); the P Register wi II contain the requested
address + 2. For example, assume a 3777-word memory and

Bit Position

Meaning

o

Register Selection:

1-5

Instruction Code

6

Scratch Pad Bit

1 = A Register
B Register

o=

1.

the instruction "Branch-to" 4000, or

7

Indirect Address Bit

2.

the instruction "Load A" whose location is 3777.

8

Index Register Bit

9-11

Part of the Address Field

In both cases, a halt occurs after execution of the instruction
and the P Register contains 4002 which is outside of available
memory. Note that the P Register responds as if there were
always 32,768 words of memory. With a 32,768-word memory,
the memory is a "wrap-around" or circular memory where the
next location after 77777 is 00000. An attempt to read from a
location whose address is not avai lable causes zeros to be read.
An attempt to store into such a location essentially results in a
"no-op" operation, with the next instruction in sequence being
executed. A program can use th is property to determine the
core size avai lable in the machine.

r

The flexibility of addressing in the 92 allows bits 7, 8, and 9
through 11 to be used in more than one way as explained below.

ADDRESSING FACILITIES
The 92 has one-word or two-word instructions with the length
depending on the addressing mode being used. The addressing
modes are:
Addressing Area

A power fai I-safe option is avai lable such that: before accessing each memory word, the co;"puter checks the power to ensure that it can complete the entire read/write cycle.
If it
detects a power loss, the computer halts.

Direct, Two Words
Indirect, One Word
Indirect, Two Words
Direct, One Word
Immediate, One Word

With the memory parity option, the computer automatically
generates even parity or checks for it during each read/write
cycle (optional). Setting a control panel pa~ity switch causes
the computer to halt automatically in case of parity error
detection.

Full Memory
Indirect Through Scratch Pad
Indirect Through Full Memory
Scratch Pad
Next Location

Indirect addressing can be cascaded indefinitely.
The standard assembler forms for instructions are:

MEMORY WORD FORMATS

Form

Type

A computer word is 12 binary digits (bits) long:
Label
Label
Label
Label

IIIIIII" IIII
o

2

3

4

5

6

7

8

9

The word format 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 serves as a basis of reference
to bit positions or bit numbers. Octal notation most easi Iy describes the contents of the 12 bits of a word. Thus, one octal
digit, 0 through 7, represents three binary digits. For example,
the octal number, 0123, represents its binary equivalent,
000 001 010 011.

The programmer selects direct addressing by setting both bits 6
and 7 to zero. Bits 9 through 11 of the first word combine with
the entire second word to form a 15-bit address to directly address up to 32,768 words. Bit 8 of the first word can specify
indexing.

y

6

7

8

9

n is a label or a 1- to 5-digit number,
c is a 1- to 4-digit number «4096).

Direct Addressing

I

5

Direct, One and Two Words
Direct, Two Words, Index
Indirect, One and Two Words
Immediate

The following section describes the bit configurations that the
octal programmer or the symbolic assembler must provide to
select the various addressing modes.

The 92 instruction word:

o

n
n, 1
*n
=c

10 11

where

Opcode

Opcode
Opcode
Opcode
Qpcode

r The multiply instructions are exceptions.

10 11

1-4

Note:

Instruction Form:

Although the A Register is only 12 bits long, the top
three bits of the address will be modified by indexing
if a "borrow" occurs.

HI
Scratch Pad Addressing
LOW

o

2

3

4

5

6

7

8

9

Memory locations 00001 to 000378 are referred to as the
"scratch pad" memory and are special only in that they can be
addressed more si mply.

10 11

Direct Addressing With No Indexing

When the programmer sets the Scratch Pad Indicator (bit 6) to 1, the
instruction addresses one of the 31 scratch pad locations. This allows
a complete instruction in a single word. The form of the instruction is:

The computer constructs the 15-bit direct address from bits 9,
10, 11 of the instruction word and bits 0 through 11 of the
next location.
Example
1:

1

Opcode

o
0

Opcode

I RI
0

I

5

1 101
6

3

0

1

7

8

1M

9 10 11

2' 3

0

4

0

0

0
51 6

7

8

1

9

5

16

7

8

Example: Assume
.--location
34

IM+ 1

I

9

I

10 11
10

,

Contents
2333

Then the instruction:

10 11

LDB
2

Assembler Form:

Scratch Pad
Address

The value of n must be in the range 1 ~ n ~ 31

.. 32000
2

I

.,

034
4

LDB 024300
0

Machine Language Form:

2

yields (8)

3

4

5

I

6

7
7

4
8

I

9 1011

= 2333

2

4

2

Immediate Addressing

4

3

o

When the programmer sets the Scratch Pad Indicator to 1 and
sets bits 7 through 11 to 00, the instruction acquires its address
by adding one to the current contents of the $ Register. That
is, the next location contains the operand. The computer
automatically increments the Program Counter by an additional
one to take the next instruction from the word following the
immediate operand word.

o

234

Note:

5

6

7

8

9

10 11

In the standard assembler, a 0 precedes any octal number; noth i ng precedes a dec i ma I number written as a
literal (i. e., immediate).

Direct Addressing With Indexing

The form of the instruction is:
1

When the programmer sets the Index Bit (number 8) to 1, the
computer subtracts the contents of the A Register from the direct address to obtain the effective address.

I

I

I

o 0 o 0

Opcode
OPERAND

MMMMM
NNNN
Effective Address

2 3

4

5

6

7 8

9 10 11

The standard assembler form is: LDA =, where
the following number literally".

Example 2: Assume (A)=OOOl
Assembler Form:

t

o

"=" means

"take

Example:
- - LDA = 04311

LDB 024300,

Machine Language Form:

6

o

2

2

M

4

o

M+ 1

4

o

10 11

2 3

4

5

6

7 8

9 10 11

In the standard assembler, a 0 precedes any octal number;
nothing precedes a decimal number written as a literal (i. e.,
immediate).

This instruction loads the contents of location
24277 into the B Register.

1-5

Take LDB

Indirect Addressing
The indirect addressing facility provides two ways of specifying
the IIpointing II address.
Indirect From Scratch Pad

0
First, the single-word instruction specifies that the pointing
address is within the second 16 locations of the Scratch Pad
area (locations 208 through 378). The specified pointing address used in the standard assembler form must be in the range:
20.::; n ::; 36, n even.

4

2

3

2

0

0

0

2 : 3 4

5 : 6

7

8: 9

10 11

The logic reinitializes addressing and
( 14020) :or: 2200----B
The two Pointer words can specify all forms of addressing.

TRAPPING FACILITY
Program-Control Ied

4

The program-controlled trapping facility permits the calling of
subroutines with a single instruction of the same form as builtin, machine instructions. The trapping is controlled by the
status of the Program-Controlled Trap (PCT) bit. When PCT is
a 0, the computer decodes the eight trapping Opcodes as special instructions and executes the Opcode in the unique trapping location determined by the Opcode. When PCT is a 1,
the computer decodes the eight Opcodes as normal instructions.
The Opcodes, their normal names, and their respective trapping locations follow.

where bit 6 is 0 and bits 7 and 8 are l.
Bits 8 9 10 11 and C form a five-bit address that selects
the fi;st ~f t~o c~ntiguous address words. The computer always
supplies a least significant fifth bit (C) that is zero, making all
such Scratch Pad addresses even. When the addressing logic
selects the even address, it reinitiates addressing and interprets
that location and the next one as an instruction word-pair without an instruction code. These two (or one) words can specify
all forms of addressing.
Bit 8 of the instruction does not effect indexing in this operating mode.
Example:

0002
0010

Since the 0 in bits 6,7,8 of location 34 indicates direct addressing, the instruction does the following:

=

POT
BPO
WOT
ROT
PIN
BPI
WIN
RIN

RESET PROGRAM-CONTROLLED TRAP (RCT)
TEST PROGRAM-CONTROLLED TRAP (TCT)

!: I~ I: !

HI

Multiply and Divide
When the high-speed multiply/divide option is not prese~t in a
system, an attempt to execute the associated instruction code
causes a transfer to a special trap location. These locations
are:
Location
Mnemonic
Opcode

2 3 4 5 6 7 8 9 10 11
o
where the 0 in bit 8 specifies that the pointing address consists
of a 15-bit address constructed as in Direct Addressing.

MUA
MUB
DVA
DVB

Example: Assume

32000
32001
14020

130
132
134
136
140
142
144
146

SET PROGRAM-CONTROLLED TRAP (SCT)

The second form of indirect addressing is:

Location

10
50

0004~B

Indirect Full Addressing

OP:Ode

Normal Mnemonic

One of the "branch and mark place" instructions BRM or BMC
placed in the trapping location (and location plus one) by the
programmer branches to the associated subroutine. The mark
information provides the subroutine I inkage back to the main
program, i. e., the address stored in the mark is the address of
the instruction that caused the trap. The program sets, resets,
and tests the PCT bit via the instruction:

yields reinitialized addressing on locations 34, 35.

(20010)

Trapping Location

51
14
54
15
55

*034

34
35

Opcode

11

Conte~ts
0002
0010
0004

Location
34
35
20010
Then,
LDB

2

(32000) = 0001
(32001) = 4020

Opcode
2 13

!

This yields:

In this mode, the instruction bits have the form:

o

*032000 which is

Contents
0001
4020
2200

13
53
52
12

124
126
122
120

When the option is absent, the trapping process is always active and cannot be inhibited by the programmer.

1-6

Appendix-B-5 contains a complete trap-subroutine example.
that is useful as a guide to writing subroutine return code.

Trapp i ng Notes
When a trap occurs, the P counter is not incremented. It is
therefore mandatory that only branch instructions be placed in
the trap instructions; otherwise, the program goes into an unrecoverable loop:

Nomenclature

Assume there is no multiply option.
124 L~A

Throughout the following discussions, the term "next locati~n"
refers to the location immediately following the location of the
instruction under discussion. The simi lar term "next address"
is also used.

1000

1200 MUA 5000
If MUA is executed, the execution sequence is:
1200 MUA
124 LDA
1200 MUA
124 LDA

The term "effective memory location" describ~s the location in
memory from which the computer takes the final operand at the
conclusion of all indirect addressing and indexing. The effective memory location is the location whose address is the effective address.

1-7

II. MACHINE INSTRUCTIONS
STORE A (STORE B)

STA (STB)

This section describes SDS 92 instructions; they are presented
in functional groups. Lists of instructions in functional, numerical and alphabetical order are in Appendices B-7 through
B-17.

44(04)

a

The following statements apply to the instruction descriptions.

Y

I

5 6

789

11

STA stores the contents of the A Register in the effective memory location.

All instruction times are in memory cycles, where
each cycle is 1.75 microseconds.

Timing: 2

Registers Affected: M
All timings assume that the instruction addresses operands in scratch-pad memory (even though the instruction may, in fact, preclude this mode of addressing).
For more comprehensive addressing, add cycles to the
given execution times as follows:
Addressing

74(34)

a

Cycles

a

Immediate

EXCHANGE M AND A (EXCHANGE M AND B)

XMA (XMB)

I

56789

11

XMA loads the contents of the effective memory location into
the A Register and stores the contents of the A Register in the
effective memory location.

Direct Full
Direct Full with Indexing

Registers Affected: A(B), M

Indirect Addressing One-Word,
even scratch-pad address

P

Indirect Addressing Two-Word,
Fu II add ress

1+ P

Timing: 3

FLAG INSTRUCTIONS
XMF

where P is the number of cyc les required to process
the indirect address pair.

EXCHANGE M AND FLAG
17

I

a

Parentheses denote IIcontents of ", as, for example,
(A) represents the contents of the A Register.

56789

11

a
a

XMF loads the content of the Flag Bit into bit of the effective
memory location and loads the content of bit into the Flag
Bit; it leaves bit positions 1 through 11 of the effective memory
location the same as they were.

The interrupt system (optional) can interrupt the program sequence at the end of any instruction except as
noted.

Registers Affected: F, M

Those instructions that apply to the A and the B Registers appear with the B Register operation code and
mnemonic in parentheses.

LDF

With each instruction description is a diagram depicting the instruction format. Preceding this diagram is the mnemonic code
and the instruction name. In the diagram, S stands for Scratch
Pad Bit, I stands for Indirect Address Bit, X stands for Index Bit,
and Y stands for part of the address. The letter M depicts a general memory location.

Timing: 3

LOAD FLAG

57

I

a

5

6

LDF loads the content of bit
into the Flag Bit.

7

8

9

11.

a of the effective memory

Registers Affected: F

location

Timing: 3

LOAD /STORE INSTRUCTIONS
SFT
LDA (LDB)

SET FLAG TRUE

LOAD A (LOAD B)
00

64(24)

a

I

a
56789

11

I

44

5

6

I

11

SFT unconditionally sets the Flag Bit to a one.

LDA loads the contents of the effective memory location into
the A Register.

SFT cannot be interrupted.

Registers Affected: A(B)

Registers Affected: F

Timing: 2

2-1

Timing: 3,4

SFF

SUA (SUB)

SET FLAG FALSE

42
I

00

o

I

5 6

60(20)

o

11

SFF unconditionally resets the Flag Bit to a zero.

Timing: 3,4

Registers Affected: F

00

46

I

I

5

6

8

9

11

Timing: 2

Example: Assume
(A) = 3003

(10) =·4010
(F) = 0

11

INF unconditionally inverts the Flag Bit.
it to a Oi if it is a 0, INF sets it to a 1.

If it is a 1, INF sets

Performing SUB 010
(A) = 6773
(F) = 1

INF cannot be interrupted.
Timing: 3,4

Registers Affected: F

ADD TO A (ADD TO B)

o

yields

SUBTRACT WITH CARRY TO A (SUBTRACT WITH
CARRY TO B)

SCA (SCB)

ARITHMETIC INSTRUCTIONS
ADA (ADB)

7

Registers Affected: A(B), F

INVERT FLAG

o

5 6

SUA subtracts the contents of the effective memory location
from the contents of A and places the result in Ai it stores the
carry from bit 0 in the Flag (F) bit. [(M) > (A) sets Fi (A) ~ (M)
resets F.J

SFF cannot be interrupted

INF

SUBTRACT TO A (SUBTRACT TO B)

61(21)
I

5

6

7

8 9

]]

62(22)

o

I

5

6

7

8

9

SCA subtracts the content of the effective memory location from
the contents of the A Register, then subtracts the content of F from
the least significant end of the difference and places the result in
A. It places the carry from bit 0 in the Flag (F) bit. [(M) +F >(A)
sets Fi (A)~(M)+FresetsF.]

11

ADA adds the contents of the effective memory location to the
contents of A and stores the result in Ai it stores the carry from
bit 0 of the addition in the Flag Bit.

Timing:

Registers Affected: A(B), F
MPA (MPB)
Example: Assume
(A) = 4300

(1000)

3700

(F) = 0 , Flag Bit
Performing ADA 01000
(A) = 0200

(F)
ACA (ACB)

=

o

yields

ADD WITH CARRY TO A (ADD WITH CARRY
TO B)

76(36)
I

6

7

8

9

11

o

ACA adds the contents of the effective memory location to the
contents of Ai it also adds the content of the Flag Bit to bit
position 11 of the result. ACA places the final result in Aand
records the carry from bit 0 in the Flag Bit.
Registers Affected: A(B), F

5 6

7

8 9

11

Timing: 3

Registers Affected: M, F
MPO

5

MEMORY PLUS A TO MEMORY (MEMORY PLUS
B TO MEMORY)

MPA adds the contents of the effective memory location to the
contents of A and places the result in the effective memory location; it stores the carry from bit 0 in the Flag Bit.

1

63(23)

o

2

Timing: 2

Registers Affected: A(B), F

MEMORY PLUS ONE TO MEMORY

16
I

56789

11

MPO increments the contents of the effective memory location
by one and places the result back into the same location; it
places the carry bit from bit 0 in the Flag Bit.

Timing: 2

Registers Affected: M, F

2-2

Timing: 3

o

Exampl e: Assume
(A) = 0027
(B) = 4335
(1000) = 0036

MEMORY PLUS FLAG TO MEMORY

MPF

234

5

6

7

8

9

10 11

PerformingDVA01000
(B) = 6217
(A) = 0033

MPF adds the content of the Flag Bit to the contents of the
effective memory location at bit position 11 and places the
result back into the effective location. The carry from bit
o of the addition goes into the Flag Bit.

MULTIPLY A

The div is ion is performed as follows:

B

Registers Affected: M, F
MUA

(Optional)
Y

13

I

/

6

7

8

J

I 0 10 13 16 1 I0 I0 1217 H
A

*

151

B

LOGICAL INSTRUCTIONS

11
MUA multiplies the contents of A by the contents of the effective memory location and places the product in A and B with
the more significant portion in A.

5

A

Timing: 3

1000

o

yields

9

ANA (ANB) AND TO A (AND TO B)
65(25)

Timing:

Registers Affected:. A, B

5

o

Performing MUA 01000
(A) = 0077
(B) = 2420
MULTIPLY B

6

7 8

9

11

Registers Affected: A, (B)

yields

ORA (ORB)

(Optional)

53

Timing: 2

OR TO A (OR TO B)

67(27)

I

o

5

ANA performs a logical AND with the contents of the A Register and the contents of the effective memory location; it
places the result in A. The previous contents of A are lost.

Example: Assume
(A) = 3411
(1000) = 0220

MUB

I

56789

o

11

MUB multiplies the contents of B by the contents of the effective memory location and places the product in A and B with
the more significant portion in A.
Registers Affected: A, B

I

5

6

7 8

9

11

ORA performs a logical "inclusive OR II with the contents of
the A Register and the contents of the effective memory location; it places the result in A. The previous contents of A are
lost.

Timing: 5
Registers Affected: A, (B)

Timing: 2

DIVIDE AB (DIVIDE BA) (Optional)

DVA(DVB)

52(12)

o

I

EOA (EO B)
5

6

7

8

9

DVA(DVB) divides the contents of the A and B Registers (B and
A Registers) I treated as a double-precision number I by the
contents of the effective memory location and places the quotient in the B Register I with the remainder in the A Register.
The A Register (B Register) must initially contain the more
significant half of the dividend. The contents of the effective
memory location must be greater than the contents of A (B).
Registers Affected: A, B

EXCLUSIVE OR TO A (EXCLUSIVE OR TO B)

11

66(26)

o

I

56789

11

EOA performs a logical "exclusive OR II with the contents of
the A Register and the contents of the effective memory location; it places the result in A. The previous contents of A are
lost.

Timing: 13

Registers Affected: A, (B)

2-3

Timing: 2

MAA(MAB)

BRANCH INSTRUCTIONS

MEMORY AND A TO MEMORY (MEMORY AND
B TO MEMORY)

BRU

t

o

BRANCH UNCONDITIONALLY

Y

75(35)

5

6

7 8

9

73

11

o

MAA performs a logical AND with the contents of the A Register and the contents of the effective memory location; it
places the result in the effective memory location. The previous contents of the memory location are lost; MAA leaves the
contents of A undisturbed.
Registers Affected: M

I

5

6

7 8

9

11

The computer takes the next instruction from the location determined by the effective address. BRU cannot be interrupted.
Registers Affected: None

Timing:

1

Timing: 3
BRC

BRANCH, CLEAR INTERRUPT AND'LOAD FLAG

COMPARISON INSTRUCTIONS
COA(COB)

32

COMPARE ONES WITH A (COMPARE ONES
WITH B)

o

I

56789

11

COA compares the contents of the A Register,
the contents of the effective memory location.
of A and the contents of the effective location
in corresponding bit positions, COA resets the
there is no such corresponding pair of one bits,
Flag Bit.
Registers Affected: F

5

6

7

8

11

9

The computer takes the next instruction from the location determined by the effective address; it also clears the currently
active interrupt level. If BRC uses direct addressing, it clears
the Flag Bit and sets the PCT bit. If it uses indirect addressing,
BRC places into the Flag Bit and PCT bit the content of bits 0
and 1 of the first word of the last indirect address pair.

45(05)

o

I

bit by bit, with
If the contents
have any ones
Flag Bit. If
COA sets the

Registers' Affected: F, PCT

BRL

Timing: 3

BRANCH AND LOAD FLAG

Timing: 2
33

'CMA(CMB)

o

COMPARE MAGNITUDE OF M WITH A
(COMPARE MAGNITUDE OF M WITH B)

47(07)
I

5

6

7 8

9

o

If the contents of the A Register are arithmetically less than the
contents of the effective memory location, CMA resets the Flag
Bit. Otherwise, it sets the Flag Bit.

CEA(CEB)

56789

11

BRL transfers to the effective memory location. If BRL uses
direct addressing, it clears the Flag Bit and sets the PCT bit.
If it uses indirect addressing, BRL places into the Flag Bit and
the PCT bit the content of bits 0 and 1 of the first word of the
last indirect address pair. BRL cannot be interrupted.

11

Registers Affected: F

I

Registers Affected: F, PCT

Timing: 2

BRANCH ON FLAG FALSE

BFF

COMPARE M EQUAL TO A (COMPARE M
EQUAL TO B)

Timing:

31

o

I

5

6

7

8 9

11

46(06)

o

I

56789

If the content of the Flag Bit is zero, the computer takes the
next instruction from the location determined by the effective
address. If the content is one, the ~omputer executes the next
instruction in sequence. If a branch occurs, there can be no
interrupt.

11

If the contents of the A Register are equa I to the contents of
the effective memory location, CEA resets the Flag Bit. Otherwise, it sets the Flag Bit.

Registers Affected:
Registers Affected: F

Timing: 2

2-4

None

Timing:

1 if Branch
2 if No Branch

BFT

o

BRANCH ON FLAG TRUE

BMC

71

37

I

I

5

6

7

8

9

o

11

If the content of the Flag Bit is one, the computer takes the next
instruction from the location determined by the effective address.
If the content is zero, the computer executes the next instruction
in sequence. If a branch occurs, there can be no interrupt.
Timing:

Registers Affected: None
BOA

1 if Branch
2 if No Branch

BRANCH ON DECREMENTING A

56789

11

Registers Affected: A

Timing:

6

7

8

9

11

M, M + 1, F, PCT

Timing: 3

The single or double shift is determined via bit 7 of the effective address; it is a 0 for single-register shift and a 1 for doubleregister shift.

10 11

BAX exchanges the contents of A with the contents of B; then
it branches to the location determined by the effective memory
address. BAX cannot be interrupted. If this instruction specifies indexing, the indexing wi II be performed before the interchange of IIA II and liB. II

The conventional address formats are:
One-Word Address

Timing: 1

Registers Affected: A, B
BRM

8 9

Shift instructions operate on. the A, B, and Flag Registers. The
shifts can be single or double register. All sh ifts are to the
left. The number of shifts N is specified in the least significant 4 bits of the effective address. The maximum number of
shifts is 15 (178); zero is allowed. N is written in the 4 bits,
in onels complement form (i .e., a shift N =7 appears as 10 ),
8

1 if Branch
2 if No Branch

30
5

7

SHIFT INSTRUCTIONS

BRANCH AND EXCHANGE A AND B

2 I 3 4

6

Note that the BMC instruction is the one normally executed
when an interrupt occurs. The add ress stored in th i s case is
the location of the next instruction to be executed in the main
program.

BOA decrements the contents of the A Register by one. It then
tests the result unequal to 77778 , If unequal, the computer
takes the next instruction from the location determined by the
effective address. If equa I, the computer executes the next
instruction in sequence. t If a branch occurs, there can be no
interrupt. If this instruction specifies indexing, the indexing
is performed before A (the index register) is decremented.

o

5

Registers Affected:

I

BAX

y

BMC stores the contents ofthe Program Counter in bits 9 through 11
of the effective memory location and bits 0 through 11 of the effec ..
tive location plus one. It stores the contents of the Flag Bit in bit 0
and the contents of the PCT bit in bi t 1 of the effective location;
bits 2 through 5 of the effective location are unpredictable. Bits 6
through 8 of the effective location are cleared. The Flag Bit is
cleared and the PCTbit isset. BMCthen branches to the effective
memory location plus two. Immediate addressing is not allowed.

70

o

BRANCH, MARK PLACE, AND CLEAR FLAG

BRANCH AND MARK PLACE

11
77

o

I

5

6

7

8

9

Two-Word Address

11

BRM stores the contents of the Program Counter (which contains
the address of the next instruction in sequence) in bits 9 through
11 of the effective memory location and bitsO through 11 of the effective location plusone. It stores the content of the Flag Bit in bit 0 and
the content of the PCT bit in bit 1 of the effective location; bits 2
through 5 of the effective location are unpredictable. Bits 6 through
8 of the effective location are cleared. BRM then branches to the
effective memory location plus two. Immediate addressing is not
allowed.
Registers Affected: M, M+ 1

Timing: 3

tAs with any instruction, when using immediate addressing with
a BOA, the phrase lithe next instruction in sequence II refers to
the instruction two locations beyond the BOA.

2-5

Opcode
0=1 lis Complef

o

11

Shift Timing
Shift Count (Decimal)

Timing (Cycles)

0-3

3

4-6

4

7-9

5

10 - 12

6

13 - 15

7

CYA(CYB)

CFI

CYCLE A (CYCLE B)

CYCLE FLAG AND DOUBLE INVERSE

o3

42 (02)

o

56

7

8

9

o

11

CYA shifts the contents of the A Register N places to the left.
All bits shifting past position 0 shift into position 11. The
one's complement of N, the number of positions to be shifted,
is placed in the least significant 4 bits of the effective address.

7

A(B)

CYCLE FLAG AND A (CYCLE FLAG AND B)

11

r0j_B---,H,--_A-----h

CONTROL INSTRUCTIONS
EXU

43 (03)

o

9

o

Registers Affected: A, B,F
CFA(CFB)

8

CFI shifts the contents of the B and A Registers and the F lag Bit,
taken as a single 25-bit register, N places to the left. Bits
shift from position 0 of A into position 11 of B, from position
of B into the Flag Bit, and from the Flag Bit into position 11
of A. The one's complement of N is placed in the least significant 4 bits of the effective address.

d b

Registers Affected: A(B)

5 6

EXECUTE

11

72
CFA shifts the contents of the A Registerand the Flag Bit, taken
as a single 13-bit register, N places to the left. All bits shifting past position 0 shift into the Flag Bit, bits from the Flag Bit
go into position 11. The one's complement of N is placed in
the least significant 4 bits of the effective address.

rEH

Registers Affected: A(B), F

CYD

I

A(B)

02 or 42

I I[I I
5

56

X

7

8

9

b

I

y

HLT

CYD shifts the contents of the A and B Registers N places to the
left. All bits shifting out of position 0 of A shift into position
11 of B; all bits shifting out of position 0 of B shift into position 11 of A. The one's complement of N is placed in the least
significant 4 bits of the effective address.
Registers Affected: A, B

CFD

8

9

11

Timing:

HALT

1 + time of
instruction
execution

41

00

I

o

_B_h

H. . . .

o
4 3

5

11

6

o

o

o

o
2

3

5

6

8

9

11

HLT halts instruction execution and lights the HALT light. To
resume computation, the operator sets the mode switch to IDLE
and then to RUN or STEP at which time the computer executes
the instruction in the location addressed by the contents of the
Program Counter. (This wi II be the instruction following the
ti LT instruction if the operator has not changed the contents of
the Program Counter. )

11

CFD shifts the contents of the A and B Registers and the Flag
Bit, taken as a single 25-bit register, N places to the left.
Bits shift from position 0 of B into position 11 of A, from position 0 of A into the Flag Bit, and from the Flag Bit into position 11 of B. The one's complement of N is placed in the least
significant 4 bits of the effective address.

Registers Affected: A, B, F

7

One Word

CYCLE FLAG AND DOUBLE

o

6

Registers Affected: None

11

A

·5

EXU executes the instruction in the effective memory location.
Then the computer executes the next instruction following EXU. If
the effective memory location contains a branch, control goes
to the branch-to location. If the effective location contains
another EXU, the process repeats with control always returning
to the next location after the first EXU or to the branch-to 10-'
cation if the last instruction is a branch instruction. Immediate
addressing is not allowed on EXU (this restriction does not apply to the instruction executed}. No "trappable" instruction that
wi II trap can be executed.

CYCliDOUBli

o

I

o

If an interrupt occurs while halted by a HALT (while still in
RUN), the computer acknowledges the interrupt and computation resumes. (The instruction following the HLT instruction
will be executed following the processing of the interrupt.)

r0j,---A---,H,--_B-b

Registers Affected: None

2-6

Timing: 3,4

TRAPPING INSTRUCTIONS
SCT

TEST PROGRAM-CONTROLLED TRAP

TCT

SET PROGRAM-CONTROLLED TRAP

00

61

I

I

o

01

60

I

I

11

SCT unconditionally sets the PCT bit to a one.

TCT tests the status of the PCT bit. If PCT is a one, it sets the
Flag Bit to a one. If PCT is a zero, it sets the Flag Bit to a
zero.

SCT cannot be interrupted.

Registers Affected:

o

5

Registers Affected:

RCT

11

PCT

Timing: 3,4

I

)6

60
I

Mnemonic

11

Coding

BPT 1
BPT2
BPT 3
BPT 4

RCT cannot be interrupted.
PCT

Timing: 3,4

This instruction tests the status of the Breakpoint switches. If
the selected switch is set, the Flag Bit is set to a 1. If the
switch is reset, the Flag is set toa O.

RCT unconditionally sets the PCT bit to a zero.

Registers Affected:

F

BREAKPOINT TESTS

RESET PROGRAM-CONTROLLED TRAP

00

o

6

Timing: 3,4

Regi sters Affected:

2-7

0144
0145
0146
0147
F

Timing: 3,4

III. INPUT/OUTPUT INSTRUCTIONS
INTRODUCTION
Central
Processor

The SDS 92 has a comprehensive input/output system to complement its high internal processing speed. This system can transmit data in word, character, and single-bit form to and from
the computer at the speed of internal computation. The input/
output system is of great variety and can assume control of
conditions imposed by a wide range of input/output j special
system devices; but the computer always leaves a high degree
of flexible input/output control to the programmer.

Memory

The system contains:
Buffered input/output of data words, under program con.trol in blocks or as single words.
Input/output of blocks of data via subchannels; up to 64
channels simultaneously operating through a multiplexing system (optional).

WOT causes a word to be taken from the specified memory location and placed in the I/O Channel to be output when requested by the currently active peripheral device.

Direct parallel input/output of 12-bit words, singly or
in blocks, to and from external statiC registers.
·Single bit input/output, such as equipment on/off status,
sense switches, and pulsing and sending of special signals.

Central
Processor

Memory

I/O CHANNEl
The I/O Channel, standard equipment in the computer, performs input/output of words singly or in blocks. On output,
the I/O channel transmits words in 6-bit characters, one or
two characters per word as selected, or in 12-bit (optional)
single character form. On input, the I/O channel receives
words in 6-bit characters, one or two per word, or 12-bit
(optional) characters as desired. This channel transmits single
words or blocks. The program places the block count in the A
Register prior to the transfer and the computer counts this down
to 7777 automatically to terminate the transfer operation.
To transfer blocks of data words via the I/O channel, the
program uses the same EOM configuration to set the channel
for operation; the program specifies the number of words in the
transfer.by placing the word count minus one in the A Register
((A) + 1 = N). The RECORD OUT (ROT) instruction causes
the computer to output words from the effective address M
through the effective address plus the contents of A (M through
M + (A)). The RECORD IN (RIN) instruction causes the computer to input from the actively transmitting peripheral device;
the operation terminates when the computer receives N words,
or when it receives an "end-of-record" from the peripheral
device •. RIN and ROT tie up the computer during the entire
input/output transmission.

SINGLE WORD TRANSMISSION
Using the I/O Channel, a progrdm can transmit data words between memory and peripheral devices under single instruction
control. To do this, the program first activates the channel and
the peripheral device with an energize or "alert" instruction
(one of the configurations of the multi -purpose instruction,
ENERGIZE OUTPUT M (EOM)). WOT is the WORD OUT instruction; WIN is the WORD IN instructi.on. WIN causes a
word from a peripheral device to be taken from the I/O channel and placed directly into the specified memory location
witho.ut disturbing any internal registers ..

3-1

Central
Processor

For a PIN, EOM alerts the sending device, PIN stores the least
significant 12 bits, the high-order bits fill the extender, EOM
a Ierts the extender, and another PIN stores the contents of the
extender. Ne i ther of these cod i ng sequences can be interrupted.
See the Interrupt System paragraphs for the Alert Extender EOM
for both POT and PIN.

Memory

o

SINGLE BIT INPUT/OUTPUT
N-1

The EOM and SES instruction provide a general single bit
transmitting and sensing facility for use as test and control
signals with special systems and standard peripheral devices.

(A) = N-1

DATA TRANSFER INSTRUCTIONS
No interrupt can occur between any of these instructions and
the instruction following it.

Figure 3-1. ROT/RIN Data Transmission

WOT

Two instructions control the process of transmitting and receiving data-between peripheral equipment and the central proces\ sor using the I/O Channel. These instructions are:
EOM

ENERGIZE OUTPUT M

S-ES

SENSE EXTERNAL SIGNAL

WORD OUT

o

5

6

7

8

9

11

WOT transfers the contents of the effective memory location
into the I/O channel buffer. If the buffer is not ready, the
central processor IIhangs Upll unti I the buffer empties from a
previous instruction and is ready to accept the new data word.

The EOM instructi on activates the I/O Channel, selects the
peripheral device, and requests the desired operation. The programmer uses the SES instruction to test for all input/outputoperational conditions; SES is multipurpose like the EOM. Later
sections describe the exact configurations of EOM and SES.

Timi ng: 4 + wait

Registers Affected: None
ROT

RECORD OUT

DIRECT PARALLEL INPUT/OUTPUT, 12 BIT
The parallel input/output facility allows full, 12-bit words to
be transmitted directly out of and into the memory. After activating the peripheral device or special system device with an
activating EOM, the PARALLEL OUTPUT (POT) and PARALLEL
INPUT (PIN) cause any selected word in core memory to be
presented to the peripheral device connector; or conversely,
cause a word (12-bit signa I) received into the device connector
to be stored in the selected location. POT/PIN also check or
generate correct memory parity with each word transmitted.
The system provides a block transfer form of POT and PIN with
the instructions, BLOCK PARALLEL IN (BPI) and BLOCK PARALLEL OUT (BPO). By placing the word count N minus one in
the A Register, BPI and BPO provide the identical function of
PIN and POT, respectively, on N consecutive words.

o

51
I

5

6

7

8

9

11

Starting with the effective memory location, ROT transfers N
sequential words into the I/O channel buffer. The contents of
the A Register are the word count N minlfs one; ROT can output to 4096 words per execution. The central processor must
wait as with WOT before it transfers the first word to the buffer;
it also must wait for the buffer to clear between each word
transfer. ROT completely ties up the computer until the Nth
word transfers into the channel buffer. The next instruction
executes before the Nth word transfers out of the channel buffer to the connected peripheral device.
Timing: 2 + 2N + wait

Registers Affected: A
Parity checking/generating is automatic for these operations on
machines equipped with the memory parity feature.

WORD IN

WIN

See POT/BPO, PIN/BPI Instructions in this section.

o

DIRECT PARALLEL INPUT/OUTPUT, 24-BIT (Optional)

15
I

5

6

7

8

9

11

WIN transfers the contents of the channel buffer into the effective memory location. If the buffer is not already fi lied, the
central processor IIhangs Upll unti I the buffer fi lis with the
word being received from the peripheral device.

A 12-bit register is available to extend the word for POT/PIN
operations to 24 bits. For a POT, the device operates as follows: EOM to activate the extender, POT to place the most
significant 12 bits in the extender, EOM to activate the externa I device to get the data, and POT to transmit the lower
-12 bits. This last POT transmits the entire 24 bits.

Registers Affected: M

3-2

Timing: 5 + wait

RIN

RIN. To place data into the channel buffer so that the channel can
transmit it to the waiting peripheral device, the program uses
WORD OUT (WOT), or its block transfer equivalent, ROT.

RECORD IN
55

o

I

5

6

7

8

9

I/O CHANNEL BUFFER DESCRIPTION (See Figure 3-2.)

11

During the execution of ROT/RIN, the computer is completely
tied up whi Ie it handles the data transfers, increments the memory location address for the data transfers, and tests for transfer termination using the word count N (by decrementing A
by one whenever a word is transferred).

Starting with the effective memory location, RIN transfers N
words from the channel buffer into sequential locations. The contents of the A Registerare the word count N minus one; RIN can input up to 4096 words per execution. The centra I processor
must wait as with WIN before it receives the first word from
the channel buffer; it also must wait for the buffer to fill between each word transfer. RIN completely ties up the computer until the Nth word is in memory. This input will also terminate if the computer receives an END signal from the peripheral device before the Nth word. In either case, the computer
executes the next instruction after RIN terminates.
Registers Affected: M to M + (A), A

I/o

Each of the 30 devices which can be attached to a buffer has a
unique, two-digit, octal address by which it is chosen for an
input/output operation. To choose the peripheral device, the
program loads the proper unit address into the 6-bit Un it Address
Register (UAR). This address selects both thedeviceand, 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 buffer and the buffer becomes "active tl •
When the UAR contains a zero address, or any time that a terminal or initial condition clears the contents of UAR, the buffer is "inactive", and it is not connected to a peripheral unit.

Timing: 3 + 2N + wait

CHANNEL OPERATION

The Word Assembly Register (WAR) and the Single Character
Register (SCR) comprise the active portion of a buffer. The
Word Assembly Register, a 12-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) come into the Single Character Register where the
channel assembles them, one at a time, into the WAR. Depending on the number of characters per word specified, the
word assembled during input has the form:

The I/O Channel can control up to 30 input/output devices;
it automatically handles character, word assembly/disassembly,
and input/output parity detection and generation.
The channel is bi-directional and communicates with 6-bit
character devices (12-bit optional). The program specifies
whether one or two characters are to be assembled/disassembled
in each word during the transmission.
The program uses a Buffer Control EOM to set the operation
controls such as forward/backward tape direction, to place
the unit address in the channel, and to initiate the proper
assembly/disassembly mode. The presence of the unit address
activates the channel causing it to look for data coming from a
peripheral device or from memory, as determined by the unit
address (see the Unit Address Code, Table 3-1).

Word
1st
I

o

To get data from the channel buffer after it is received there
from a peripheral device during input, the program uses a
WORD IN (WIN) instruction, or its block transfer equivalent,

o

~~~~~J

I

I
I
I

J6

2nd
I

~ o
I
I

Parity

Error

Character Count

E1

Word
Assembly '--_ _ _ _~_ _ _ _~
11
5 6
o

L _____ _

-0-

I

One character
per word

11

Two characters
per word
11

----------,

I

r- - - - - - - - - - - - - - - - - - - - - - - - - - - - To I/O Device

:

I

Unpredictable

5 6

1st
I

Mode

o

•

I

I
I
5

I
I
I

_J
Figure 3-2.

SDS 92 Channel Buffer

3-3

I

Table 3-l. Unit Address Codes
00

Disconnect

40

01

Type Input No. 1

41

Type Output No. 1

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.

05

Paper Tape Input No.2

45

Paper Tape Punch Output No.2

06

Card Reader Input No. 1

46

Card Punch Output No. 1

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.1

51

Magnetic Tape Output No.1

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

26

Disc File Input No.

66

Disc File Output No. 1

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.1

71

Magnetic Tape Erase No.1

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

3-4

An unfi lied character position is unpredictable. When assembled during a single-word operation, a WIN instruction places
the word into memory. With RIN, the computer places each
word in memory when assembled.

The Buffer Control EOM operates essentially as a setup or
preparation facility for data transmissions or other peripheral
functions using the I/O Channel. The Input/Output Control EOM directs peripheral devices directly in such operations as rewind tape and upspace the printer. EOM in the
Internal Control mode performs internal control operations
such as activating the (optional) 24-bit PIN/POT extender
logic. The System EOM is specifically concerned with special systems; the system determines the particular uses. EOM
in any of the last three modes also can alert a device for
a POT or PIN type operation.

During output, words come from memory into the WAR where
the channel disassembles them into the SCR, one 6-bit character at a time. Depending on the characters per word mode
specified, the channel transmits the 6-bit characters (with
generated parity) as follows:
Mode

Function
Output one character from bits
o through 5

One character per word

NOTE: If an interrupt occurs during the execution of an EOM,
no acknowledgement occurs until the completion of the execution of the instruction following the EOM.

Output two characters from bits
5, 6 through 11

Two characters per word

o through

Registers Affected: None

After the first character transfer, the word in the WAR shifts
left six bits to be ready for the next transfer, when two characters from each word are used. Under ROT control, a new
word contail")ing the next characterls) comes to the WAR when
it is required.

BUFFER CONTROL EOM (effective address)

U N I T

o
(OM INSTRUCTIONS

(opcode 00)

2

Designation

BASIC CONFIGURATION
The EOM instruction is a multipurpose instruction that operates
in four distinct modes with many functional configurations. The
modes are Buffer Control, Input/Output Control, Internal
Function Control, and System Control.
EOM

ENERGIZE OUTPUT M

4

5

6

7

8

9 10

11 1213 14

Function
Bit position 0 specifies Interlace operation.
A "0" specifies no Interlace operation. A "1"
alerts the Interlace.

00

Bit positions 1 and 2 contain the EOM mode
indicator for the Buffer Control mode.

F/R

Bit position 3 specifies the direction in which
the peripheral device operates. A "0" specifies
the forward direction. A "1" specifies the reverse direction.

L/N

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

D/B

Bit position 5 specifies the mode of character
format. A "0" specifies BCD format. A "1"
specifies Binary format. When this is not appropriate, ,bit 5 provides special control.

o

Bit position 6 is unassigned. '

C/W

Bit position 7 specifies the number of characters
to be assembled into, ordisassembled from, each
transmitted word. 0 specifies one character per
word, 1 specifies two. One character per word,
0, is used for full-word (12-bit characters)
transmission (optional).

o

o

5

234

6

8

7

9 10 11

Effective Address

Io !

3

I/N

Instruction Word

o

Timing: 3,4

\
2 3

4

5

I

6 7

I
8 9

10

11

12

13

14

The EOM uses the 15 bit configurations of the effective memory
address asa control word to select the different control modes
and toselectall additional control functions. EOM allows
a II addressing modes in obtaining the effective address.
Setting the two bits (1, 2) in the address determines the mode
of the EOM:
2

Control Mode

0

0

Buffer

0

1

Input/Output

0

Internal

Bit position 8 must always be 1.
UNIT

System

3-5

Bit positions 9 through 14 specify the unit and
the function to be performed with that unit.

INPUT/OUTPUT CONTROL EOM (effective address)

I

IIYNlo 1 FUN CT ION 11
01

2

345

'

6

I

Designation

I

UN IT
10

789

111

12

13

4.

14

Function

I/N

Bit 0 specifies Interlace operation. A "0" specifies no Interlace. A "I" alerts the Interlace.

01

Bits 1, 2 specify the Input/Output Control mode.

FUNCTION

a.
b.

ASC

Bits 3 through 7 specify control peculiar to
each device.

I/o

Channel itself.

DISCONNECT CHANNEL

o

4

7

10

13

Registers Affected: None

o

Registers Affected: None

SES INSTRUCTIONS (opcode

The SES is a multipurpose test instruction used for testing responses to the input/output channel and attached peripheral
devices as well as for testing internal and external indicators.

Timing: 3, 4

o
10

SES

13

Ii

14

o

During output when the last word of a block goes to the channel, TOP terminates output. After execution of TOP, the following occurs. When the channel del ivers the last character
to the peripheral device, the channel disconnects.

Registers Affected: None

o

o

10

13

14

Timing: 3, 4

7

8 19

10 111 12 13 14

2 I 3

4

5

IsII\x!
6

7

8

9

10

I

11

0
1
0
1

Test Mode
Buffer
Input/Output
Internal
System

When executed, an SES tests for a specified condition and sets
or resets the Flag Bit in response to the condition. The program determines the Flag Bit status via one of the branch-onflag instructions. SES allows all addressing modes in obtaining
the effective address.

After TIP isgiven during an input operation, the following occurs:

2.
3.

1
5 6

0

0
0
1
1

TIP or DSC should always terminate a channel input operation.

1.

4

1 1..

During input when the last (desired) word has been stored in
memory, TI P term i nates input.

Registers Affected: None

3

Like the EOM, the SES uses the bit configuration of the effective address to select the different tests and also operates in
four modes that are selected by address bits 1 and 2:

TERMINATE INPUT ON THE CHANNEL

o

i

0

Timing: 3, 4

o

2

Effective Address

TOP must always terminate a channel output operation.

TIP

SENSE EXTERNAL SIGNAL
Instruction Word

I

o
11'12

01)

BASIC CONFIGURA nON

TERMINATE OUTPUT ON THE CHANNEL

o

Timing: 3, 4

13 14

10

DSC disconnects the I/o Channel. This instruction unconditionally sets the UNIT Address Register to 00 regardless of
whether the channel is currently addressing a device. DSC
disconnects any device connected to the channel; it unconditionally makes the channel inactive and clears the error indicator.

TOP

14

NOTE: The above sequence must be consecutive; no other instruction should be interposed.

o

o

o

stores the current contents of the COUNT register into location M. See Interlace Option, this section.

These EOM effective address configurations have standard uses.

o

5

ASC
PIN

STANDARD EOM INSTRUCTIONS

DSC

o

ASC alerts the interlace option that the PIN to follow is a request for the contents of the current COUNT contents. The
sequence:

Bits 9 through 14 contain the Unit Address of
the specified device.

A Unit Address of 00 refers to the

ALERT TO STORE INTERLACE COUNT

o

Bit 8 must be l.
UNIT

Interlace operations store no more words.
Non-interlace operations give no more End-of-Word
(11) Interrupts.
The above "scanning-type" sequence continues until the
End-of-Record at which time:
a. The End-of-Record (12) Interrupt is sent (if armed).
b. The channel disconnects.
c. The channel becomes inactive.

The I/o channel receives any further characters from the
input device - as before.
All error checks are performed - as before.
However, the Word Assembly Register is never again
considered "full". This means:

The Buffer and Input/Output Test SESs are the complement
of the Buffer and Input/Output Control EOMs; they sense

3-6

the conditions of the I/o Channel and its connected peripheral devices.

the data address as needed, and counting the number of words
in the record. Usually, when the count goes through zero, the
operation is completed and the program can use the newly
entered data and/or can reset the Interlace for another independent, I/O transm ission .

INPUT/OUTPUT TEST SES (effective address)

IIYNI

0

1I

CO

ND

11

I

UNIT

The Interlace contains two registers: the 12-bit COU NT register to contain the record count and the 15-bit ADDRESS
reg ister to conta in the data address. When load ing the record
count (N), the program places N-l (one less than the record
count) in the COUNT register.

1

o 1 2 3 4 5 6 7 8 9 10 11'12 13 14
Function

Designation

Bit 0 specifies Interlace operation. A "0"
specifies no Interlace. A "1" alerts the
Interlace.

I/N

The program can use any I/O or Buffer Control EOM to "alert"
the Interlace for operation. A l-bit in bit pos it ions 0 and 8 of the
effective address generated by the EOM will alert the Interlace.

Bits 1 and 2 specify the Input/Output Test
mode.

01

The standard assembler form for alerting the Interlace is an
asterisk (*) in the first column of the address of the EOM that
activates the peripheral device in the I/O transmission. For
example, to alert the Interlace while activating the magnetic
tape unit number 1 to read tape decimal, one could write:

Bits 3 through 7 specify conditions to be
sensed.

COND

Bit 8 must be 1.

RTD *1, 2

Bits 9 through 14 contain the Unit Address
of the specified device.

UNIT

A special EOM to alert only the Interlace,
ALC

ALERT CHANNEL INTERLACE

STANDARD BUFFER SES INSTRUCTIONS (effective address)
has the address form 50100; no 11*.. is needed.
CAT

CHANNEL ACTIVE TEST; SET FLAG IF NOT ACTIVE

o

4
1

o

2 34

o
5 16

7

The PARALLEL OUTPUT (POT) instruction transmits the starting
address and record count to the Interlace. The three II POTs"
that are needed function as follows (RTD * 1, 2 is used as the
alerting EOM):

I

13 14

8'9

RTD
POT
POT
POT

If the channel is ready to accept a new input/output instruction,
CAT sets the Flag Bit. If the channel is active, CAT resets the
Flag Bit. (The channel wi II test active during an input operationeven after the peripheral has terminated its operation - until all
meaningful data words in the character buffer have been stored
in memory.)

*1,2
HIADDR
LOWADDR
NLESSONE

(NOTE: This sequence must be consecutive; no other instructions shou Id be interposed.)

Timing: 3,4

Registers Affected: F

where:
CET

CHANNEL ERROR TEST; SET FLAG IF ERROR

o
o

o
10 11112

o

The least significant bits of the contents of
location HIADDR form the high or most significant three bits of the starting address,

I

13 14

the contents of location LOWADDR form
the least significant 12 bits of the 15-bit
starting address, and

CET tests the error indicator in the I/O Channel for being set.
If set to no error, CET resets the Flag Bit. If set to error, CET
sets the F lag Bit.
Registers Affected: F

the contents of NLESSONE are the record
length minus one (N-1).

Timing: 3,4

INTERLACE

In each case, the POT transmits the information into the proper
Interlace register.

The I/O Channel interlace is an optional hardware device that
can control and perform input/output operations independent
of, and simu Itaneous with, central processor program execution.
In using the interlace, the program sets up a starting address for
data in or out, sets up a record length of the data to be read
or written, and starts the interlaced operation. The program
then continues computation while the interlace monitors the
I/O operation, accessing memory when necessary, incrementing

The termination of an interlace operation can be determined by
using a CAT, CHANNEL ACTIVE TEST; or the progress of an
operation may be monitored through the use of the ALERT TO
STORE INTERLACE COU NT.
ASC (10500) alerts the Interlace that a PIN is to follow to get
a record of the current COU NT contents.

3-7

Note:

The sequence:
ASC
PIN M

If 11 is armed, the Interlace does not terminate
the channel on COUNT passing zero; instead
an 11 interrupt is generated. This allows the
program to re-initiate the COU NT and starting
ADDRESS in the Interlace and continue performing the same I/o operation.

alerts the Interlace and IPINs" the current contents of the
COU NT register into location M. The contents of COU NT
are N-1 minus the number of words of the record already
transm itted .
I/O CHANNEL INTERRUPTS OPTION

The Channel always disconnects when the endof-record occurs with no regard to the interrupt arms.

Two interrupts 11 and 12 are directly associated with the I/O
channel. These are priority interrupts with 11 having priority
over 12.

Note: When armed by ARM X, an interrupt condition occuring
on 11 or 12 causes the interrupt level to go to the Waiting
state. If the Interrupt System is Enabled, the respective
interrupt will go to the Active state as its priority
perm its. If the Interrupt System is Disabled, the interrupt
stays in the Waiting state indefinitely.

When 11 is requested, it interrupts each time the I/O channel
buffer empties or fi lis; that is, when requested it occurs on
input each time the buffer collects a word, or it occurs on
output each time the buffer transmits a complete word.
When 12 is requested, it interrupts when an End-of-Record
occurs; that is, it interrupts only after a complete record is
input or output.

POT/BPO, PIN/BPI INSTRUCTIONS
Two instructions, PARALLEL OUTPUT (POT) and PARALLEL
INPUT (PIN), cause any word in core memory to be presented in
parallel at a connector; or, inversely, cause 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.
During a PIN, this signal tells the device to send its data word
as soon as it is operational. Wehn a device becomes operational duringaREADorPIN operation, ittransmitsaReady 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 II hangs Up" during the execution
of PIN until it receives the Ready signal from the external device.

11 and 12 are always enabled (as described in the Interrupt
Paragraphs, Input/Output Section of this manual).

I

A special instruction, EOM 11XOO, arms/disarms these interrupts. The values of X are:
X

Function
Disarm 11 and 12

3

Arm 11, disarm 12

5

Arm 12, disarm 11

7

Arm 11 and 12

During the executionofa 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 II hangs Up"
during the execution of POT until it receives the Ready signal
from the external device. The block transfers forms of these
instructions are BLOCK PARALLEL INPUT (BPI) and BLOCK
PARALLEL OUTPUT (BPO).

The instruction EOM 13XOO, as a terminate output EOM, can
be used effectively in conjunction with the arming feature. For
"instance, EOM 13500 terminates output, arms 12 and disarms
11. It functions like this: When the current output from the
I/O channel is finished and the Jlo buffer is free, the 12
interrupt occurs.
The standard assembler mnemonic and instruction form is:
ARM

During input, this means that the peripheral continues
to the end-of-record, but no more input words are
stored in memory.

X

Special system requirements demand that complete words of
control or data information be transferred between the central
processor and the special external devices. The PIN or POT
preceded by the activating EOM gives exactly this facil ity.
The EOM alerts the system device by specific address and the
PIN or POT transfers the requ i red word. That is, the EOM activates andalertsthespecialdevice and the PIN/POT transfers
12 bits to or from the effective memory location specified. To
avoid a posssible computer II hang ... up", the SES instruction can test
the Ready signal of the specia I device prior to the EOM and PIN/
POT. If the Ready signal from the external device sets one of
the priority interrupts (optional), parallel input/output operation
can occur as soon as the external device is able to transmit or
receive. Since the Ready signal initiating the interrupt persists through the POT or PIN execution, no IIhang-up ll occurs.

where X is as described above.
Interrupts Used with the Interlace Option
During Interlace operation, the basic interrupts function
according to the names they are given below:
11 is COU NT EQUAL 77778
12 is END OF RECORD
When requested, 11 occurs when COU NT goes through zero.
When requested, 12 occurs when an End-of-Record occurs.
On output or input:

If 11 is not armed, the Interlace terminates the
channel (i. e., effects a~ automatic TOP or TIP)
when the COU NT goes throug h zero.

No interrupt can occur during the execution of, or between any
of these instructions and the instruction following it.

3-8

POT

SYSTEM MODE EOM (effective address)

POT PARALLEL OUTPUT

o
o

4

I

Y
5 6

7

8

9

10

Registers Affected:

5

o

o
4

Y

5

6

7

8

9

o

11

10

PIN

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

o

BLOCK PARALLEL INPUT

4

6

7

8

9

10 11

Starting with the effective memory location, BPI transfers N
words from the 12 input lines in parallel into sequential locations. The contents of the A Register are the word count N
minus one; BPI can input up to 4096 words per execution. The
input lines fill and empty under the control of the Ready signal
and BPI.
Registers Affected: M to M + (A), A

Timing: 3,4

3

J

3

10

13

14

There is a test to see whether the I/O channel is ready to
accept a new input/output instruction - the CHANNEL
ACTIVE TEST (CAT).

2.

Following the termination of an input operation by an Endof-Record, the channel remains active until all significant
data words have been stored by the program or interlace.

3.

Following the termination of a non-magnetic tape output
operation by TERMINATE OUTPUT (TOP), the channel
remains active unti I the last cha racter has been del ivered
to the peripheral device.

4.

Following the term ination of a magnetic tape output operation by TOP, the channel remains active unti I the magnetic
tape un it commences stopping. Th is is long after the last
character has been del ivered to the magnetic tape un it.

5.

The End-of-Record (12) Interrupt is never sent unti I the
I/O channel becomes inactive.

Y

5

None

1.

Timing: 5 + wait
(h igh-speed)
and 5,6 + wait

4

13 14

I/O TERMINATION PROGRAMMING NOTES

o

5

12

The SES System Test Format is identical to the System EOM
Format. Timing is 3,4 cycles.

Timing: 3 + N + wait
(high-speed)
and 2,3 + 2N + wait

PARALLEL INPUT

BPI

d

Execution of an SES (System Test Mode) causes an 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 Flag Bit is set. If there is no signal,
the Flag Bit is reset.

Starting with the effective memory location, BPO transfers the
contents of N sequential locations in parallel to 12 output lines
of an external device. The contents of the A Register are the
word count N minus one; BPO can output up to 4096 words per
execution. The output lines fi II and empty under control of
BPO and the Ready signa I .
Registers Affected: A

10

SYSTEM MODE SES (effective address)

BLOCK PARALLEL OUTPUT

BPO

1678 1 9

Bit positions 3 through 14 contain the address field that specifies the special system destinations.

Timing: 4 +.wait
(h igh-speed)
and 4,5 + wait

None

I

Bit positions 0-2 contain the System Mode Indicator.

POT transm its the contents of the effective memory location in
parallel to 12 output lines of an external device.
Registers Affected:

3

012345

11

Thus, an input program (using End-of-Word, 11, Interrupts
for example) must take care to store every input character
presented to it by the I/O channel (in our example, every
11 Interrupt must result in a II WI Nil or "DSC" or "TIP"). If
not, the input devicewill proceed to End-of-Record and stop,
but no 12. Interrupt will ever be given and the channel will
never go inactive.

Timing: 4 + N + wait
(h igh-speed)
and 3,4+ 2N + wait

The programmer has several options after he has read as much
of a record desired:
"

SINGLE BIT INPUT/OUTPUT
Operating in the System mode, the two instructions, ENERGIZE
OUTPUT M (EOM) and SENSE EXTERNAL SIGNAL (SES), provide single-bit input/output transmissions.
Execution of an EOM (System Mode) causes a 1.15-microsecond
signal to be transmitted to one of a possible 4096 signal destinations. The system EOM format is:

3-9

1.

Disconnect (DSC) - but not if the peripheral device is a
magnetic tape.

2.

Do nothing - but only if no more words remain in the
record (i.e., the entire record has been read).

3.

Give TIP - the input peripheral device wi" continue to
End-of-Record with all normal error checks on the
remainder of the record.

4.

TERMINATE INPUT (TIP) and TERMINATE OUTPUT (TOP)
have the same octal configuration - the I/O channel differentiates TIP and TOP according to the type of operation
it is performing.

5.

The programmer can have no problem by giving a TIP when
the input device is concurrently sending an End-of-Record
signal or when the channel is already inactive.

6.

Additional interrupts obtained with SDS optional hardware are
located at interrupt levels numbered from 150a. In general,
these also have priority according to number. Note that interrupts 150 through 176 have priority over any System interrupt
(200 or more).
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 speedy servicing.

Improper programming (especially on input) can leave the
I/O channel in an active state.

THE 11 INTERRUPT
A non-interlace, non-character-interrupt I/O program should
disarm the 11 Interrupt. If this disarming is not effected, spurious 11 Interrupts may result:

1.

On output, the first Il Interrupt is generated immediately
following the activating EOM.

2.

During ROT/RIN (and WOTjWIN), Il Interrupts may be
generated -even though the I/O channel is being properlyattended to by the ROT/RIN command.

The above type of interrupt is called a normal priority interrupt
to differentiate it from another interrupt feature, the singleinstruction interrupt. This is a different kind of interrupt that
causes the execution of only one instruction before automaticallyclearing itself and returning to the program which it interrupted. If the executed instruction is a branch instruction
which branches (i.e., BRM or BMC), the interrupt is cleared
but control does not return to the interrupted routine. Th is
type of interrupt needs no branch instruction to clear it. For
example, by connecting an external clock source to the computer, the program can maintain a programmed real-time clock.
Each time the external pulse causes an interrupt, the program
executes the single instruction, MEMORY PLUS ONE TO
MEMORY, to add one to the selected memory word. The main
program examines this location whenever necessary to determine how many time increments have elapsed since the clock
was started. No new interrupt can occur between any singleinstruction interrupt and the return to the main program.

This disarming does not create many programming problems or
compatibility problems-the RESET button clears both I/O channel interrupt arms. Thus, only programs which use both the
interrupt and the non-interrupt modes of I/O programming need
take heed.

PRIORITY INTERRUPT SYSTEM (Optional)
INTRODUCTION

Any of the optional, system interrupts can be single- or normalinstruction interrupts in any combination desired.

As an option, the SDS 92 may contain a priority interrupt system. This system provides added program control of input/
output operations, aids in programming multiplexed operations,
and'allows immediate recognition of special external conditions.

PRIORITY INTERRUPT OPERATIONS
A normal priority interrupt level has three operational states:
Inactive, Wai ting, and Active.

When an interrupt is received, the internal logic examines the
interrupt signal and causes the computer to interrupt the
program sequence at the end of the execution cycle of the
current instruction. Without disturbing the Program Counter
Register, the computer transfers program control to one of
a selected set of memory locations. One of the branch and
mark place BRM or BMC instructions in this location saves
the contents of the Program Counter, Flag, and PCT. It
also transfers to the particular interrupt servicing routine
required. This enters the proper service routine since each
interrupt has a unique interrupt location. To exit from the
routine, a BRANCH AND CLEAR INTERRUPT (BRC) instruction using indirect addressing returns control to the next instruction in proper sequence in the main program; it also
clears the interrupt and restores the original contents of the
Flag and PCT.

In the inactive state, no interrupt signal has been received into
the level and none is currently being processed by its interrupt
servicing subroutine. No record is maintained if the interrupt
cannot go into the waiting state.
In the waiting state, an interrupt request signal 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 the system is enabled and all
higher waiting interrupts have been processed, this level goes
to the active state.
In the active state, the interrupt has been acknowledged, meaning it has caused the main program to recognize its presence
and has transferred to its assigned interrupt location and/or
routine where it is being processed. When the interrupt processing is completed, execution of a BRANCH AND CLEAR
(BRC) sets the interrupt level to the inactive state.

The priority interrupt system has up to 256 System interrupt
levels. The levels, numbered evenly upward from 200a, have
priority according to number, with the higher priority levels
having a smaller number.

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

3-10

state, and remains there during the execution of one instruction.
At the completion of the one instruction, the single-instruction
interrupt returns to the inactive state without the aid of a
branch and clear instruction.

Table 3-2. Interrupt Location Assignments
150
152
154
156

INTERRUPT CONTROL
Two program control features are available in the interrupt
system. These features are Enable/Disable and Arm/Disarm.
Arm/Disarm (optional hardware) controls whether an interrupt
can proceed from the inactive state to the waiting state. The
disarm conditionofan interrupt level prohibitsan interrupt signal
entering the level from causing the interrupt to enter "waiting"
from II inactive ll •

160
162
164
166
170
172
174
176
200

With Enable/Disable, the entire set of interrupts in the system
can be enabled and disabled under program control. When the
interrupt system is enabled, interrupts can proceed from the
waiting state to the active state.

l

1177

Power On (always armed)
Power Off (always armed)
Main Frame Parity Error (armed via a console switch)
Data Multiplexing System Parity Error (armed via a
console switch)
Unassigned
Unassigned
Interrupt, Clock Sync (always armed)
Interrupt, Clock Pulse (arm furnished)
11 (arm furn ished)
12 (arm furnished)
Unassigned
Unassigned
System Interrupts (arms optional, single instruction
discretionary)

l

System Interrupts

The following interrupts are exceptions and are always enabled:

ENABLE/DISABLE INTERRUPT INSTRUCTIONS

1.

Power fa ii-safe (2 interrupts)

Three instructions are available for setting, resetting, and
testing the state of the INTERRUPT ENABLED indicator.

2.

Memory parity error (2 interrupts)

3.

Real-time clock (2 interrupts)

4.

I/O Channel (2 interrupts)

EIR

ENABLE INTERRUPT
51

00

o

I

5 6

I

11

The control of the optional Arm/Disarm feature operates on
individual interrupt levels of the System interrupts (200-1176),
that is, any chosen interrupt level may be selectively armed
or disarmed. But the instruction structure for Arm/Disarm
allows these interrupts to be operated on in groups of sixteen.

EIR unconditionally sets the INTERRUPT ENABLED indicator
and enables the interrupt system. At the end of the next interruptable instruction, if any interrupt levels are waiting, the one
with the highest priority becomes active.

SINGLE INSTRUCTION INTERRUPTS ROUTINES

EIR cannot be interrupted.

Only the following instructions will be meaningfully interpreted
as single-instruction interrupt routines:

Registers Affected:
DIR

None

Timing: 3,4

DISABLE INTERRUPT

1.

EOM

2.

BMC, BRM

3.

MPO - MPO, in this case, will not alter the Flag.
However, if the restored, incremented operand equals
00008, a different interrupt pu Ise wi II be generated (see
Real-Time Clock Option, Appendix B-1).

DIR unconditionally resets the INTERRUPT ENABLED indicator
and disables the interrupt system. The current state of all
interrupt levels is unchanged by this instruction.

EXU - Can only execute the above-listed instructions.

DIR cannot be interrupted.

4.

50

00

o

I

5 6

NON-INTERRUPTABLE INSTRUCTIONS

Registers Affected:

An interrupt cannot occur between the execution of ENERGIZE
OUTPUT M (EOM) and the instruction following it. This is
also true for the input/output instructions, POT/BPO, PIN/BPI,
WOT/ROT, and WIN/RIN. No interrupt can occur between a
single-instruction interrupt and the return to the main program.
When these instructions branch, an interrupt cannot occur
between their execution and the execution of the branch-to
instruction:

lET

o

I

11

None

Timing: 3,4

INTERRUPT ENABLED TEST; SET FLAG
IF INTERRUPT SYSTEM ENABLED

01

50

I

I

11

If the priority interrupt system is enabled, lET sets the Flag Bit. If
the priority interrupt system is disabled, lET resets the Flag Bit.

BRU
BRL

BDA
BAX

BFF
BFT

Registers Affected:

3-11

F

Timing: 3,4

ARMING FEATURE

The two words which the PARALLEL OUTPUT (POT) instructions
address have the following format:

The arming feature is controlled for a group of 16 interrupts at
one time. (The 24-bit POT/PIN option is a prerequisite for the
arming feature. )

High-Order 12-bit Word
Address

The sequence of instructions required to arm the selected interrupts is:
EOM
POT

I

23

The address field in bit positions 0 through 5 identifies wh ich
group of 16 interrupts in the system is being addressed. 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 lowest-numbered level of the group, therefore the one with
the highest priority. Bit position 23 refers to the last or highestnumbered level, the one with lowest priority. The first group
of 16 is group 0, For example, words of 0024 and 0000 arm
level number 202 (the level of second highest priority),

Transmjt entire 24 bits to the arming chassis and arms selected interrupts
II

the extender to accept the next POTarming chassis that a 24-bit control
POT that follows. The second POT
transmission.

The control operations are:
6-7

The effective address of the Extender Alert EOM (an internal
type) is:

AIR

Not used

01

Arm all interrupt levels that are selected by a 1
in bit positions 8-23
Disarm all interrupt levels that are selected by a
in bit positions 8-23
Arm all interrupts selected by a 1 and disarm all
interrupts selected by a 0 in bit positions 8-23

o

o

11

o

INACTIVE

ARM INTERRU PTS

o

2

o

o

4

Function

00

10

2

o

I
2

4

5

I
6

7

+
+

,

Proceed if ARMED

o

I
3

8

11

12

EXTENDER ALERT EOM
The Extender EOM alerts
ted"word. AIR alerts the
word is coming with the
triggers the entire 24-bit

I

Select Bits

Arm interrupts
LOWTWELVE

78

Low-Order 12-bit Word

Load most significant 12 bits into
extender

AIR

Interrupt

56

Alert the extender
HITWELVE

POT

I

o

I
9

WAITING

10 11 12 13 14

Proceed if PROPER PRIORITY

+

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.

Proceed if ENABLED

+

ACTIVE
AIR cannot be interrupted.
Registers Affected:

None

Timing: 3,4

Figure 3-3.

3-12

Interrupt Arm-Enable Response

CONTROL CONSOLE

ENABLE
ENABLE lights whenever the interrupt system is enabled.

The basic computer system includes a console for operator
control. This console connectsdirectly to the central processor,
contains switches for operation, and displays the contents of
operational registers.

FLAG
The FLAG indicator consists of a single binary indicator.
FLAG is lit when the Flag Bit is a 1.

DISPLAYS
The registers displayed on the console directly reflect the contents of the hardwa re reg isters. If the operator clears or changes
a display, the contents of the actual reg ister change identically.

SWITCHES

PROGRAM LOCATION

The POWER switch turns the computer system power on or off.
When power is on, the switch is I it.

POWER

This display consists of 15 binary indicators with a CLEAR button for the entire register and a set button for each indicator.
The program counter contains the location of the next instruction to be executed. The operator may change the contents of
the program counter via the CLEAR and set buttons. When the
operator places the computer in RU N, the first instruction comes
from the location shown in the PROGRAM LOCATION display.

FILL
To initiate a

II

fill ",

1.

Press the RESET button.

INPUT -OUTPUT

2.

Hold down the FILL switch correspond ing to the peripheral
dev ice from wh ich a fi II is desired.

The UNIT lights contain the unit address of the peripheral
device currently connected to the I/O Channel.

3.

Move the RUN/IDLE/STEP switch from IDLE to RUN while
continuing to hold the appropriate FILL.

The ERROR I ight reflects the status of the I/O Channel error
indicator.

4.

Release the FILL switch.

HALT

Fill causes the following:

The HALT light lights whenever the computer executes a halt
instruction while in the RUN position. Setting the RUN/IDLE/
STEP switch to IDLE clears the halt.

1.

Bit 0 = 0

REGISTER DISPLAY

Bit 1 =0

This display consists of 12 binary indicators with a CLEAR button for the entire register and a set button under the P Register
indicators that also serve the A, B, and C Registers. The Register switch selects the internal register to be displayed. The
selectable registers are:
C

C Register, which usually contains the contents of the
memory word whose address is in the program counter

A

A Register

B

B Register

An EOM opcode is generated.

I

~

_ _ _ Buffer Control Mode

Bit 2 = 0
Bit 3= 0 - - - Forward Direction
Bit 4 = 0
Bit 5 = 1

---.~

Binary Mode

Bit 6 = 0
Bit 7 = 1 ---~. Two Characters per Word
Bit a = 1
Placing the computer in IDLE, clearing the register, and then
pressing the button in the corresponding bit positions under the
indicators sets the contents of the selected register. Pressing a
button places a 1-bit into the selected position of the register.

Bit 9 - Bit 14 = The unit address of the indicated
peripheral:
Paper Tape

04a

Cards

06

Mag Tape

lOa

Disc

26
a

MEMORY PARITY

If an operand or instruction access from memory encounters
a parity error and the memory switch is in the HALT position
MEMORY PARITY lights. Setting the memory parity switch to
CONTINUE clears the indicator and turns off the light.

3-13

a

INT(RRUPT

--fllL-W

I

PAP(Jt
TAPE

CARDS

..AC

O"UM

.l>-

•

(NABLEO

HALT

I
MEMORY
PARITY

- - - - INPUT OUTPUT - - - _ _ _ _ UNIT _ _ _ _

fLAC

I

•

[RROR

CLUIt

TAPE

=1

• INTERRUPT

-------••• •••• • ••••
REGISTER DISPLAY

PROGRAM lOC. liON

"

RE SET

• HALT
• CONTINUE

" "

p.

• SET

BREAKPOIN T

Figure 3-4.

SDS 92 Computer Contro l Ponel

- MEM ORY
OtH

HO

•

RESE T

INCRE MENT

RUN IDLE ·
STEP.

2.

9 words (or to End-of-Record) read into memory starting in
location 00000 .

MEMORY PARITY

8

3.

Computation begins at location 00000 .

4.

NOTE: The I/O Channel is still active and the input
peripheral device is sti II sending characters to the channel. (If the fill routine is less than 9 words, the End-ofRecord makes the channe I inactive; computation sti II goes
to 00000.)

In the HALT position, this switch causes the computer to enter
the Idle state whenever a memory parity error occurs. In the
CONTINUE position, the computer does not change state when
a memory parity occurs. In the INTERRUPT state, any memory
parity will result in one of two interrupts (optional).

8

BREAKPOINT
The four BREAKPOINT switches are externally controlled, internally testable program switches. Breakpoint test instructions
test them.

RUN/IDLE/STEP

MEMORY OUT

The RUN/IDLE/STEP switch is a three-position, toggle switch
with two stationary positions and a spring-loaded momentary
position in STEP. In the RU N position, computation occurs at
machine speed. In the IDLE position, the computer idles immediately after an instruction has been read from memory. If
the Register switch is in the C position, the first word of an instruction may be viewed in the REGISTER DISPLAY. Depressing the switch to STEP reaccesses and executes the instruction;
the computer returns to the Idle state. To "step" another instruction, the operator releases the switch to the IDLE position
and then depresses it again to STEP. No interrupts can occur
(i.e., go into the active state) while stepping.

This is a momentary switch that causes the computer, in IDLE,
to place the contents of the location specified by the program
counter into the C Register.
MEMORY IN
Th is is a momentary swi tch that causes the computer, in ID LE, to
place into the location specified in the program counter fhe
contents of the C Register.

PERIPHERAL EQUIPMENT DESCRIPTION
This section describes some of the input/output devices thatcan
be attached to a buffer and explains their use.

HOLD/INCREMENT
Placing the HOLD/INCREMENT switch in the "up" position
causes the current contents of the program counter to be held.
This inhibits the program counter from counting.

INPUT/OUTPUT TYPEWRITER
The control console may contain an electric, input/output typewriter for operator control, error or status messages, and similar functions. The typewriter connects to the I/O Channel, has
the input unit address 01, and the output unit address 41. Appendix 1-1 contains the typewriter codes.

Momentarily placing the HOLD/INCREMENT switch in the
INCREMENT position increments the program counter by one
and brings the contents of the newly addressed location to the
C Register.

The typewriter control instructions follow. The sample instructions use Typewriter No. 1 with 2 characters per word mode.

RESET
This switch initializes the control section of the computer. It
resets the I/O Channel, clears the FLAG, sets PCT, clears the
INTERRUPT ENABLED, clears any parity error indication, clears
all interrupts arms, and clears a II interrupt levels. The operator must set the RUN/IDLE/STEP switch to IDLE before pressing this switch.

RKB 1,2

READ KEYBOARD
2 Characters/Word

02301t

This instruction activates the I/O Channel and connects to it
Typewriter No. 1. RKB readies the channel to read input from
the keyboard. This instruction lights the input light on the
typwriter.

Switch Select
TYP 1,2
This two-position toggle (labeled C and P) selects which REGISTER DISPLAY/PROGRAM LOCATION will be affected by the
C LEAR and set buttons.

WRITE TYPEWRITER
2 Characters/Word

02341

This instruction activates the I/O Channel and connects to it
Typewriter No.1. TYP readies the channel to write output to
the typewriter.

Register Select
This three-position switch selects the register to be shown on
the REGISTER DISPLAY lights.

t

3-15

This octal number is the EOM or SES effective address configuration.

EXAMPLE: Typewriter Output
This example types the following message:

DO

from location OUTWD; the internal codes for these characters are in this location.
routine assumes the channel to be initially inactive.
Location
IN

Instruction

Comments

RES

2

This assembler directive reserves two locations for the mark entry.

TYP

1,2

This EOM instruction connects Typewriter No. 1 to the channel for output
and spec ifies two characters per word. The octal configuration of the EOM
address is 02341.

WOT

OUTWD

This instruction transfers the contents of location OUTWD to the I/O Channel.
The new contents of the channel are output to the typewriter as two 6-bit charactersand typed. The next instruction in sequence is executed as soon as the
word is placed in the channel.
Th is instruction terminates output on the channel. When the channel and the
Sing Ie Character Register are c lear of characters to be output, the channel sets
its Unit Address Register to zero; th is disconnects the channel. When accessed,
this instruction executes immediately; the next instruction in sequence is then
executed. The octal configuration of this EOM address is 12100.

TOP

BRU
OUTWD

The routine uses Typewriter No.1; the

*IN

24 46

This instruction transfers to some other program area.
This word contains the internal code for the characters DO.

EXAMPLE: Typewriter Output then Input
PROG

This example types out the message:

then awaits the input of a single character. Input terminates with a carriage return typed by the operator; the housekeeping
necessary to determine when the carriage return has been input is not given.
IN

RES

2

TYP

1,2

Connect channel to Typewriter No. 1.

WOT

MSSGE

Output first word of message.

WOT

MSSGE+l

The central processor "hangs Up" on this instruction until the second character from the preceding instruction has cleared the channel buffer into the
Single Character Buffer for output. Then this WOT executes filling the
channel buffer with contents of location MSSGE + 1.

TOP
TEST

Terminate output when channel system is clear.

CAT

The program "hangs Up" here unti I the channel transmits the last character.

BFF

TEST

RKB

1,1

This instruction connects Typewriter No. 1 to the channel for input and
specifies one character per word. The octal configuration is 02101.

WIN

KEYWD

The computer "hangs Up" on this instruction until a characterentersthechannel from the keyboard; then the word in the channel buffer is placed into location KEYWD. The input character is in bit positions 0 through 5 of KEYWD.
Bit position 6 through 11 are unpredictable

At this point, the word in KEYWD is placed elsewhere in memory and the routine returns to the WIN above. When executed,
a test is made to determine if the new input character is the carriage return code. Indexing or indirect addressing can be
used with the WIN to facilitate input. When the carriage return is detected, the following is executed.
This instruction disconnects the channel by immediately clearing the Unit Address register to zero. The octa I configuration of the EOM address is 00100.

DSC
BRU

*IN

Return to main program.

3-16

frames). Bit position 4 of the EOM that addresses the punch
contains a "0" to punch leader; bit position 4 contains a "1"
to punch without leader.

PAPER TAPE INPUT/OUTPUT

Format
The paper tape used 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 are used for information, one is used for an odd
parity check, and the eighth is unused.

The EOM instruction that addresses and alerts the punch produces gap. No terminal punch operation produces gap after
punching a block.
The punch operates asynchronously. If the channel does not
supply characters to the punch fast enough, the punch waits
for each character, losing no data and creating no errors.

p

0

B
A
B

0 0
'0' ..
00
0

000 00
0
0
0
0
0

..0 .... . .0'0 .
0
0

00
00

Programming

00000
00
00
00
0

0
0

There are no status tests for the reader or punch, that is, they
are always ready for operation. When the 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. The
reader or punch ignores any different mode specified, and uses
the forward-binary mode. Unit address of 04 is for Paper Tape
Reader 1, and unit address 44 is for Paper Tape Punch 1.

'000
00
0

i

~

Direction of Travel

Block of Information

Information is organized on the tape 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 is punched) at either end.
Blocks may be of variable lengths.

Paper Tape Instructions
The following instructions use the I/O channel, Paper Tape
Number 1 with two characters per word format.

In 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, by disconnecting via DSC, and
then start again to read the remainder or another portion of the
block.

RPT 1, 2

READ PAPER TAPE

02304

This instruction initiates a paper tape read operation on tape
read statioA number 1 connected to the channel in the two
characters per word format.

PTL 1, 2

A program reads paper tape in a straightforward way, using RIN or
a WIN in a read loop unti I the desired number of words are input or until gap is detected. The tape stops in less than on~
frame; this means that no frame is missed between subsequent read
operations. An input operation that terminates because of gap
(End-of-Record) stops the tape after the first blank of the gap.
When starting the tape for reading, the tape reader ignores any
leading blank frames. After reading a meaningful data word
(one or two characters as defined by the program) from the tape,
the reader recognizes the next blank frame as gap and signals
the channel with an End-of-Transmission indication.

PUNCH PAPER TAPE
WITH LEADER

00344

This instruction initiates a paper tape punch operation on tape
punch station number 1 connected to the channel in the two
characters per word format. It generates approximately twelve
(12) frames of leader preceding the first punched frame.

PPT 1, 2

PUNCH PAPER TAPE
WITHOUT LEADER

02344

Punching
The EOM to alert the tape punch also turns on the punch motor
(if not already on). If the punch instruction (EOM) so indicates,
the punch unit punches a segment of leader (gap, or blank

This instruction initiates a paper tape punch operation on tape
punch station number 1 connected to the channel in the two
characters per word format. It generates no leader preceding
the first punched frame.

3-17 -

EXAMPLE: Punch Paper Tape
This routine punches one block of eight words (16 characters) from locations 02000 thro~gh 02007.
precedes the block. The routine is a closed subroutine.
Location
FRST

Instruction

Address

A twelve-frame leader

Comments

RES

2

This instruction is an assembler mnemonic used for convenience to reserve the
subroutine entry locations.

PTL

1,2

This instruction connects the channel to Paper Tape Punch No. 1 and specifies
two characters per word mode. The instruction asks for leader to be punched.
The octal configuration for this EOM is 00344.

LDA

=7

This instruction sets (A) equal to 7.

ROT

02000

This instruction transfers each word as needed to the channel beginning in location 02000.

TOP

BRU

This instruction is executed in 4 or 5 cyc les and then the computer executes the next
instruction. The execution of TOP causes the channel to disconnect when the last
character shifts out of the buffer and transmits out of the Sing Ie Character Register.
*FRST

This instruction returns to the main program.

EXAMPLE: Read Paper Tape
This routine reads a 64-character block from paper tape into memory beginning at location 02000.
character per word mode, making the input 32 words. The routine is a 'c losed subroutine.
FRST

The routine uses the two

RES

2

This assembler instruction reserves the entry locations.

RPT

1,2

This instruction connects to the channel the Paper Tape Reader No. 1 and specifies
two characters per word mode. The octa I configuration for this EOM is 02304.

LDA

=33

The 33 represents two more than the expected record size.

RIN

02000

This instruction receives each word in the block beginning in location 02000 and
going through 02037 ,
8
When the channel detects the End signal (gap) following the block during the input transmission, the RIN finishes execution
and the computer goes to the next instruction.
CARD INPUT/OUTPUT

one of the 64 combinations listed in Appendix 1-1 results in a
Validity check. Presence of a Validity check causes an error
signal to be sent to the channel and lights the VALIDITY CHECK
Iight on the reader. If the stacker shou Id become fu II, or the
hopper empty, the reader goes Not Ready and Iights the NOT
READY light. The card reader remains in the Not Ready state
until the operator corrects the situation and presses the START
button. Upon reading the last card, the reader sets an End-ofFile signal if its EOF ON switch is on. The central processor
can test the End-of-Fi Ie signal which determines if more cards
are in the hopper.

Format
The computer uses 80-columncards in two formats: Hollerithand
binary. The reader reads Hollerith-coded information from cards
and the corresponding SDS character codes go into memory. In th is
mode, each card column contains the equivalent of one 6-bit internal character. The character codes are in Appendix I-l.
Binary-coded information goes onto the card with two 6-bit
characters per column. In binary mode, one column forms a word.
The reader reads the card from column 1 to 80 in a top-bottom order. A single card holds 160 characters.

Punching

Figure 3-5 shows the relation of Hollerith information on a card
and in memory.

The punch punches cards a row at a time, starting with row 12.
The punch coupler in both Hollerith and binary modes automatically rearranges the information to be punched. The card
punch program must present the entire image, 80 or 160
characters, to the punch 12 times for each card. The punch
operates in the following manner. As each row of the card approaches the punch station, the coupler examines every character of the image to determine which column position in that
row shou Id be punched. After the 12th output, the punch
punches row 9 and completes the card cyc Ie.

Reading
The card reader scans the card, column by column, starting with
column one, and transmits either 80 or 160 characters depending
on the mode of operation. With poweron and cards in the hopper,
the operator readies the reader by pressing the START button.
During program operation, the program must test for the Ready
condition before initiating a card-read. A Read EOM instruction starts the card-reading operation; then the program controls the flow of information into memory via a RIN or WIN
loop. The end of the card sets the End-of-Record condition.
In the Hollerith mode, any column-read that is not punched in

The card punch is Ready to punch if there are cards in the magazine, the stacker is not full, and the START button has been

3-18

Memory

Card A

-~_

(,,(,0

:~c;tI CD
ro-~

co

......

CIO
CD

g;

(l:)
~CD

~

t;'j

ti.
~

t.:

~

...

en
0')

-."

.,..

c.n
c.n
c.n
c.n

-..

en
en

c.n

go

......

en

c.n
c.n

co

CIO

".....

en

co

-...

en

c.n

00

.......

en
O'J

c.n
c.n

C')

c.n

......

""

""

""
=
QO

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

...

c.n

co

_......

'-0

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

.,..

...

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

Con""
c.n...
c.n
...

--... - ----...... - - -... Co>

...,

...,

....
....

...
...

c..
Co>

...'"'"

...,
...,

-- ...
~
- =

c::>

....

N
....,

.....
...,

~

~

-

to..)

=

B

VJ
.--i

-:!.">

:;0

B+ 1

-i

-0
;.0
0;

~
~

C=>

c,...)

......

....

-.I

~~

eo

......

0:>

......

t

(XII

.....

...

....

W
W

...

w

~

W

Q

en

w

~

-

W
W

N

-

en

c.n""
c.n
c.n

c..,)

r-.,)

...

...

A
21
T
63
C
23

15

60

73

1
01

,

15

15

60

60

I

I
I

ID.:..::.
~U)

I

......

~

00

:: CD

go

.t;
60
60
0
00

I
I
Q

15
60
R
51

15

c:::)

=

T
63
R
51

60

15

f:)

c..n
c.n

S
62

T
63

... . . , c n c . n . , . . w . . . . . . : . - c
.....,
en
W
N
-

::;:<.0
CD

.,..

en

~c:.o

......
...=<""

U1

......

~ CD

i:j

a"

~......

CIO......

CD

...

O'J

......

01)......

<.0

~CD

c.n

.....

00

~ (Q

c;

en

CD

1110

~Nc.c

..

~

.. 00=_
=0<.:0 CD

o

U1

~

I
I

......

...

ext

......

eX)

......

en
en

CX'I

......

e!u:)

==

CIr:)

""

......

<;;'-0

co

-..

~c.o

co

-.t

_

c.n

...

c.."

c.n
c.n
c.n

.,..
....
....

w
...

C')

en

<.on

.-.

Cot.)

c.n

....

=

en

.......

c.n""

15

w

Cot.)

-:jQ

~

N

U"I

B + 39

-~­
_u:o

-!!-

60

0
00

1
01

0
00

Figure 3-5. Card Read Into Memory in Hollerith
pressed. The punch remains Ready as long 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 give the same instructions 12 times to transmit
the card image to the coupler.

RCB 1,2 READ CARD BINARY

RC B a Ierts 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 reads up to
160 characters (80 words) from a card.

Programming Instructions

Card Punch Instructions

The card reader instructions below use unit number 1 with the
two characters per word transmission mode.
CRT 1

CARD READER READY TEST

CPT 1

CARD READER END-OF-FILE TEST

CARD PUNCH READY TEST

the computer resets the Flag Bit.
The operator makes the punch Ready by placing blank cards in
the magaz ine and pr-essi ng the START button.

11106
PC D 1,2 PUNCH CARD DECIMAL (Hollerith)

This test determines if the End-of-File condition from the card
reader has been detected. If not, the computer sets the Flag
Bit. If the EOF condition has been detected, the computer resets the Flag Bit.

PCB 1,2
READ CARD DECIMAL (Hollerith)

02346

PC D alerts the punch, causes a card to feed past the punch station and selects the Hollerith mode. A transmission of 80 characters (40 words) must follow this instruction. The instruction PC D
followed by the transmission instructions for 80 characters per
card must be repeated 12 times.

The reader remains in the End-of-Fi Ie condition unti I cardsare
added to the hopper or until the EOF ON switch is turned off.
RCD 1,2

14146

This test determines if the selected card punch is Ready to punch.
If so, the computer sets the Flag Bit. If the punch is Not Ready,

12106

This test determines if the selected card reader is Ready to read.
If the reader is Not Ready, the computer resets the Flag Bit.

CFT 1

03306

PUNCH CARD BINARY

03346

02306
PCB alerts the punch, causes a card to feed past the punch station and selects the binary mode. A transmission of 160 characters (80 words) must follow this instruction. The instruction
PCB followed by the transmission instructionsfor 160 characters
per card must be repeated 12 times.

RCD alerts the card reader, causes 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 reads up to
80 characters (40 words) from a card.

3-19

EXAMPLE: Card Read
This program reads one card in Hollerith mode. It is a closed subroutine. The program enters the routine via a BRM.
Location

Instruction

FRST

RES

TEST

CRT

Comments

Address

2

This assembler instruction reserves locations for the subroutine entry.
This instruction is the card reader Ready test for Card Reader Number 1.
It sets the Flag Bit if ready.

BFF

TEST

This instruction branches back to the test on Not Ready. An exit to
a Not Ready corrective routine can be put here.

RCD

I, 2

This instruction connects the Card Reader 1 and starts a card moving
toward the read station. Hollerith mode is specified. The octal configuration for this instruction is 02306.

LDA

=39

This is the repeat count for RIN.

RIN

READ

Beginning in READ, this instruction transfers words from the channel
into the locations until the entire card is read.

BRU

"'FRST

This instruction branches back to the main program.

EXAMPLE: Card Punch
The program punches one card in Hollerith mode beginning from location 03740.
the program presents the card image to the punch.
FRST

TEST

GEE

RES

2

LDB

=11

This instruction reserves the locations for the subroutine entry.

This instruction tests the card punch for a Ready condition. It sets the
F lag Bit if Ready.

CPT

BFF

TEST

This instruction branches back to the test, CPT I, if the Flag is reset.
An exit to a time loop with .the facility to tell the operator that the
card punch wi II not become Ready can be placed here.

PCD

I, 2

This instruction executes if the punch is Ready. It connects the channel
to the Card Punch Number I, and starts a card moving toward the punch
station. The two characters per word and Holleriih mode are specified.

LDA

=39

Starting with location 03740, ROT transmits 40 words to the Punch.

ROT

03740
This terminates output.

TOP
CTEST

The B Register counts the 12 times

CAT

Wait for the last character to be transmitted.

BFF

CTEST

SUB

=1

BFF

GEE

BRU

*FRST

SUB decrements (B) by one and sets F if the new (B) is equal to 7777 ,
8
Note that the card image must be sent to the channel twelve times to
punch a card.
Return to main program via location FRST.

3-20

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 1-bits. In the binary mode,
however, the check character may have either an even or an
odd number of 1-bits. This means that a reverse scan over a
binary record may result in turning on the error indicator in the
buffer even though the record itself is correct. As a general
rule, the program ignores the error indicator after a reverse operation.

MAGNETIC TAPE INPUT/OUTPUT

Magnetic tape units used in SDS computer systems are IBMcompatible. 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 My-Iar 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-ofreel. About 14 feet of tape are reserved between the end-ofreel 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 the end-of-reel
marker is sensed.

Routines should always place a TAPE READY TEST (TRT) between
tape operations of opposite direction to ensure that the tape
unit stops and reverses. Good programming terminates 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.

Characters are recorded on tape in seven parallel tracks. A
change in the magnetic flux in a track records a 1-bit for a
given character position. No change in magnetic flux indicates
a O-bit. Six of the tracks contain 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 records the six-bit charcicters from memory without change.
Binary-coded decimal (BCD) recording uses even parity. In
this mode, the tape control unit transforms characters from the
channel to conform with standard IBM, BCD interchange code
(see Appendix A-1).

A Read Binary or Read BCD EOM starts a tape which 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 until the tape
unit control receives a new EOM. 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
two character per word read, this appears in the first word of
the input area as a 1717 word.

Only the capacity of available core storage in the computer
limits block length. A record gap (section of blank tape) about
3/4-inch long separates blocks on tape. In writing, the tape
automatically produces gap at the end of a record. Reading
begins with the first character sensed after the gap and continues until the next gap is encountered.

When the tape unit is writing on tape, it may transmit flux disturbing surges ahead of the current writing position; these surges
affect previously written records further down the tape. This
means that a record in the middle of a fi Ie cannot be updated
or rewritten if the records that follow it are to be read.

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.

Any error detected either by the channel in the character parity check or by the control unit with the longitudina I parity
check sets the channel error -indicator. When detecting such
an error in reading, the routine should backspace the tape over
the erroneous record and attempt to lire-read II the record.

A program may write one or more files on a reel of tape. On
reading an End-of -File record, the tape control unit stops
the tape and sets its End-of-File indicator which may be tested
by the program.

The tape backspaces over records using the Scan feature. A
Scan reverse EOM starts the tape in reverse. A TERMINATE
INPUT (TIP) EOM should immediately follow. The program
then waits for the channel to become inactive (or awaits the
End-of-Transmission interrupt if armed and the interrupt system
is enabled). When the channel becomes inactive (or the Endof-Transmission interrupt occurs), the tape stops in front of the
backwardly traversed record.

The tape control unit considers any record containing only Tape
Mark (0001111) characters an End-of-File. The tape reads such
characters into m-emory like any other characters.
As the tape unit writes information, it makes an odd-even count
of the number of 1-bits in each track. At the end of each record, it writes a bit for each track such that the total number of
1-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.

A Scan operation is similar to a Read operation except that the
channel shifts the characters read through its Word Assembly
Register, but does not consider a word complete unti I a tape

3-21

gap is encountered. When the tape reaches the gap, the
channel uses the last two characters in the word assembly as
the only word read from the record. When scanning in reverse,
the word consists of the last two characters scanned that are
the first two logical characters of the record. This operation assembles these characters in reverse. For example, if
the first two characters of the record are 12 and the tape scans
the record in reverse, these appear as 21 in the word stored for
that record.

In addition to writing under program control, the program can
also erase tape. When an Erase EOM with an erase unit address is used, the tape operates as though it were in a Write
mode, except that it records no information. The program
counts the number of words to be erased.
The use of this type of erase is for the correction of a Write error. When a Write error occurs, an ERASE REVERSE TAPE starts
the tape in reverse. Then 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 forward, using the same count and bypassing the
section of tape where the difficulty occurred. The routine may
now rewrite the record on a new section of tape.

The same operations occurs in the forward scan with the last
two characters of the record forming the word stored. The
Scan is useful for reverse searching on the first word of the records in the fi Ie being searched. In this case, the routine
starts the tape in a reverse scan and IIhangs Upll on a WIN.
When the tape reaches the beginning of the record, the first
word of the record transfers to the buffer. The WIN stores the
first word and the program checks the key word against the
search key. If they agree, then the program need only wait
for the channel to become inactive 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.

The erase procedure is used to produce the required 3.75 inches
of blank tape between the load point and the first record. A
routine does this by erasing 300 words at 200 bpi density, 834
words at 556 bpi density, or 1200 words at 800 bpi density.
EOM instructions to the tape units specify start-without-Ieader
since the tape un it generates gap at the end of a" records for
leader. A leader instruction should never be included in a
magnetic tape program because an attempt to generate leader
may cause an erroneous operation.

If the tape encounters the End-of-Reel marker while 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. Possibly,
however, the End-of-Reel indicator may mark the last record
on the reel.

Programming
Writing
A Write routine writes tape after testing the tape unit for
Ready and testing for the fi Ie protect ring on the tape reel
(i.e., the flag was set by the test). The Write tape EOM starts
tape motion; the tape remains in motion unti I it receives the
termination signal from the channel. The tape control unit
then writes the remaining characters of the record (those in the
channel buffer) and writes the longitudinal check character.
When the read-after-write head reads this check character,
the tape signals the channel that it has reached Gap. If the
tape receives no further Write instruction within one millisecond, the tape stops and disconnects.

The SES and EOM instructions for normal tape operations are
Iisted below. The EOM instructions use two characters per
word format.

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 should write an Endof-File character or erase a segment of t~pe after the series of
written records. This practice provides positive identification
of the end of file 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 segment of tape in the gap which has not
been written and may cause erroneous operation when reading
the ,tape.

if there is no physical unit set to the logical unit number
be i ng tested,

TRT n

TAPE READY TEST

1051n

TRT test tape unit number n for Not Ready. If the tape is Not
Ready, the computer sets the Flag Bit. If the tape is Ready,
the computer resets the Flag Bit.
A tape is Not Ready:

if the selected unit is not in the Automatic mode, or
if the tape is in motion for any operation.

a

FPT n

FILE PROTECT TEST

1411n

FPT tests tape unit number n for file protect ring. If the file
ring is inserted, the computer sets the Flag Bit. If not inserted, the computer resets the Flag Bit. The reset will occur if
logical unit n is absent from the channel line.

3-22

BTT n

BEGINNING OF TAPE TEST

1211n

END OF TAPE TEST

RTB n,2

DENSITY TEST, 200 BPI

11lln

RTD n,2

DENSITY TEST, 556 BPI

SFB n,2

DENSITY TEST, 800 BPI

SFD n,2

I

TAPE END-OF-FILE TEST

SRB n,2

1671n

WRITE TAPE IN DECIMAL (BCD)

SCAN FORWARD IN DECIMAL (BCD)

SCAN REVERSE IN BINARY

SRD n,2

REW n

1731n

0233n

0733n

SCAN REVERSE IN DECIMAL (BCD)

0633n

REWIND

1411n

REW starts tape unit n in a Rewind.
RTS

a

CO NVERT READ TO SCAN

14100

RTS converts an in-process Read operation to a Scan. If the interrupts are disabled when the gap is encountered and the program is hanging on a WIN (executed after RTS, but before the
gap), the WIN brings into memory the last two characters from
the channel buffer. If the interrupts are enabled, an End-ofWord (11) interrupt occurs when the gap is encountered by the
tape unit; the last character is avai lable via a WIN. If another
Read or Scan EOM is executed within 1 millisecond of the gap
occurrence, the tape does not stop and no End-of-Record (I2)
interrupt occurs; if not, an 12 interrupt occurs when the tape is
actively stopping (1 millisecond).

13710

0335n
Note:

WTB starts tape unit n in a Binary Write mode.
WTD n,2

0333n

SRD starts tape unit n in reverse in a BCD Scan mode.

The End-of-File indicator remains set until another tape operation is requested.
WRITE TAPE IN BINARY

SCAN FORWARD IN BINARY

SRB starts tape unit n in reverse in a Binary Scan mode.

TFT test the tape control unit for a tape under its control encountering an End-of-Fi Ie during the last Read or Scan operation.
If the End-of-File indicator is reset, the computer sets the Flag
Bit. If the End-of-File indicator is set, the computer resets
the Flag Bit.

WTB n,2

0231n

SFD starts tape unit n forward in a BCD Scan mode.

1631n

DT8 tests tape unit number n for being set at 800 bpi density.
If not, the computer sets the Flag Bit. If so, the computer resets the Flag Bit.
TFT

READ TAPE IN DECIMAL (BCD)

SFB starts tape unifn forward in a Binary Scan mode.

DT5 tests tape unit number n for being set at 556 bpi density.
If not, the computer sets the Flag Bit. If so, the computer resets the Flag Bit.
DT8 n

0331n

RTD starts tape unit n in a BCD Read mode.

DT2 tests tape unit number n for being set at 200 bpi density.
If not, the computer sets the Flag Bit. If so, the computer resets the Flag Bit.
DT5 n

READ TAPE IN BINARY

RTB starts tape unit n in a Binary Read mode.

ETT tests whether tape unit number n is not positioned at the
end of the tape. If the tape unit has not sensed the End-ofReel marker, the computer sets the Flag Bit. If the End-ofReel marker has been sensed, the computer resets the Flag Bit.
The End-of-Reel condition is reset when the tape is moved
backward over the End-of-Reel marker. The reset will occur
if logical unit n is absent from the channel line.
DT2 n

0737n

ERT starts tape unit n in reverse in an Erase mode.

BTT tests tape unit number n for the beginning of the tape. If
it is not positioned on the load-point marker, the computer sets
the Flag Bit. If positioned at the load-point marker, the computer resets the Flag Bit. The reset will occur if logical unit
n is absent from the channel line.
ETT n

ERASE REVERSE TAPE

ERT n,2

0235n

All scans must be in the 2 characters/word mode. This
necessarily implies that the read operation preceding
an "RTS" must have been in the 2 characters/word mode.

WTD starts tape unit Wn in a BCD Write mode.
MAGNETIC TAPE EXAMPLE PROGRAMS
EFT n,2

ERASE FORWARD TAPE

0337n

The following examples show samples of complete input/output
programs for magnetic tape.

EFT starts tape unit n in an Erase mode.

3-23

EXAMPLE: Magnetic Tape Read
This program reads one record from Magnetic Tape No. 1 on the I/O Channel.
tape is not at the beginning or the end of the tape.

The program is a closed subroutine.

Location

Comments

Instruction

FRST

RES

TEST

TRT

2

The

This instruction reserves locations for the subroutine entry.
This instruction tests Ready Magnetic Tape No. 1.
the command is 10511.

The octal configuration for

BFT

TEST

This instruction branches back to TRT if the F lag is set. An exit to a routine that determines reason for the non-Ready condition can be placed here.

RTD

1,2

This instruction activates the channel, connects it to Magnetic Tape No.1, and
starts tape motion. The two characters per word and BCD modes are specified.

LDA

=99

This count is for the RIN instruction to read 100 words.

RIN

03000

Read 100 words starting at location 03000.

TIP
BRU

Terminate input.
*FRST

This instruction branches back to the main program via FRST.

EXAMPLE: Write Magnetic Tape
This program writes one record on magnetic tape.
FRST

RES

TEST

TRT
BFT

2

BRML

This instruction reserves locations for the subroutine entry.
This instruction tests whether Magnetic Tape No. 1 is ready.

TEST

Thi s tests the Flag True. Thi s instruction branches back to the Ready test if the Flag
is set.
This instruction tests whether the fi Ie protect ring is present on the tape reel. If so,
the computer sets the Flag Bit. The octa I configuration of the address is 14111.

FPT

CTEST

The program is a closed subroutine; it uses Magnetic Tape No. 1.

BFF

BRML

If the Flag is reset, branch to BRML.

WTD

1,2

This instruction connects the channel to Magnetic Tape No.1, specifies BCD
transfer mode, and starts the tape moving. Two characters per word mode is
specified. The octal configuration of the instruction is 02351.

LDA

=99

The 100 is the block length.

ROT

02000

Starting at location 02000, ROT writes 100 words.

TOP

This terminates output.

CAT

Wait for channel to disconnect.

BFF

CTEST

BRU

*FRST

This instruction branches back to the main program via FRST.

BRM

OPER

This instruction branches and marks to an assumed routine to call the operator
and instructs him to insert file-protect ring on Magnetic Tape No. 1.

3-24

LINE PRINTER

preclude computer intervention while changing paper or ribbon,
or operating the TOP OF FORM or SINGLE SPACE switches.

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 accompl ished by means of a
rotating character drum and a bank of 132 print hammers. The
drum passes 56 different characters, in Iines 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.
Upspac ing of 1 to 7 I ines, as well as page control, may be
accomplished by program instructions.

Pressing TOP OF FORM causes the printer to position paper
according to format tape channell. This indicator is lighted
only when the format tape is positioned at channell, that is,
top-of-form on a standard tape loop. Th is switch is operative
when there is paper in the printer and the READY indicator isoff.
Pressing SINGLE SPACE causes the printer to upspace paper
one single space, independently of the vertical format tape.
Th is 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 transfers 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-I ine operation. It
remains lighted unti I the next EOM addresses the printer. The
condition of the I ight corresponds to the status of a programtestable fau It ind icator in the printer.

An optional, off-I ine faci Iity allows the program or the operator
to initiate card-to-printer or magnetic tape-to-printer operations simu Itaneous with computation (see Off-Line Printing).
Printer Controls
The printer controls, Figure 3-6, for SDS Iine printers consist
of eight switches and indicators.

(

P~%ER

(

READY)

)

MANUAL OFF LINEt is a combination switch and indicator for
off-I ine operation. The computer or the operator may initiate
off-I ine operation, which is indicated by the illumination ofthe
bottom half of this switch. If the operator presses this switch
to initiate off-line operation, the top half is also lighted. This
indicator is normally reset when the end-of-file is detected
from the input unit. Pressing READY when it is lighted also
resets it, that is, by switching the printer from the "ready"
to the "not ready" state.
t
The FORMAT/SPACE switch is used in off-I ine operation.
The operator may use either mode, spacing a single space after
each Iine of print, or using the first character stored on tape
or cards as a vertical format character.
t
The TAPE/CARD switch selects the desired input device.
Paper Tape Format Loop

fl- . . .:~. :. .;~:. :. ~E=-D- -1)

(

FAUL T

)

Figure 3-6. 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.

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. Channel 1 is the
top-of-form channel, channel 7 is the bottom-of-form channel,
and channel 0 is the single-upspace channel. In the off-I ine
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.
Terminating Line Printer Output
When the sing Ie-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.

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 pri nter,

2.

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

3.

the hammer power supply is on.

This indicator automatically goes off when the above conditions are not real ized. The printer is ready for either on-I ine
oroff-I ine operation when READY is turned on. Ready is reset to

Error Conditions
1.

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

2.

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

t If an off-I ine coupler is not attached to the printer, the
MANUAL OFF LINE, FORMAT SPACE, and TAPE CARD
indicators neither light nor affect printer operation.

3-25

3.

Input fau It - parity error in incoming data from cards or
magnetic tape (during off-I ine operation only).

Off-Line Printing
The optional, off-I ine facil ity allows the Iine printer to
produce printed records from card or magnetic tape sources
without computer attention. The character transm ission proceeds directly from the source to the computerfor 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 until the source generates an end-of-file signal
(see card input and magnetic tape input for appropriate endof-file conditions).
The FAU LT indicator Iights when a parity error is detected
during the reading of a tape record; the off-I ine printer rereads
the record in an attempt to read good data. If th is reread record
contains an error, FAULT lights, the off-line operation terminates, and the printer goes back on-I ine if physically connected
to the computer and the MANUAL indicator is off. When a
val idity check occurs during a card read, FAU LT Iights, 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
clearing 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 3-3).
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)

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

J
K
L
M
N
0
P

1.

Switch on the desired input device. (Magnetic tape is
selected by dial ing 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 LINE switch.

6.

Press READY switch on, which initiates actual data transfer.

Printing Off-Line Under Computer Control
The procedure for computer control of off-I ine 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
I ine printer for II ready" cond ition.

7.

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

Programming

In a manually-initiated off-line operation, steps 1 and 4 are
not required.

Table 3-3.

Printing Off-Line Under Operator Control
The procedure for operator control of off-I ine printing is:

SES and EOM instructions that have spec ial use with the printer
follow. For convenience, assume that the instructions address
the channel and connect, test, or use Line Printer Number 1 on
the channel.
PRT 1

PRINTER READY TEST

12160

This instruction tests the printer for a Ready condition. If the
printer can accept a I ine to be printed, or accept a skip or
space instruction, it is Ready. If the printer is Ready, the
computer sets the Flag Bit. If the printer is Not Ready, the
computer resets the Flag Bit.
When the printer is upspac ing paper, PRT tests for Ready before the
dpw
rnmnlp.tp..
Thp.rp.fnrp..
seoaratina
- . - . - ic;
----·'1-----. . - - - - - - - , .PRT
- - -is
' ineffective
_ .. - for
I
- two

successive upspace operations. The second upspace specified may
override the first one un less suffic ient de lay is inserted (see PSP).
EPT 1

END OF PAGE TEST

14160

This instruction tests the printer for having paper positioned at
the End-of-Page, which is marked by a punch in channel 7. If
not at End-of-Page, the computer sets the Flag Bit. If at Endof-Page, the computer resets the Flag Bit.

PFT 1

PRINTER FAU LT TEST

11160

This instruction tests whether the PRINT FAULT indicator isset.
If not set, the computer sets the Flag Bit. If set, the computer
resets the Flag Bit.

3-26

PRINTER OFF-LINE

POL 1

I

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

10360

This instruction places the printer off-line to begin an off-line
print operation. The card reader and/or magnetic tape attached
to the channel also goes off-line (see Off-line Printing).
PSC 1, n

Upspace 1 line: 25 milliseconds
Upspace more than 1 line: Add 10 milliseconds for each
additional line.
Off-line Print Termination

PRINTER SKIP TO FORMAT CHANNEL n 1n560

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-fi Ie code,
octal 17.

The printer sk ips to format contro I channe I n, where n denotes
a channel number from 0 to 7. The format control is an eightchannel paper tape loop that is as long as the paper being used.
(See PSP for timing.)
PSP 1, n

PRINTER UPSPACE n LINES

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 Iighted, the printer waits
for more cards to be placed in the hopper and the reader to
become ready. When the reader isagain ready, printing resumes.

1n760

The printer upspaces from 0 to 7 I ines as specified by n.
Consecutive upspace instructions must be separated by a sufficient time delay. Otherwise, the two PSP instructions may be
merged by the printer.

EXAMPLE: Print Two Lines
This program prints two I ines at the top of a page with a single upspace between. Assume that the printer is Ready or is
becoming Ready after a print operation. The program is a closed subroutine for printer number 1.
Location
FRST

TSTl

TST2

TST3

Instruct ion

Address

Comments

RES

2

Saves locations for subroutine entry.

LDA

= 65

Load A with 65 for the length of a line image.
This instruction tests for printer Ready. If not Ready, the computer
resets the Flag Bit. If Ready, the computer sets the Flag.

PRT

Not Ready, retu rn to the test.

BFF

TSTl

PSC

1,

This instructs the printer to move paper to the top of the page. The
octal configuration is 11560.

PLP

1, 2

Connect line printer to the channel, specify 2 character/word mode.

ROT

LINE1

Output 66 words from line 1 image area.

TOP

Terminate output.

CAT

Wait for channe I to disconnect

BFF

TST2

LDA

= 65

PRT

Reload A with 65.
Wait for printer to become ready after printing first line.

BFF

TST3

PSP

1,

Upspace printer 1 line. The octal configuration is 11760.

PLP

1, 2

Address printer.

ROT

LINE2

Output image for line 2.

TOP
BRU

Terminate.
*FRST

Exit the subroutine via the BRU.

3-27

SDS CHARACTER CODES

Characters
Typewriter

Printer

o

SDS
Internal
Code

Card
Code

00

o

Magnetic Tape
BCD Code
on Tape

01

2

2

02

SDS
Internal
Code

Card
Code

Magnetic Tape
BCD Code
on Tape

12

40

11

40

01

41

11-1

41

K

42

11-2

42

2

02

Characters
Typewriter

K

Printer

3

3

03

3

03

L

L

43

11-3

43

4

4

04

4

04

M

M

44

11-4

44

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

8

8

10

8

10

Q

Q

50

11-8

50

9

9

11

9

11

R

R

Blank

12

8-2

# or =

13

8-3

13

@or

14

8-4

14

15

8-5

15

Space

I

12 0

Car. Ret. ! 0

!0

$

51

11-9

52

11- 0

53

11-8-3

53

54

11-8-4

54

55

11-8-5

55

51

0

52

>

>

16

8-6

16

56

11-8-6

56

.J

.J

17

8-7

17

57

11-8-7

57

& or +

+

20

12

60

t)

60

Blank

20

A

.A.

21

12-:1

61

/

/

61

0-1

21

B

B

22

12-2

62

s

S

62

0-2

22

C

C

23

12-3

63

T

T

63

0-3

23

D

D

24

12-4

64

U

U

64

0-4

24

E'

25

12-5

65

V

V

65

0-5

25

F

26

12-6

66

W

W

66

0-6

26

G

27

12-7

67

X

X

67

0-7

27

G

Blank

H

H

30

12-8

70

Y

Y

70

0-8

30

I

I

31

1®

12-9

71

Z

z

71

0-9

31

32

12-0

72

Tab * 0

*®

72

Cl-8-2

32

33

12-8-3

73

73

0-8-3

33

34

12-8-4

74

74

0-8-4

34

Backspace?0

Il or)

0

35

12-8-5

75

<

36

12-8-6

76

• Stop

37

12-8-7

77

NOTES:

o

@

CD

0

The characters? ! and

* are for input only.

% or (

\
4
1662

1607
1615
1623
1631
1639
1647
1655
1663

3500
3510
3520
3530
3540
3550
3560
3570

1856
1864
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
1877
1885
1893
1901
1909
1917

1862
1870
1878
1886
1894
1902
1910
1918

18'53
1871
1879
1887
1895
1903
1911
1919

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

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

1986
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
2·015
2023
2031
2039
2047

0

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
2210
2220
2230
2240
2250
2260
2270

1152
1160
1168
1176
1184
1192
1200
1208

1153
1161
1169
1177
1185
1193
1201
1209

1154
1162
1170
1178
1186
1194
1202
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

2300
2310
2320
2330
2340
2350
2360
2370

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

0

1

2

3

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

3100
3110
3120
3130
3140
3150
3160
3170

1600
1608
1616
1624
1632
1640
1648
1656

1601
1609
1617
1625.
1633
1641
1649
1657

1664
1672
1680
1688
1696
1704
3~60 1712
3270 1720
3300
3310
3320
3330
3340
3350
3360
3370

3200
3210
3220
3230
3240
3250

1728
1736
1744
1752
1760
1768
1776
1784

A-4

2000

1024

to

to

2777

1535

(Octal)

(Decimal)

Octal

Decimal

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

3000

1536

to

to

3777

2047

(Octal)

(Decimal)

Octal-Decimal Integer Conversion Table

4000

2048

to

10

4777

2559

(Oclol)

tDecimal!

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

0

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
23<43
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

2246
2254
2262
2270
2278
2286
2294
2302

2247
2255
2263
2271
2279
2287
2295
2303j

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

-

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
24,67
2475
2483
2491

2436
2444
2452
2460
2468
2476
2184
2492

2437
2445
2453
2461
2469
2477
2485
2493

2438
2446
2454
2462
2470
2478
2486
2494

2439
2447
2455

4700 2.496
4710 2504
4720 2512
4730 2520
474012528
4750 2536
4760,2544
14770! 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

1

2

3

4

5

6

7

24~3

2471
2479
2487
2495

---'1

0
5000

2560

to

to

5777

3071

(Oclol)

(Decimol)

2

3

4

5

6

7

I

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 2566 25671
2573 2574 2575
2581 25~2 2583
258~ 2590 2591
2597 2598 2599
2605 2606 2607 1
2613 2614 2615
~21 2622 2623

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

5200 2688
5210 2696
522012704
5230\2712
5240,2720
5250 ! 2728
5260 2736
5270 2744

2689
2697
2705
2713
2721
2729
2737
2745

2690
2698
2706
2714
2722
2730
2738
2746

2691
2699
2707
2715
2723
2731
2739
2747

2692
2700
2708
2716
2724
2732
2740
2748

2693
2701
2709
2717
2725
2733
2741
2749

2694
2702
2710
2718
2726
2734
2742
2750

5300
5310
5320
5330
5340
5350
5360
5370

2753
2761
2769
2777
2785
2793
2801
2809

2754
2762
2770
2778
2786
2794
2802
2810

2755
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

2752
2760
2768
2776
2784
2792
2800
2808

A-5

0

540012816 2817 2818 2819 2820 2821 2822 2823
54101282' 2825 2826 2827 2828 2829 2830 2831

5420
5430
5440
5450
5460
5470

2832
2840
2848
2856
2864
2872

2'333
2841
2849
2857
2865
2873

2834
2842
2850
2858
2866
2874

2835
2843
2851
2859
2867
2875

2836
2844
2852
2860
2868
2876

2837
2845
2853
2861
2869
2877

2838
2846
2854
2862
2870
2878

2839
2847
2855
2863
2871
287U

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

288"/
2895
2903
2911
2919
2927
2935
2943

2695
2703
2711
2719
2727
2735
2743
2751

5600 2944
-5610 12952
562012960
5630 2968
564012976
5650 2984
5660 2992
5670 3000

2945
2953
2961
2969
2977
2985
2993
3001

2945
2954
2962
2970
2978
2986
2994
3002

2947
2955
2963
2971
2979
2987
2995
3003

2948
2956
2964
2972
2980
2988
2996
3004

2949
2957
2965
2973
2981
2989
2997
3005

2950
2958
2966
2974
2982
2990
2998
3006

2951
2959
2967
2975
2983
2991
2999
3007

2759
2767
2775
2783
2791
2799
2807
2815

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

3012
3020
3028
3036
3044
3052
3060
3068

3013
3021
3029
3037
3045
3053
3061
3069

3014
3022
3030
3038
3046
3054
3062
3070

3015
3023
3031
3039
3047
3055
3063
3071

~700

Octal-Decimal Integer Conversion Table
1

2

3

4

5

6

7

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

6500 3392
6510 3400
652013408
6530 3416
6540 3424
6550 3432
6560 3440
6570 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
3224
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

6600
6610
6620
6630
6640
6650
6660
6.670

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
3468
3476
3484
3492
3500
3508
3516

3461
3469
3477
3485
3493
3501
3509
3517

3462
3470
3478
3486
3494
3502
3510
3518

3463
3471
3479
3487
3495
3503
3511
3519

6300 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

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

a

1

0

1

2

3

4

5

6

7

7000
7010
7020
7030
7040
7050
7060
7070

3584
3592
3600
3608
3616
3624
3632
3640

7100
7110
7120
7130
7140
7150
7160
7170

3648
3656
3664
3672
3680
3688
3696
3704

0

0

1

2

3

4

5

6

7

3072
3080
3088
3096
3104
3112
3120
3128

3073
3081
3089
3097
3105
3113
3121
3129

3074
3082
3090
3098
3106
3114
3122
3130

3075
3083
3091
3099
3107
3115
3123
3131

3076
3084
3092
3100
3108
3116
3124
3132

3077
3085
3093
3101
3109
3117
3125
3133

3078
3086
3094
3102
3110
3118
3126
3134

3079
3087
3095
3103
3111
3119
3127
3135

6400
6410
6420
6430
6440
6450
6460
6470

6100 3136
6110 i 3144
612013152
6130,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
315B
3166
3174
3182
3190
3198

3143
3151
3159
3167
3175
3183
3191
3199

6000
6010
6020
6030
6040
6050
6060
6070

06210
6220
6230
6240
6250
6260
6270

3213
3221
3229
3237
3245
3253
3261

3214
3222
3230
3238
3246
3254
3262

3215
3223
3231
3239
3247
3255
3263

3267
3275
3283
3291
3299
3307
3315
3323

3212
3220
3228
3236
3244
3252
3260
0
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

2

3

4

5

6

7

3585
3593
3601
3609
3617
3625
3633
3641

3586
3594
3602
3610
3618
3626
3634
3642

3587
3595
3603
3611
3619
3627
3635
3643

3588
3596
3604
3612
3620
3628
3636
3644

3589
3597
3605
3613
3621
3629
3637
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
3874
3882
3890
3898

3843
3851
3859
3867
3875
3883
3891
38il9

3844
3852
3860
3868
3876
3884
3892
3900

3845
3853
3861
3869
3877
3885
3893
3901

3846
3854
3862
3S70
3878
3886
3894
3902

3847
3855
3863
3871
3879
3887
3895
3903

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
3927
3935
3943
3951
3959
3967

7200
7210
7220
7230
7240
7250

3712
3720
3728
3736
37044
3752
7260 :1750
7270 3168

3713 3714 3715
3721 3722 3723
3q29 3730 3731
3737 3738 3739
3745 3746 374'1
3753 3754 3755
3761 3762 3763
3769 3770 3771

3716
3724
3732
3740
3748
3756
3764
3772

3717
3725
3733
3741
3149
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
4012
4020
4028

3973
3981
3989
3997
4005
4013
4021
4029

3974
3982
3990
3998
4006
4014
\022
4030

3975
3983
3991
3999
4007
4015
4023
4031

7300
7310
7320
7330

3777
3785
3793
3801
3809
3817
3825
3833

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
4041
4049
4057
4065
4073
4081
4089

4034
4042
4050
4058
4066
4074
4082
4090

4035
4043
4051
4059
4067
4075
4083
4091

4036
4044
4052
4060
4068
4076
4084
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

3776
3784
3792
3800
~340 3808
73)0 3816
7360 3824
7370 3832

3778
3786
3794
3802
3810
3818
3826
3834

3779
3787
3795
3803
3811
3819
3827
3835

3~

A-6

6000
to

6777
(Octal)

I

3072
to

3583

I (Decimal)

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

7000

3584

to

10

7777

4095

(Octal)

(Decimal)

OCTAL· DECIMAL FRACTION CONVERSION TABLE
'OCTAL

DEC.

OCTAL

Dl::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
.1t03906
.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
.070312
.072265
.074218
.076171
.078125
.080018
.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
.150390
.152343
.154296
.156250
.158203
.160156
.162109
.164062
.166015
.167968
.169921
.171875
.173828
.175781
.177734
.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
.2ll
.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
.251953
.253906
.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

.375000
• 37G953
.378906
.380859
.382812
.384765
.386718
.388671
.390625
.392578
.394531
.396484
.398437
.400390
.402343
.404296
.406250
.408203
.410156
.412109
.414062
.416015
.417968
.419921
.421875
.423828
.425781
.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
.48821\1
.490234
.492187
.494140
.496093
.498046

..

'

A-7

.~25

.326
.327
.330
.331
.332
.333
.334
.335
.336
.337
.340
.341
.342
.343
.344
.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

Octal-Decimal Fraction Conversion Table

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC •

• 000000
.000001
.000002
.000003
,000004
.000005
.000006
.000007
.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

.000000
.000003
,000007
.000011
.000015
.000019
.000022
.000026
.000030
.000034
.000038
.000041
.000045
.000049
.000053
• QOO057
.000061
.000064
.000068
.000072
.000076
.000080
.000083
.000087
.000091
.000095
.000099
.000102
.000106
.000110
.000114
.000118
.000122
.000125
.000129
.000133
.000131
.000141
.000144
.000148
.000152
.000156
.000160
.000164
.000167
.000171
.000175
.000179
.000183
.000186
.000190
.000194
.000198
.000202
.000205
.000209
.000213
.000217
.000221
.000225
.000228
.000232
.000236
.000240

.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
.000150
.000151
.000152
.000153
.000154
.000155
.000156
.000157
.000160
.000161
.000162
.000163
.000164
.000165
.000166
.000167
.000170
.000171
.000172
.000173
.000174
.000175
.000176
.000177

.000244
.000247
.000251
.000255
.000259
.000263
.000267
.000270
.000274
.000278
.000282
.000286
.000289
.000293
.000297
.000301
.000305
.000308
.000312
,000316
.000320
.000324
,000328
.000331
.000335
.000339
.000343
.000347
.000350
.000354
.000358
.000362
.000366
.000370
.000373
.000371
.000381
.000385
,000389
.000392
,000396
.000400
.000404
,000408
.000411
.000415
.000419
.000423
.000427
.000431
.000434
.000438
.000442
.000446
.000450
.000453
.000457
.000461
.000465
.000469
.000473
.000476
.000480
.000484

.000200
.000201
.000202
.000203
.000204
.000205
.000206
.000207
.000210
.000211
.000212
.000213
.000214
.000215
.000216
.000217
.000220
.000221
,000222
,000223
.000224
.000225
.000226
,000227
.000230
.000231
.000232
.000233
.000234
.000235
.000236
.000237
.000240
.000241
.000242
.000243
.000244
,000245
,000246
.000247
.000250
.000251
.000252
.000253
.000254
.000255
.000256
.000257
.000260
.000261
.000262
.000263
.000264
.000265
.000266
.000267
.000270
.000271
.000272
.000273
.000274
.000275
.000276
.000277

.000488
.000492
.000495
.000499
.000503
.000507
.000511
.000514
.000518
.000522
.000526
.000530
.000534
.000537
.000541
.000545
.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

.000300
.000301
.000302
.000303
.000304
.000305
.000306
.000307
.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
.000350
.000351
.000352
.000353
.000354
.000355
.000356
.000357
.000360
.000361
.000362
.000363
.000364
.000365
.000366
.000367
.000370
.000371
.000372
.000373
.000374
.000375
.000376
.000377

.000732
.000736
.000740
.000743
.000747
.000751
.000755
.000759
.000762
.000766
.000770
.000774
.000778
.000782
.000785
.000789
.000793
.000797
.000801
.000805
.000808
.000812
.000816
.000.820
.000823
.000827
.000831
.000835
.000839
.000843
.000846
.000850
.000854
.000858
.000862
.000865
.000869
.000873
.000877
.000881
.000885
.000888
.OG0892
.000896
.000900
.000904
.000907
.000911
.000915
.000919
.000923
.000926
.000930
.000934
.000938
.000942
.000946
.000949
.000953
.000957
.000961
.000965
.000968
.000972

A-a

Octal-Decimal Fradion 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
.00122-8
.001232
.001235
.001239
.001243
.001247
.001251
.001255
.001258
.001262
.001266
.001270
.001274
.001277

.000600
.000601
.00060'2
.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
.001308
.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
• QO{)653
.000654
.000655
.00'0656
.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.Dl
.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
.00.0771
.000772
.000773
.000774
.000775
.000776
.000777

.001770
.001773
.001777
.001781
.001785
.0017t19
.001792
.001796
.001800
.001804
.001808
.0018ll
.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 numbers in memory in two's complement form. Single-precision numbers have 23 magnitude bits
and a sign bit. The sign bit is in the first bit position to the
left of the most significant of the magnitude bits. Thus, the
sign bit actually is a part of the number in all arithmetic operations. A "0" bit denotes a positive sign and a 11111 bit denotes
a negative sign. In this system, the negative of a number is its
two's complement.

As the examples indicate, the sign bit is an integral part of
the number to which it is attached and its value, plus or minus,
is automatically taken care of during the use of two's complement arithmetic. This property is used when numbers of different length are added. For example, assume that these two
signed, two's complemented, negative numbers of 6-bit at.1d
3-bit length are added:
Decimal

An algorithm for finding the two's complement of a binary number with attached sign bit is:
To find the two's complement of the binary number B
that has.!l significant bits including the sign bit, subtract
it from the number 2 n expressed in binary form. This
latter number is a "1 11 followed by nzeros.
EXAMPLES:
The following example indicates the two's complement
of binary numbers held in five bits plus a sign bit.
Their decimal equivalents are on the left.
Decimal
Binary
Number Equivalent
000010

- 2

111110

+14

001110

-14

110010

101011
101

-24

11 0000 = - 16 10

Notice that the third least significant bit of the first number
is added to the sign bit of the second number causing an erroneous result. This error is corrected by filling in the empty,
most significant bit positions with the value of the sign bit of
the shorter number:

Negative of
Two's Complement
Decimal Number of Binary Equivalent

,+ 2

-21
-03

Decimal

Binary

-21
-03

101011
111101

-24

101000

= -24 10

Th is property suggests:
In the addition example below, decimal notation is on
the left and binary notation on the right.
+20
-03
+17

1)

Fill ing the empty bit positions with the sign value
of a positive number, that is, zeros, has no changing effect on the result,and

2)

If the two's complement is taken by the method
suggested, where n is the larger number's length,
the sign value is ~tomatically appended to the
smaller number. For instance, in the above example,
if the complement of 03 is taken using n = 6,

010100

.lll!Ql
010001

In the computer, 24-bit numbers are written as eight octal
digits for convenience. The following example shows three
forms of the same addition -- decimal, binary, and octal,
respectivel y. The binary number is assumed to be an integer.
Decimal

Binary

Octal

+21
-03
+18

000000000000000000010101
111111111111111111111101
000000000000000000010010

00000025
77777775
00000022

1000000
011
111101
the sign is properly appended to the number.
This procedure is called lI extending li the sign of a number.

A-lO

OPTIONAL EQUIPMENT
REAL-TIME CLOCK

CONTINUOUS LY INCREMENTING CLOCK

The Real-Time Clock (RTC) provides a highly flexible timeorientation system for the SDS 92 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 mi II iseconds
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 continuously incrementing clock maintains "time-of-day"
for the computer. Two memory locations serve to count the
timing marks. In this case, the Clock Pulse is used to increment the least significant twelve bits of the count. (The Clock
Pulse interrupt location contains an MPO instruction.) The
Clock Sync is used to increment the most significant twelve
bits of the count. (The Clock Sync interrupt subroutine includes an MPO instruction.) A simple, straightforward subroutine can be entered to reconstruct the exact time-of-day from
this twenty-four bit count.

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 wi II operate in either mode depending
only on the computer's stored program.

ARM/DISARM
The Clock Pulse interrupt can be armed and disarmed with these
instructions:

Two pairs of locations of priority interrupts are provided with
the RTC. These are as follows:
Location
164
166

Normal
Single Instruction

Computer

Description

92

CLOCK SYNC

92

Action

EOM Effective Address
20200

Disarm Clock Pulse Interrupt

20100

Arm Clock Pu Ise Interrupt

The Clock Sync interrupt is always armed.

AUTOMATIC POWER FAIL-SAFE SYSTEM
The computer core memory holds its information with all power
removed, but information in the computer registers is destroyed
by loss of power. Upon fai lure of main power to the computer,
this system provides that the contents of all registers and other
volati Ie information are automatically stored in core memory;
also, further writing into core storage is inhibited durrng the
decay period of the computerdc power supplyoutputs. Erroneous
memory control is prevented during power-off and power-on
operations. Power-off/-on interrupt routines permit proper resumption of a program, automatically, after power is restored.

CLOCK PULSE

The Clock Pulse and Clock Sync interrupts function together to
provide elapsed-time, event-counter or time-of-day clocks.
The Clock Pulse interrupt is a single-instruction interrupt.
(Note: See Single Instruction Interrupts in Section III.) An
MPO instruction is usually placed in the Clock Pulse interrupt
location. When MPO is used as a single-instruction interrupt
subroutine, it causes the contents of the effective address to be
incremented by one but it does not alter the current content of
the flag. 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.

The system consists of relay-controlled, ac power-sensing and
memory-sequencing circuitry, two high-priority interrupt channels, and a "shut-down/start-up" programming sequence.
The Sense External Signal (SES) instruction is an aid in programming this option. Its effective address is 24000. If the
OFF interrupt (152) has just occurred, this SES sets the Flag.

ELAPSED-TIME CLOCK

DATA MULTIPLEXING SYSTEM

The elapsed-time c lock 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 Pulse interrupt location contains an MPO instruction.

INTRODUCTION
The standard I/O systems provided with the SDS 92 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 is
of particular use in dealing with multiple sources of data and
for systems which may have data rates from low to very high.

Each Clock Pulse interrupt results in incrementing the clock
count by one. When the count is finished, an interrupt to the
Clock Sync location occurs. A supervisory or other appropriate
control program can then be entered to perform the customerdesired operation.

The SDS 92 Computer has essentially two major paths along
wh ich I/O data can flow to and from memory. The fi rst
path is the same that is used by the main frame itself. The

B-1

Priority
Interrupts

• • •
PIN
BPI
POT
BPO

Basic I/O
Channel

Central
Processor

First Path

Memory
..--

Fixed Location Interlace Contro
DSCs

1--"-'-- Words for the Attached

1-----....
- ...
Memory Parity.
Checking Option
Data Multiplexing System

I

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

-~e::;

P:;- -- -- -- -- -- --I

I

Data Multiplex Channel
Address Register

I

I
I
I
I
I
I

Data Register

Input
1. Data
2. Addresses
3. 4-Bit Function
Codes

Output
1. Data
2. Control

6-Bit Characters
(lor 2 per 12-Bit Word)
12-Bit Characters

• • •

I

ElN

I
I

Priority Interrupt

I
I

DSC-I

12- or 24-Bit
Characters

DSC Priority

Data Register

I --------P-ri-o~i-tY-I~t-e-rr-u~~
I
1
t

DSC 11*

• • •
-·-·~I

...
Data/contm~

~--.-----~------

Char. Register

""'--"-"~
ElN

IUnitAddress

I

I/O DEVICE

* No storage reg i sters.

- ---,'

I
I

I

1

L

I
I

_ _ _ _ _ _ _ _ _ _ ~~S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ~
Priority
Interrupt

SDS 92 Computer Configuration

B-2

------.1

a memory increment operation is to be performed, the subchannel signals the DMC with a special increment line and
supplies the address. For memory increments, the DMC accesses memory, increments it, and then restores the word.
If a memory increment operation results in an all-zero word
(or double word), the DMC signals the subchannel. The
zero signal may then be used to interrupt the program.
Memory increments require two cycles.

PIN/POT operations use the first path. The basic I/O channel also uses this path. In addition to this path, which is primari Iy 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 a Data Multiplexing System.
The Data Multiplexing System (DMS) consists of a Data Multiplex Channel (DMC) and one or more Data Subchannels (DSC).
A maximum of 64 subchannels are allowed. Transmission between a DSC and computer memory is controlled by two interlace control word-pairs unique to the DSC and wired into
fixed, adjacent locations in memory. During a transmission,
the controlling DMC uses these two word-pairs for control of
address and record length. Four DSCs (one DSC-I and three
DSC-IIs) could be placed in a system as follows. The DSCs
are numbered from 100, 104, ... to 1148' Control word quads
assoc i ated wi th the DSCs are numbered accord i ng Iy: 100-103
for DSC-100, etc.

Control of the various DMC functions is achieved by four Function Code Iines from the subchannels. The DMC, in conjunction with the main frame Memory Parity Checking Option,
insure the integrity of data transmissions. Words read from
memory are checked for parity; parity is generated for words
stored in memory; words received by the DMC are checked
for proper parity; a parity error signal is generated by the DMC
and sent to the subchannel when an input parity discrepancy
is detected.

DATA SUBCHANNELS (DSC-N)

DATA MULTIPLEX CHANNEL (DMC)
The Data Multiplex Channel is a basic unit for the Data MultiSystem. It connects to the SDS 92 Computer via the
second path to memory. The DMC contains a 13-bit Data
Register, 15-bit Address Register, and control logic to enable
the DMS to perform a variety of functions. The data and address are connected to memory when a transfer of information
is imminent. Program control required for input/output operates
directly on the individual Data Subchannel (DSC), not on the
DMC.

A number of subchannels can be attached to the DMC. The
two described below are standard subchannels. Subchannels
can control and generate program interrupts, but do not include the interrupt levels themselves. The signol,s must be
routed to optional interrupt levels.

pexing

The subchannels use a priority scheme to determine which
may transmit to the DMC at any given time. Up to 64
DSCs may be connected to a DMC. A DSC may use the
internal interlace feature of the DMC to control its transmission, or it may be equipped with an External Interlace
(EIN).

When external data addresses are provided to the DMC, the
DMC transmissions require one cycle for each 12-bit word
transmitted and two cycles for each 24-bit double word transmitted.

A DSC using internal interlace has two word pairs assigned to
it. These two word pairs are located in contiguous memory
locations and are fixed for a given subchannel. The program
may select either the even word pair or odd word pair location.
If the even word pair location is selected, the subchannel wi II
automatically switch to the odd word pair location when the
count field of the even word pair word is zero. The program
can also select whether the subchannel switches back to the
even word pair when the count field of the odd word pair is
zero. The subchannel generates an interrupt signal when the
count field of either word pair reaches zero. Transmission
termination occurs when the odd word pair's count equals zero,
if the subchannel does not switch back to the even word pair.

The DMC has an internal interlace feature. This feature allows
subchannels to specify the addresses of word pairs in memory
where the data address and count are located. When operating
with internal interlace, the subchannel supplies the address of
its associated interlace control words instead of the actual data
address. The DMC accesses the interlace word pair, increments
the address portion, decrements the word count, restores modified words, and then accepts data from, or transmits data to,
the requesting subchannel. The DMC also supplies a signal to
the subchannel, if the decremented word count is zero.
The format of the'internal interlace word pair is:
I--Word N + 1 - - 1

I

'Word Count

o

I
8 9-11 10

The two word pai~ internal interlace allows a subchannel to
hand Ie continuous data by alternately working from one memory area or another. By allowing the subchannel to switch
automatically from one interlace word pair to the other, the
program is relieved of the necessity for making real-time responses to the zero count condition. Using first the even pair
then the odd pair interlace words allows a maximum transmission of 1024 words or double words.

Word N - - - - I
Data Address

11

The 9-bit word count permits block lengths to 512 words.
Transmissions using internal interlace require five cycles, if
the required transmission is for a 12-bit word, and six cyc les, if the required transmission is for a 24-bit double
word.

CHARACTER SUBCHANNEL (DSC-I)

The DMC provides for automatic memory incrementing. The
counting capability of the DMC Data Register permits an externally specified memory word to be incremented. When such

The DSC-I contains a 12-bit data register that can assemble and
disassemble two 6-bit characters, and transmit one or tw06-bit
characters or one 12-bit character. (DSC-I has a unit address

B-3

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 external
device. Transrn:ssion normally terminates on zero count.
Sequencing of interlace words is identical to the sequence of
operations performed for internal interlace, except that only
four memory cyc! es are used for interl ace word processi ng. The
first istoaccess the interlace word pair initiallYi the second is
to restore the interlace word pair when the count reaches zero.

register.) It checks and generates the parity of characters to
enable it to couple with standard SDS peripheral equipment.
The subchannel may operate with either internal or external
interlace. It has one mode of output and two modes of input.
During output, it transmitsuntil the odd internal interlace word
'pair count is zero and then terminates, if interlace cycl ing is
not requested. The output may also be terminated ifthedevice
sends an END signal to the channel. This END signal may
cause the DSC-I to generate an interrupt to the program.

MEMORY PARITY INTERRUPTS

Input, like output, may always be terminated due to an
external END signal. TheprogramcanalsospecifythattheDSC
terminates and disconnects on zero count, or disconnects 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.

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

FULL WORD SUBCHANNEL (DSC-II)
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 avai lable: the computer halts with the parity indicator lightedi or the computer
ignores the parity error and proceeds with the program.

The DSC-II is a general-purpose subchannel, designed to allow
any device to be connected to it. It contains no storage for data .
Depending on the Function Code provided to the DMC, the
DSC-II will permit 12- or 24-bit (plus parity) transmission
between the DMC and external devices connected to the DSC-II.
The external device must be capable of holding the data during
the transm ission to/from the DMC. (An A-to-D converterwou Id
have such capability.) Like the DSC-I, the DSC-II can operate
with either internal or external interlace. Its operation in this
respect is identical to the DSC-I. The DSC-II also contains
control logic to facilitate memory increment operations in
conjunction with the DMC.

In many real-time appl ications it is desirable to keep the
computer running when a parity error isdetected. Also, the
program must be notified of the error without stopping
computat ion.
An optional feature provides this capability by means of two
levels of armed interrupts. One interrupt level is associated
with the central processor and the Time-Multiplexed
Communication Channelsi 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 re-initiate the failed operation,
notify the operator, orenter a diagnostic routine. Such action
allows memory parity errors to be recognized and handled
properly without hindering the computer's performance of realtime or on-I ine calculations.

EXTERNAL INTERLACE (EIN)
The External Interlace 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
transm ission of the DSC at a maximum rate of one word per

B-4

TRAPPING RETURN SUBROUTINE EXAMPLE
has the form:

The following code determines how many cells (one or two)
the trapped instruction used: it then increments the subroutine entry accordingly to provide the proper return address.

MUASIM

o

DATA
DATA

TRUE

ACK

2

3

4

5

6

.7

8

9

10 11

which marks the Flag and PCT bits in 0, 1, zeros in bits 6
through 8, and the trap instruction address in bits 9, 10, 11 to
MUASIM and in bits 0 through 11 in MUASIM + 1.

Executing an instruction containing the MUA operation code
causes the BRM MUASIM to be executed. The marked place

PLUSONE

I 3 bits

12 bits

Assume (1) the trap instruction is a multiply simulator at
location 124, and (2) the branch in location 124 is BRM
MUASIM. Assume also that MUA hardware is not present in
the machine.

MUASIM

o

F I'CTI Unpredictable I

The subroutine return routine follows:

LOB

*MUASIM

Load trapped instruction.

LOA

=1

Load an incrementer.

COB

=040

BFT

TRUE

COB

=037

BRU

ACK

COB

=010

BFT

ACK

Branch if bit 8 is reset (i.e., if F is set to 1 which implies two
word-full address with no index).

COB

=020

F = 0 if indirect address, single precision; F = 1 if two word
indexed

ACA

=0

Add 1 to A if two word (add 0 if one word).

MPA

MUASIM+1

Add 1 or 2 to the subroutine entry.

MPF

MUASIM

This is for address overflow correction.

Branch if bit 6 is reset.

F = 1 if address was an immediate address (two words); F = 0 if it
was direct single precision.

B-5

SOS 92 MEMORY ALLOCATION
0000

Unassigned

0001 - 0037

Scratch Pad

0040 - 0077

Unassigned

0100 - 0117

DSC Interlace Control Word Pairs

0120

Trap 12

0122

Trap 52

0124

Trap 13

0126

Trap 53

0130

Trap 10

0132

Trap 50

0134

Trap 11

0136

Trap 51

0140

Trap 14

0142

Trap 54

0144

Trap 15

01'46

Trap 55

0150

Interrupt, POWER ON (always arm"'ed)

0152

Interrupt, POWER OFF (always armed)

0154

Interrupt, MAIN FRAME PARITY (armed via console switch)

0156

Interrupt, OAT A MU LTIPLEXING SYSTEM PARITY (armed via console switch)

0160

Unassigned

\

Is

Ir\

0162

Unassigned

0164

Interrupt, CLOCK SYNC (always armed)

0166

Interrupt, CLOCK PULSE (arm furnished, I. type)

0170

Interrupt, Il (arm furnished)

I

0172

Interrupt, 12 (arm furnished)

0174

Unassigned

0176

Unassigned

0200 - 1177

System Interrupts (up to 256 levels; any may be of I. type if desired)
I

I. --- Single Instruction Interrupt
I

Ir --- Interrupt system must be enabled before interrupt goes active.
Is -

Interrupt always proceeds from Waiting to Active

B-6

SDS 92 INSTRUCTION LIST - FUNCTIONAL CATEGORIES

Mnemonic

Instruction
Code

Name

Function

Timing*

LOAD!...STORE
LDA

64

LOAD A

(M) - - A

2

LDB

24

LOAD B

(M) - - B

2

STA

44

STORE A

(A) - - M

2

(B) - - M

. 2

STB

04

STORE B

XMA

74

EXCHANGE M AND A

(A)---(M)

3

XMB

34

EXCHANGE M AND B

(B)---(M)

3

17

EXCHANGE M AND F

(M)O---F

3

FLAG
XMF
LDF

57

LOAD F

(M)O - - F

SFT

0044

SET FLAG TRUE

1--F

3,4

SFF

0042

SET FLAG FALSE

o --F

3,4

INF

0046

INVERT FLAG

If (F)=l, 0 --F; if (F)=O, 1--F

3,4

ADA

62

ADD TO A

(A)+ (M) - - A; Carry -

ADB

22

ADD TO B

(B)+ (M) ---- B; Carry - - - F

2

ACA

63

ADD WITH CARRY TO A

(A)+ (M)+ F - - A; Carry - - F

2

ACB

23

ADD WITH CARRY TO B

(B)+ (M)+ F -

2

SUA

60

SUBTRACT TO A

(A) - (M) - - - A; Carry - - - F

2

SUB

20

SUBTRACT TO B

(B) - (M) -

2

SCA

61

SUBTRACT WITH CARRY TO A

(A) - (M) - F ---A; Carry - - - F

2

SCB

21

SUBTRACT WITH CARRY TO B

(B) - (M) - F - - - B; Carry - - - F

2

MPA

76

MEMORY PLUS A TO MEMORY

(M)+ (A) - - - M; Carry - - F

3

3

ARITHMETIC
F

B; Carry - - - F

B; Carry - - F

2

MPB

36

MEMORY PLUS B TO MEMORY

(M)+ (B) --M; Carry - - F

3

MPO

16

MEMORY PLUS ONE TO MEMORY

(M)+l ---M; Carry~F

3

MPF

56

MEMORY PLUS FLAG TO MEMORY

(M)+ (F) - - - M; Carry - - - F

3

MUA

13

MU LTIPL Y A (Optional)

(A)x (M) --AB

5

MUB

53

MULTIPLY B (Optional)

(B)x(M) ---AB

DVA

52

DIVIDE AB (Optional)

(AB)+(M) - B ; R--A

13

DVB

12

DIVIDE BA (Optional)

(BA)+(M) - - - B; R - - A

13

ANA

65

AND TO A

(A) and (M) - - A

2

ANB

25

AND TO B

(B) and (M) - - B

2

ORA

67

OR TOA

(A) or (M) - - A

2

ORB

27

OR TO B

(B) or (M) --B

2

EOA

66

EXCLUSIVE OR TO A

(M)(A) or (M)(A) - - - A

2

5

LOGICAL

*See page 2-1 for interpretation and use of the Timing column.

B-7

SDS 92 INSTRUCTION LIST - FUNCTIONAL CATEGORI,ES (continued)
Instruction
Code

Mnemonic

Name

Function

26

EXCLUSIVE OR TO B

(M)(B) or (M)(B) --B

MAA

75

MEMORY AND A TO MEMORY

(M) and (A) - - M

3

MAB

35

MEMORY AND B TO MEMORY

(M) and (B) - - M

3

45

COMPARE ONES WITH A

If (A)(M) = 0, set Fi if (A)(M) 10, reset F

2

Timing

LOGICAL (continued)
EOB

2

COMPARISON
COA
COB,

05

COMPARE ONES WITH B

If (B)(M)=O, set Fi if (B)(M)IO, reset F

2

CMA

47

COMPARE MAGNITUDE OF M WITH A

If .(A) ~(M), set Fi if (A) <(M), reset F

2

CMB

07

COMPARE MAGNITUDE OF M WITH B

If (B) ~(M), set Fi if (B) «M), reset F

2

CEA

46

COMPARE M EQUAL TO A

If (M) I(A), set F; if (M) =(A), reset F

2

CEB

06

COMPARE M EQUAL TO B

If (M)I(B), set Fi if (M)=(B), reset F

2

BRU

73

BRANCH UNCONDITIONALLY

M ---P

BRC

32

BRANCH, CLEAR INTERRUPT, AND
LOAD FLAG

M --- Pi c lear Interrupt (see page 2-4)

BRL

33

BRANCH AND LOAD FLAG

M --- Ii (see page 2-4)

BFF

31

BRANCH ON F LAG FALSE

If F = 0, M ---- Pi
if F = 1, take next instruction

1
2

BFT

71

BRANCH ON F LAG TRUE

If F = 1, M ---- Pi

1
2

BRANCH

if F = 0, take next instruction
BDA

70

BRANCH ON DECREMENTING A

BAX

30

BRANCH AND EXCHANGE A AND B

BRM

77

BRANCH AND MARK PLACE

BMC

37

(A) - 1---A
If (A) 177778, M --- Pi
If (A) = 7777 , take next instruction
8
(A)~ (B)i (M) --- P

3

1
2

(P) ---M, M+1i M+2---Pi
(F) -MO; (PCT)--- M1

3

BRANCH, MARK PLACE, AND CLEAR
FLAG

(See page 2-5)

3

SHIFT
CYA

42*

CYCLE A

A cycled left N places

3-7

CYB

02*

CYCLE B

B cycled left N places

3-7

CFA

43*

CYCLE FLAG AND A

F,A cycled left N places

3-7

CFB

03*

CYCLE FLAG AND B

F, B cycled left N places

3-7

CYCLE DOUBLE

A, B cycled left N places

3-7

CYD

02/42* **

CFD

43*

CYCLE FLAG AND DOUBLE

A, B, F cycled left N places

3-7

CFI

03*

CYCLE FLAG AND DOUBLE INVERSE

B, A, F cycled left N places

3-7

72

EXECUTE

Instruction M is performed, P unchanged

HALT

Ha Its computation

CONTROL
EXU
HLT

0041/00000000**

*See page 2-5 for indication of the instruction structure and code redundancy.
** A slash (/) indicates that either instruction code can be used to perform the same operation.

B-8

3,4

SDS 92 INSTRUCTION LIST - FUNCTIONAL CATEGORIES (continued)

Mnemonic

Instruction
Code

Name

Timing

TRAPPING
SCT

0061

SET PROGRAM-CONTROLLED TRAP

1-PCT

3,4

RCT

0060

RESET PROGRAM-CONTROLLED TRAP

O-PCT

3,4

TCT

0160

TEST PROGRAM-CONTROLLED TRAP

If PCT = 0, O-F; if PCT = 1,

3,4

l~F

BREAKPOINT TESTS
BPT 1

0144

BREAKPOINT NO.1 TEST

Test Breakpoint Switch

3,4

BPT 2

0145

BREAKPOINT NO.2 TEST

Test Breakpoint Switch

3,4

BPT 3

0146

BREAKPOINT NO.3 TEST

Test Breakpoint Switch

3,4

BPT 4

0147

BREAKPOINT NO.4 TEST

Test Breakpoint Switch

3,4

EIR

0051

ENABLE INTERRUPT

3,4

DIR

0050

DISABLE INTERRUPT

3,4

lET

0150

INTERRUPT ENABLED TEST; SET FLAG
IF INTERRUPT SYSTEM ENABLED

3,4

ARM INTERRUPTS

3,4

INTERRUPTS

AIR

00020001

CHANNEL CONTROL AND TESTS
DSC

00000100

DISCONNECT CHANNEL

3,4

TOP

00012100

TERMINATE OUTPUT ON CHANNEL

3,4

TIP

00012100

TERMINATE INPUT ON CHANNEL

3,4

ALC

00050100

ALERT CHANNEL INTERLACE

3,4

ASC

00010500

ALERT TO STORE INTERLACE COU NT

3,4

CAT

01004100

CHANNEL ACTIVE TEST; SET FLAG IF
NOT ACTIVE

3,4

01001100

CHANNEL ERROR TEST; SET FLAG IF ERROR

3,4

CET
INPUTLOUTPUT
WIN

15

WORD IN

(Channel)- M

RIN

55

RECORD IN

(Channel

WOT

11

ROT

5 + wait
3 + 2N + wait

WORD OUT

d )_M
N wor s
(M)- Channel

51

RECORD OUT

(M

2 + 2N + wait

PIN

14

PARALLEL INPUT

d ) - Channel
N wor s
(Unit M)_ M in parallel

POT

10

PARALLEL OUTPUT

(M)_Unit M in parallel

BPI

54

BLOCK PARALLEL INPUT

(Unit M)_ M in parallel,
N sequential locations.

4 + N + wait, and
3,4+2N+wait

BPO

50

BLOCK PARALLEL OUTPUT

(M)_ Unit M in parallel,
N sequential locations

3 + N + wait, and
2,3 + 2N + wait

EOM

00(40)*

ENERGIZE OUTPUT M

3.5 fJsec pulse to points addressed

SES

01(41)*

SENSE EXTERNAL SIGNAL

If Signal = 1, set Flag Bit;

if Signal

*Codes EOM 40 and SES 41 are reserved for use in special system applications.

B-9

=

0, reset Flag Bit

4 + wait

5 + wait,
and 5,6 + wait
4 + wait,
and 4,5 + wait

3,4
3,4

SDS 92 INSTRUCTION LIST - NUMERICAL ORDER

Instruction Code

Mnemonic

Name

Paae Reference
3-5,3-6,3-9

00(40)*

EOM

ENERGIZE OUTPUT M

00000000/0041**

HLT

HALT

2-6

00000100

DSC

DISCONNECT CHANNEL

3-6

00010500

ASC

ALERT TO STORE INTERLACE COUNT

3-6

00012100

TIP

TERMINATE INPUT ON CHANNEL

3-6

00012100

TOP

TERMINATE OUTPUT ON CHANNEL

3-6
3-12

00020001

AIR

ARM INTERRUPTS

00050100

ALC

ALERT CHANNEL INTERLACE

3-7

0042

SFF

SET FLAG FALSE

2-2

0044

SFT

SET FLAG TRUE

2-1

0046

INF

INVERT FLAG

2-2

0050

DIR

DISABLE INTERRUPT

3-11

0051

EIR

ENABLE INTERRUPT

3-11

0060

RCT

RESET PROGRAM-CONTROLLED TRAP

2-7

0061

SCT

SET PROGRAM-CONTROLLED TRAP

2-7

01(41)*

SES

SENSE EXTERNAL SIGNAL

01001100

CET

CHANNEL ERROR TEST; SET FLAG IF ERROR

3-7

01004100

CAT

CHANNEL ACTIVE TEST; SET FLAG IF NOT ACTIVE

3-7

0144

BPT 1

BREAKPOINT NO. 1 TEST

2-7

0145

BPT 2

BREAKPOINT NO. 2 TEST

2-7

0146

BPT 3

BREAKPOINT NO.3 TEST

2-7

0147

BPT 4

BREAKPOINT NO.4 TEST

2-7

0150

lET

INTERRUPT ENABLED TEST; SET FLAG IF INTERRUPT
SYSTEM ENABLED

0160

TCT

TEST PROGRAM-CONTROLLED TRAP

2-7

02***

CYB

CYCLE B

2-6

02/42** ***

CYD

CYCLE DOUBLE

2-6

03***

CFB

CYCLE FLAG AND B

2-6

03***

CFI

CYCLE FLAG AND DOUBLE INVERSE

2-6

04

STB

STORE B

2-1

05

COB

COMPARE ONES WITH B

2-4

06

CEB

COMPARE M EQUAL TO B

2-4

07

CMB

COMPARE MAGNITUDE OF M WITH B

2-4

3-6,3-7,3-9

3-11

10

POT

PARALLEL OUTPUT

11

WOT

WORD OUT

3-2

12

DVB

DIVIDE BA (Optional)

2-3

13

MUA

MULTIPLY A (Optional)

2-3

3-7,3-8,3-9,3-12

*Codes EOM 40 and SES 41 are reserved for use in spec ial system appl ications.
** A slash (/) indicates that either instruction code can be used to perform the same operation.
***See page 2-5 for indication of the instruction structure and code redundancy.

B-ll

SDS 92 INSTRUCTION LIST - NUMERICAL ORDER (continued)
Instruction Code

Mnemonic

Name

Pa~e

Reference

14

PIN

PARALLE L INPUT

3-8,3-9

15

WIN

WORD IN

3-2

16

MPO

MEMORY PLUS ONE TO MEMORY

2-2

17

XMF

EXCHANGE M ANDF

2-1

20

SUB

SUBTRACT TO B

2-2

21

SCB

SUBTRACT WITH CARRY TO B

2-2

22

ADB

ADD TO B

2-2

23

ACB

ADD WITH CARRY TO B

2-2

24

LDB

LOAD B

2-1

25

ANB

AND TO B

2-3

26

EOB

EXCLUSIVE OR TO B

2-3

27

ORB

OR TO B

2-3

30

BAX

BRANCH AND EXCHANGE A AND B

2-5

31

BFF

BRANCH ON FLAG FALSE

2-4

32

BRC

BRANCH, CLEAR INTERRUPT, AND LOAD FLAG

2-4

33

BRL

BRANCH AND LOAD FLAG

2-4

34

XMB

EXCHANGE M AND B

2-1

35

MAB

MEMORY AND B TO MEMORY

2-4

36

MPB

MEMORY PLUS B TO MEMORY

2-2

37

BMC

BRANCH, MARK PLACE, AND CLEAR FLAG

2-5

42*

CYA

CYCLE A

2-6

43*

CFA

CYCLE FLAG AND A

2-6

43*

CFD

CYCLE FLAG AND DOUBLE

2-6

44

STA

STORE A

2-1

45

COA

COMPARE ONES WITH A

2-4

46

CEA

COMPARE M EQUAL TO A

2-4

47

CMA

COMPARE MAGNITUDE OF M WITH B

2-4

50

BPO

BLOCK PARALLEL OUTPUT

51

ROT

RECORD OUT

3-2

52

DVA

DIVIDE AB (Optiona I)

2-3

53

MUB

MULTIPLY B (Optional)

2-3

54

BPI

BLOCK PARALLEL INPUT

55

RIN

RECORD IN

3-3

56

MPF

MEMORY PLUS FLAG TO MEMORY

2-3

57

LDF

LOAD F

2-1

60

SUA

SUBTRACT TO A

2-2

61

SCA

SUBTRACT WITH CARRY TO A

2-2

62

ADA

ADD TO A

2-2

*See page 2-5 for indication of the instruction structure and code redundancy.

B-12

3-8,3-9

3-8,3-9

SDS 92 INSTRUCTION LIST - NUMERICAL ORDER (continued)
Instruction Code

Mnemonic

Name

Page Reference

63

ACA

ADD WITH CARRY TO A

2-2

64

LDA

LOAD A

2-1

65

ANA

AND TO A

2-3

66

EOA

EXCLUSIVE OR TO A

2-3

67

ORA

OR TO A

2-3

70

BDA

BRANCH ON DECREMENTING A

2-5

71

BFT

BRANCH ON FLAG TRUE

2-5

72

EXU

EXECUTE

2-6

73

BRU

BRANCH UNCONDITIONALLY

2-4

74

XMA

EXCHANGE M AND A

75

MAA

MEMORY AND A TO MEMORY

2-1
"
2-4

76

MPA

MEMORY PLUS A TO MEMORY

2-2

BRANCH AND MARK PLACE

2-5

77

BRM

B-13

SDS 92 INSTRUCTION LIST - ALPHABETICAL ORDER
Mnemonic

Name

Instruction Code

Paae Reference

ACA

63

ADD WITH CARRY TO A

2-2

ACB

23

ADD WITH CARRY TO B

2-2

ADA

62

ADD TO A

2-2

ADB

22

ADD TO B

2-2

AIR

00020001

ARM INTERRUPTS

ALC

00050100

ALERT CHANNEL INTERLACE

3-7

ANA

65

AND TO A

2-3

ANB

25

AND TO B

2-3

ASC

00010500

ALERT TO STORE INTERLACE COUNT

3-6

BAX

30

BRANCH ON DECREMENTING A

2-5

BDA

70

BRANCH AND DECREMENTING A

2-5

BFF

31

BRANCH ON FLAG FALSE

2-4

BFT

71

BRANCH ON FLAG TRUE

2-5

BMC

37

BRANCH, MARK PLACE, AND CLEAR FLAG

2-5

BPI

54

BLOCK PARALLEL INPUT

3-8,3-9

BPO

50

BLOCK PARALLEL OUTPUT

3-8,3-9

BPT 1

0144

BREAKPOINT NO. 1 TEST

2-7

BPT 2

0145

BREAKPOINT NO.2 TEST

2-7

BPT 3

0146

BREAKPOINT NO.3 TEST

2-7

BPT 4

0147

BREAKPOINT NO.4 TEST

2-7

BRC

32

BRANCH, CLEAR INTERRUPT, AND LOAD FLAG

2-4

BRL

33

BRANCH AND LOAD FLAG

2-4

BRM

77

BRANCH AND MARK PLACE

2-5

BRU

73

BRANCH UNCONDITIONALLY

2-4

CAT

01004100

CHANNEL ACTIVE TEST; SET FLAG IF NOT ACTIVE

3-7

CEA

46

COMPARE M EQUAL TO A

2-4

CEB

06

COMPARE M EQUAL TO B

2-4

CET

01001100

CHANNEL ERROR TEST; SET FLAG IF ERROR

3-7

CFA

43*

CYCLE FLAG AND A

2-6

CFB

03*

CYC LE FLAG AND B

2-6

CFD

43*

CYCLE FLAG AND DOUBLE

2-6

CFI

03*

CYCLE FLAG AND DOUBLE INVERSE

2-6

CMA

47

COMPARE MAGNITUDE OF M WITH A

2-4

CMB

07

COMPARE MAGNITUDE OF M WITH B

2-4

COA

45

COMPARE ONES WITH A

2-4

3-12

COB

05

COMPARE ONES WITH B

2-4

CYA

42*

CYCLE A

2-6

CYB

02*

CYCLE B

2-6

*See page 2-5 for indication of the instruction structure and code redundancy.

B-15

SDS 92 INSTRUCTION LIST - ALPHABETICAL ORDER (continued)
Mnemonic

Name

Instruction Code

Paae Reference
2-6

CYD

02/42* **

CYCLE DOUBLE

DIR

0050

DISABLE INTERRUPT

DSC

00000100

DISCONNECT CHANNEL

3-6

DVA

52

DIVIDE AB (Optional)

2-3

DVB

12

DIVIDE BA (Optional)

2-3

EIR

0051

ENABLE INTERRUPT

EOA

66

EXCLUSIVE OR TO A

2-3

EOB

26

EXCLUSIVE OR TO B

2-3

EOM

00(40)***

ENERGIZE OUTPUT M

EXU

72

EXECUTE

2-6

HLT

00000000/0041**

HALT

2-6

lET

0150

INTERRUPT ENABLED TEST; SET FLAG IF INTERRUPT
SYSTEM ENABLED

3-11

3-11

3-5,3-6,3-9

3-11
2-2

INF

0046

INVERT FLAG

LDA

64

LOAD A

2-1

LDB

24

LOAD B

2-1

LDF

57

LOAD F

2-1

MAA

75

MEMORY AND A TO MEMORY

2-4

MAB

35

MEMORY AND B TO MEMORY

2-4

MPA

76

MEMORY PLUS A TO MEMORY

2-2

MPB

36

MEMORY PLUS B TO MEMORY

2-2

MPF

56

MEMORY PLUS FLAG TO MEMORY

2-3

MPO

16

MEMORY PLUS ONE TO MEMORY

2-2

MUA

13

MULTIPLY A (Optional)

2-3

MUB

53

MULTIPLY B (Optional)

2-3

ORA

67

OR TOA

2-3

ORB

27

OR TO B

2-3

PIN

14

PARALLEL INPUT

POT

10

PARALLEL OUTPUT

RCT

0060

RESET PROGRAM-CONTROLLED TRAP

2-7

3-8,3-9
3-7,3-8,3-9,3-12

RIN

55

RECORD IN

3-3

ROT

51

RECORD OUT

3-2

SCA

61

SUBTRACT WITH CARRY TO A

2-2

SCB

21

SUBTRACT WITH CARRY TO B

2-2

SCT

0061

SET PROGRAM-CONTROLLED TRAP

2-7

SES

01 (41)***

SENSE EXTERNAL SIGNAL

SFF

0042

SET FLAG FALSE

2-2

SFT

0044

SET FLAG TRUE

2-1

*See page 2-5 for indication of the instruction structure and code redundancy.
**A slash

V)

indicates that either instruction code can be used to perform the same operation.

***Codes EOM 40 and SES 41 are reserved for use in special system appl ications.

B-16

3-6,3-7,3-9

SDS 92 INSTRUCTION LIST - ALPHABETICAL ORDER (continued)
\

Mnemonic

Instruction Code

Name

Pase Reference

STA

44

STORE A

2-1

STB

04

STORE B

2-1

SUA

60

SUBTRACT TO A

2-2

SUB

20

SUBTRACT TO B

2-2

TCT

0160

TEST PROGRAM-CONTROLLED TRAP

2-7

TIP

00012100

TERMINATE INPUT ON CHANNEL

3-6

TOP

00012100

TERMINATE OUTPUT ON CHANNEL

3-6

WIN

15

WORD IN

3-2

WOT

11

WORD OUT

3-2

XMA

74

EXCHANGE M AND A

2-1

XMB

34

EXCHANGE M AND B

2-1

XMF

17

EXCHANGE M AND F

2-1

B-17

SOS 92 INPUT/OUTPUT INSTRUCTIONS
Mnemonic

Octal Code

Name

Mnemonic

Octal Code

Name

Buffer Instructions and Tests
BUFFER CONTROL
EOM A, T
DSC
TOP
TIP
ASC
ALC

00 or 40
00000100
00012100
00012100
00010500
00050100

BUFFER TESTS
Energize Output M
Disconnect Channel
Terminate Output on Channel
Terminate Input on Channel
Alert to Store Interlace Count
Alert Channel Interlace

SES
CAT
CET

A, T

01 or 41
01004100
01001100

Sense External Signal
Channel Active Test
Channel Error Test

DAT A TRANSFER

PARALLEL INPUT/OUTPUT
POT
BPO
PIN
BPI

A,
A,
A,
A,

T
T
T
T

10
50
14
54

Parallel Output
Block Parallel Output
Parallel Input
Block Parallel Input

WOT
ROT
WIN
RIN

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

11
51
15
55

Word Out
Record Out
Word In
Record In

Peripheral Device Instructions and Tests
°TYPEWRITER
RKB
TYP

1,2
1,2

°LINE PRINTER (cont. )
00002301
00002341

Read Keyboard
Write Typewri ter

1,2
1,2
1,2

00002304
00000344
00002344

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

1,2
1,2
1
1,2
1,2

01012106
01011106
00002306
00003306
01014146
00002346
00003346

Card Reader Ready Test
Card Reader EOF Test
Read Card Dec imal (Hollerith)
Read Card Binary
Card Punch Ready Test
Punch Card Decimal (Hollerith)
Punch Card Binary

01012160
01014160
01011160
00010360

Pri nter Read y Tes t
End of Page Test
Printer Fault Test
Printer Off-line

PSC
PSP
PLP

1, n
1, n
1,2

0001n560
0001 n760
00002360

Printer Skip to Format Channel n
Pri nter Space n Li nes
Print Line Printer

°PAPER TAPE
MAGNETIC TAPE
RPT
PTL
PPT
°CARD
CRT
CFT
RCD
RCB
CPT
PCD
PCB

° LINE PRINTER
PRT
EPT
PFT
POL

TRT
FPT
BTT
ETT
DT2
DT5
DT8
TFT
WTB
WTD
EFT
ERT
RTB
RTD
SFB
SFD
SRB
SRD
REW
RTS

n
n
n
n
n
n
n
n,2
n,2
n,2
n,2
n,2
n,2
n,2
n,2
n,2
n,2
n
0

0101051n
0101411n
0101211 n
0101111n
0101631n
0101671n
0101731n
01013710
0000335n
0000235n
0000337n
0000737n
0000331n
0000231n
0000333n
0000233n
0000733n
0000633n
0001411 n
00014100

Legend
A = address; *A = indirect address; =A = immediate address; T = index tag; n = number (0-7)
°Mnemonics and Octal Codes are given for device number 1 in a two-character/word mode.

Tape Ready Test
File Protect Test
Beginning of Tape Test
End of Tape Test
Density Test, 200 BPI
Density Test, 556 BPI
Density Test, 800 BPI
Tape End-of-File Test
Write Tape in Binary
Write Tape in Decimal (BCD)
Erase Forward Tape
Erase Reverse Tape
Read Tape in Binary
Read Tape in Decimal (BCD)
Scan Forward in Binary
Scan Forward in Decimal (BCD)
Scan Reverse in Binary
Scan Reverse in Decimal (BCD)
Rewind
Convert Read to Scan

SC1ENrrIFIC DATA SYSTEMS

1649 Seventeenth Street · Santa Monica, California · Phone (2 13) 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                     : 2010:06:09 15:14:46-08:00
Modify Date                     : 2010:06:09 15:20:08-07:00
Metadata Date                   : 2010:06:09 15:20:08-07:00
Producer                        : Adobe Acrobat 9.32 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:c643fb66-23a2-4e18-96a8-c3eb7317f4d9
Instance ID                     : uuid:8b2a6cea-0a76-4ff9-b603-31ff7ca51471
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 78
EXIF Metadata provided by EXIF.tools

Navigation menu