800_9049 0_8400_Scientific_Computing_System_Reference_Handbook 800 9049 0 8400 Scientific Computing System Reference Handbook

800_9049-0_8400_Scientific_Computing_System_Reference_Handbook 800_9049-0_8400_Scientific_Computing_System_Reference_Handbook

User Manual: 800_9049-0_8400_Scientific_Computing_System_Reference_Handbook

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

Download800_9049-0_8400_Scientific_Computing_System_Reference_Handbook 800 9049-0 8400 Scientific Computing System Reference Handbook
Open PDF In BrowserView PDF
SCIENTIFIC COMPUTATION
E L E C T RON IC

ASSOC IA T E S, INC. West Long Branch, New Jersey

8400 SCIENTIF1C COMPUTING SYSTEM
REFERENCE HANDBOOK

•

I

Publ. No. 00 800 9049-0

@ELECTRONIC ASSOCIATES, INC.
ALL RIGHTS RESERVED
PRINTED IN U.S.A.

CONTENTS

CHAPTER 1 - SYSTEM DESCRIPTION . • . . . . • . • . . . . . . . . . . . . . . • . . • . . . . • . . . . . . . . . • . .

1-1

1.1

INTRODUCTION . . . . . • . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-1

1. 2

EXPANSIONS . . . . . . . . . . • . . . . • . • . . . . . • • . • . • . . . . . • . . . • . . • . . . . . . . . . . .

1-1

1. 2. 1

8402 Basic Computing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-3

1. 2. 2

8403 Basic Computing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-3

1. 2. 3

8410 Central Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-3

1. 2.4

8420 Memory Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-4

1. 2. 5

8430 Exchange Module . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-4

1. 2. 6

8440 Desk Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . .

1-4

1. 2. 7

8490 Power Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-4

PROCESSOR......................................................

1-6

1. 3

1. 4

1. 5

1. 3. 1

Memory Word . • • . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . • . . . . • . . .

1-6

1. 3. 2

Instruction Word • . . . . . . • . • . . . . . . . . . . . . . . • . • • . • . . . . . . . . . . . . . . .

1-7

1. 3. 3

Data, Word Formats . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-7

1. 3.4

Processor Registers . . . . . . . . . . . . • . . . . • . . • . . . . . . . . . . . • . . . . . . . . .

1-10

ADDRESSING • • • . . . • . . . • . . . . • . . • . . . • . . • . . . . • . . . . . • • . . . . • . . • . . . . . . .

1-12

1. 4. 1

Direct Addressing • . • • • • . . • . . . . • . • • . • • • • . • . . • • • • • • . . • . • • . • • • . .

1-12

1. 4.2

Indexed Addressing . . • . . • . • . • • • . • . . . • . . . . . . • . • . . . . . . • . . . . . • . . .

1-13

1. 4.3

Indirect Addressing • . . • • . . . • . . . . • . . • . . . . . . . • . . . . . . • . . . . • . . . . . .

1-13

1. 4. 4

Immediate Addressing • • . • . • . • • . • . . • . • • . . . • • . • • • . • • . . . . • . • . . . . .

1-13

INTERRU PT SYSTEM • • . . . . . . . • . . . • . . . • • . . . . . . . . . • . . . . . . . . . . . . . . . . . .

1-13

CHAPTER 2 - INSTRUCTION REPERTOIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1

2. 1

INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1

2.2

EFFECTIVE ADDRESS CALCULATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1

2. 2. 1

Direct Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1

2. 2. 2

Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1

2. 2. 3

Indirect AddreSSing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-2

2. 2.4

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-2

2.2.5

Combinations of AddreSSing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-4

2. 3

ARITHMETIC INSTRUCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-6

2.4

NOTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-6

2.4. 1

Addressing Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-7

2.4.2

Register Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-7

THE FIXED POINT INSTRUCTION CLASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-8

2. 5. 1

The Save Register . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . .

2-8

2. 5. 2

2. 5

The Accumulator Address. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-9

2. 6

THE EXTENDED PRECISION INSTRUCTION CLASS . . • . . . . . . . . . . . . . . . . . . . . . . .

2-9

2. 7

THE INDEX INSTRUCTION CLASS . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-10

2.8

FLOATING POINT INSTRUCTION CLASS • . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . .

2-11
i

CONTENTS (Cont)

2.8.1

Floating Divide. • . . • . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . .

2-12

2.8.2

Floating Multiply. . . . . . . . . . . • . . . . . . • . . . . . . . . . . . . . . . • . . • . . . . . . .

2-13

THE DOUBLE PRECISION INSTRUCTION CLASS. . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-13

2.10 THE INTEGER INSTRUCTION CLASS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-14

2.9

2.10.1

Floating...................................................

2-15

2.10.2

Integerizing . . . . . . . . • . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-15

2.11 BOOLEAN CONNECTIVE INSTRUCTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-16

2.11. 1

The Mnemonics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-17

2.11. 2

Addressing.................................................

2-18

2.12 CONDITIONAL INSTRUCTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-21

2.12.1

The Flag Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-21

2.12.2

Index Jumps XJ, XJT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-22

2.13 INSTRUCTIONS TO LOAD AND STORE SPECIAL REGISTERS. . . . . . . . . . . . . . . . . . .

2-22

2. 13. 1

Load Register or Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-22

2.13.2

Store from Register or Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-23

2.13.3

The Flag Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-23

2.13.4

Location Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-23

2. 13. 5

Timer....................................................

2-24

2. 13.6

Mask Register . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-24

2.13.7

Console Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-24

2.14 EXEC BIT INSTRUCTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-24

2.14.1

Exec Bit Controls . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-24

2.14.2

Accumulator Exec Bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-25

2.15 INPUT/OUTPUT INSTRUCTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-25

2. 15. 1

SFL Instruction (Set Function Line) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-25

2.15.2

TSL Instruction (Test Status Line) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-27

2.15.3

LDCD, STCD Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-27

2.15.4

LDCC, STCC Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-28

2.15.5

LDOB, STIB Instructions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-29

2.16 SHIFT, ROTATE AND NORMALIZE INSTRUCTIONS

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

2-29

2. 16. 1 Arithmetic Shift . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . .

2-29

2.16.2

2-30

Rotates...................................................

CHAPTER 3 - PRIORITY INTERRUPT SYSTEM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii

3-1

3.1

INTRODUCTION...................................................

3-1

3.2

BASIC OPERATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-1

3.3

PRIORITy.......................................................

3-1

3.4

INTERRUPT CONTROL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-3

3.5

MASKING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-5

3.6

USER/MONITOR MODE AND THE INTERNAL INTERRUPTS. . . . . . . . . . . . . . . . . . . . .

3-6

3.6.1
3.6.2

3-6
3-7

User/Monitor Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Interrupts. . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS (Cont)
Page
3.7

EXTERNALmTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-10

3.8

CONSOLE INDICATORS

3-10

CHAPTER 4 - mpUT/OUTPUT SYSTEM

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

4-1

4.1

mTRODUCTION...................................................

4-1

4.2

DATA CHANNELS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

4-1

4.3

4.4

4.5

4.2.1

Function

4-1

4.2.2

Structure

4-2

4.2.3

Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-4

4.2.4

Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-6

4.2.5

Byte Assembly/Disassembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-7

4.2.6

Code Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-8

AUTOMATIC DATA CHANNEL PROCESSOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

4-8

4. 3. 1

Function..................................................

4-8

4.3.2

Structure..................................................

4-8

4.3.3

Control Words

4-8

4.3.4

Operation

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

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

4-10

SYSTEM INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-11

4.4.1

Function..................................................

4-11

4.4. 2

Structure..................................................

4-12

4.4.3

SFL/TSL Instructions

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

4-13

PERIPHERAL DEVICES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

4-14

4.5.1

Typewriter

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

4-14

4.5.2

Card Reader (Models 8452, 8453, and 8454) . . . . . . . . . . . . . . . . . . . . . . . . . ..

4-16

4. 5. 3

Paper Tape Reader .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

4- 20

4.5.4

Paper Tape Punch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ,

4-21

4.5.5

Line Printer (Models 8461, 8462, and 8463) . . . . . . . . . . . . . . . . . . . . . . . . . ..

4-22

4.5.6

Card Punch (Models 8455 and 8456) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-26

CHAPTER 5 - COMPUTER CONSOLE OPERATIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-1

5.1

mTRODUCTION...................................................

5-1

5.2

CONTROLS AND INDICATORS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-2

5.2.1

Register Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-2

5.2.2

Typewriter Input Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-3

5.2.3

Exponent Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-5

5.2.4

Interrupt Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-5

5.2.5

Channel Condition Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-5

5.2.6

Parity Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-6

5.2.7

System Flag Indicators . . . . . . . . . . . . . . . .

5.2.8

Programmer Flag Controls and Indicators. . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-6
5-6

5.2.9

Console Interrupt Controls and Indicators ... . . . . . . . . . . . . . . . . . . . .

5-6

5.2. 10

Configuration Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-6

5.2. 11

AUTO LOAD and AUTO DUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-6
iii

CONTENTS (Cont)

Page

5.3

5.4

5.2. 12

Clock Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-7

5.2. 13

System Controls and Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-7

5.2. 14

Console Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-7

CONSOLE DISPLAY

5-7

5.3.1

Accumulator

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

5-7

5.3. 2

Display Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-7

5.3.3

Memory Data

5-8

5.3.4

Memory Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-8

5.3.5

Exchange Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-8
5-8

5.3.6

Location Counter

5.3.7

Channel Function

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

5-8

5.3.8

Channel Buffer ... . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . .. . . . . .

5-9

5.3.9

Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-9

5.3.10

Typewriter Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-9

Maintenance Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-9

5.4. 1

Lamp Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-9

5.4.2

Keyboard

5-9

5.4.3

Clock Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-9

5.4.4

Mode.....................................................

5-10

5.4.5

Left Half, Right Half, Left Exec, and Right Exec .... . . . . . . . . . . . . . . . . . ..

5-10

5.4.6

PCO, PC1, PC2, and PC3

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

5-10

5.4.7

Data Test

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

5-10

5.4.8

ERR(Error) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-10

5.4.9

BankSelect................................................

5-11

5.4.10

PatternControl..............................................

5-11

5.4.11

Memory - LD/NORM/UNLD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

5-11

5.4.12

Clock - STEP/NORM/START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-11

5.4.13

Channel Select

5-11

5.4.14

Device Select

5-11

5.4.15

Byte 4/8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-12

5.4.16

EBITE/E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-12

5.4.17

Code-BIN/BCD..............................................

5-12

5.4. 18

DBCO, DBC 1, DBC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-12

5.4.19

DSCO, DSC1, DSC2

5-12

5.4.20

CSCO, CSC1, CSC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-12

5.4.21

C1CO, C1C1 • . . . • . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . • . . • . . . . . . ..

5-12

5.4.22

CCOThroughCC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-12

APPENDIX 1 - WORD FORMATS

iv

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

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

A1-1

1.

INSTRUCTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A1-1

2.

LOGICAL DATA .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A1-1

3.

FIXED POINT FRACTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A1-1

CONTENTS (Cont)
Page
4.

FLOATING POINT NUMBERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

Al-2

5.

INTEGERS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

Al-2

6.

ALPHANUMERIC DATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

Al-2

7.

GENERALIZED DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

Al-3

APPENDIX 2

8400 INSTRUCTION AND TEST MNEMONICS. . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A2-1

APPENDIX 3 - TABLE OF INTERRUPT ADDRESS CODES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A3-1

1.

ANALOG-TO-DIGITAL CONVERSIONS ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A3-2

2.

OPERATION CODES FOR ANALOG MONITOR/CONTROL

A3-2

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

APPENDIX 4 - TABLE OF SFL/TSL CODES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A4-1

1.

PROCESSOR INTERRUPT SFL

A4-1

2.

PROCESSOR INTERRUPT TSL

A4-1

3.

EXCHANGE INTERRUPT SFL

A4-2

4.

EXCHANGE INTERRUPT TSL

A4-2

5.

HYBRID SFL's . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A4-2

APPENDIX 5 - CHARACTER CODE EQUIVALENCE TABLE

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

A5-1

APPENDIX 6 - POWERS OF TWO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . .

A6-1

APPENDIX 7 - OCTAL-DECIMAL INTEGER CONVERSION • . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A7-1

APPENDIX 8 - HOLLERITH CARD CODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A8-1

APPENDIX 9 - LINKING LOADER TEXT BINARY CARD FORMAT

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

A9-1

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

AlO-1

APPENDIX 10 - PAPER TAPE FORMAT

APPENDIX 11 - TWO'S COMPLEMENT ARITHMETIC

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

A11-1

1.

THE TWO'S COMPLEMENTS SYSTEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A11-1

2.

RANGE OF NUMBERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A11-1

3.

TRUNCATION AND ROUND-OFF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A11-1

4.

SHIFTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

All-3

5.

OVERFLOWS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

All-4

6.

MULTIPLE PRECISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

Al1-4

APPENDIX 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A12-1

v/vi

ILLUSTRATIONS

Figure
Number

Page

Title

1-2

1-1
1-2

Typical 8400 Scientific Computing System
8400 System Diagrams . ... .

1-3

Memory Word Format .... .

1-6

1-4

Instruction Word Format- . . . . . . . .

1-7

1-5

Summary of 8400 Word Format ... .

1-8

1-6

Processor Registers . . . . . . . .

1-10

1-7

Universal Accumulator Formats

1-11

2-1

8400 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-2

2-2

Effective Address Calculation . . . . . . . . . . . . . . . . . . . .

2-5

3-1

Interrupt Register Mask Enable Configuration . . . . . . . . . . . . . . . . . . . .

3-2

1-3

3-2

Interrupt States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-4

3-3

Multi-Level Interrupts . . ". . . . . . . . . . .

3-4

3-4

Internal Interrupt Conditions .

3-7

3-5

Console Interrupt Buttons ...

3-9

4-1

Exchange Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-1

4-2

The Elements of a Data Channel . . . . . . . .

4-3

4-3

Data Channel SFL Instructions

4-5

4-4

4-6

4-5

Data Channel TSL Instructions
Program-Controlled Data Transfer . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-6

Byte Size/Byte Count Variation . . . . . . . . . . . . . . . . . . . . . . .

4-8

4-7

Channel Control Word Format

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

4-9

4-8

ADC P Action for a TCD Operation . . . . . . . . . . . . . . . . .

4-11

4-7

4-9

Typewriter Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . .

4-15

4-10

Connection of Typewriter to the Channel Buffer Register

4-15

4-11
4-12

Typewriter Character Position in Memory

.........

. ........ .

4-15

Typewriter SFL Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-15

4-13

Hollerith- BCD Code on a Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-17

4-14

Position of Binary Card Characters in an 8-bit Byte . . . . . . . . . . . . . . . . . . . . . . .

4-17

4-15

Card Reader TSL Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-18

4-16

Card Reader SFL Codes . . . . . . . . . . . . . .

4-19

4-17

Paper Tape Reader SFL Instructions . . . . . . . . . . . . . . . . . . . . . . . . .

4-21

4-18

Paper Tape Punch SFL Instructions . .... .

4-22

4-19

Vertical Format Codes . . . . . . . . . . . . . .

4-24

4-20

Line Printer TSL Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-25

4-21

Line Printer SFL Instructions . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-25

4-22

Card Punch SFL Instructions

4-28

4-23

Card Punch TSL Instructions

4-29
vii

ILLUSTRATIONS (Cont)
Figure
Number

Title

4-24
4-25

Magnetic Tape SFL Instruction

4-30

Magnetic Tape TSL [nstruction

4-31

5-1
5-2

Control Console ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-1

Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-2

5-3

Register Display/[nput-Output Typewriter . . . . . .

5-3

5-4

Paper Tape Reader and Maintenance Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-4

5"'-5

System Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-4

<

••••

5-6

System Display Panel . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-8

5-7

Maintenance Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-10

viii

CHAPTER 1
SYSTEM DESCRIPTION
1. 1

INTRODUCTION

terrupt lines, special control registers, location
counter, interval timer control, instruction register,

The 8400 Scientific Computing System (Figure 1-1)

flag register, high-speed save register, and seven

Organization is made up of three autonomous subsys-

index registers including the Universal Accumulator.

tems; memory, processor, and exchange, which
operate together from one control. Figure 1-2 illus-

The last subsystem, the exchange, consists of a data

trates, in block diagram form, a typical 8400 Scien-

channel control system and a system interface. The

tific Computing System.

data channel control system provides a fully buffered
interface with external input/output (I/O) devices. It

The memory consists of from one to four banks with

includes up to eight two-way data channels which can

individual controls. Each bank has four storage ac-

be controlled by either the program or one of the

cess channels for multiple access communication. In

optional Automatic Data Channel Controllers. Each

the typical configuration shown in Figure 1-2, the
first channel of each bank is connected to a bus from

external devices. The system interface includes an

the processor. Another separate bus ties together

I/O bus system that is directly addressable, as well

the second channel of each bank. This bus is con-

as provision for status control lines, function control

channel has the capability of controlling up to fifteen

nected to each optional Automatic Data Channel Con-

lines, and external interrupt lines; as required for

troller used. The banks' third and fourth channels

the integration of hybrid or other systems with the

are available for bus connection to external proces-

8400.

sors and mass memory devices. With this arrangement, the banks can be accessed in an over lapped

Two additional units, the Automatic Data Channel

fashion by the central processor and by the external

Controller and the console, are shown separately in

processors in an expanded multiprocessor system.

the diagram. The first of these, an optional expan-

Each bank can also exchange information with external mass memory devices for efficient time-sharing

sion in the exchange, provides data channel control
for data transfer (independent of processor opera-

processes. With this configuration, the processors

tion) between external devices and memory. The

may continue computation during input/output activity.

console, which is considered as part of the processor, includes: system controls, register displays,

The central processor, functioning as the heart of the

an on-line typewriter and a paper tape station.

system, has two-way communication with all subsystems and optional Automatic Data Channel Control-

1. 2

EXPANSIONS

lers. Provided with a complete capability of performing all required arithmetic and logical operations,

One important aspect of the 8400 is the versatility of

it performs the major part in control and execution

configurations. The expansions may be factory in-

of the stored program. The achievement is accom-

stalled or added in the field when the 8400 users' re-

plished by an accumulator and an extensive comple-

quirements change. A complete listing of expansions

ment of registers, control lineS, and logic circuitry.

may be found in Section 1. 1 of the 8400 Maintenance
Series - System Information manual (EAI Publication Number 00 800 9002-0). This section provides

In general, the basic items of this subsystem are:

logic signal control, status lines, function lines, in-

1-1

Figure 1-1. Typical 8400 Scientific Computing Sys tern
1-2

FUNCTION LINES
STATUS LINES
INTERRUPT

II II

~r45678

I

I
CHANNEL CONTROLLERS
DISC- PAC
CONTROLLER

MEMORY
BANK

MEMORY
BANK

MAGNETIC
TAPE
CONTROLLER

MASS
STORAGE
PROCESSOR

MEMORY
BANK
8930

Figure 1-2. 8400 System Diagrams
a brief outline of the basic systems (8402, 8403)

Three high-speed index registers and four in-

along with the standard and optional components

dex registers in coret;

available.

Figure 1-2 illustrates the various configu-

rations.

1. 2. 1 8402 Basic Computing System - Includes
the following:

Masked priority interrupt system with 16 internal. and 16 external. levels;
Power fail-safe system;

8410 Floating Point Processor;
8420 Memory Module - 8K capacity;
8430 Exchange Module;
8440 Desk Console;

Exchange module (8430) with one (8431) data
channel, one (8440) desk console with on-line
input-output typewriter and one (8490) power
system;

8490 Power Module.
Indirect, immediate and byte addressing capa-

1. 2. 2 8403 Basic Computing System - Same
as the 8402 System except that the memory module

bility; and, SAVE register with 560 nanosecond
cycle time.

has a 16K storage capacity.

t Four, high-speed index registers referred to as
1. 2. 3 8410 Central. Processor - Including:
Hardware for performing fixed and floating
pOint arithmetic;

the Quad Index Register Pak may be optionally deleted. However, the system always has seven index
registers. After the deletion is made, the system
index registers include the accumulator, two highspeed registers and four registers in core memory.
1-3

Masked priority interrupt system with 16
internal and 16 external levels; and

An availability for four channel interrupt lines

Power fail-safe system tied to the highest

A systems interface with up to 16, fully-buffered,

interrupt level.

16-bit parallel input/output busses - up to 128

when less than five 8431 data channels are used;

groups of status lines with 8 lines per group -

1. 2. 4 8420 Memory Module - Includes:
Core storage capacity of 8192 words, each containing 32 bits for information, 2 EXEC bits
for special control functions and 2 parity bits;
A 650 nanosecond access time;
A 1. 75 microsecond cycle time;

and up to 128 groups of function lines with 8
lines per group; and,
Interface terminations for optional external
priority interrupt system expansions, for up to
256 interrupt levels.

1. 2.6 8440 Desk Console - Including:

Independent read/write control enabling over-

Operator's panel with complete display and

lapped operations with other memory banks;

control facilities including console, status line

and,

control and processor access for on-line parameter changing;

The capability for handling independent busses
from up to four request sources.

A maintenance panel;

Maximum one unit to be added in field.

An on-line, Selectric Typewriter for manual and
program -controlled input/output.

1. 2.5 8430 Exchange Module - Includes:

1. 2. 7 8490 Power Module - Including:

A channel control system that can accommodate up to eight 8431 data channels;

A capability for providing the 8400 system's
full power requirements;

Two bi -directional buffered data channels each
Provisions for the manual, marginal testing of

capable of handling 16-bit parallel communication;

memory;

The capability for handling 15 device control-

Provisions for power-fail monitoring; and,

lers per channel;
Provision for over/under power protection.
The capability for controlling 16, 8 and 4-bit
byte assembly or disassembly sequences, including parity checking or generation as well

1. 2. 8 The follOWing list includes optional peripheral devices and system expansion components:

as conversion of BCD to processor collating
codes;

8441 Paper Tape Station - with a 500 cps read

and 110 cps punch capability.

(cps = Char/sec).

The capability for independent channel control

1-4

from the processor or from the optional, 8435-1

8412 Quad Index Register Pak - adds to the

Automatic Data Channel Control System (per-

processor four high-speed index registers

mitting simultaneous multi-channel operation);

(registers 4 to 7).

8417 Timer Register - provides addressable,

8439-1 through 128 Function Line Package -

real-time millisecond clock.

provides in the exchange additional function

8422 8K Memory Bank - with same features as

8422-E Memory Module.

(Maximum four banks

groups of 8 lines each (two 8-line groups per
unit). Each package provides fully buffered
flip-flop storage for function line output to ex-

per 8400.)

ternal devices.

(Maximun 64 groups.)

8423 16K Memory Bank - with a 16,384 word,

core storage capacity; other features are the

8441 Paper Tape Station - 500 character-per-

same as those for the 8420 Memory Module.

second read and 110 character-per-second

(Maximum four banks per 8400. )

punch. Mounting provisions are included in the

8431 Program Control Data Channel - provides

a data channel capability for any exchange
module channel position, from 1 to 7; handles
up to 15 peripheral device controllers.

8440 Central Console.
8452 Card Reader - 400 cards-per-minute; 12

row cards, 80 column read.

8435-1 Automatic Data Channel Processor -

8453 Card Reader - 800 cards-per-minute; 12

provides independent block data transfer con-

row cards, 80 column read.

trol for the 8431 data channel of channel position 0 in the exchange module; requires the use
of an 8420 Memory Interface Pak; independent

8454 Card Reader - 1400 cards-per-minute;

12 row cards, 80 column read.

of central llrocessor.
8455 Serial Card Punch - 100 cards-per -minute

8435-2, 3, 4 Automatic Data Channel Processor Expansions - each adds independent block

data transfer control for one 8431 data channel
occupying any channel position between 1 and 7
in the exchange module; 8435-1 Automatic Data
Channel is required in order to use the expansion.

(Maximum of three. )

to 316 cpm.
8456 Parallel Card Punch· 300 cards-per-

minute.
8461 Line Printer - 300 lines-per-minute; 132

columns-per-line, 64 characters, buffered

8420-21,22,23,24 Memory Interface Pak -

printer.

provides coupling interface between 8435-1
Automatic Data Channel Processor and Memory

8462 Line Printer - 600 lines-per-minute; 132

Banks 1, 2, 3, anli 4, respectively.

columns-per-line, 64 characters, buffered

Maximum

of four; one required per memory bank. Neces-

printer.

sary if an ADCP is to be used.
8463 Line Printer - 1000 lines-per-minute.
8437-2 through 16 External Interrupt System
Expansion Group - each group adds 16 inter-

8472 Magnetic Tape System - provides con-

rupt lines to basic external interrupt system.

troller handlin up to four transports (8473);

8438-1 through 128 Status Line Package - pro-

vides in the exchange additional status line
groups of 8 lines each (two 8-line groups per
unit). Each package provides fully buffered

one is included, maximum of four.

The

tape transport uses 7 -track, IBM compatible
tapes and operates at 45 ips and 556 and 800
bpi, respectively.

flip-flop storage for sense input from external

8474 Magnetic Tape System - provides con-

devices .. (Maximum 64 groups.)

troller handling up to four transports (8475);
1-5

one is included (maximum of four). The tape

8481 Display Monitor - provides point, line

transport uses 7 -track, IBM compatible tapes

and character plotting on a 10" x 10" display

and operates at 75 ips and 556 and 800 bpi,

of 1024 points along each axis. Light pen is

respectively.

included.

8476 Magnetic Tape System - provides con-

1. 3 PROCESSOR

troller handling up to four transports (8477);
one is included. The tape transport uses 7-

1. 3.1 Memory Word

track, IBM compatible tapes and operates at
120 ips and 556 and 800 bpi, respectively.

The 8400 Computer's memory word 'consists of 36

8478 Magnetic Tape System - provides con-

bits: 2 bits for parity check, 2 bits for program

troller handling up to four transports (8479);

control (EXEC bits), and 32 data bits. The memory

one is included. The tape transport (8479)

word format is shown in Figure 1-3.

uses 7-track, IBM compatible tapes and operates at 150 ips and 556 and 800 bpi, respec-

The parity bits are generated and stored on a half-

tively.

word basis during the write cycle. Parity is then

NDTE

checked during the read cycle. If an error is lo-

Model Numbers 8472-9, 8474-9, 8476-9, and

cated, the console indicator lights and a parity inter8478-9 are the same as the models listed above

rupt J!3 initiated. The 8400 System uses odd parity;

except that they use 9 track IBM compatible tapes.

this means that whenever the number of logic ONE's

31 32 33 3435

151 16
INFORMATION

0
16-BIT HALF-WORD

I

16-BIT HALF-WORD

E E

P P

,

32-BIT FULL -WORD

8-BIT BYTES

I·

4-BIT BYTES
SUBDIVISION OF HALF-WORDS
FOR BOOLEAN OPERATIONS

I I I I II I I I

H,T BYTES

11111111111111111,·"

T BYTES

Figure 1-3. Memory Word Format

1-6

making up a word is even, a parity bit is generated

indicates the normal program control capabilities of

so that the result is odd. (Using odd parity, the

the instruction word; for example, addressing, ad-

parity bit is always the opposite when all l's or O's

dress modification, and instruction interpretation.

are used.)

The first sixteen bits (M field) in the word format
represent the operand address during a data fetch.

The EXEC bits, in effect, expand the system's soft-

It may also signify: an instruction address during

ware capability. Used by the programmer to tag

an instruction fetch, an immediate operand, or a

selected memory words, these two bits are also

shift count. The next four bits designate any address

capable of the following:

modification required. If bit 16 (*) is a binary 1,
the M field contains the address of another location

enabling interrupt control for memory
protection,

in memory that will replace the present M field,
rather than the address of an operand. Bits 17 through
19 (X, where X = 1 to 7) specify the number of an

dynamic relocation of object programs,

Index register. Either or both may be used to change
the interpretation of the instruction address during

. .. stack or table pOinting, and so forth.

execution.
The last 12-bit (OP field) portion of the word format

EXEC bit control is discussed in Chapter 2.

denotes the operation to be performed.
The information portion of the word may contain a
full (32-bit) word, two half (16-bit) words, or por-

1. 3. 3 Data Word Formats

tions thereof (8, 4, 2, or 1-bit) for Boolean
operations.

This section describes the word formats used in the
8400 Computer. The brief descriptions refer to
Figure 1-5. Arithmetic formats are in a two's
complement notation with the + sign (binary 1) indicating a negative quantity. The instruction, memory
data and memory address word formats are included
in Figure 1-5 for comparison.

1. 3. 2 Instruction Word
Instructions are executed in sequence by the 8400
Instruction Register (I). Each instruction has a 32-bit
word format as shown in Figure 1-4. This figure

0

15

M FIELD

M

16

*

17

19

X

31

OP FIELD

16 - BIT (MEMORY) ADDRESS FIELD

*

I - BIT INDIRECT ADDRESS MODIFIER

X

3 - BIT INDEXING MODIFIER

OP

20

12 - BIT COMMAND (OPERATION CODE)

Figure 1-4. Instruction Word Format
1-7

CHARACTERISTIC

FLOATING POI NT

S

DOUBLE PRECISION
FLOATING POINT

sl

{

EXPONENT

I

lSi

23

MOST SIGNIFICANT CHARACTERISTIC

7

24EXPONENT

lsi

23
LEAST SIGNIFICANT CHARACTERISTIC

7
EXPONENT - 23

INTEGER

sl
~s...I_____

FIXED POINT

I
~s IL...------1_5------~1

,
I

=:J
-- ,-1----'....1I

~

Isl==7

1_5_ _ _ _ _---', _ _ _ _ _ -1-1 _ _ _ _

....

I

EXTENDED FIXED POINT S

I I

15

INDEX

IS I

15

LOGICAL: I, 16-BIT BYTE

I

S

I

15

I~------------------~------------------~

I~-----'

2, a-BIT

I~----------------~

BYTESI~_ _ _ _ _ _"'--_ _ _ _ _ _~

4, 4-BIT BYTESI

I~-~--~--~-~

16, 1- BIT BYTES

1

I

I I 1 1.1 I 1 I 1 1 1 I 1
6

INSTRUCTION

17 19
OPERATION

M FI ELD

MEMORY ADDRESS

MEMORY DATA

BIT SCALE

RIGHT HALF

LEFT HALF

I 7 II
a

ItlMrl~1

16
EL - LEFT EXEC BIT
ER - RIGHT EXEC BIT
PL - LEFT PARITY BIT
PR - RIGHT PARITY BIT
S" SIGN:!:

Figure 1-5. Summary of 8400 Word Format
1-8

1. 3. 3.1 Floating-Point. Floating-point num-

1. 3. 3. 2 Fixed-Point.

Formats for the stan-

bers are either single word (32-bit), or double pre-

dard (16-bit) and extended (32-bit) fixed-point quan-

cision (56-bit) quantities. The single-precision

tities are illustrated in Figure 1-5. The standard

floating-point number consists of:

fixed-point format consists of a 15-bit fraction along

.'

with a sign bit and may occupy either half-word
•.. a fractional part (23 magnitude bits),

position of the memory word. The extended fixedpoint format contains two 15-bit fractional parts

a sign bit,

and a sign bit for each. Its left half-word contains
the fifteen most significant bits and the sign of the

and an exponent part ( 7 magnitude bits)
with its own sign bit.

entire 30-bit fractional quantities, In standard
fixed-pOint arithmetic operations, the half-words

This single-precision floating-point notation provides

are addressed individually.

an accuracy of six.decimal digits.
1. 3. 3. 3 Integer.
The double-precision floating-point number occupies

Integer arithmetic instruc-

tion involve operations with two types of data words:

two consecutive memory word locations .. The word
with the lowest address contains the most significant

1. Standard, 16-bit fixed-point

and

fraction and exponent bits. The signed exponent part
of the word (eight bits) with the higher address is
. .

adJusted durmg memory store to EXP-2

23

2. Single, 32-bit floating-point.

. Double

floating-point notation provides an accuracy of thirteen decimal digits.

The data word associated with the system memory is
standard, 16-bit, fixed-point notation. The operand
in the Accumulator is in single 32-bit, floating-point

The double-precision floating-point word format has
direct correspondence with the single floating-point
format.

For example, when executing a 32-bit

floating-point multiply, the product will be in the
double-precision word format. Therefore, the results of several 32-bit floating-point multiply operations can be accumulated using double-precision

floating-point add operations. The results may be
operated on individually since the sign and exponent
for each of the most significant and least significant
portions are preserved.

notation. In the integer mode, a 16-bit, fixed-point
number is automatically converted from the halfword memory location to the floating-point format.
LikeWise, a floating-point number in the accumulator which represents the result of a series of
floating-point operations, is integerized and stored
in the designated half-word memory location. Operations in this mode may be either normalized or unnormalized by post modifying the associated instructions.
1. 3.3. 4 Index. In this operation, the contents

.of a specified index register is arithmetically combined
Floating-point operations are normalized (adjustment

with the contents of a half-word memory location.

of the mantissa and floating-point number so that the

The result, obtained in the accumulator, is automati-

mantissa lies in the prescribed normal range) auto-

cally transferred back into the specific index regi-

matically after each operation unless the instruction

ster and the previous contents of the accumulator ar!

is post-modified by the unnormalized symbol (U).

restored.

Normalization is accomplished by using left shifts
to remove all leading zeros from the number in the

1. 3. 3.5 Logical Byte. Logical Byte operations

accumulator. The shifting continues until the con-

between half-word memory locations and the accumu-

tents of the first two bit positions (0, 1) in the accu-

lator may be performed in 16, 8, 4, 2, or 1-bit bytes.

mulator differ.

A single instruction selects the desired byte size,

1-9

byte positions, logical connective and recipient (either

The first section, the 16-bit A Register, is used by

memory or accumulator) of the operation results.

itself for 16-bit fixed-point operations and as the
most significant 16 bits of all other operations. The

1. 3. 4 Processor Registers

second section, the AE Register, is used when ex-

The following registers in the 8400 Computer provide

tended fixed-point and extended shift operations are
needed. It enables the A Register to Handle 32-bit

the major portion of the Processor's capability for

fixed-point quantities such as: 32-bit, double-length

control and execution of the stored program. (See

products; and dividends of standard, 16-bit fixed-

Figure 1-6).

point multiply and divide operations. The AF Register, the third section, is a 16-bit A Register exten-

1.3.4.1 Instruction Register (l). This 32-bit
register stores each instruction as it is executed.

sion and is used for single-word (32 -bit) floating-

The register format is the same as the 8400 instruc-

point quantities. The final section, the AD Register,
provides a 24-bit extension to the AF Register. This

tion word as shown in Figure 1-4.

enables the accumulator to handle 56-bit, double1. 3. 4.2 Location Counter (L). This 16-bit

precision floating-point quantities; such as the double-

register contains the address of the next instruction

precision products and dividends of a single-word

to be loaded into the Instruction Register. Its primary

floating-point multiplication and division operations.

function is to provide system program control by sequentially directing the flow of instructions into the

The accumulator provides several special 8400 pro-

system. The contents of the Location Counter may

gramming features. It provides a single refere.nce

be stored when necessary.

location for the implicit operand and the result of all
arithmetic and logical operations. The accumulator

1. 3. 4. 3 Universal Accumulator (A).

The

is universal in that it automatically handles all inter-

Universal Accumulator as shown in Figure 1-7, con-

register transfers after each arithmetic operation.

sists of four separate registers which carry out the

Another convenience is that it may be used as an index

8400's arithmetic and data operations.

register. Finally, by virtue of its self-addressing

o

I

16

INSTRUCTION REGISTER ( r
LOCATION COUNTER (L
FLAG REGISTER ( F

I

1

15

o

32

I

INDEX REGISTERS
(X I _7) .. ·(SEVEN)*

1

1

UNIVERSAL ACCUMULATOR (A)

~

16

i
32

151--A~REG~ER--=-=:]

o
INTERNAL
MASK REGISTER (Ml

, - - - - - - - tL----_ _ _ _ _ _ _ -,

EXTERNAL
MASK REGISTER (El

0

L

A REGISTER
__
______

AF REGISTER

, - - - - - - - - - - - ---,23

INTERNAL
INTERRUPT REGISTER

L

_ _ _ _ ~D~E~~.:mR

SAVE REGISTER ($ I
INTERVAL
TIMER REGISTER (Tl

___ ~

~

EXTERNAL
INTERRUPT REGISTERS

CONSOLE REGISTER (C

L-------~

o

f
,--------,

.6
15

'-~REGI-;:;:-E_;_---I-

1

32

A E REGISTER
_ _ _ _ _ _ ---1

L- _ _ _ _ _ _ --j _ _ _ _ _ _ --,
L_~~GIST~ _ _ ..J

, - - - - - - - - - - - l23

0

L

_ _ _ ~D~~S~R_ _ _ _ ..J

'The A Register of the Uni versal Accumulator is Index Register Xl

Figure 1-6. Processor Registers
1-10

16

31

17

s I

0

I

15

r~-----------------AE REGISTER

I
MANTISSA (CONTINUED IN AF REGISTER)
..J .!..M~T.!!'!.N ~I ~~ ~R!..W!!E!! ~E~ W..!.T~ ~ ~G~T~R

~S

A REGISTER

31

23 "24

16

(CONTINUATION
_ _ _ O!,. ~N~'~A:' _

I

-1 ___ E~P~~T

____

AF REGISTER

MANTISSA (LEAST SIGNIFICANT PART)

- - - - - - - - -AD REGISTER

-

-

- - -

- - - - - -

-

Figure 1-7. Universal Accumulator Formats

capability, the accumulator enables the performance

When indexed address modification is specified, the

of doubling and squaring at high speeds. This selfaddressing capability also enables data transfer be-

effective address is formed by adding the contents of
the selected index register to the contents of the M

tween the accumulator and all index registers. The

field. This operation has no effect on index register

Universal Accumulator is addressable as memory

content.

location zero.
1. 3. 4.4 Save Register ($). The Save Register

Index arithmetic instructions allow direct operation

is a high-speed storage register similar to the
Universal Accumulator. (See Figures 1-6 and 1-7.)

between the respective contents of a specified index

This register is used to retain the entire contents of

single instruction effects the following: An automatic

the accumulator prior to the execution of any arithmetic or shift instruction. The Save option is de-

parallel transfer of the contents of the addressed

signated by the & symbol and may be used with any

arithmetic operation, as specified, combining this

'arithmetic or shift operation.

quantity with that contained in the addressed memory

register and an addressed memory location. A

index register to the Universal Accumulator; an

location; and, an automatic transfer of the result
The programmer, by using the Save Register, is able

back to the same index register. The transfer from

to store or read operands in 560 nanoseconds, less

the index register is made to the parallel A Register

time than it takes using core memory. The data is
automatically arranged in the proper format when

of the Universal Accumulator with the previous A

recalled by the Universal Accumulator. Similar to
a memory cell, this register retains data until a

register has no extension (AE Register), its use is
restricted to operations giving a half-word (16-bit)

subsequent instruction containing the $ symbol stores

results.

Register contents being stored. Since the index

new data; the data is NOT destroyed during the savewrite cycle.
1. 3.4. 6 Flag Register (F). The addressable,

1.3.4.5 Index Register (X1 - 7). Seven index
registers including the Universal Accumulator (index

register one) provide automatic address modification.
These registers retain ha:lf-word numbers that are
expressed in two's complement notation.

16-bit Flag Register continually monitors machine
conditions as well as those specified by the programmer. At the end of each instruction, the status
of these conditions is indicated by the register's
sixteen flag bits.
1-11

1. 3. 4.8 Console Register (C).

Tested by a set of transfer operations, the flags pro-

This l6-bit

vide the basis for the 8400's extensive program-

register enables monitoring, data display and data

control capability. They signify modifications of the

input while the program is in progress. It may be

normal sequential control for the program. Basic
control instructions affected include the following:

loaded by the operator or by the program..

HJf

EXf

Lf

1. 3.. 4.9 Interval Timer Register (T). Enabled

HALT if flag f set and JUMP when
execute button depressed;

by the LOAD INTERVAL TIMER (LDT) instruction,

EXECUTE instruction at specified

this l6-bit register decrements one count each millisecond t providing computer real-time control. As

location if flag f set;

the register goes through zero, an interrupt is gen-

LINK to subroutine if flag f set;

erated and the register is reset to its maximum
value. At this point, unless reloaded by the interrupt
subroutine, the register continues to decrement as

LRf

LINK to subroutine if flag f set,

before.

RESET flag; JUMP if flag f set;
With all its bit positions occupied, the Interval Timer.
Jf

JUMP if flag f set;

Register will decrement through a maximum time
range of 65,

JRf

~36-l milliseconds{~2n)InterruPts may

\\n=o

JUMP if flag f set, RESET flag;

be programmed to occur at any selected' time interval
JSf
JTf

JUMP if flag f set, SET flag;

within this range. Consequently, the register is

JUMP if flag f set, TRIGGER flag.

extremely useful for: program synchronization,
periodic output of data, time-sharing programs or

The LINK and JUMP operations are conditional; they

consoles, periodic sense line testing, and many
other purposes.

depend upon the status of the flag tested. The setting,
resetting, or triggering (complementing) of the flag,
however, is unconditional.

1. 4 ADDRESSING

The Flag Register bits indicate the status of 16 inter-

The extensive addressing capability in the 8400

nal machine conditions. Eight of the bits serve as

Scientific Computing System facilitates the handling of

programmer console flags and are set by either con-

all normally encountered address manipulations in-

sole switches or the program. Internal machine

volving core memory locations. Direct, indexed, and

status conditions can be preserved at any particular

indirect addressing have been made available to the

time by storing the entire register contents in mem-

programmer •. In addition, an immediate or literal

ory. This enables the programmer to retrieve inter-

addressing capability provides programming flexi-

nal machine status after the occurrence of subsequent

bility for fast efficient processing.

interrupt conditions.
1. 4. 1 Direct Addressing

1. 3. 4.7 Mask Registers, Internal (M) and

External (E). The Internal Mask Register and External Mask Register permit the programmer to select
the interrupts a program will respond to and, to establish a priority- among these interrupts. These
l6-bit registers are loaded and stored by the use .of
special instructions (see Chapter 2).
1-12

With direct addressing, the l6-bit address specified
by the instructions' M field referS' directly to the
memory location of the data (operand) that is to be

t Other factory-set timing intervals are also available.

used in the specified operation. In arithmetic opera-

where the address of the data may be found.

tions, either full-word or half -word operands may be

the address of the data is given indirectly.

Thus,

used. With full-word operands, the entire contents
of the specified memory location are involved. With

If both an index register and indirect addressing are

half-word operands, either the right or left half of

required by the programmer, the effective address

the full-word location is used. The half-word to be

is computed as previously discussed and then the in-

used is designated in the instruction by a / (slash)

direct address is computed.

.'

post modifier (see Chapter 2).
1. 4. 4 Immediate Addressing

For double precision arithmetic operations, the contents of both the specified memory location and the

The 16-bit address of an arithmetic or logical in-

next memory location (M + 1) are accessed. In

struction serves as the operand when immediate

Boolean operations, the specific half-word (including

addreSSing is used. This operand is a signed number

its byte size and position) is specified by using post

represented in two's complement notation. Immedi-

modifiers in the associated instruction, i. e. , AHM4/

ate addressing is specified in the 12-bit operation

SAM,,3. In this instruction: 4 specifies a four-bit

(OP) field of the instruction word and is accomplished

byte; SAM designates the memory location and, being

in symbolic notation by placing the = symbol in this

to the right of the slash, the right half-word of this

field.

full-word location is specified. The instruction
states, "where each of the four bits in the third byte

This form of addressing saves instruction time since

position are high, set the corresponding bits in the

it permits the direct use of data from the Instruction

right half-word of memory location SAM".

Register; no memory access required. This form
of addressing also saves memory space since no

1.4.2 IndexedAddressing

operand memory locations are required and; in ad-

Indexed addressing represents an important and

dition, the operand may be modified by the contents

highly useful variation of direct addressing. The

of a specifiC index register since the immediate

8400 contains seven index registers providing an
. efficient, flexible means of address modification.

operand is located in the instruction word address
field. With this modification accomplished prior 'to
using the immediate operand, the effective immediate

Indexing adds the contents of an index register to the

operand concept can be used by the programmer to

address portion of an instruction, Bits 17, 18, and

provide greater programming flexibility.

CA

store

19 of the instruction word specify which one of the

command with immediate addressing capability is

seven index registers is to be activated. If bit posi-

called an NOP.)

tions 17, 18, and 19 are zero, no indexing is specified. The contents of anyone of the computers'

The immediate operand notion extends to shifting

seven index registers are added to the 16-bit address

operations as well. In a SHIFT instruction, the

field (base part) to form the "effective address".

desired number of shifts is speCified as an arithmetic operand. Direction of shifting is determined by
the shift count sign. And, as an immediate operand,
this shift count may be modified by the contents of a

1. 4. 3 Indirect Addressing

Multi-level indirect addressing may· be used without
being restricted by any 8400 instructions. The

* bit

specified index register.
1. 5 INTERRUPT SYSTEM

(bit 16) of the instruction word is used as the indirect indicator. When indirect addressing is speci-

The true multilevel interrupt system with mask con-

fied' the 16-bit address gives the memory location

trol permits multilevel interruption to any depth
1-13

without a loss of return-continuity. When an internal

has priority over the succeeding group and each

or external interrupt condition occurs and the inter-

group level over lower levels.

rupt action is not inhibited by masks, an instruction
in a reversed interrupt location is executed (each

Basically, 16 flip-flops (each set by a particular

interrupt condition has a reversed location). The
execution of this instruction does not change Location
Counter contents. LINK, the normally executed

interrupt condition) are scanned. A scanner will
accept a flip-flop output only if the Interrupt Enable
bit in the Flag Register and the corresponding mask

instruction, transfers control to the interrupt routine

register bit are both high. The scanner begins scan-

while preserving the return address of the interrupted

ning at selected points in the instruction flow, con-

program. Once started, an interrupt action may be

tinues until an interrupt condition is detected, and

interrupted by the occurrence of a subsequent sys-

then locks onto that position. The priority of a

tem interrupt condition.

scanner is established when no "higher-priority"
scanner has locked up. Mter priority has been

The interrupt system responds to internal conditions

established, interrupt logic determines the address
of the reserved interrupt location.

and operating modes monitored by sixteen internal
interrupt lines. It is also responsive to any of up to
256 external conditions monitored by an expanded

Mter an interrupt subroutine has been given control

complement of external interrupt lines. There are

and the return address of the interrupted program

16 external interrupt lines in the first group with a

has been saved, scanning of the higher priority inter-

capability of up to 15 additional external groups. The

rupt levels resume. This insures that the operation

complete system is arranged in 17 groups containing

of the subroutine will be interrupted only when the

16 individual interrupt levels apiece. Group 0 in-

higher interrupt conditions are detected. Such in-

cludes the internal interrupt levels and groups 1
through 16, the external interrupt levels. Each group

terruption may be eliminated by using the appropriate masking.

1-14

CHAPTER 2
INSTRUCTION REPERTOIRE
2. 1 INTRODUCTION
This chapter contains a complete and precise definition of the operations performed by every 8400
instruction. Further details on input/output in-

.•• the instruction address field in the left
portion of the instruction word;
••• other special registers are a half-word in
size.

structions for peripheral devices are given in
Chapter 4. The emphasis in this chapter is on pro-

2.2 EFFECTIVE ADDRESS CALCULATIONS

gramming rules and conventions; moreover, as an
aid in learning the entire repertoire, the instruc-

2. 2. 1 Direct Addressing

tions are presented in classes and sets. The programming conventions and notation used are taken
from the 8400 Macro-Assembler manual (EAI

All instructions referencing an operand in memory

Publication Number 07 800.0001-3). The actualOP

The most basiC, direct addreSSing, uses the 16-bit

code numerical values are given in the appendix and

left hand number of the instruction word as the

in the 8400 Programmer's Card.

operand address. Other addressing modes are

specify one of several ways to address the operand.

termed: index modification, indirect addressing,
Consistent with the objective of presenting the instruction repertoire as the programmer will use it,
the view of the computer is offered as functional appropriate for the programmer. Therefore, Figure
2.1 illustrates the essential programmable elements
of the central processor. Only the 16-bit input and
output busses are missing. The registers required

and immediate addressing. Half-word addreSSing, a
variation on each of the above, is allowed when the
operand is a 16-bit word. The left or right half-word
selection is made after a memory address. This
left/right option is an integral part of the OP code
(bits 20 to 31 of the I Register as shown in Figure
2.1).

for momentary storage of data traveling to the accumulator from the memory is only one explicit
inter-register transfer and that is between the ac-

2. 2. 2 Indexing

cumulator and the Save ($) Register. The memory-

One of the primary uses of index registers arises from
their ability to modify instruction addresses. For this

to-register transfer paths are obvious; therefore,

to occur, the instruction must specify the particular

not shown. Other register transfers which are
closely related to the instruction and their options

index register that is to take part in the modifying

are developed in the text below.

activity. Indexing adds the contents of an index register to the address portion of an instruction.

Figure 2.1 illustrates the following important facts:

When indeXing is speCified, the contents of the index

• •• The Save Register can hold a copy of the
accumulator contents except for the exec
bits (shown crosshatched);
· •• the EA and AF Registers are alternative
extensions of the A Register;
· •• the A Register is also treated as Index
Register one;

registers are added algebraically, in two's complement notation, to the address portion of the
instruction. This new address, the effective address,
is then to be used as the operand.
If the index register contains a negative (two's com-

plement) value, the result of address modification
to subtract this value from the address portion of the
! instruction.
2-1

INDEX REGISTERS

o

15

X7
X6
X5
X4
X3
X2

PROCESSOR REGISTER
o

T

c

REGISTER

E
M

F
L.

o

I.

I.

52

1__m_--1.JH_x.1. ._op_-,

I ....

M

o

EI

ORY

II

IE

8400 REGISTERS
Figure 2.1
As an example of address modification, assume that
memory address 500 contains the instruction AD 124,2
and this instruction has a two in the appropriate index
register position. If the contents of the index register are 27, then the number stored in memory location 151 (124 + 27 = 151) is added into the accumulator when the add AD instruction is executed. Note
that memory location 500 still contains the instruction
AD 124,2 in its original form. Memory address 151
is called the effective address, and the process is
called address modification; that is, the address of
the instruction is modified in the central processor
for execution purposes, but is unaltered in memory.
2.2.3 Indirect Addressing
When proceSSing data is located in several different
areas of memory, it is at times convenient to operate
upon an indirect address as opposed to an actual ad-

AD 123.

However, if he wishes to add to the accumulator, not
the contents of memory location 123 but the contents
of the contents of memory locat:i.on 123, then the computer would add the contents of location 1862 to the
accumulator. This procedure is known as indirect
addressing, and occurs when a 1 is placed in bit
position 16 (*) of the instruction word. Mnemonically,
it is written as:
AD* 123
Note that if an index register and indirect addressing
are requested by the programmer, the effective address is computed as previously discussed and then
the indirect address is computed.
2.2.4 Summary
Table 2.1 lists the entire 8400 Instruction Repertoire.

dress. For example, if the programmer wishes to
perform an add instruction at memory location 3000

An instruction that has a number (m) in the left half-

(assume that memory location 123 already contains

is said to address memory core location, m, which

1862), he would write location 3000

contains the operand. If the Immediate option is

2-2

word and no address modifier in the right half-word

Table 2.1. 8400 Instruction Repertoire

8400 INSTRUCTION LIST
ARITHMETIC OPERATIONS
32·BIT FLOA TING.POINT
Subtract
Cleor Subtract
Cleor Add

Add
Com pore

Multiply
Store
Store Rounded
Divide
Clear Divide

56·BIT DOUBLE FLOATING.POINT

MNEMONIC
FSB
FCS
FCA
FAD
FCP
FMP
FST
FSR
FDV
FCD
MNEMONIC

Subtract
Clear Subtract
Clear Add

Add
Compar.
Multiply

Store
Store Rounded
Divide
Clear Divide

32·BIT EXTENDED FIXen.POINT

Subtract
C lear Subtract
C lear Add

DeS
DCA

Subtract
Clear Subtract
Cleor Add

Add

DAD

Add

Comparet

Multiply

l'

DSB

16·BIT FIXED POINT

DCP

Compore t

DMP

MultlplYf
Store
Stor. Rounded t

Store
Store Round"cI t

OST
DSR

Divide t

DOV

Clear Divide t
OeD
t denotes compatible subroutine operat;ons

16·BIT INTEGER
Subtract
Clear Subtract
Cleor Add

Add
Compare
Multiply
Store
Stor. Rounded
Divide
Clear Divide

MNEMONIC
ISB
ICS
ICA
lAD
ICP
IMP
1ST
ISR
IDV
ICD

Operation modifiers extend the basic list. The post
modifier "U" specifies unnormaHzed operation for
F,D and f Classes. The premodifier "$" specifies
a Scive Register store of the accumulator contents
prior to the execution of a modified instruction of
any class. Examples: FADUi SEAD or $FADU.

Divide t
Clear Divide t

MNEMONIC
SB
CS
CA
AD
CP
MP
ST
SR
DV
CD
MNEMONIC
ESB
ECS
ECA
EAD
ECP
EMP
EST
ESR
EDV
ECD

16·BIT INDEX

MNEMONIC

Subtract
C lear Subtract
Cleaf Add

XSB
XCS
XCA
XAD
XCP
XMP
XST
XSR
XDV
XCD

Add
Compare

Multiply
Store

Store Rounded
Divide
Clear Divide

The prefixes or suHixes in the mnemonic symbol
denote the class of operation or operation conditions. The basic symbol indicates t"'e operation
itself.
ElI:ample: In FAD, F stands for Floating.Point
Arithmetic (32·bit precision).
AD indicates
the ADO operation.

SHIFTING, ROTATION AND NORMALIZING OPERATIONS
ACCUMULATOR
Arithmetic Shift
Logical Rotate
Normalize

MNEMONIC
ASH
ROT
NRM

EXTENDED ACCUMULA TOR
Arit"'metic Shift
Logical Rotate
Normalize

MNEMONIC
EASH
EROT
ENRM

Set (A 11 Ones in A)
Reset (Ail Zeros in A)
Memory High (Load M)
Accumulator Low (Complement A)
Memory Low (Complement M)
Bot'" Hig'" (And)
Either High (Or)
Either Low (Nand)

BLAn
BDAn
BSAn

CSHAn
CEHAn
CELAn
CBLAn
BECTn

Example: ELAn specifies that the result of a NAND, with on n.. bit
byte in A and an n.blt byte in M, replace the A.byte. T"'e mnemonic:
is interprered as follows: "For corresponding bit positions in t"'e

Both Low (Nor)
Both Different (Exel Or)
Both Same (Equiv)
Complement Both High (And A)
Complement Either High (Or 'A'>
Complement -Either Low (Nand A)
Complement Both Low (Nor A)
Memory High (Set Z Flag if Byt. in M is Zero)

BLMn
BDMn
BSMn
CBHMn

CEHMn
CELMn
CBLMn
MHMn

A·byte and the _~byte,where EITHER the A.bit or the M.. bit is LOW.
set resultant A.bit. n= 1,2,4,8 or 16 bits.

CONTROL OPERATIONS
TEST BRANCH _ ON "FLAG". I
Holt - Jump
Execut.
Link (To Subroutine)
Link _ Res.t Flag
Jump _ Trigg.r Flag
Jump - Set Flog
Jump _ Reset Flag
Jump

MNEMONIC
HJI
EXI
LI
LRI
JTI
JSI
JRI
JI

MNEMONIC

INDEX JUMPS

XJ

Index Jump - Unconditional
Index Jump Test

XJT

EXEC BIT CONTROL

MNEMONIC
SEX
REX

Set EXEC Bit
Reset EXEC Bft
Test EXEC Bit

TEX

f denotes one of the 16 conditions monitored by a special flag
register. T"'ese conditions are listed below with their respective
mnemonics. Complement conditions can be specffied by prefixing
the condition mnemonics with the modifier, tiN".

Accumulator Equals Zero
Accumulator Greoter than Zero
Accumulator Less than Zero
Overflow (Cumulative)

Examples: Halt Jump on Over·
flow Is coded HJV. Holt Jump on no Overflow Is HJNV.

Unconditionally True

blank

Z
G
L

Carty (Or Borrow)
Busy Data Channel
Enabled Interrupt

C
B
E

V

Progrommer Flags

1·8

1/0 OPERATIONS
1/0 REGISTER LOAD

MNEMONIC

Load Output BU55
Load Channel Dota Register
Load Channel Control Register

LDOS
LOCD

Set Function Line

AUTOMATIC DATA CHANNEL CONTROL _
DATA BLOCK TRANSMISSION
Transmit
Transmit
Transmit
Transmit
Transmit
Transmit

on Count _ Disconnect
Until Signal _ Disconnect
on Either _ Disconnect
on Count _ Interrupt
Until Signal _ Interrupt
on Either _ Interrupt

I/O REGISTER STORE

MNEMONIC

LDCC

Store Input Buss
Storoe Channel Doto Register
Store Channel Control Register

STiB
SlCD
STCC

SFL

Test Stotus Line

TSL

MNEMONIC
TCD
TSD
TED

TCI
TSI
TEl

AUTOMATIC DATA CHANNEL CONTROL _
NO DATA BLOCK TRANSMISSION
Skip
Skip
Skip
Skip
Skip
Skip

on Count _ Disconnect
Until Signal _ Disconnect
on Either _ Disconnect
on Count _ Interrupt
Until Signol _ Interrupt
on Either _ Interrupt

MNEMONIC
SCD
SSO
SED
SCI
SSI
SEI

SPECIAL REGISTER TRANSFER OPERATIONS

LOGICAL BYTE OPERATIONS
BOOLEAN CONNECTIVES _
RESUL TS TO ACCUMULATOR

Both Low (Nor)
Both Different (Excl Or)
Both Same (Equiv)
Complement Both High (And A)
Complement Either High (Or A)
Complement Either Low (Nand A)
Complement Both Low (Nor A)
Byte Equality Test (Set Z Flag if Bytes identical)

MNEMONIC
SAn
RAn
MHAn
ALAn
MLAn
BHAn
EHAn
ELAn

BOOLEAN COt.NECTIVES _
RESULTS TO MEMORY
Set (All Ones in M)
Reset (All Zeros in M)
Accumulator High (Store A)
Accumulator Low (Complement A)
Memory Low (Complement M)
Both High (And)
Either High (Or)
Eit"'er Low (Nand)

MNEMONIC
SMn
RMn
AHMn
ALMn
MLMn
BHMn
EHMn
ELMn

REGISTER TRANSFER _ LOAD
Load A -Extended
Load Flag Register
Loai Locotion Counter
Load Timer Register
Load Mask Register Internal
Load External Mask Register
Load Console Register

MNEMONIC
LDAE
LDF
LDL
LOT
LDM
LOE
LDC

REGISTER TRANSFER _ STORE
Store
Store
Store
Store
Store
Store
Store

A Extended
Flag Register
Location Counter
Timer Register
Mask Register Internal
Externol Mask Register
Console Regi ster

MNEMONIC
STAE
STF
STL
STT

STM

STE
STC

specified, the number (m) is "immediately" treated
as data (operand) rather than as an address. If the

takes place before indirect addressing (*), and the
final option is the half-word selection of immediate,

I

Indirect option is specified, core memory address m

left, or right (= and

contains the "address" of the operand rather than the
operand itself. If the Index option is specified, a

This sequence is illustrated in Figure 2.2. The notation in this figure is that parentheses around a regis-

number is taken from one of the seven index regis-

ter name specify the register contents; the arrow

cannot appear simultaneously).

ters and added to m to produce the effective address

reads as "replaces", and subscripts indicate specific

of the operand; while the left half contents (m) re-

register bits.

main the same. Several options may be used simultaneously as described in the following section. In

The flow diagram of Figure 2.2 is interpreted as

any case, the action of address modification is often

follows:

referred to as "effective address calculation". Since
this is a common occurrence and is possible with

1.

The instruction cycle starts with an
instruction fetch, which is denoted as

«L»-

regularly throughout for the contents of the effective

(I), or "The contents of the
memory address that is the contents of

address.

L replaces the contents of the instruction

the majority of instructions, the E notation is used

register, I".

2.2. 5 Combinations of Addressing Options
2.

The various address modifiers and the legal combi-

If indexing is speCified (by 1 to 7 in

bit positions 117, 18, 19) then the sum

nations thereof are shown in Table 2.2 in the format

of the number m in the instruction

used when writing instructions for the assembler.

address field and the contents of the
specified index register forms (tenta-

The precedence of the addressing options is: X, *,
=, or I. This means that index modification (X)

tively) the effective address E.
Table 2.2

Modifier

Name

Remarks

*

Indirect Address

OPN* M

The address for the given instruction is taken from the address portion of the 32-bit word at location M. Multiple
indirect addressing is possible. All instructions may use an
indirect address.

X

Address Modification

OPN M,x

The effective address is obtained by adding the contents of
the speCified index register, X, to the address, M. That is,
M + (X) - E .A. All instructions except the Index Register
Class can have address modification. Indexing precedes indirect addressing at every level if both are specified.

I

Halfword Address

OPN /M

The operand for 16-bit operations comes from the left half
of M by using MI and the right half of M by using 1M. The
slash (/) has no effect on indexing or indirect addressing. A
16-bit operation written OPN M is interpreted by the Assembler as OPN MI.

=

Immediate Address

OPN=M

The operand for this instruction is taken from the address
field of the instruction itself. The immediate address may
not be used with I. The immediate address is applicable to
all 16-bit operations except Store and Store After Rounding.

REMARKS:

All legal combinations of the address modifiers are illustrated below:

OPNMI

OPNM
OPN/M

2-4

Format

OPN M/ ,X
OPN 1M, X
OPN* M!

OPN* 1M
OPN* M/,x
OPN* IM,X

OPN=M
OPN = M,X
OPN* = M

OPN* = M,X

FETCH
INSTRUCTION
(( L
(1)

»....

I LLEGAL

I NSTRUCTION INTERRUPT

FETCH NEW
ADDRESS AND
MODIFIERS
(E.· 19 )- (1.'19)

rSAVE ACCUMULATOR

FETCH
OPERAND

(E)

EFFECTIVE

E-+ (D)

~(O)

ADDRESS

CALCULATION

Figure 2.2

3.

If indirect addressing is specified (by

by a manual halt or an interrupt. However,

116 = 1) then a new word, located at ad-

in the normal course, indirect references

dress E, is obtained from the memory.

can be made (at the expense of time for
each memory fetch) and indexing (for dif-

Only the first 19 bits of this word are used,

ferent index registers) can be performed

and they replace the contents of bit I o:19 '
Now, the original value m has been re-

at each level of indirectness.

placed in I by (E O:15 )$ and the index and
indirect bits have also been replaced.
Steps 1, 2, and 3 are repeated until for
some indirect address, indirect addressing

4.

With a new value for E, bits 125:26 in the
original instruction are tested for immediate addressing (half-word operands only).

is not specified. It is possible, through a
programming error, for the above loop to

If immediate is specified, the value of E

be a closed path, which "hangs-up" the

register (D) before the execution of the

computer. Such a loop can be broken only

accumulator instruction. Otherwise E is

itself is placed in the intermediate data

2-5

used as the effective memory address for

operand = E = (m) (16-bit

tOPN*=m

operand only)

the final gathering of data from the memory. After this gathering, the left/right
OPN*= m, X

option selects the specified half-word for

bit operand only)

execution.
5.

operand = E = (m + (X» (16-

Note that the Save option takes place just
after the immediate address test on either

2.3 ARITHMETIC INSTRUCTIONS

path.
There are ten basic arithmetic instructions that
The different effective address calculations

occur in each of six classes of operation. The

may be specified as follows, where OPN

classes differ in the form of arithmetic, word size,

signifies any operation code for which the

and the registers affected. The resultant sixty

address options are valid.

mnemonics and their functions are readily committed

OPNm

operand = (E0:15) or (E o:31 )'
E

= 00

to memory. There are numerous variations to these
basic instructions and they follow a consistent and
logical pattern. All arithmetic instructions may
exercise the Save option prior to execution; and they

OPNm/

operand = (E0:15)' E = 00

set Z, G, and L decision flags after execution. All

OPN/m

operand = (E 16:31)' E = 00

floatillg-point operations may terminate with an unnormalized result. All multiply and divide operations

OPN m, X

operand = (E0:15) or (E o:31 )'

require double length registers, hence the double

OPN /00, X

preCision instructions are executed by subroutines.

E=m+(X)

These mnemonics (and some others in the set of
sixty basic operations) are recognized by the assem-

operand = (E 16:31)' E = m+ (X)

bler and replaced by the appropriate Link instruction.
Alternatively, the actual codes for these instructions

tOPN*m

operand = (E o:15 ) or (E o:31 )'
E= (00)

are recognized by the computer and cause an interrupt
(number 2 interrupt). Software is provided to select
the right subroutine. All compare, store, and store-

tOPN*/m

operand = (E16:31)' E = (00)

rounded instructions leave the entire accumulator
unchanged. The add, subtract, and store-rounded

tOPN*m, X

operand = (E 0:15) or (E 0:31)'

conditions generally result in bit (C) of the flag
register being set. The carry flag (C) indicates that

E = (m + (X»

an arithmetic 'carry has been produced. Divide conditions can result in setting the overflow (V) flag

tOPN*/m, X

operand = (E 16:31)' E =

(see Paragraph 2.8.1).

(m + (X»

OPN=m

operand = E = 00 (16-bit

2.4 NOTATION

operand only)
The following shorthand notation is used throughOPN= 00, X

operand = E = 00 + (X) (16-bit
operand only)

out this text.
conventions.

t one level of indirect addressing assumed for illustrations.
2-6

Some are assembly language

2. 4. 1 Addressing Conventions

($A)

contents of the 16-bit A portion
of the Save Register

E

effective adQress
($AAE)

(E)

m

IE, 1m

E,

E/, m, ml

OP= m

OPm,X

contents of the Extended FixedPoint Save Register

contents of E
contents of address field of
instruction word
specifies right half-word for
16-bit operands

($AAF)

contents of the Floating-Point
Save Register

($AAFAD)

contents of the Double PreCision Save Register

speCifies left half-word for 16bit operands
immediate address, m is a

contents of bits 0 to 7 in A
Register
(AD

0, 9:23)

contents of bits 0 and 9 to 23 in

literal, a constant

the AD Register

indexing, X is an integer 1 to 7;
E = m + (X) except Index Class

the one's complement of the
contents of 0 to 7 of A

instructions
left Exec bit at effective
OP*m

indirect addressing, E

OP* m,X

indexing plus indirect,
E = (m + (X))
(Note: the

= (m)

address
right Exec bit at effective
address

* is part of the OP

field)
2.4.2 Register Conventions

Accumulator Exec bits

int( )

the integer part of the floatingpoint operand. Note that for

(A)

contents of the 16-bit A

two's complement numbers the

Register of the Accumulator

integer part is always the most
positive integer that is more

(AAE)

(AAF)

(AAFAD)

($)

negative than the number, hence

contents of the Extended FixedPoint Accumulator

for negative numbers the magnitude of the integer part is larger
than the magnitude of the

contents of the Floating-Point
Accumulator
contents of the Double Precision Accumulator
contents of the Save Register

number.

Jrac( )

the fractional part of the
floating-point operand:

I

I

frac(m) = (m) - int(m) is
always a positive fraction
2-7

fit( )

the 16-bit operand converted

Clear, Subtract

(floated) to a floating-point
CS

number

m,X

-(E)-(A)
(E 32)- (A 32 ) for m/

sgn( )-ZGL

the Zero, Greater than, Less

.fl- (AD l:S)

than flags are set according to
value of the operand relative to

Subtract

zero
SB

nrm( )

m,X

the normalized value of the

(A) - (E)- (A)
(E 32 )XOR(A 32 ) -

(A 32 ) for m/

floating-point operand

Compare
2.5 THE FIXED POINT INSTRUCTION CLASS
m,X sgn

CP

ZGL flags

(AO:15, 32, 33) unchanged

This is the most basic class of arithmetic instructions. No prefix is used before the basic mnemonics

[(A) - (E)] -

Store

of AD, SB, etc., as in the other classes. The
operand is always a 16-bit half-word. Two's com-

ST

m,X

plement binary arithmetic is performed. The state

(A)- (E)

(A 32 ) - (E 32 ) for m/

of the Z, G, L decision flags is determined by the
resultant value of (A), "zero", "greater than" or

Store, Rounded

"less than" zero after each operation (except CP as
noted below). The addressing options

*, /,

and X

are available for all instructions; and = is available
for all but ST and SR. The Save option, $, may
precede any of the mnemonics.

SR

m,X

MultiPly

MP

m,X

(AAE)

.fl - (AEo)
(AD) destroyed

Load
CA

(A)x(E) -

m,X

(E)-(A)

Divide

(E32)-(A 32 ) for m/
.fl-(AD 1 :S )

DV

m,X

(AAE) + (E) Remainder -

Example:

(A)
(AE)

(AD) destroyed

The above reads as follows: Line 1; The contents of

Clear, Divide

E (memory) replaces the contents of the A Register
of the accumulator.

Line 2; The left Exec bit at the

CD

m,X

.fl- (AE)

effective address replaces bit 32 of the A Register

(AAE) .;... (E) -

for a left half-word.

(AD) destroyed

Line 3; bits 1 through 8 of the

AD Register are replaced by

11.

(A)

2.5.1 The Save Register

Add
The sections of the accumulator are duplicated in the
AD

2-8

m,X

(A) + (E)- (A)

Save Register. When the save option is exerCised,

(E 32)XOR(A32)- (A 32 ) for m/

the entire contents of the accumulator (except Exec

bits) are saved: (A, AE, AF, AD) -

($A, $AE,

word sign bits. Therefore, the data word consists of

$AF, $AD) prior to execution of the instruction. The

sign plus 30 bits. The instructions, EMP, EDV,

Save Register is assigned memory address number

ECD, ECP, and ESR are not executed directly, but

one. The actual core memory cell number one is not

by programmed subroutines, since more than 32 bits

accessed by arithmetic instructions (except ST and

of register are required. The subroutines may be

SR), nor by Boolean connective instructions (except

entered in two ways. If the processor attempts to

M typej see Paragraph 2.4, Boolean Connective

execute one of these instruction codes, the number

Instructions). To gather data from the Save Register,

two interrupt occurs, and either the Monitor or the

the programmer writes either 1 or $ in the address

Compat routine (EAI Publication Number

field (the assembler translates $ to 1). Thus, CAl

07 825 0046-0, see Preliminary Bulletin Program

and CA $ result in ($A) -

Information 66026) takes control and selects the

(A). Since thE;l save

operation takes place first, $AD $ doubles the con-

proper subroutine. The more common method is for

tents of Aj $SB $ clears (A)j $MP $ squares (A)j

the Macro Assembler (EAI Publication Number

and $CS $ inverts the sign of (A). In each case, the

07 800.0001-3) to recognize the mnemonic code and

original contents of A is saved in $A. It is not possi-

substitute a Link instruction to the subroutine.

ble to store in the Save Register except by the $
prefix; ST 1 and SR 1 both store in core memory

The state of the Z, G, L decision flags is determined

location number one.

by the resultant value of (AAE) after each operation.
The addressing options

2.5.2 The Accumulator Address
In the same manner as above, the accumulator itself
is assigned memory address zero for arithmetic
instructions (which cannot access core memory location zero). This results in the following operations
with the fixed point instructions: CA ~ does not
change (A) but resets Z, G, L if, for example, CP
were the previous instructionj CS

~

inverts the sign

of {A)j MP ~ squares {A)j and CD ~ overflows. ST ~
does nothing and SR ~ rounds (A). The left/right

slash option is not available for addresses zero and
one: CA/1 and CA 1 are the same, as are SB /~ and
SB ¢. Neither (AE) nor ($AE) are affected by such
operations.
2.6 THE EXTENDED PRECISION INSTRUCTION

* and X are available with all

instructions in the class. The immediate option is
available (for all but EST and ESR) indirectly through
action of the Macro Assembler. The immediate option normally means that the address field of the
instruction is treated as a literal (a 16-bit data word).
However, since the extended class instructions
operate on whole words this is not possible. The
programmer may then use the = symbol to specify
a 32-bit literal. During the assembly process, the
literal value is placed in a special data storage area
called the Literal Pool and the instruction address
field is then given the data address.
The Save option may precede any of the mnemonics.

Load

CLASS
ECA

m,X

(E)- (AAE)

For each fixed-point instruction code and mnemonic
(AD) destroyed

there is a corresponding extended precision code and
mnemonic. The former operate on 16-bit half-words
and the latter on 32-bit whole words. All operations

Add

use fixed-point, two's complement, arithmetic.
Execution of the extended preCision instructions takes

EAD

m,X

(AAE) ~ (E) -

(AAE)

place in the AAE Register. The left half bits of the
two halves of this register,

A:o and AE o, are half-

(AD) destroyed
2-9

Clear, Subtract

to CA m. Note, however, that the X field of all of
the index class instructions is used to select the

ECS

m,X

-(E)_ (AAE)

register for action and not for address modification.

(AD) destroyed

This addressing option is not available for the index
instructions; while

* and /

are available for ali, and

the immediate option (=) is available for all but XST

Subtract

and XSR. An index register must be specified.
ESB

m,X

(AAE) - (E) (AAE)
(AD) destroyed

Since index registers are restricted in size to 16
bits, operations requiring whole word registers

Compare

(XMP, XDV, XCD, XSR) are performed by subroutines. Execution of the codes for these instruc-

ECP

tions results in the number two internal interrupt.

m,X

The Macro Assembler substitutes a Link instruction
for these mnemonics.

Store
EST

m,X

(AAE)- (E)

The state of the Z, G, L decision flags is determined
by the resultant value of the specified index register,
(X), or of the comparison (X)-(E). The Save option

Multiply

$, may precede any of these instructions; and (X) is
EMP

saved in the A portion of the Save Register, rather

m,X

than (A) being saved. However, in this case the rest
of the accumulator is saved, i.

Divide

e.,

$XCA m, 3 causes

(X3, AE, AF, AD) to replace ($A, $AE, $AF, $AD)
EDV

and the accumulator is unchanged.

m,X

Load

Clear, Divide
ECD

XCA

m,X

m,X

(E)_ (X)
then sgn(X)- ZGL

Store, Rounded
Add
ESR

m,X
XAD

m,~

(X) + (E)- (X)
then sgn (X)- ZGL

Address Zero and One are special addresses for the
Accumulator and Save Register. Therefore, they are
not normally used with the Extended Precision instruc-

Clear, Subtract

tions, (AE) and ($AE) cannot be accessed in this
manner. The result of EAD

~

is to add (A) and (AE).

XCS

m,X

-(E)-(X)
then sgn (X)- ZGL

2. 7 THE INDEX INSTRUCTION CLASS

Subtract
The same 16-bit fixed-point operations that take
place in the A Register, may also be programmed
for any index register. Thus, XCA m, 1 is equivalent
2-10

XSB

m,X

(X) - (E)- (X)
then sgn (X)-ZGL

Compare
XCP

2.8 FLOATING POINT INSTRUCTION CLASS
m,X

sgn (X) - (E)- ZGL
(X) unchanged

This most important class of arithmetic instructions
operates upon 32-bit data words, in the AAF portion
of the accumulator. A floating number has a sign

Store

and a twenty-three bit mantissa, which are held in A
and in the left, eight bit positions of AF (denoted as

XST

(X)-(E)

m,X

AAF 0:23 or as A, AF 0:7'). The floating-point exponent has a sign and seven bits, held in AF 8:15. The

Multiply

range of magnitudes for floating-point numbers is
between 2 128 and 2 -128; operations that result in

XMP

m,X

larger or smaller magnitudes cause an exponent
fault interrupt. A subroutine is used to normally set

Divide

the accumulator to zero or the largest possible value.
The value of zero is represented by 32 zero bits;

XDV

m,X

however, if a word with a zero mantissa and a nonzero exponent is loaded it is treated as zero.

Clear, Divide
The basic floating-point arithmetic instructions (FAD,
XCD

m,X

FSB, FMP, FDV) perform normalized arithmetic.
Normalization means that the mantissa of the opera-

Store, Rounded

tion result is shifted to the left to eliminate any
leading zero bits. The exponent is then decremented

XSR

m,X

once for each bit position shifted. FCAand FCS also
normalize the number loaded into the accumulator.

To clear an index register, the literal constant zero
is loaded by using the Immediate option; XCA = ~,X.

ing and before storing. FST (floating store) does not

The Immediate option is also used to add or subtract

normalize.

FSR (floating store rounded) normalizes after round-

constants. The value of a variable just calculated in
the accumulator is added to index register three by

All floating instructions (except compare) may be

XAD~,

used with the Unnormalize option by appending the

3. Note that in this case the zero is the ef-

fective address (specifically the address of A). Zero

letter U to the end of the mnemonic. The effect is to

and one (or $) are used to access (A) and ($A) with all

inhibit the post-normalization operation. Unnormali-

of the index instructions (except XST 1 and XSR 1).

zed data may then be considered as 24-bit, fixed-

The Slash option has no effect with address zero· and
one. While XST

~,

5 is used to move a half-word

point data with assigned scale factors (the exponents).
When adding and subtracting, the exponents are auto-

from X5 to the A Register, other means are used to

matically adjusted to agree with the larger exponent.

move index register contents directly to other 16-bit

For multiplication and division, the exponents are

registers. For example, LDAE

=~,

5 loads AE

added or subtracted. Care must be taken to avoid

from X5, LDF

=~,

3 loads the Flag Register from

overflow on division. Note that FCAU loads a copy

X3, and LDOB

=~,

2 moves (X2) to the output bus.

of (E) without normalizing, and is therefore used

In these cases the zero is a literal constant.

with FSTU to move 32-bit words from one core

2-11

location to another.

See Paragraph 2. 7 on moving

Store

Exec bits.
FSTU

(AAF)- (E)

m,X

Multiple level indirect addressing (* option) and

(A 32 :33 ) (E 32:33)
FST = FSTU

indexing is possible with all instrUctions; and as
explained in Paragraph 2.3. 3, the Immediate (=)
option may be employed indirectly through the use of

Multiply

the Macro Assembler Literal Pool feature. The

Save option ($) may be exercised with all instructions

FMP

nrm,[, (AAF) x (E)]- (AAF AD)

m,X

(AE) destroyed

to cause (AAF) to be stored in $AAF prior to the
operation. As with all arithmetic instructions, the

FMPU

m,X

(AAF)x(E) -

(AE) destroyed

ZGL flags are set by the result of each operation.

Divide

Load AAF
FCAU

(AAF AD)

m,X

(E)- (AAF)

FDV

nrm [(AAFAD) + (E)] (AAF)

m,X

(E 32 :33 ) - (A 32 :33 )

mantissa of Rem. -

(AD)

(AE) destroyed
FDVU

Clear, Add, Normalize

(AAFAD) ..;. (E)- (AAF)

m,X

mantissa of Rem.- (AD)
FCA

m,X

(AE) destroyed

nrm(E)-(AAF)
Clear, Divide

Add
FAD

m,X

nrm [(AAF) + (E)]- (AAF)

FCD

FADU

m,X

(AAF) - (E) -

FCDU

(AAF)

m,X \

~-

(AD)

) then execute FDV or FDVU
\

Store, Rounded

Clear, Subtract
FCS

m,X

nrm [ - (E)] -

FCSU

m,X

(E 32:33) -

(AAF)

I

FSR

m,X

nrm [(AAF) + (AD 1)2- 23
(AAF) unchanged

FSRU

m,X

(AAF) + (AD 1)2-23

(A 32:33)

I

I

!]

(E)

(E)

(AAF) unchanged

Subtract

2.8.1 Floating Divide
FSB
FSBU

m,X
m,X

nrm [(AAF) - (E)] (AAF)
(AAF) - (E) (AAF)

Special characteristics of FDV, FCD must be mentioned (also true for

Compare

rov,

ICD). Overflow will occur

if the mantissa of the divisor is less than half the
mantissa of the dividend. This will not occur if the

FCP

2-12

m,X

sgn [(AAF) - (E)] -

ZGL

divisor is the result of a normalized operation.

The result of a floating divide operation is to leave

FMP

B, 3

a x b product

DAD

$

add partial sum

XJT

*-3,3,-1

index and loop

FST

y

store single preci-

the quotient in AAF and the 24-bit mantissa of the
remainder in AD. Note, however, that the 24-bit AD
cannot hold the exponent of the exponent of the
remainder. The full remainder, as a proper floating
point number, can only be recovered by deduction.
2.8. 2 Floating Multiply

sion result

The result of a floating multiply is a number with

2.9 THE DOUBLE PRECISION INSTRUCTION CLASS

sign bit, 46 mantissa bits, and an 8-bit exponent,
that is held in the AAF AD register. This number is

Double preCision floating-point instructions operate

converted into the double word format by separating

on data consisting of a Sign, 46 bits of mantissa and

the mantissa into two 23-bit segments, and adding a

an 8-bit exponent. This data is held in memory as

positive sign bit for the lower half. An exponent is
created for the lower half which is 23 less than the

two successive 32-bit words, each in proper 32-bit
floating-point format. That is, each word has a

upper half exponent (AF 8 :15)' The Universal Accu-

sign, a 23-bit mantissa, and an 8-bit exponent. Half

mulator holds the lower half mantissa in AD 1 :23 and

of the double precision mantissa magnitude bits are

provides for the extra sign bit," ADo_ The.extra

in each word. The second sign and exponent are

exponent for the lower half is not required in the

redundant from the point of view of the accumulator.

accumulator and is created only upon execution of a

However, for multiple precision calculations by

double floating store instruction. (ADo) does not

subroutine, it is convenient to have each half of the

enter into any mathematical operations except for

double word in single preCision format. Note that

holding the sign of the division remainder mantissa.

the second sign is always positive and the second
exponent is 23 less than the first. Double preCision

After the execution of FMP, the extra sign bit ADo··

operations take place in the 46-bit AAFAD register;

is reset to zero. Any two's complement fraction

AF 8: 15 hold the exponent. The second exponent is

consisting of bits truncated from a larger number

created upon execution of double store (DST).

(either sign) is itself a positive number (with an
exponent). Resetting ADo makes it possible to treat

All operations are performed in the same manner,

the lower half of the product in normal floating-point

only with the 46-bit mantissa, and with the same

format.

options and restructions as the single precision
floating-point operations. Double multiply, divide,

The double precision pr()duct is often used in an other-

compare, and store-rounded must be executed by

wise single precisioN computation. For example, in

subroutine. If the immediate addressing option is

the calculation (y = L:

used, the Literal Pool feature allocates two memory

~

b i ), it is useful to accumulate

the double precision results of each multiplication as

cells from the data specified in the address field.

illustrated in this small routine.
The instruction pair, DCAU and DST, may be used to
XCA

=N, 3

DCA

ZERO

initialize

bits from one memory location to another via the

$FCA

A, 3

save partial sum

accumulator.

move double precision data (both words) with exec

2-13

store

LoadAAFAD
DCAU

(E,E + 10 : 23 ) - (AAFAD)

m,X

DSTU

m,X

(AAFAD) -

(E, E + 1 0 :23 .)

(AF 0:15) - 23 - E + 124 : 31
(A 32 : 33 ) - (E 32 :33 )

(E 32:33) (A 32 :33 )
(AE) destroyed

DST = DSTU

Clear, Add, Normalize
Multiply
DCA

m,X

nrm (E,E + 10 :23 ) - (AAFAD)
(AE) destroyed

DMP

m,X

DMPU

m,X

Add
Divide
DAD

m,X

nrm [(AAFAD) +(E,E, + 1 0 : 23 ))
_ (AAFAD)
(AE) destroyed

DADU

m,X

(AAFAD) + (E,E + 1 0 :23 )
_ (AAFAD)
(AE) destroyed

DDV

m,X

DDVU

m,X

Clear, Divide
DCD

m,X

DCDU

m,X

Clear, Subtract
Store, Rounded
DCS

m,X

-nrm (E,E + 1 0 :23 ) (AE) destroyed

DCSU

m,X

- (E,E + 1 0 :23 ) - (AAFAD)

(AAFAD)

(E 32:33) (A 32:33)
(AE) destroyed

Subtract

DSR

m,X

DSRU

m,X

2. 10 THE INTEGER INSTRUCTION CLASS
This unique set of instructions performs floatingpoint artthmeticoperations on fixed-point and

DSB

DSBU

m,X

m,X

nrm [(AAFAD) - (E,E + 1 0 :23 )]
_(AAFAD)

floating- point data. The data operand in the accu-

(AE) destroyed

AFFAD). The data operand specified by the effective

(AAFAD) - (E, E + 10 :23 )
- (AAFAD)
(AE) destroyed

address is always a 16-bit fixed-point data word.

mulator is always a floating-point number (AAF or

Each instruction (except the store commands) first
gathers the 16-bit operand, converts it to a floatingpoint number, and then executes a normal floatingpoint operation. The conversion process is termed

Compare

floating and the reverse process, upon storing, is
DCP

2-14

m,X

called integerizing.

It is important to understand exactly what happens

part of the original contents of AAF. Then (A) is

during floating and integerizingj other features

stored at the effective address and AAF is restored

(except half-word address option) of the ten instruc-

to its original state. If the magnitude of (AAF) is

tions of this class are the same as those of the

equal to or greater than 2 16 an overflow will occur,

Floating Point Class.

and an incorrect number will be stored.

2. 10. 1 Floating

The half-word addressing options (= 1) are aVailable,
as well as indirect addressing and indeXing. Ad-

A 16-bit data word is normally thought of as a fixed-

dresses zero and one refer to (A) and ($A). The

point fraction, with the binary point adjacent to the

same rules for the unnormalize (U) option and divide

sign bit. Fixed-point multiply and divide instructions

overflow apply as for floating-point instructions.

perform fractional arithmetic. On the other hand, a

of the Save options will save (AAF).

Use

16-bit data word may be considered to be a fixedpoint integer, with the binary point to the far right-

Load, Integer

hand position. This is of course the common practice
when operating on memory address numbers.

ICAU

m,X

flt(E) -

(AAF)

which means:
No confusion occurs provided a correct scale factor

(E)- (A O: 15 )

is used when the data word enters an arithmetic

~- (AF o:17 )

operation. The floating of a 16-bit word by an

+ 15 _

(AF 8:15)

= Exponent

Integer Class Instruction causes the contents of the
half-word effective address to be loaded into A

Clear, Add, Normalize

(for Integer-clear-add, ACA), zeroes to be loaded
in AF 0:7' and exponent of + 15 to be loaded in AF 8: 15.

ICA

m,X

nrm [flt(E)] -

(AAF)

When in memory, the operand is considered an
integer, hence a scale factor of 215 is entered in AAF

Add

as the number itself becomes the mantissa (a fraction)
of a floating point number. The least Significant eight

lAD

m,X

nrm [(AAF) + flt(E)]-(AAF)

bits of the mantissa are made zero. After this con-

lADU

m,X

(AAF) + flt (E) -

(AAF)

version, the rest of ICA is simply to normalize (AAF).
In the case of lAD, ISS, IMP, etc., the above con-

Clear, Subtract

version is performed before presenting the floated
operand to the accumulator.

ICS

m,X

nrm [-flt(E)] -

ICSU

m,X

-flt(E)- (AAF)

(AAF)

2. 10.2 Integerizing

Subtract
The integer part of the result of any floating-point
calculation (by floating, double precision, or integer

ISS

m,X

nrm [(AAF) - flt(E)]- (AAF)

class instruction) can be stored as 16-bit fixed-

ISSU

m,X

(AAF) - flt(E)- (AAF)

m,X

(AAF) - flt(E)- ZGL

point integers provided the magnitude of the number
is less than 2 16 • The IST instruction (same as ISTU)

Compare

first causes the contents of AAF to be shifted left or
right as needed, bringing the exponent to + 15. When
(AF 8 :15)

ICP

= + 15, the binary point may be considered to

be to the right of A 15 , hence (A) is the 16-bit integer

(AAF) unchanged
2-15

immediate addressing. Thus, the Fortran state-

store

ment, A = 3B + I might be implemented by the code:
ISTU

m,X

int(AAF)- (E)

(AAF) unchanged

FCA

B

IST = ISTU

IMP

=3

lAD

=1

FST

A

Multiply

IMP

m,X

nrm [(AAF) x flt(E)]

_

(AAFAD)

Where A and B are floating-point numbers, and I,
a Fortran integer, is stored as a fixed-point number.
Care must be taken with IDV and lCD, for the floating

(AE) destroyed

operand (divisor) is an unnormalized number and if
IMPU

m,X

(AAF) x flt (E) -

(AAF AD)

the resultant mantissa is less than half the accumulator mantissa overflow occurs.

(AE) destroyed

A characteristic of negative twots complement num-

Divide

bers, as noted elsewhere, is that when least signifiIDV

m,X

nrm [(AAFAD) +flt(E)]

cant bits are truncated, the result is greater in
magnitude (more net negative) than the untruncated

-(AAF)

number. IST truncates the fractional part of (AAF)
(AE) destroyed

before storing and yields for negative numbers the
"next more negative integer". ISR yields the nearest

IDVU

m,X

(AAFAD)4flt(E)- (AAF)
(AE) destroyed

integer for both signs. The pairs; IST and ISTU, ISR
and ISRU, each produce identical codes, no normalization is performed.

Clear, Divide

2.11 BOOLEAN CONNECTNE INSTRUCTIONS
ICD

m,X

(0 -

ICDU

m,X

then execute FDV, FDVU

(AD»

(AE) destroyed

If an accumulator (a) bit and a memory (m) bit are

considered as arguments of a logical function to form
a resultant bit, r. Then there are sixteen possible

store, Rounded

ISRU

m,X

functions that may be performed.
int(AAF) +~ -

where

~

(E)

= ~ iffrae (AAF)<:1/2

= 1 iffrae (AAF»1/2
(AAF) unchanged

Table 2.3 gives the function as well as showing the
four possible values of r for each combination of a
and m. Basic operations used in this table is
indicated by:

ISR = ISRU
Integer arithmetic instructions may be mixed freely

1.

The over-bar: logical inversion of the

within floating computations to save execution time

logical value.

and memory space, particularly with the use of

to ONE)

2-16

(ONE to ZERO and ZERO

Table 2. 3. Boolean Connective Functions

6.

Exclusive OR: Result is ONE if the argument values are different.

a =

0 1 0 1

m=

0 0 1 1

r =

1 1 1 1

7.

Equivalence: Result is ONE if argument
values are the same.

Set r = 1 regardless of
.~ and!!!.

0 0 0 0

Reset r = 0 regardless of
~andm

The last four functions are performed by first complementing a and then executing the OR, AND, NOR
or NAND function.

0 1 0 1

r=a

1 1

r =m

1 0 1 0

r=a

listed in Table 2. 3. One instruction stores the re-

1 1 0 0

r= iii

sult r in the original location of a. The other instruc-

0 1 1 1

r = a + m OR function

0 0 0 1

r = a x m AND function

Variables a, m, and r are not restricted to single

1 0 0 0

r = a+m NOR function

bits but may be in bytes. If bytes are used, the byte

1 1 1 0

r =

These are thirty-two basic Boolean connective in0 0

structions, two for each of the sixteen functions

-

tion stores r in the memory location m.

0

1 1 0

1 0 0 1

axm NAND function

r = (a + m) (a x m)

sixteen functions are performed upon individual pairs
of bits within the bytes both simultaneously and inde-

Exclusive OR

pendently. The byte size is specified (1, 2, 4, 8 or

function

16 bits) by writing the respective digit after the in-

r = (a x m) + (a x m)
EQUIVALENCE
function

1 0 1 1

r=a+m=axm

0 0 1 0

r=axm=a+m

0 1 0 0

r=a+m=axm

1 1 0 1

sizes of the three variables are all the same. The

-

--

r=axm=a+iii

struction mnemonic in the OP code field. A byte
size of 16 is implied if no digits are specified. For
example, HAl resets a single bit in the accumulator;

HAS resets 8 bits; and HA resets aU 16 bits of the
A register.
For byte sizes of 1, 2, 4, or 8 bits, the byte position
within the half-word is speCified in the count field
(third subfield of the address field) by a decimal
number 0 to 15. For example, RM1, m, X,

2.

OR: Result is a ONE if either argument
is a ONE.

~

resets

the sign bit of (E); RM1, m, X, 15 resets (E 15)' The
positions of larger bytes are denoted by numbers 0
to 7 for two bits, by 0 to 3 for four bits and 0 to 1

3.

AND: Result is ONE only if both arguments are ONE.

4.

(E s:15 ).

NOR: Result is ONE if neither argument
is ONE.

5.

for eight bits. Therefore, RM8, m, X resets

2.11.1 The Mnemonics

NAND: Result is ONE if either argument

The thirty-two instruction mnemonics indicate the

is ZERO.

logical action performed and the designation of the

2-17

result. They do NOT indicate the name of the Boolean
function. If the mnemonic ends in "A", the result is

memory bits E 12:15 are inspected. For each ZERO bit (low)

placed in the accumulator. If the mnemonic ends in

the corresponding bit within

"M", the result is put in memory. The mnemonic

A 12 :15 is set to ONE and the

codes for the 16 pairs of instructions appear as shown

other bits of A 12 :15 are reset to
ZERO. This is a byte load in-

in Table 2.4.

struction.
Table 2. 4. Boolean Mnemonics
Conditiont

Destination
Accumulator

2.

CEHM8 m,X,fj

Complement A,

Either High to Memory; 8-bit

Memory

byte; first byte position; which
SA

SM

Set

RA

RM

Reset

AHM

Accumulator High

ALA

ALM

Accumulator Low

memory is set high, .otherwise it

MLA

MLM

Memory Low

remains low.

EHA

EHM

Either High (OR)

BHA

BHM

Both High (AND)

BLA

BLM

Both Low (NOR)

ELA

ELM

Either Low (NAND)

BDA

BDM

Both Different (XOR)

for the specified byte is simply restored (unchanged),

BSA

BSM

Both Same (EQU)

to its original location. However, MHM is a useful

CEHA

CEHM

Compo A, Either Hi

CBHA

CBHM

Compo A, Both Hi

only action of MHM is to indicate a ZE RO byte in

CBLA

CBLM

Compo A, Both Lo

memory which, if E

CELA

CELM

Compo A, Either Lo

:I:

means the complement of (A 0:7)
is compared to (E o:7 )' bit by bit.
If either bit of a pair is high, the
corresponding bit position in

2.11.1.2
AHA, MHM).

*

Special Cases (BEQT Replacing

The two codes accumulator high to

accumulator (AHA) and memory high to memory
(MHM) appear to do nothing. This is nearly true,

ZERO byte test, since the Z flag is set if the result
of the logical function is a byte of all ZEROES. The

= 0,

refers to the accumulator.

The AHA code is therefore redundant and is replaced
by the more useful Byte Equality Test (BEQT) for
which the byte size and position options are the same

t The expression in the right column describes the
condition for which a bit in the result is set to ONE;
all other conditions produce a ZERO bit in the result.

as above. Tl\e action of BEQT is to set the Z flag if

and only ifall accumulator and memory bytes are
the same.

2. 11. 1. 1 Examples
1.

2-18

Memory low to
accumulator; 4- bit byte; byte

2.11. 2 Addressing

MLA4 m,X,3

Indirect addressing and half-word addressing options

position 4; which means the

are valid for Boolean instructions, however immediate addressing is not possible with M-type

instructions. An effective address of ZERO refers to

In the following table of instructions, all of the pos-

the accumulator. This results in each A and M pair

sible combinations of byte sizes and byte positions

of instructions being equivalent.

are given by way of example. Any instruction may

An effective ad-

dress of ONE refers to core memory cell number
one for

M-typ~

instructions.

address any of the bit combinations illustrated.

It does not refer to

$A register since storing in the Save Register is
only possible by means of the $ prefix operator.

In the following examples, if the result of the logical
operations yields a byte (in the referenced position)

See Paragraph 2.3.2.

consisting of all zeroes, the Z flag is set; otherwise it
is reset.

Table 2.5. Boolean Instruction

set and reset

¢

(one bit/byte)

SAl ~,~,~

1-

(Ao) reset Z

SM1 m,X, 1

1-

(E1) reset Z

RA1 ~,~, 2

~ -

(A2) set Z

RM1 m,X,3

~

(E 3) set Z

-

byte equality test
BEQT1 m,X,4

(one bit/byte)
if (A4) = (E 4) set Z, if ",reset Z

(one bit/byte)

store and load
AHM1 m,X, 5

(A 5) -

(E 5 )

MHA1 m,X, 6

(E 6) -

(A 6 )

zero byte test
MHM1 m,X,7

(one bit/byte)
if (E7) = ~ set Z, if

",reset Z

(one bit/byte)

complement accumulator
ALA1 ~,~,8

(one bit/byte)

store and load complement
ALM1 m,X, 9

(A 9 ) -

(E 9)

MLA1 m,X, 10

(E 10) -

(A 10)

complement memory
MLM1 m,X, 11

(one bit/byte)
(E 11) -

(E 11)

2-19

Table 2.5. Boolean Instruction (Cont)

(one bit/byte)

QR, AND

EHAI m,X, 12

(A 12 ) OR (E 12)-(A 12 )

EHMI m,X, 13

(A 13 ) OR (E 13) - (E 13 )

BHAI m,X, 14

(A 14) AND (E 14) - (A 14)

BHMI m,X, 15

(A15) AND (E 15)- (E 15)

(2 bits/byte)

NOR, NAND

BLA2 m,X,~

(AO} NOR (E o:1 )-(A o:1 )

BLM2 m,X, 1

(A 2: 3) NOR (E 2:3)-(E 2:3 )

ELA2 m,X,2

(A 4:5 ) NAND (E 4:5)-{A 4:5 )

ELM2 m,X,3

(A 6 : 7) NAND (E 6 : 7)-{E 6 : 7 )
(2 bits/byte)

XOR, EQU

BDA2 m,X,4

(A S: 9 ) XOR (E s :9 ) - (A s:9 )

BDM2 m,X, 5

(A 10 : 11 ) XOR (E10:11)-(E10:11)

BSA2 m,X,6

(A 12 :13 ) EQU (E 12:13)-(A 12 :13 )

BSM2 m,X,7

(A 14: 15 ) EQU (E 14:15)-(E 14:15)
(4 bits/byte)

complement A, then OR, AND
m,X,~

(A O:3 ) OR (E o:3 ) -(AO:3)

CEHM4 m,X, 1

(A 4:7) OR (E 4:7)- (E 4:7)

CBHA4 m,X,2

(A 8:11 )

CBHM4 m,X,3

(A 12 :15 ) AND (E 12 :15 ) - (E 12 :15 )

CEHA4

AND (E 8:11) -

(8 and 16 bits/byte)

complement A, then NOR, NAND

2-20

(A 8:11 )

CBLA8 m,X,~

(A O:7)

CBLM8 m,X, 1

(A 8:15 ) NOR (E 8:15 ) - (E s:15 )

NOR (E o:7 ) -

(AO:7)

CELA m,X,~

(A o:15 ) NAND (E o:15 ) - (A o:15 )

CELM m,X,~

(A o:15 ) NAND (EO:15)-{EO:15)

2.12 CONDITIONAL INSTRUCTIONS

The condition code c, may have thirty-two values;
these are the 16 codes for the bits of the flag register

2.12.1 The Flag Operations

and the same codes prefixed by N to denote the inverse condition. They are:

The execution of each of the following instructions

Z, G, L, Y, C, B,
HJc

halt and jump to E

EXc

execute and instruction at E

Lc

link to E

LRc

reset flag, link to E

JTc

trigger (complement) flag, jump to E

1, 2, 3, 4, 5, 6, 7, 8
N, NZ, NG, NL, NY, NC, NB, NE
N1, N2, N3, N4, N5, N6, N7, N8
Normal indirect addressing is available with all
instructions.

JSc

set flag, jump to E

JRc

reset flag, jump to E

Jc

jump E

Halt

tHJc

m,X

user mode:

= 0, NOP; if (c)

is conditional upon the state of the flag indicated by

if (c)

c; c can refer to any flag of the flag register in its

interrupt no. 2

1,

set or reset state.

monitor mode:
Example:

HJ1

if (c)

START

= 0, NOP; if (c)

1,

computer halts with
(E) -

The halt will occur, with subsequent transfer to

(L)

START, only if flag 1 is set. If it is not set, no halt
occurs, and transfer to the instruction following HJ1

Execute

takes place. On the other hand, the reverse applies

EXc

m,X

to the example:

if (c) = 0, NOP; if (c) = 1,

execute the instruction located
HJN1

at E

START

that is, the halt will occur if flag 1 is not set, etc.

Link
Lc

m,X

if (c)

= 0, NOP; if (c)

LR, JT, JS, JR cause the indicated change to the

(L + 1 ) - (E),

referenced flag whether the instruction is executed

(E + 1 ) - (L)

1,

or not; the instruction is executed conditional to the
present state of the flag. If unconditional execution
of the instruction is required, c is left blank.

LRc

m,X

if (c) = 0, reset flag;
if (c) = 1, reset flag,

(L + D - (E) ),
If unconditional non-execution of the instruction is

(E + 1) -

(L)

required for creating a class of no-operations, c
could be set to N. For this purpose HJN, EXN, LN
and IN would serve. Of these the last, IN, has been
selected in the assembler as the non-operation instruction, NOP.

t Privileged instructions, see Chapter 3.

2-21

index, jump test

Jump
Jc

m,X

if (c)

=

(E) -

m,X

JRc

m,X

1,

XJT m,X,A

(L)

(X) + A - (X), -128 :s A:s 127
then if sgn (X)

if (c)

= 0, reset flag;

if (c)

=

(E) -

JSc

0, NOP; if (c)

= ~

A,

(L + 1 ) - (L); if I, E - (L)

1, reset flag,
2. 13 INSTRUCTIONS TO LOAD AND STORE
SPECIAL REGISTERS

(L)

if (c)

=

0, set flag;

if (c)

=

1, set flag,

Each of the several 16-bit registers in the 8400 and

(L)

the 16-bit input and output busses are serviced by a

(E) -

pair of instructions that gather and store a half-word
JTc

m,X

if (c) = 0, trigger (comple-

ment) flag; if (c)
flag, (E) -

=

1, trigger

(L)

from either half of the memory word. The addressing options

*, /,

and X apply in each case and the

Immediate option (=) is available for all load instructions. Exec bits are not affected or moved by these

2.12.2 Index Jumps XJ, XJT

instructions, and except for the direct effect on the
flag register with LDF, there is no associated

2.12.2.1 Unconditional Jump - XJ m,X,A.
The specified index register X is algebraically incremented by the value A, and transfer takes place to
location m (NOT to location m, c).

change to the flag register. The 32-bit data channel
control registers (CCR) are serviced by a similar
pair of instructions; however, the half-word addressing options

=

and / do not apply. In the case of

the 16-bit channel data registers (CDR), a half-word
A is accorded 8 bits (8-15) in, the instruction and is
interpreted as (-) if bit 8 is "1", or (+) if bit 8
is

"o!~

Thus, -128 :s A :s 127.

and Exec bit are moved between memory and the
registers; however, the

=

option does not apply

and the Left-Right option is determined by another
register (CFR) in the data channel. See 4. 1.

2. 12.2.2 Conditional Index Jump - XJT,
m,X,A. The contents of index register X are algebraically incremented by A, and if the sign of the

2.13.1 Load Register or Bus

resultant index register contents is found to be the
same as that of A, transfer takes place to the instruc-

LDAE

m,X

(E) -

(AE) external accu-

mulator register

tion following the XJT instruction. If these differ,
transfer takes place to m. A has the same signifi-

(AE) destroyed

cance as described above.
The speCified index register is not used in the effective address determination. If indirect addressing is
used with XJ or XJT, address modification by indexing
does not take place at any level.

LDF

m,X

(E) -

(F) flag register

LDL

m,X

(E) -

(L) location counter

LDT

m,X

(E) -

(T) timer register

LDM

m,X

(E) -

(M) interval interrupt

mask register

index, jump
XJ

m,X,A

(X) + A-(X), -128:s A:s 127
E-(L)

2-22

LDE

m,X

(E) -

(EM) external

interrupt mask register

LDC

m,X

(E) -

(C) console register

LDOB

m,X,R

(E) -

Output bus R where

There are 15 bus addresses, R, which are written
as octal numbers, and eight channel numbers, k

R:s 178

~ through 7).

When indexing is not employed, these

instructions must be written with two commas, e. g.,
"

LDCC

m,X,k

(E O: 31 ) -

(CCRk) channel

LDOB m" 1.0 loads output bus number 8. Note that
LDOB = .0, 3,.0 loads bus zero from index register

control register k

three.
LDCD

m,X,k

(Eo: 15,32)- (CDRk) or
(Fh6: 31, 3S> (CDRk) channel
data register k according to

2. 13.3 The Flag Register

the L bit of channel junction
The sixteen bits of the flag register, F, are moved

register

as a group, although they are set and reset individually by other instructions and machine functions.

2.13.2 Store from Register or Bus

The zero bit of F is not really a flag and cannot be
STAE

m,X

(AE) -

reset; it is always set. Hence, when tested by con-

(E)

ditional instructions, a positive test always results
STF

m,X

(F)

(E)

STL

m,X

(L)

(E)

STT

m,X

(T)

(E)

(see Paragraph 2.12).
Bits F 1:30 are the Z (zero), G (greater than), and
L (less than) flags that are set to the sign of A
after each arithmetic instruction, except the index

STM

m,X

(M)

(E)

STE

m,X

(EM)- (E)

class. For the index class, they are set by the
sign resulting from the index arithmetic operation.
The Boolean connective instructions also set and
reset flag Z. Bit F 4 is V (overflow flag) which

(E)

m,X

(C)

tSTIB

m,X,R

Input Bus R -

tSTCC

m,X,k

(CCRk)

tSTCD

m,X,k

(E o:15 , 32) or
(E 16:31, 33) laccording to the
L bit of channel function

when set. This flag cannot be changed in user

register

mode. (See 3.6.1.). Register bits F8:15 are eight,

STC

remains set, until reset.
(E)

Bit F5 is C (carry flag)

which indicates if a carry from the accumulator
occurred with the last arithmetic instruction.

(E 0:31)

Bit

F 6 is B (busy flag) which indicates whether or not

(CDRk)

the last

I/o instruction was

executed.

Bit F 7 is

E (enable flag), enables the entire interrupt system

general purpose flags available to the programmer
All

I/o instructions plus those that modify the

limiter,

(called flag 1, 2, ... flag 8).

These eight flags

console, mask register are privileged instructions

can be set and reset manually at the computer

and in user mode they are not executed by activate

console.

the internal interrupt number two (see 3.6.1). In a
computer lacking an automatic data channel LDCC

2.13.4 Location Counter

and STCC cause this interrupt in monitor mode as
well.

tPrivileged instructions

The LDL instruction is quite equivalent to the jump
instruction, but there are differences in addressing

2-23

options. Note the following fWlCtionally equivalent

iLDOB, LDCC, LDCD, STIB, STCC, STCD

pairs:

Instructions

LDL
LDL

=m,X
m/,X

J
J*

m,X
m, X to one level of
indirectness

There are no direct equivalents of:
LDL*

m/,X

LDL*

/m,X

LDL*

-m/,X

LDL*

=/m,X

LDL

/m,X

These instructions are treated in the Input/Output
Instructions found in Paragraph 2. 14.3.
2. 14 EXEC Brr INSTRUCTIONS
Every memory word (in core memory and on the
Rapid Access Drum) contains 32 data bits plus two
special bits that are identified as left and right Exec
bits. The left Exec bit (Ed is in position 32, and
the right Exec bit (ER) is in poSition 33, however,

Thus, LDL can jump direct or indirect to addresses

EL is always associated with the left half-word (bits

stored in right half-words. LDL*m,X reaches to one

0:15), and ERwith bits 16:31. EL is used by all sys-

more level of indirectness than does J*m,X. Note
that the Indirect-immediate option is possible (LDL* =

tem programs to designate a relocatable address in

m,X). This differs from LDLm,X only when the con-

word located in core memory. E R operates with the

tents of the effective address m, X specifies indirect

interrupt system to interrupt the computer when an

or index modification.

illegal reference is made to the memory. cell in user

the left half-word. ER is primarily used to protect a

mode. See Paragraph 3.6. 1.
2. 13. 5 Timer

The timer may be read, but not changed in user
mode. The operation is suchthat the contents of

Exec bits are set, reset, and tested respectively by
the three instructions: SEX, REX, TEX. In each

T is decremented. once every millisecond. When (T)

case, the contents, other than EL or ER, of the effective address is ignored. The slash option speci-

reaches zero, internal interrupt number six is activated (see Paragraph 3.6). This interrupt forces the

fies left or right Exec bit; for example, REX m, X

mode into monitor mode and then the T register is

struction sets the Z flag if the specified exec bit is

reloaded by the monitor program.
2. 13.6 Mask Register

resets EL and REX /m,X resets En. The test inset.
2. 14. 1 Exec Bit Controls

The internal mask register (M) and the external mask
register (EM or E) contain 16 bits each, which indi-

SEX m,X

1-

(E'30

set EL

vidually enable interrupt lines. These registers can-

SEX /m,X

1 -

(E33~

set ER

REX m,X

~ -

(E32)

reset EL

REX /m,X

~- (E 33)

reset ER

TEX m,X

(E 32) -

Z flag

test EL

TEX /m,X

(E33) -

Z flag

test ER

not be modified in user mode. See Chapter 3.
2.13.7 Console Register

Instructions LDC and STC are privileged instructions,
and can be performed only in monitor mode. The
contents of this register can be set and reset manually at the computer console.

2-24

2. 14. 2 Accumulator Exec Bits

system conventions, index registers 5, 6, and 7 are
assumed always to contain relocatable address

The accumulator is the only register that accepts

values.

Exec bits. Bit A32 is associated with the EL of a
left half-word loaded from memory. Bit A33 is

2. 15 INPUT/OUTPUT INSTRUCTIONS

associated with the E R of a whole word loaded into
AAF. A32 and A33 are addressed by the above in-

The instructions in this group are:

structions with an effective address of zero.
SFL

=M" k

Set a function line in bankok

The accumulator Exec bits each exist for a specific
purpose. A33 is used when a word is to he moved

TSL

=M, , k

Test a sense line in bank k

with its protection bit Er from one core location to

LDCD

M,X,K

Load channel data register,
channel K (output)

another. The instruction pair, FCAU, FST, moves
all 34 bits from core to core. Similarly, DCAU,
DST is used to move double precision data (and must

STCD

M,X,K

channel K (input)

not be used to move pairs of words of any other type
of data). All arithmetic instructions (except FCAU

Store channel data register,

STCC

M,X,K

and DCAU) and all Boolean instructions that change

Store channel control word,
channel K (input)

the contents of the accumulator reset A33' Any instruction that does not change the contents of the

LDOB

M,X,R

Load output bus R

STill

M,X,R

Store input bus R

accumulator does not alter (A33). Only FST and DST
store (A33) in memory.
The accumulator left Exec bit, A32' is used to preserve the relocation information throughout address
calculations, as follows. The difference of two relocatable address values must be an absolute value;

LDCC and STCC instructions are only available with
the Automatic Data Channel Processor expansion and
once initiated, govern the transfer of data without
further intervention of the central processor.

the sum of such numbers, however, is not defined in
these terms. The sum or difference between an
absolute value and a relocatable one must be relocatable. Therefore, after either of the instructions
AD m/,X and SB m/,X (note: left half option only),
the contents of A32 is the exclusive OR of (E 32) with
the initial (A32)' A32 is located from memory only
by the instructions: FCAU, FCSU, DCAU, DCSU,
CA (left half), and CS (left half). All other arithmetic
and Boolean instructions that change the contents of

Programmed half-word transfer using LDCD and
STCD are available with or without ADCP. In addition, the System Interface Instructions LDOB and
STill provide data transfer between registers of
external devices.
A more complete summary of these instructions is
given in Chapter 4, Paragraphs 4.3 to 4.5.
2.15.1 SFL Instruction (Set Function Line)

the accumulator, reset A 32' All others that do not
change (AAFAD), do not alter A32' Only the instruc-

Immediate addressing must always be used with SFL

tions FST, DST, ST (left half) store A 32 in memory.

instructions. Within this instruction indexing and
indirect addressing may also be used. The effective

A 32 and A 33 are not saved by the Save Register

address, E, is therefore always used as an im-

option. Index registers do not contain bits for holding

mediate operand, whose bit pattern determines the

relocated Exec bits; however, by programming

channel, device, and function required.
2-25

Bits 13-15

The data channel SFL's fall into two broad categories

Byte Size/Count

(1) initialize channel and connect device, or (2) chan00000

Exec bits only

00001

8/1 (i. e., signifies 8 bytes
of 1 bit each)

00002

8/2

always set

00003

16/1

bit 1-3

channel number (0-7)

00004

4/4

bit 4-7

device designation (non-zero byte,

00005

4/1

00006

4/2

00007

4/3

nel clear, disconnect, set/reset ready interrupt, and
set/reset signal interrupt. A non-zero 4-bit byte
(bits 4-7) denotes the former category, whose bit
pattern significance is as follows:
bit

,l:S

1-15)
bit 8

transfer Exec bits if set, omit Exec
bits if reset

bit 9

binary mode if set, BCD if reset

bit 10

start transfer with left half-word

In the second category of data channel functions de-

noted by a zero byte (bits 4-7), bits have the following
significance:

initially if set, right if reset
bit

,l:S

unconditional channel clear

alternate left to right, right to left,

bit 11

bit 1-3

channel number (0-7)

from word half specified by bit 10

bit 4-7

(zero byte)

transfer to memory (input) if set; if

bit 8-10

no significance

bit 11

Reset Channel signal interrupt

bit 12

Set Channel signal interrupt

bit 13

Reset Channel ready interrupt

bit 14

Set Channel ready interrupt

bit 15

Channel disconnect

if set; if reset continue transfers

bit 12

reset, transfer to device (output)
bit 13-15

code for bits per byte/number of
bytes per half-word transferred.

Bits 4-7

Device

01000

Paper Tape Reader

01400

Card Reader

02000

Paper Tape Punch

02400

Card Punch

03000

Typewriter

Each device has a set of SFL's for establishing de-

03400

Line Printer

vice dependent conditions, e. g., on the typewriter -

compatible combinations of channel data functions
may be called with one SFL instruction by setting the
corresponding bits.

type red or type black; on the paper tape reader 04000

2-26

Magnetic Tape

read forward or read reverse; on the paper tape

punch - turn power on or turn power off; and so on.

2.15.3 LDCD, STCD Instructions

Available SFL's are specified in device descriptions,
Paragraph 4. 5 in this manual.

Having connected a device for data transfer, the

The successful completion of the SFL instruction is

STCD instruction.

actual transfer of data is effected by the LDCD or
indicated by the busy (B) flag in the flag register,
which changes to a reset condition after completion.

There must be one of these instructions per halfword transferred. If bit 11 of data channel SFL

2.15.2 TSL Instruction (Test Status Line)

calling for left and right alternate transfer is set,
two instructions per memory location are required.

Immediate addressing is required with TSL instruc-

Since initial and subsequent left/right half positioning

tions; within this restriction, indexing and indirect

is implicit in the SFL call, address specification in

addressing may be used. The effective address E,

this case is identical for both instructions and refers

is therefore always used as an immediate operand,

apparently only to the left half.

whose bit pattern specifies which test is required, on
which device, on which channel. As with SFL in-

The instruction modifier X, *, may be used with both

structions, bit 1-3 specify the channel, and bits 4-7

LDCD and with STCD. The / modifier is irrelevant

the device; with the remaining bits specifying the

and should not be used with either.

test.
The accumulator cannot be accessed directly by an
For the data channel functions the following tests are

STCD or LDCD instruction. (E = 0 or 1 refer to

available.

core location 0 or 1 with LDCD and STCD.)

00001
-00001

Test channel signal
Test channel signal and clear

Example:

The following example reads paper tape, punched in
autoload format, for N words, starting the loading

00002

Test channel parity

at memory location MEMORY. The device SFL
connects the paper tape reader (PTR) to transfer

-00002

Test channel parity and clear

Exec bits, binary mode, starting with left half memory word, alternating left/right/left, etc., reading

00004

Test channel ready

from device to memory, half-words comprising four
4-bit bytes.

With peripherals, device related tests are available.
For example: for card reader, test if the reader is

SFL

=1,,1

ready; test if the reading of the previous card is

conditional disconnect
channel 0, bank 1

complete: for magnetic tape, test if tape movement
has ceased; and so on. The available tests are speci-

SFL

='-1374" 1

connect PTR

JB

*-1

wait until device

fied in device descriptions in Paragraph 4. 6 of this
manual.

connected
The Z flag is set if the result of a TSL is true, reset
is false.

XCS

-N,X

count of N in index
register X

2-27

STCD

MEMORY +

transfer first half-

N,X

word to memory

MEMORY +

transfer second

N,X

half-word to memory

Example
SCI

STCD

,!nterrupt (but do not disconnect)
TED

XJT

*-2,X,1

SFL

Transfer data until ]!ither count is zero

loop until N words

or signal is received, then Qisconnect

transferred

(and interrupt)

disconnect.

=1,,1

.§kip data until gount is zero then

These ADC OP symbols could be used as shown below
to cause the skipping of the first 500 words of a data

2.15.4 LDCC, STCC Instructions

record, then the transfer into memory of either the
remaining portion of the record if there were fewer

Available only with ADCP, these instruction govern

than 1500 words, or of the next 1000 words.

transfer of data according to a data control word of
the form
SFL
ARG(*)

connect device
for transfer to

ADDRSS,X, COUNT

memory
where ADDRSS is the starting address of a block size
given by COUNT, in a manner specified by the * and

JB

*-1

X bits (16-19).

wait until
connected

LDCC

The options implied by bits 16-19 are:

OMIT

initiate skip
action

bit 16 - Transfer data if set, skip if reset (T or S)
bit 17 - Disconnect at end if set, do not disconnect
if not set (D or I)
bit 18 - Skip or transfer until signal (S)

OMIT

bit 19 - Skip or transfer until count complete (C)

READ IN TED

and are summarized mnemonically by one of the

SCI

,,500

ADC OP symbol

START,,1000

definitions

with an interrupt routine containing

following OP symbols: LDCC
TCD, SCD, TCI, SCI, TSD, SSD, TSI, SSI, TED, SED, TEl,

READIN

initiate actual
data transfer

SEI in the formal context:
If a signal, due to the advent of a terminating charac-

OP

2-28

ADDRSS" COUNT

ter or situation (stop code on paper tape, end-of-

record gap on magnetic tape, end-of-card on card

is a request for an arithmetic shift of the A register

reader) precedes the completion of the specified

contents 4 places to the right (equivalent to a division

count, the number of words transmitted can be as-

by 24 ). The same affect is achieved by

certained by performing STCC after interrupt, and
examining the count field.
Transfer of data, one initiated, proceeds automatically under control of the ADCP without the need of

2. 15. 5 LDOB, STIB Instructions
These system interface instructions effect the transfer of 17 bit data (16 bits plus 1 exec bit) from E via
the output buss to the specified external register

4

ASH*

SAM

or by:

central processor intervention.
An interrupt is always generated on the completion
of these ADCP functions.

ASH

where the left half contents of SAM is 4. These are
examples of positive shifts.
With arithmetic shifts, the sign bit

~

is propagated

for right shifts, so that a negative number remains
negative, a positive one positive. Similarly for left
shifts (negative shifts) the sign bit does not change,
and bit 1 is lost for each left shift.

(LDOB), or from the specified external register via
the input buss to the effective address E (STm).

For extended shifts, the sign bit of the AE register
does not change. Therefore, only bits 1-15, 17-31

The X, *, =and / options are available with LDOB,
and X, * and / with STm

are involved. For example,
EASH

-15

2.16 SHIFT, ROTATE AND NORMALIZE
shifts the AE register, considered as an arithmetic

INSTRUCTIONS

quantity, to the A register.
These instructions are available in single or extended precision form. If extended preciSion, the

The Z, G, L and V flags reflect the resultant state

A-AE registers are involved; if single precision,
the A register only.

of the A, or A-AE registers.
Bits in positions 15-E to 15 for ASH right shift or

Each instruction in this group may use the Save
option.
2. 16. 1 Arithmetic Shift

31-E to 31 for EASH right shifts, where E is the
number of shifts, are permanently lost. For left
shifts, the same applies to bits in positions 1 to E
for both ASH and EASH. If a 1 bit is lost in the
latter cases for initially positive value, or a

~

bit

Although = is not written in the first character position of the address field of shifts or rotates, the
immediate mode is .assumed· by the hardware. Thus,

for an initially negative value, the overflow flag is

if N=3, and (X)=1, so that E=4

The nominal effective address is truncated by hard-

ASH

N,X

set.

ware to provide an effective immediate address E
such that -64sEs63.

2-29

The Save option prefix may be used to save (A) in ($A)

2. 16. 2 Rotates

prior to shifting. H indirect addressing is used, the
immediate operator is still implied and the value of E

The contents of the A register for single precision

is taken as the shift count. Actually E is truncated at

or of the A-AE register for extended precision, are
regarded as a bit pattern having no arithmetic signif-

7 bits, and the effective count is:

-64

$

(Eo, 10:15)

$

icance, so that bit .0 and bit 16 for extended preCi-

63.

sion are treated as any other bit.
2.16.1.1 right arithmetic shift
In contrast with arithmetic shifts, no bits are lost:

ASH

m,X

(EO, 10:15) positive
where e = (E 0,10:15) modulo 15
shift (A 1 : 15 ) right bye bits

for Single precision, right-rotation (positive E) the

(Ao> - - (AI:e)
right-most e bits are lost

extended precision rotation, the bit in position 31 is

bit in position 15 is transferred to position .0; the
reverse applies to left (negative) rotation. For
transferred to bit position

.0; the reverse

applies to

left (negative) rotation.
EASH

m,X

where e = (E 0,10:15) modulo 31
shift (AAE 1:15,17:31) right by
e bits
(Ao) -

The save prefix operator may be used, and the same
immediate addressing rules apply as above for shifts.

left most e bits
The flags are unaffected by rotates. For example,

(excluding AAE 16)
right-most e bits are lost
(AAE l d unchanged

EROT

exchanges the contents of the A and AE registers.

2. 16. 1. 2 left arithmetic shift

ASH

m,X

(E 0,10:15 ) negative
where e = (Eo, 10:15) modulo 15
shift (A l : 15 ) left by e bits

.0 -

right most e bits
(A l :e ) lost, V flag set if any
lost bits

where e
EASH

m,X

=

I

16

The rotate instructions are formally summarized as
follows:
rotate, right

(EO, 10:15) positive or negative

or left

for e = (EO, 10:15)

(Ao)
ROT

m,X

(AO: 15 ) -

EROT

m,X

(AAE O: 31 >-

(E 0,10:15) modulo 31

shift (AAE 1:15,17:31 } left by
e bits

(Ae :(15+e)

)
modulo 16

(AAEe :(1+e)

)

modulo 32

.0 -

right most e bits
(excluding AAE 16 )

Normalize

left most e bits lost (excluding
AAE 16 )
V flag set if any lost bits
(A 0)

2-30

I

The specified index register receives a count of
shifts required to normalize the contents of the A
register if single precision is required, or A-AE

registers if extended precision desired. The contents

The normalize instructions are formally summarized

of the accumulator are considered arithmetic, and

as:

the shifts follow the rules of ASH or EASH operations.

Single Precision
The count appearing'in the specified index register is
a positive quantity, so that the two instructions
NRM

~,

ASH

~, 2

NRM

~,x

for

(A)~~,

Arith.Single Prec.

left shift until [Ao] ~ [AI]'
positive count of shifts c -

2

(X).

for (A)=O, 0 - (X).
would leave the A register unchanged, but with the
number of shifts to achieve normalization in index

Extended Precision

register 2.
ENRM

NaTE

The criterion for normalization is that bits !1
and 1 of the A register must be different.

~,x

for (A)~~, Arith. Extend.
Prec. left shift until TAo] ~
[ A I], positive count of shifts
c-(X).
for (AAE)=O, O-(X)

2-31/2-32

CHAPTER 3
PRIORITY INTERRUPT SYSTEM
,searches for any interrupt signals. The order of

3.1 INTRODUCTION

scanning determines the priority of one interrupt conThe 8400 Interrupt System provides a means of inter-

dition relative to another. If an interrupt condition is

rupting a program sequence at the occurrence of some

detected by the scanner, and no higher priority Sig-

event, and executing a routine that corresponds to the

nals were detected, the interrupt logic generates an

event. Conditions both internal and external to the

unique address for that interrupt. At certain pOints

machine can cause interrupts. Hardware is provided

in the instruction cycle, the machine acknowledges

to maintain an assigned priority among the interrupt

the detected interrupt by breaking the program se-

conditions, and to maintain the priority while an inter-

quence, and executing the instruction at the location

rupt routine is in progress.

specified by the interrupt logic.

When the machine is

interrupted, the continuity of the instruction sequence
is preserved, and interrupt routines as small as one
instruction can be used.

The Enable Flag, E, can either enable or disable
all signals from the interrupt registers. When the E
flag is reset (set to zero, disabled, turned off), no

3.2 BASIC OPERATION

interrupt condition can be acknowledged, except upon
power failure, and the program, sequence cannot be

The elements of the interrupt system are as follows:
1.

A 16-bit Internal Interrupt Register with
associated decoding logic and scan circuits.

2.

3.

interrupted. Instructions pertaining to the flags are
discussed in Chapter 2.
The interrupt registers themselves cannot be disabled.

Up to sixteen 16-bit External Interrupt

.An interrupt condition will always set the correspond-

Registers with associated decoding logiC

ing bit in the interrupt register independent of the E

and scan circuits.

flag and the mask bits.

The Enable Flag in the Flag Register denoted by (E).

The interrupt registers

provide a buffer to remember the occurrence of
.~

interrupt conditions until the interrupt logic can ac,knowledge the signal. Depending on the type of inter-

4.

5.

6.

A 16-bit Internal Mask Register denoted

rupt routine used, a bit in the interrupt register is

by (IMR).

reset either automatically when the interrupt condi-

A 16-bit External Mask Register denoted

tion is acknowledged or is reset by program. Figure

by (EMR).

3-1 shows the interrupt register mask configuration.

An additional external mask bit denoted
by (EMB).

3.3

PRIORITY

When an interrupt condition occurs, a bit correspond-

There are two aspects in determining the interrupt

ing to that condition is set in one of the interrupt

priority of specific interrupt requests:

:registers. If the enable flag E and the Mask bit
corresponding to that position in the interrupt regis-

1.

When multiple interrupt conditions occur

ter are set, a signal is gated to the scan circuits. At

simultaneously, which condition will be

various points in the instruction cycle, the scanner

first acknowledged by the system?
/3-1

Table 3-1. Memory Locations (Cont)
ICO SET

Octal

Decimal

Interrupt Name,

45

37

Memory Protect

46
47

38
39

Console

50-57

40-47

Data Channels 0-7

60-77

48-63

External Group

1

100-117

64-79

External Group

2

120-137

80-95

External Group

3

140-157

96-111

External Group

4

160-177

112-127

External Group

5

200-217

128-143

External Group

6

220-237
240-257

144-159
160-175

External Group
External Group

7
8

260-277

176-191

External Group

9

300-317

192-207

External Group 10

320-337

208-223

External Group 11

RESET
ICI SET

RESET
IC2 SET

}

RESET

CONTROL
SIGNALS

ICI5 SET

1.115

L

......!ANd' GATES

FLIP FLOPS IN THE INTERRUPT
REGISTER

:~~} INTERRUPT

CONDITIONS

MO} MASK BITS
1.115
E

}

ENABLE

FLAG

Figure 3-1. Interrupt Register Mask
Enable Configuration

2.

Timer

340-357

224-239

External Group 12

Once an interrupt has been acknowledged,

360-377

240-255

External Group 13

an interrupt routine is in progress, what

400-417

256-271

External Group 14

conditions will cause that routine to be

420-437

272-287

External Group 15

interrupted?

440-457

288-303

External Group 16

Regarding the first, the scan action of the interrupt
detection logic determines which interrupts take pre-

The first 16 interrupts (highest priority) are internal.

cedence over other interrupts. That is, if conditions

All remaining interrupts are called interrupts. The

occur simultaneously, the scan determines which

first 6 interrupts refer in some way to the instruction

will be acknowledged first. This feature of the inter-

sequence. The meaning of all internal interrupts is

rupt system is referred to as hardware priority. The

explained in Paragraphs 3.7.

memory locations associated with the interrupts

Once an interrupt has been acknowledged, there are

reflect the hardware priority. The highest priority

two methods by which a given priority can be main-

interrupt has the lowest memory location as shown in

tained for the duration of the interrupt routine. One

Table 3-1.

method is through the use of the mask registers. By
manipulation of the mask registers, any priority
Table 3 -1. Memory Locations

sequence - not necessarily the same as hardware
priority - can be achieved and maintained. Pr ogrammed

Interrupt Name

Octal

Decimal

40

32

41

33

Data Exec

42

34

Illegal Instruction

43

35

Instruction Exec

44

36

Exponent Fault

. Power Failure/Memory Parity
Error

priority allocation is discussed in Paragraph 3. 5, If
the hardware priority sequence is acceptable to the
user, this priority will be maintained automatically
for the duration of an interrupt routine by the hardward. If certain programming rules are observed.
The automatic maintenance of hardward priority is
discussed in Chapter 4.

3-2

3.4 INTERRUPT CONTROL

A link instruction serves to inform the interrupt system that an interrupt route is being initiated. When

Interrupts can be acknowledged only at certain times
during the instruction sequence:
1.

After gathering of instruction,

2.

After each level of address modification,
and

3.

After the execution of an instruction.

The actual execution of an instruction can never be
interrupted. Also, interrupts can never occur at the
following times:
1.

When executing the first instruction of an
interrupt routine,

2.

3.

After the machine has been halted from
console, and
When the E flag is reset.

the link at the interrupt location is executed, the
system enters a scan-limiting state, and the interrupt condition is not reset. Once in the acknowledged,

but not reset state, the scan is limited so that only
interrupts of higher priority can be acknowledged.
The use of the link instructions, therefore, permit
the hardware priority to be maintained for the duration of an interrupt routine.
The Jump Trigger (JT) instruction is the means by
which a program informs the interrupt system that
an interrupt routine has been completed. If the system is in a scan-limiting state, and a JT instruction
is executed, the system then resets the highest priority interrupt condition that has been acknowledged
but not reset. There are three states for each type
of interrupt.
1.

Idle; no interrupt condition present.

2.

Set; an interrupt condition has set the bit in
the interrupt register, but the condition has

An exception to the above is the po~er failure interrupt which has the highest hardware priority. This
interrupt can occur, independent of its mask bit and
the E flag, during auto load or auto dump and after
the machine has been halted manually.

not yet been acknowledged.
3.

Acknowledged but not reset; a link instruction at the interrupt location was executed,
and no JT instruction has yet been executed.

When an interrupt is acknowledged, the machine is
forced to execute the instruction at the interrupt

The possible states of the interrupt system are shown

location. The interrupt location address is not placed

in Figure 3-2. While an interrupt is in the acknowl-

in the .location counter. The resulting action depends

edged state, no more interrupt of that type can be

on the type of instruction at the interrupt location.

received until the JT instruction is executed. The

The four possible cases are as follows:

bit in the interrupt register remains set until the
JT is executed. If no interrupt is in the acknowledged

1.

Link instructions (L or LR).

state, then JT instructions have no effect on the
interrupt system.

2.

Jump instructions (J, JS, JR, JT, HJ,
XJ, XJT, LDL).

The link JT technique for interrupt routines provides

Execute instruction (EX).

priority without resorting the mask manipulation. An

multi-level interrupt capability with the proper
3.

example of multi-level interrupts is shown in Figure
4.

other instructions.

3-3. For each interrupt routine, the use of the lin
3-3

Note that the resetting of the interrupt is independent
of any flags associated with the JT instruction. For
the instruction JTf, where f is some flag, the following occurs:
OCCURENCE
INTERRUPT
CONDITION

1.

The jump is performed if flag f is true.

2.

Flag f is triggered unconditionally.

3.

The highest priority acknowledged interrupt is reset unconditionally.

EXECUTING A LINK AT
THE INTERRUPT LOCATION

When the instruction executed at the interrupt location
is not a link, the interrupt conditions is automatically

Figure 3-2. Interrupt States

reset. If the instruction is not a jump type instruction
that alters the location counter, the interrupt instruction is then executed as a one-instruction interrupt
routine. The return is made to the interrupted program to insure that no instructions will have been
missed.

If the instruction at the interrupt location is a jump

instruction, the interrupt is automatically reset, and
the jump is executed. Since the location counter is
loaded with a new address, the location counter value
at the time of the interrupt is lost. In this case, it
is impossible to determine by program at which
point the program was interrupted.

INTERRUPT
ROUTINE
WITH PRIORITY
P2>PI

MAIN
PROGRAM

INTERRUPT
ROUTINE
WITH PRIORITY
P3 > P2

Should the instruction at the interrupt location be an
Execute (EX), the resulting action depends on the
object of the Execute instruction. The interrupt condition is reset automatically, independent of the object
instruction unless it is a Link. If multiple Execute
instructions are chained together, the entire chain,
including the object instruction, is non-interruptable .•

Figure 3-3. Multi-LevelInterrupts
Interrupts that refer to machine instructions (interinstruction guarantees that only higher priority inter-

rupts 0-5) are handled in a special way. If one of

rupts can occur while the routine is in progress.

these interrupts is acknowledged either after gather-

When the routine is complete, the use of the JT

ing of instruction or after address modification, the

guarantees that the status of the interrupt system

location counter is incremented by one before the

before the interrupts will be re-established.

instruction at the interrupt location is executed.

3-4

For example, if an illegal instruction at location L

instructions pertaining to the mask bits are the

causes an interrupt after gathering instruction the

following:

following occurs:
m

LDM
1.

Load the Internal Mask Register
"

with a hali-word from memory.

With a link instruction at the interrupt
location, the address L + 1 is stored at
the effective address of the instruction.

m

LDE

Load the External Mask Register
a half-word from memory.

2.

With a non-link, non-jump instruction,

Options:

*, X, /, =

Flags:

none

return would be made to L + 1, after
execution of the one instruction routine.

A personalized interrupt is one in which a transfer

STM

m

Store the contents of the Internal

of control takes place immediately, should the inter-

Mask Register into a hali-word in

rupt condition arise, where immediately means

memory.

following the execution of the instruction currently
being obeyed.

m

STE

Store the contents of the External

Mask Register into a hali-word in
memory.

This is critical for such interrupts as "unvalid
instruction".

On the other hand, other interrupts

cause the transfer of control to take place one in-

Options:

*, X, /

Flags:

none

struction later than this and this is satisfactory for
interrupts generated externally.

SFL

='60, , 0

SFL

=

However, the 8800 interfacy busy interrupt is not
personalized, and so the occurrence of an 8800

'61,,0

Set the external mask bit (EMB)
Reset the external mask bit (EMB)

instruction which causes an 8800 busy interrupt to
occur, causes the interrupt routine to save the
address of the instruction after the one that caused
the interrupt to occur. It is wise therefore for the

The B flag is set following either SFL instruction if
the EMB was set prior to the instruction.

programmer to follow every 8800 interface instruction that can result in an '8800 busy' interrupt, by a

= '60, 00

TSL

Test the external mask bit (EMB)

NOP. If the interrupt occurs the address of the NOP
will be saved, and the interrupt routine can occur
properly.

The Z flag is set following this instruction if the EMB
was set, and the flag is reset if the EMB was not set.

Dynamic priority allocation can be achieved by using

3.5 MASKING

the masks in the following way:
If some priority sequence other than the hardware

priority is needed, masking must be used.

For

1.

Determine for each interrupt condition

those interrupts with individual mask bits, any

which of the others are to have higher or

sequence of priority can be achieved.

lower priority.

The

3-5

2.

During the main program, keep all mask

The Reset Monitor mode instructiop., in addition to

bits set and all interrupts enabled, and

placing the machine in :usermode, also enables the
interrupt system. Once in user mode, the interrupts

perform a JT instruction to release the
machine from its limited-scan control
state.

cannot be disabled. The interrupts can then be disabled only after an interrupt has occurred, and the
machine has been returned to monitor mode.

3.

Store the existing mask registers; then
change the masks so that only bits for in-

Instructions that cannot be executed in user mode are

terrupts of priority greater than the given

called privileged instructions. They are:

interrupt (in the new sequence) are set.
4.

5.

1.

LDT, LDM, LDE, LDC

and execute the interrupt routine.

2.

SFL, TSL

When the interrupt routine is completed,

3.

LDOB, STm

the interrupts should be disabled, the
original masks restored, and the interrupts

4.

LDCD, STCD, LDCC, STCC

5.

HJ

Set the E flag to re-enable the interrupt

again enabled before returning to the point
that was originally interrupted.

3.6 USER/MONITOR MODE AND THE INTERNAL
INTERRUPTS

When one of these instruction is attempted in user
mode, the instruction is not executed, a privileged
instruction flip-flop is set, and an interrupt is generated. The privileged instruction flip-flop can be

3.6.1 User/Monitor Modes

Every 8400 is equipped with a feature to facilitate

tested and reset with the following instructions:
SFL

= '21,,0

Reset Privileged Instructions

TSL

= '21n 0

Test Privileged Instructions

multi-programming and time sharing. 'rhe User/

Monitor mode feature prevents a user program from
interfering with the continuous operation of the computer. In USer mode, any instruction that initiates
input/output operations or modifies the state of certain control register is not executed. In monitor
mode all instructions are permitted.

Other illegal instructions generate this interrupt as
usual, but do not set the Privileged Instruction flipflop.
Since the interrupt system cannot be disabled in user

The monitor mode flip-flop controls the mode of the

mode, instructions that refer to the E flag in the flag

computer. The machine is placed in monitor mode

register are not allowed to change its state. Instruc-

when any interrupt occurs, or by the INITIALIZE

tions of this type are executed, but do not affect the

button from the console. The flip-flop can be reset

E flag, as shown by the following:

and tested by the following instruction:

Instruction
SFL
TSL
3-6

= '65,,0

= '65,,0

Reset Monitor Mode
Test Monitor Mode

Acts Like

JSE

JE

JSNE

JNE

JRE

JE

lns true tion

Acts Like

JRNE

JNE

LRE

LE

LRNE
JTE

LNE

If the voltage level varies beyond a safe limit, a

JE

power failure interrupt is generated. Memory parity

JTNE

JNE

Interrupt Mask:

Does not affect this
interrupt.

is checked whenever the memory is accessed either for normal program execution or for the auto-

In user mode, the LDF instruction does not change

matic data channel operation. Both power failure

the E bit, and the JT instruction has no affect on the

and memory parity error are considered catastrophic.
Restart may be from the beginning of the present job

interrupt system.

or from the last SAVE point in the job. The following instructions are used to determine cause: TSL =

3. 6. 2 Internal Interrupts

'23" 0 for Test Memory Parity Failure, and SFL
Tne internal interrupts are summarized in Figure

=

'23,,0 for Reset Memory Parity Failure.

3-4. The interrupt number represents the bit number for the corresponding bit in the Mask Register.

(1) Interrupt Name:

Data Exec

The lowest number has the highest priority. Each
interrupt is discussed in detail below.

Power failure and memor:y
parity error interrupt.

(0) Interrupt Name:

Interrupt Location:

'41

Internal Mask:

'40000

The Data Exec interrupt is set for any gathering of
Interrupt Location:

o

'40

data in the monitor mode of a word with the left Exec

(POWER FAILURE)+(ANY READ)(MEMORY AIIRITY FAILURE)
(DATA FETCHi(RIGHT EXEC)(USER MODE)HLEFT EXEC)
(MONITOR MODEl]

2

UNSTRUCTION FETCHi(PRIVILEGED INST)(USER MODE)
+ULLEGAL INST)HLDCC+STCC)(NO ADCP~

3

(INSTRUCTION FETCH)(RIGHT EXEC)(USER MODE)

4

EXPONENT OVERFLOW

5

PROT

(USER MODE)(ANY WRITE)(RIGHT EXEC)(MEMORY PROTECT
ENABLE)HMEMORY ACCESS)(ADDRESS OUT OF
MEMORY)

TIMER

TIMER DECREMENTED TO ZERO

6

MEM

7

CONsa.E INTERRUPT BUTTON DEPRESSED

8

DATA
CHNO

9

DATA
CHNI

10
\I

12

OR UNDERFLOW

DATA
CHN2
DATA
CHN3

DATA CHANNEL INTERRUPTS
(SEE CHAPTER 5 FOR DEFINITION OF INTERRUPT
CONDITIONS)

13

14
15

Figure 3-4. Internal Interrupt Conditions

3-7

bit set, or in user mode of a word with the right

(4) Interrupt Name:

ExPonent Fault

Exec bit set.
Interrupt Location:

' 44

Internal Mask:

'04000

Exceptions: TEX, LDCC, LDCD, LDOB.
The cycle of instruction gathering lasts until the effective address has been fully calculated, including

This interrupt is generated by a floating-point expo-

indirect addressing and indexing. Instructions that

nent exceeding the proper range as the result of some

have operands in a memory location given by the ef-

floating-point operation. The proper range for expo-

fective address, have a data gathering cycle that fol-

nents is -128 :s Exp:s 127. Exponent overflow does

lows the instruction gathering cycle. Immediate

not inhibit a floating-point operation.

instructions do not have a data gathering cycle.
(5) Interrupt Name:
(2) Interrupt Name:
Interrupt Location:
Internal Mask:

Memory Protect

Illegal Instruction
Interrupt Location:

'45

Internal Mask:

'02000

'42
'20000
This interrupt results when an instruction tries to

In general, any instruction that is undefined or would
result in stopping machine operation will cause this
interrupt. Immediately after gathering instruction
the interrupt is generated and the instruction is not
executed. The following specific instructions cause
this interrupt:

modify any half-word, full-word, or Exec bit in a
protected area of memory. Specifically, this interrupt occurs on a store instruction, in user mode, if
and only if the right Exec bit is set at the location and
the memory protect mode has been enabled for that
memory bank. The memory protect mode can be enabled and disabled individually for up to four memory
banks. The instructions pertaining to the memory

1.

Undefined OP codes

2.

STCC or LDCC when no Automatic Data
Channel Processor is present

3.

Privileged instructions in user mode

(3) Interrupt Name:

protect mode are the following:
Test

Set

Reset

Bank 1

TSL ='40,,0

SFL = '40, ,0

SFL='41,,0

Bank 2

TSL = '42,,0

SFL ='42,,0

SFL='43,,0

Bank 3

TSL = '44, ,0

SFL = '44,,0

SFL ='45,,0

Bank 4

TSL ='46,,0

SFL = '46, ,0

SFL ='47, ,0

Instruction Exec
The SFL instructions set the B flag if the specified

Interrupt Location:

'43

mode control was set prior to the SFL action. The
TSL instructions set the Z flag if the specified mode

Internal Mask:

' 10000

control was set, and reset the Z flag if the control
was reset.

This interrupt is generated following instruction
gathering in user,. mode if the right Exec bit at the

This interrupt will also occur if memory is refer-

location of the obtained instruction is high. The

enced by an illegal address (for example, an address

instruction is not executed.

out of memory). If an instruction attempts to access

3-8

memory with an illegal address, the memory access

value in the Timer Register, and decrementing pro-

is bypassed, the instruction cycle is completed, and

ceeds from there.

the interrupt is generated.

Console

(7) Interrupt Name:

Timer

(6) Interrupt Name:
Interrupt Location:
Internal Mask:

Interrupt Location:

'47

Internal Mask:

'00400

' 46
'01000
The console interrupt is generated when anyone of

The interval timer is an optional feature on the 8400,

the four console interrupt buttons (CI1-CI4) is de-

and this interrupt cannot occur on those machines

pressed. Each button is buffered with a flip-flop as

without a timer. This interrupt occurs when the

shown in Figure 3-5. Pushing the button sets a cor-

timer is decremented to zero.

responding flip-flop, and generates the interrupt.
An indicator in the button lights when the flip-flop is

The basic element of the timer is the 16-bit Timer

set. The flip-flops can be tested and reset by pro-

Register. The following instructions pertain to the

gram to determine which of the buttons caused the

timer:

interrupt. When the flip-flop is reset, the indicator
light goes out. The instructions related to the con-

m

LDT

Load the Timer Register with a

sole interrupt are listed below:

half-word from memory
TSL

= '25" 0

Test Console - Interrupt 1

half-word in memory.

SFL

='25,,0

Reset Console - Interrupt 1

Options

*, X, /,

TSL '='27,,0

Flags:

none

SFL

~'27"O

Reset Console - Interrupt 2

TSL

='31,,0

Test Console - Interrupt 3

m

STT

Store the Timer Register into a

=

SFL

= '62,,0

Start the timer

TSL

= '62,,0

Test the timer

SFL

= '63,,0

Stop the timer

Test Console - Interrupt 2

The B flag is set following the SFL instructions if the
timer was operating prior to the SFL; the Z flag is
set follOWing the TSL if the timer was operating.
Once the timer is operating, the Timer Register is
decremented every millisecond. Decrementing continues until the timer is stopped with the appropriate
SFL instruction. Note that the timer runs while the
machine is in a manual halt condition. After zero is
reached, the next decrement produces the maximum

Figure 3-5. Console Interrupt Buttons

3-9

SFL

='31,,0

TSL

=

SFL

= '33, , 0

'33, , 0

Reset Console - Interrupt 3
Test Console - Interrupt 4
Reset Console - Interrupt 4

Interrupt

Location

External Mask

(1, 5)

'65

'02000

(1, 6)

'66

'01000

(1, 7)

'67

'00400

(1, 8)

'70

'00200

(1, 9)

'71

'00100

The TSL instructions set the Z flag if the specified

(1, 10)

'72

'00040

flip-flop was set. The SFL instructions set the B

(1, 11)

'73

'00020

flag if the specified flip-flop was set.

(1, 12)

'74

'00010

(1, 13)
(1, 14)

'75

'00004

The JT instruction that resets the bit in the interrupt

'76

register has no affect on the flur flip-flops associated

(1, 15)

'77

'00002
'00001

with the console interrupts. Following a console interrupt, both the interrupt bit and the console flip-flop
must be reset before another console interrupt can be
generated.

For those machines with no more than four data
channels, the interrupts corresponding to channels
4-7 are available as external interrupts. In this
case, lines for these interrupts are available through

(8) - (15) Interrupt Name:
Interrupt Location:

Channel Interrupt
'50 - '57

the system interface. A response line is available
tl}rough the system interface that indicates when the
interrupt has been serviced.
The interrupts are set by a positive transistion in a

Internal Mask:

'00377

Each data channel has. one interrupt. Channel 0
corresponds to location '50, channell to '51, and so

signal. Therefore, either pulse or level Signals can
be used to generate external interrupts.

When a signal on an interrupt line is set, an inter-

forth. When a device is connected to a data channel,

rupt will occur. If the external signal maintains its

interrupts can result from the channel itself, or from

position level, no more interrupts will result from

the connected device. When no device is connected

that signal until it falls and is set again. A positive

to a channel, interrupts can result from those

transition is required for both internal and external

devices on the channel which have been properly

interrupts.

enabled.
3.8 CONSOLE INDICATORS

3.7 EXTERNAL INTERRUPTS
The conditions that cause external interrupts are a.
function of the external equipment tied to the interrupt

The following items pertain to the interrupt system:
1.

The INITIALIZE button on the console sets

lines. There are up to 16 groups of 16 interrupts.

all interrupts in the interrupt registers,

The external mask register pertains only to the first

returns all inter~upts to the idle state, and
resets the console interrupt flip-flops.

external group which is shown below:

Interrupt

3-10

Location

External Mask

(1, 0)

'60

'-00000

(1, 1)

'61

'40000

(1, 2)

'62

'20000

(1, 3)

'63

'10000

(1, 4)

'64

'04000

2.

The INTERNAL INTERRUPT indicator on
the console is lit when any internal interrupt is not in the idle state.

3.

The CHANNEL INTERRUPT indicator on the
console is lit when any channel interrupt is
not in the idle state.

CHAPTER 4
INPUT/OUTPUT SYSTEM
4. 1 INTRODUCTION
The input/output of the 8400 resides in the Exchange
Module which contains the following functional units:
1.

An Exchange Module Central CC5ntroller
(EMCC) with up to 8 bi-directional data
channels for buffered data transfer to a
number of devices.

2.

An Automatic Data Channel Processor
(ADCP) which automates the data channel
operation, provides direct memory access,

EMCC= EXCHANGE MODULE CENTRAL CONTROLLER
ADCP = AUTOMATIC DATA CHANNEL PROCESSOR
5.1. = SYSTEM INTERFACE
K = CHANNEL NUMBER
D = DEVICE NUMBER

and permits simultaneous input/uutput/
compute operations.

3.

Figure 4-1.

A System Interface which permits direct

Exchange Module

data transfer with external data handling
systems.

4. 2. 1 Function

Each peripheral device is provided with a device

The purpose of an 8400 data channel is to facilitate

controller which enables all devices to use the gen-

data transfers to or from peripheral devices with a

eralized data and control interface of the exchange

minimum of programming effort. Byte assembly

module.

and disassembly is provided for handling 4 and 8-bit
bytes. All transfers between memory and a channel

The operators desk, which uses the features of the

are made as 17-bit halfwords (16 data bits and Exec

Exchange Module, is discussed in detail in Chapter 5.

bit), while transfers between the channel and a device
can be in terms of 4, 8 or 16-bit bytes and an Exec

A functional representation of the Exchange Module

bit.

is shown in Figure 4-1.
Character buffering is provided so that character
devices need not have their own external buffer register.
4.2 DATA CHANNELS

Buffering is also provided for control signals

and error indicators so that all external devices can
be programmed and operated in a generalized and

Every 8400 is equipped with at least one data channel
and may be expanded to 8.

consistent manner.

Up to 15 devices can be

connected to each channel, although only one device

Code conversion circuitry is provided so that exter-

can be selected for data transfer at a given time.

nal devices which require a binary coded decimal
4-1

(BCD) code can be IUtndled as well as those that gen-

transferred to a device. During input, this

erate or accept the 8400 internal binary code. On

register holds an assembled half-word

input, the BCD code from a device is converted to.

which is to be stored in memory.

binary code, and on output, the internal binary code
is converted to the device oriented BCD code.

3.

Channel Buffer Register (CBR)

Parity generation and checking logic is provided for

This 8-bit register is the character buffer

4 and 8-bit byte transfers. On output, the parity bit

register to which the selected device is

is generated and sent with the data; on input, a parity

connected. With either 4-bit or 8-bit data

bit is generated and checked against the parity bit

transfers, 8-bit bytes are transferred

received with the data. With binary data transfers,

between the Channel Data Register and the

odd parity is used, and with BCD transfer, even
parity is used.

Channel Buffer Register. Assembly of 4bit bytes into 8-bit bytes, or disassembly
of 8-bit bytes into 4-bit bytes is performed

4.2.2 Structure

in the Channel Buffer Register. Parity

The data channel complex includes the Exchange

checki.ng and code conversion is also done
in conjunction with the Channel Buffer Reg-

Module Central Controller (EMCC) plus up to 8 indi-

ister. With l6-bit data transfers, data is

vidual channels. Associated with the individual data

transferred directly between the Channel

channels are the followi.ng elements:

Data Register and the selected device, bypassing the Channel Buffer Register. No

1.

parity checking or code conversion is pro-

Channel Function Register (CFR)

vided for l6-bit transfers.
This 8-bit register holds a code word which
specifies the type of operation to be per-

4.

Control indicators as follows:

formed on the channel--input or output,
Channel Read'), (CDRY) indicator is true

binary or BCD, 4, 8, or l6-bit bytes, etc.
Details of the Channel Function Register

whenever the Channel Data Register is

format are discussed with the SFL instruc-

ready to transfer a half-word to memory

tions. Associated with the Channel Func-

on input, or accept a half-word from

tion Register is the channel control and
device selection logic which actively con-

memory on output.

nects one device to the channel. It also

Channel Automatic (CHA) indicator is true

prevents the Channel Function Register
from being changed while a cha.nnel opera-

whenever the channel is under control of

tion is in progress.

Details of this indicator are discussed with

the Automatic Data Channel Processor.
the ADCP.

2.

Channel Data Register (CDR)
Channel Parity (CHP) indicator is set

4-2

This l7-bit (16 data bits plus one exec bit)

when either the channel or a selected de-

register represents the interface between

vice detects a parity failure during data

the data channel and memory. For output,

transfer; the indicator is reset by a TSL

the Channel Data Register can be loaded

instruction, or when a new channel opera-

with a half-word from memory to be

tion is initiated.

Channel Signal (CBS) indicator can be set

___

by the selected device on the channel when

!!PI~!....

____

certain conditions on the device exist. The
specific conditions that set CHS are different for each device, and are described in
the section pertaining to devices.
When the Channel Ready Interrupt (CHRI)

DCHB

D

indicator is true, a channel interrupt will

CBRY
CFR

be generated whenever the CHRY indicator

i

becomes true. The CHRI indicator, which
enables the interrupt, can be set by an SFL

T

instruction, and is reset by an SFL instruction.
DEVICE

When the Channel Signal Interrupt (CBSI)
indicator is true, a channel interrupt will
be generated whenever the CBS indicator
becomes true. The CBSI indicator, which
enables the interrupt, can be set by an
SFL instruction, and is reset by an SFL

COR=CHANNEL DATA REGISTER
CBR-QlANNEL BUFFER REGISlER
CFR=CHANNEL FUNCTION REGISTER
CHRY=CHANNEL READY
CHRI = CHANNEL READY INTERRUPT
CHSI = CHANNEL SIGNAL INTERRUPT
CHA CHANNEL AUTOMATIC
CHS CHANNEL SIGNAL
CHP= CHANNEL PARITY
CHD = CHANNEL DISCONNECT
CHB= CHANNEL BUSY
CBRY= CHANNEL BUFFER REGISTER READY

=
=

instruction.
Figure 4-2. The Elements of a Data Channel
Channel Disconnect (CHD) control is used

to implement the conditional disconnect
action.

The CHD control indicator is set

EMCC is an Exchange Assembly Register (EAR)
which serves the following purposes:

by an SFL instruction and reset when a new
channel operation is initiated. Disconnect

1.

All accesses to the Channel Data Registers

procedures are discussed with the SFL

are made through the Exchange Assembly

instructions.

Register. The Exchange Assembly Register acts as an intermediate buffer on all

A block diagram of a data channel is shown in Fig-

transfers between memory and the Channel

ure 4-2.

Data Register.

The Exchange Module Central Controller (EMCC) is

2.

With 4 or 8-bit byte operations, the as-

shared by all the data channels in the Exchange

sembly or disassembly of 8-bit bytes is

Module. The EMCC is available to only one channel

performed in the Exchange Assembly

at a time. A scan mechanism searches for activity
on the channels. When a request for EMCC action is

Register. The Excha.nge Assembly Register, therefore, also acts like an inter-

detected, the scan locks on the particular channel.

mediate buffer on all transfers between

When the required transfers are complete, the EMCC

the Channel Data Register and the Channel

is released and the scan continues. Included in the

Buffer Register.

4-3

3.

During 16-bit operations, the Exchange Assembly Register also is a buffer between

The SFL i.nstructions related to the data channels are
as shown on Figure 4-3.

the Channel Data Register and the selected
device. On output, when the device is
ready, data is transferred from the Chan-

device will be executed only if the channel is idle,

nel Data Register through the Exchange

and no device is already connected to the channel. If

Assembly Register to the device. Simi-

a device is already connected, the SFL will be re-

larly, on input, data from the device goes

jected and the B flag set. When the channel is not

through the Exchange Assembly Register

busy, the SFL performs three functions:

The SFL instruction for initialize channel/connect

to the Channel Data Register.
1.

Device D is logically connected to the

4.2. 3 Instructions

channel, and is initialized for data transfer.

Instructions required to use the data channels are

2.

All channel registers and indicators (ex-

described below:

cept for CHRI and CHSI) are reset to initial
conditions.

SFL

=M"l

Set a Function Line in bank
The Channel Function Register (CFR) is

3.

1 as defined by the effective

loaded with the 8 least sig.nificant bits of

address.

SFL address which specify the operation
TSL

=M"l

Test a Sense Line in bank

to be performed. These bits in the SFL

1 as defined by the effective
address.

address have the following meaning:
Bits

Options:

*

Flags

B for SFL instructions

E

Value

Operation

1

Exec bit transfer

o

No exec bit transfer

1

Binary transfer without code con-

Z for TSL instructions
B

There are four banks associated with TSL and SFL

version

instructions. The data channels are considered
bank 1, and any SFL or TSL instructions which refer

o

BCD transfer with code conversion

to the data channels or devices connected to the
channels should use the ba.nk 1 deSignation.

L

1

Left half for half-word transfers to

or from memory
Immediate addressing always must be used with all
SFL and TSL instructions. Indirect addressing and

0

indexing may also be used if desired.
The B flag is set following an SFL instruction if the

Right half for half-word transfers to
or from memory

specified function could not be performed; the B flag

The L bit of the CFR is to be complemented after each half-word

will be reset if the specified function was performed.
The Z flag is set following a TSL instruction if the

transfer to or from memory is com-

A

1

pleted

specified sense line or indicator was true; the Z flag
will be reset if the specified sense line is not true.

4-4

0

The L bit is not to be complemented

Bits
I

N

The SFL Channel Clear instruction is an unconditional

Operation

Value

command; this instruction will disconnect the selected

1

Input operation

0

Output operation

0

Transfer E bits only

1

Transfer 8-bit bytes, one per half-

device and terminate any current operation, regardless of the state of the current operation.

devices connected to the channel will be reset.
whether or not the device was selected when the SFL

word

word

This instruction is similar to the

console initialize control, but it affects only one data
connect command is properly used, the unconditional
disconnect need not be used except in error routines.
Care should be exercised in the use of this instruc-

Transfer 4-bit bytes, four per half-

3

was executed.

channel, rather than all channels. If conditional dis-

Transfer 8-bit bytes, two per half-

2

All chan-

nel indicators will be reset, and all indicators· on

tion to avoid interfering with valid channel operations.

word
The SFL Disconnect instruction sets the CHD control
4

Transfer 4-bit bytes, four per half-

indicator in the channel.

The CHD indicator being

word

set causes a disconnect action which is conditional
on the state of the channel as follows:

Transfer 4-bit bytes, one per half-

5

word

1.

If an output operation is in progress (I

= 0),

then the device will be disconnected when
6

Transfer 4-bit bytes, two per half-

the channel is ready (CHRY = 1). This

word

feature permits the channel to complete
the transfer of. its current half-word be-

Transfer 4-bit bytes, three per half-

7

fore disconnecting the device.

word
Details of the byte assembly/disassembly are discussed later. None of the remaining SFL instructions

= 0) and
an input operation is in progress (I = 1),

are ever rejected.

then the device will be disconnected im-

2.

If the ADCP is not in control (CIlA

mediately when CHD gets set.
EFFECTIVE ADDRESS

FUNCTION
INITIALIZE CHANNELl
CONNECT DEVICE

III K I D

CHANNEL CLEAR

I

CHANNEL DISCONNECT
SET CHANNEL READY
INTERRUPT (CHRI)
RESET CHANNEL READY
INTERRUPT (CHRll
SET CHANNEL SIGNAL
INTERRUPT (CHSt)
RESET CHANNEL SIGNAL
INTERRUPT (CHSII

IEIBIYAlII :N:

I

II 10000 Ixlxl~~xI3xjxl

pi

10000Ixlxl~+0xl'l

K

101 K 10000 IxlxlXl~xl~ II~
@K 10000 Ixlxl3xIXI I Ixlxl
@ loooolxlxlifl'13x!X1
pi K 10000 ~lx~II l~xlXlXI
K

01

34

7891011121514111

WHERE' K = CHANNEL NUMBER 0-7
D

= DEVICE

NUMBER

3.

If the ADCP is in control (CIlA

K

1-15

x= cp UNLESS COMBINED

OPERATIONS NEEDED

= 1), and
= 1),

an input operation is in progress (I

then the device will be disconnected immediately after the next transfer into
memory.

This feature permits the use of

SFL disconnect to terminate an ADCP operation in the middle of a block transfer
without lOSing a completely assembled
half-word.

The data transfer operation

can be resumed and completed later. provided that the channel control word is

Figure 4-3. Data Channel SFL Instructions

saved (using an STCC instruction).

4-5

The TSL instructions related to the data channels are
shown

OQ

FUNCTION
EFFECTIVE 4DDRESS
TEST CHANNEL SIGNALlCHSllOI K foooFlxl*lxFI~11

Figure 4-4.

III

The Z flag is set following a TSL instruction if the

~1lAtN(~H~AR CHANNEL

specified indicator is true, and reset if the indicator

TEST CHANNEL

is not true.

~,.¢N~H~~EAR CHANNEL III K lOoooElxMXFlxl'l~

PARITY

K lOoooFFlflxlxlxl'l

(CHP) 101 K 10 00 oElxHX§§I, H

TEST CHANNEL REAOY(CHRYllOI K pooo\x~I+HpClXj
The instructions pertaining to the Channel Data
Register are the following:

TEST CHANNEL AUTOMATIC 101 K lOooOlXlx\XIxlllXlxlxl
(CHAI
0 I
54
71
III

LDCD

WHERE'K = CHANNEL NUMBER 0-7
X = ¢ UNLESS COMBINED OPERATIONS NEEOED
M"K

Load the Channel Data
Register in channel K with

Figure 4-4. Data Channel TSL Instructions

a half-word at the effective
address. The L bit in the

4.2.4

Programming

Channel Function Register
in the channel determines
whether the right half or
left half of the word at the

The various modes of data transfer which can be
achieved with the data channel are as follows:
1.

effective address will be

Program controlled data transfer without
interrupts.

used.
2.
STCD

M"K

Store the contents of the
Channel Data Register in

Pragram controlled data transfer using
interrupts.

3.

Autamatic data channel transfers.

4.

Auto load or auto dump operations.

channel K into the halfword at the effective address.

The L bit in the

Channel Function Register

Auto. load and auto dump operations are discussed

determines whether to

under console operatians.

store into the right half or

operatians are discussed in Paragraph 4. 3.

Automatic data channel

left half.
In program controlled operations, data is transferred
Cha.nnel:

K

Options:

*

= channel number

0-7

between memory and a data channel by executing
LDCD or STCD instructions.
The general sequence of instructions required for

Flags:

None

program controlled transfers without interrupts is the
following:

For both LDCD and STCD instructions, the computer
waits for CDRY to be true before executing the transfer.

will be executed.

Initialize the channel and connect a device
with an appropriate SFL instruction.

If a given Data Channel is under ADCP control

(CRA is true), no instruction to that Data Channel

4-6

1.

2.

Test the B flag to make sure the channel
command was nat rejected.

3.

4.

Transfer half-words to or from the data

The basic programming sequences are illustrated in

channel using LDCD or STCD instructions.

Figure 4-5.

Test channel or device conditions using
appropriate TSL instructions.

4.2.5

Byte Assembly/Disassembly

The Exchange Assembly Register (EAR) handles the
5.

Terminate the operation and disconnect

assembly of 8-bit bytes into half-words on input. and

the device with a SFL disconnect instruc-

the disassembly of half-words into 8-bit bytes on

tion.

output. When the exec bit is transferred with a halfword, it is treated like an additional 8-bit byte dur-

Since LDCD and STCD instructions are not executed

ing assembly or disassembly. The Channel Buffer

until the channel is ready (CHRY

Register handles the assembly of 4-bit bytes into

=

1), no special

timing considerations are required to transfer the

8-bit bytes on input. and the disassembly of 8-bit

data. The transfer i.nstructions will be executed at

bytes into 4-bit bytes on output.

a rate determined by the speed of the selected device.
For relatively slow peripheral devices, this method
of data transfer can be inefficient.

All possible variations for byte size/byte count are
shown in Figure 4-6. Note that bytes are right
justified and left precedent within the half-word.

The use of the channel interrupt capability frees the
processor for other tasks during the time that the

That is, the left most byte to be transferred will always be transferred first. The numbers in the

data channel is not ready for a transfer to or from

figure refer to the order of bytes transferred to or

memory. The general sequence of instructions

from the device.

required to achieve program-controlled output with
interrupts is the following:
1.

Initialize the channel and connect a device
with an appropriate SFL instruction; test
the B flag to assure that the SFL was accepted.

2.

Set C HR.I to enable a channel ready interrupt and proceed with processing task.
Note steps 1 and 2 may be inter-changed
if desired.

3.

When the channel interrupt occurs due to
the channel becomi.ng ready. transfer a
half-word to or from the channel with an
LDCD or STCD instruction. If more
transfers are needed, return to the
processing task.

4.

Repeat the interrupt procedure until all

WITHOUT INTERRUPTS

WITH INTERRUPTS

data is transferred; then execute an SFL
channel disconnect to terminate the process.

Figure 4-5. Program-Controlled Data Transfer

4-7

~

£.=..L

~J TRANSFER [I
o I

BITS

tion is completed or intervention by the processor.

Q
n

1
2
1
1
1 I
1
N=1 TRANSFER B BIT BYffs!- I PER HALFWORD

01213J
011121
N=2 TRANSFER 8 BIT BYTES -2 PER HALFWORD

8

8

0

1
2
N=3 TRANSFER 16 BIT BYTES

JRANlFEJ

When referring to separate memory banks, the ADCP
and processor operate at full speed without interaction from one another. Concurrent requests from
the ADCP and the processor to the same memory

12 1 3 1 4 1 5 1
0
11 1 2 1 3 1 4
N=4 TRANSFER 4 BIT BYTES-4 PER HALFWORD

[~lJ
8

data transfer continues autonomously until the opera-

~ LJ~~L bLJwJ~
D
1
D

bank are handled on a cycle stealing baSiS, with the
ADCP having priority. The presence of the ADCP
option does not preclude program controlled operations on a data channel.

111 2 1 3 1
111112
N=6 TRANSFER 4 BIT BYTES-2 PER HALFWORD

~N- ~

12 1 3 14
11 1 1 2 1 3
TRANSFER 4 BIT BYTES-3 PER HAL.FWORD

BYTE SIZE / BYTE COUNT VARIATION
N =BYTE SIZE / BYTE COUNT FIELD OF THE
CHANNEL FUNCTION REGISTER

Figure 4-6. Byte Size/Byte Count Variation

4. 3. 2

Structure

The ADCP involves the following elements:
1.

One 32-bit Channel Control Register (CCR)
for each channel. These registers are
arranged in a high speed integrated circuit.

All bits to the left of the first byte transferred will
be set to zero on input, and ignored on output.

2.

A 32-bit Exchange Control Register (ECR)
which holds the control word for the opera-

4.2.6 Code Conversion

tion currently in progress. All accesses to
the CCR stack are made through ECR.

The code conversion controlled by the B bit in the
Channel Function Register, converts binary to BCD
on output, and BCD to binary on input.

The charac-

3.

Direct data and control busses between
the Exchange Module and memory.

ters of the 8400 character set and the corresponding
binary and BCD codes are shown in the Appendixes.
4.
4.3

AUTOMATIC DATA CHANNEL PROCESSOR

One Channel Automatic Indicator (CHA)
for each channel. The CHA is set whenever the CCR is loaded with a new com-

4. 3. 1

Function

mand and reset whenever the channel is
cleared or disconnected.

The Automatic Data Channel Processor (ADCP) is
an optional expansion to the Exchange Module. This
feature permits automatic transfer of data blocks,
direct access to memory from the Exchange Module,
as well as simultaneous program execution and data
transfer.

4.3.3

Control Words

The contents of the Channel Control Register (CCR)
specifies the type of data transfer operation to be
performed. In general, data is transferred to or from
consecutive memory locations starting at some speci-

The ADCP, using its own set of control words, per-

fied location M. The length of the block to be transferred

mits data transfer, independent of the processor,

is controlled either by a count decrementing to zero,

between memory and an external device. Once an

or by the receipt of a signal in the data. The format

automatic data channel operation is initiated, the

of the Channel Control word is shown in Figure 4-7.

4-8

Table 4-1. OP Codes (Cont)
c

M FIELD

Mnemonic

Binary

OP-Code

OP-Code

SSD

where

0110

Function
Skip until signal is received,
then disconnect and

M

address of the first memory location involved in the transfer

OP

operation code which specifies how to
transfer the data, and how to terminate the
operation

C

count specifying the number of memory
locations involved in the transfer.

interrupt.
TSI

1010

received, then interrupt.
S81

0010

Skip until signal is received
and then interrupt.

Figure 4-7. Channel Control Word Format
For symbolic assembly purposes, the 32-bit control

Transfer until signal is

TED

1111

Tra.nsfer until either count
is zero, or signal is re-

word for the Channel Control Register is expressed

ceived, then disconnect and

as:

il!terrupt.
OP

M"C

SED

0111

Skip until either count is
zero, or signal is received,

The OP codes and their meaning are listed below:

then disconnect and interrupt
Table 4-1. OP Codes
TEl
Mnemonic

Binary

OP-Code

OP-Code

TCD

1101

1011

ceived, then interrupt.

Function
Transfer until count is

SEI

0011

zero, then disconnect and

0101

Skip until either count is
zero, or signal is received,

interrupt.
SCD

Transfer until either count
is zero, or signal is re-

then interrupt.

Skip until count is zero,

Note that an interrupt is generated following all

then disconnect and

ADCP operations.

interrupt.
TCI

1001

Transfer until count is
zero, then interrupt.

SCI

0001

The skip operation is useful for passing over a
block of data on input without tra.nsferring any information.

Skip until count is zero,
then interrupt.

The count refers to the number of memory locations
involved in the operation. If an alternate mode is

TSD

1110

Transfer until signal is

used, then two half-word transfers constitute a count

received, then disconnect

of one. If non-alternate mode is used, then each

and interrupt.

half-word transfer corresponds to a count of one.

4-9

The signal refers to those conditions appropriate to

code conversion/no code conversion

the selected device that would set the signal flip flop

left half first/right half first

(CHS) in the channel.

alternate/no alternate
to memory/from memory

The Channel Control Register is loaded with a control word using the instruction

byte size
byte count

LDCC

M"K

The Channel Control Register is loaded with an LDCC
instruction which also sets the Channel Automatic

where

Indicator. Once the channel is initialized and Channel
Automatic Indicator is set, the channel operation is

K

channel number 0-7

under ADCP control and the processor is no longer

M

location in core memory of the 32-bit control

required.
word to be loaded into the CCR.

The LDCC instruction can either precede or follow the
SFL instruction for channel initialization. Before

The contents of the Channel Control Register can be

.initiating a new ADCP operation it is important to

stored using the instruction

check that the channel is not busy on a previous ADCP
request. An appropriate instruction sequence is as

STCC

M"K

where
K

follows:
SFL
JB

=CFCODE" 1
=*-1

= channel number 0-7
LDCC =CCWORD" K

INIT CHANNEL
TEST IF CHANNEL
BUSY
LOAD CCR

location in core memory in which the 32 bits

M

of the CCR should be stored.
4.3. 4 Operation

An alternate sequence is as follows:

TSL
JZ
LDCC

Initiating an ADCP operation on a data channel in-

SFL

=CHA"l
*-1
CCWORD, , K
=CFCODE, , 1

TEST AUTOMATIC
WAIT IF CHA SET
LOAD CCR
INIT CHANNEL

volves two steps:
Once the Channel Automatic Indicator is set and the
1.

Initializing the channel and connecting a

channel is initialized, all transfers to/from memory

device

are under ADCP control. The instructions LDCD and
STCD cannot be executed by the processor when the

2.

Loading the Channel Control Register with

Channel Automatic Indicator is set.

a control word.
If the transfer is in non-alternate mode, the M field

Channel initialization is performed by the channel

is incremented and the C field decremented after

SFL instruction which specifies the following:

every transfer to/from memory. If the transfer is in
alternate mode, the M field is incremented and the C
field decremented after every second transfer to/from
memory, independent of the initial L/R bit in the
Channel Function Register.

channel number
device number
exec bits/no exec bits

4-10

The Channel Control Register is updated immediately
following the transfer to or from memory. The se-

7.

Depressing AUTO DUMP pushbutton on the
console.

quence of operations is summarized in Figure 4-8.
When an operation is terminated, the Channel Control
ADCP OPERATION INITIATED
IS C '" 0 ?

the operation was completed. The STCC instruction

YES

can be used following an ADCP operation to examine
the contents of Channel Control Register. Note that

TRANSFER HALFWORD
ALT-ERNATE MODE?

NO

~~0:J
M-M+I

C-C-I
DISCONNECT AND
GENERATE INTERRUPT
C
M

= COUNT
= MEMORY

Register is not changed; it remains as it was when

when reading, there is a half-word uncertainty--as
measured by the remaining count in Channel Control
Register--as to how many words were transferred
to memory.
On termination, if disconnect was specified, the

~

Channel Disconnect (CRD) flip-flop is set. The data
channel and device are disconnected after the current

ADDRESS

half-word transfer is complete. For details on the
disconnect action, refer to the section on operation

Figure 4-8. ADCP Action jor a TCD Operation

of the Exchange Module.

Note that if a device is selected to read or write, and

If an SFL for conditional disconnect is executed dur-

an ADCP count operation is started with the count

ing an ADCP input operation, the operation is stopped

zero, a record of information could be skipped on the

after the next complete half-word transfer. If an

external device. Care should be exercised in ini-

SFL for channel clear is executed, the ADCP opera-

tiating operations with the count zero.

tion is terminated immediately and all channel indicators are reset.

An ADCPoperation can be terminated in several ways:

1.

The count in the Channel Control Register

Note, that after reading data with a TCI and TCD

reaching zero while a count operation is in

operation, the SFL conditional disconnect waits for

progress.

the next transfer before disconnecting the device. If
no further data is to be transferred to the channel,

2.

A signal being detected in the data while a

an SFL channel clear must be used to disconnect.

signal operation is in progress.
3.

The processor executing an SFL instruc-

4.4 SYSTEM INTERFACE

tion for channel disconnect.
4.4.1 Function
4.

The processor executing an SFL instruction for channel clear.

5.

DepreSSing INITIALIZE pushbutton on
console.

The System Interface is designed for general communication to or from external devices where the
function of the data channel is not required nor appropriate. Means are provided for direct data trans-

6.

Depressing AUTO LOAD pushbutton on the

fer between the processor and the registers of ex-

console.

ternal devices. The capability for testing Signals

4-11

and setting conditions on external devices is also

and 7 are accessible through the interface. For

provided. This interface facilitates direct computer
control with a variety of system configurations.

machines with more than four data channels, these
interrupt lines are not available for use with the system interface.

4. 4. 2 Structure
All operations with the system interface operate on
The elements of the system interface are the follow-

an asynchronous request/response/release basis with

ing:

the external device. The general sequence of events
during one operation is as follows:
1.

A 17-bit data output buss
1.

2.

A 17 -bit data input buss

3.

A 4-bit address field R

4.

Up to 256 external interrupt lines

5.

Command and control lines

6.

The outputs from four system control but-

The processor generates a request signal
(input or output command) signal to the selected device, as defined by the address
steering field "R".

2.

The external device addressed by the request raises a ready signal when it is prepared to transfer or receive data.

3.

A transfer complete signal is generated by
the computer when the data is ready to

tons (SCl-SC4) on the operator's console.

transmit on output, or after the data has
been received on input.

The 17 bits (16 data plus 1 exec) of the output buss
can be directed to any of 16 external registers as defined by the address field R. The output buss also

4.

The device resets the ready signal when it

transfers the address field of SFL and TSL instruc-

has completed the transfer, and releases

tions to external devices.

the computer from the current operation.

The input buss can receive data from any of 16 ex-

The output control lines associated with the system

ternal registers as specified by the address field R.

interface are listed below. The signals on these
lines, generated by the computer, inform the exter-

Details of the external interrupts are discussed with

nal devices about the operation in progress.

the interrupt system in Chapter 3.
Table 4-2. System Interface Output Control Lines
The outputs from the system control buttons are provided to enable operator control of external devices

Output
Line

Meaning

from the console. The system control buttons are

LOOB

Load output buss operation

latching switches. When the button is depressed,
the output line is high (+ 5 volts); when the button is

STIB
SFL2

Store input buss operation

SFL3

SFL operation in bank 3

TSL2

TSL operation in bank 2

TSL3

TSL operation in bank 3

TCS

Transfer complete strobe. (This signal
is set when data is ready for output, or
has been received on input. )

released, the output line is low (ground).
Provision is also made for four internal interrupt
lines on the system interface. For those machines
with no more than four data channels, the internal
interrupt lines corresponding to channels 4, 5, 6,
4-12

SFL operation in bank 2

The input control lines are listed below. The sig-

buss and appropriate control signals

nals on these lines, generated by external devices,

are set to indicate a TSL instruction

are in response to the output control signals.

in Bank B.

Table 4-3. System Interface Input Control Lines

Banks:

B

Input
Line

Options:

*

Flags:

The Z flag is set if the selected line is

2 or 3 for the system interface

Meaning

SBY2

B flag response for bank 2 SFL's

SBY3

B flag response for bank 3 SFL's

SZE2

Z flag response for bank 2 TSL!s

SZE3

Z flag response for bank 3 TSL's

SRDY

System Ready. (This signal is set when
the device is ready to transmit or receive information, and reset when the
operation is complete. )

set (binary 1). If multiple lines are addressed, the Z flag is set if any of the
selected lines are high.
There are no restrictions on the use of address fields
for either SFL or TSL instructions in Bank 2 or 3.
External decoding logic can be added to the system

The SRDY signal must be reset by the external device before the computer will be released and allowed
to proceed. The execution time, therefore, of all
instructions pertaining to the system interface depends on the speed of the external device addressed

interface to permit selection of up to 2 16 line for
each bank. Note, however, that EAI standard System Interface Expansion codes have been allocated to
ensure satisfactory field expansion of a system and
programming compatibility.

by the instruction.
LOOB

M" R

Load external register R on the

4.4.3 SFL/TSL Instructions

Output Buss with the contents of
memory location M.

SFL = M, ,B

Set Function Line in bank B. The
effective address is transferred
over the 16 data lines of the output

STIB

M, ,R

Store the contents of external register R on the Input Buss into memory

buss, and appropriate control sig-

location M.

nals are set to indicate an SFL instruction in Bank B.
Registers: R

0, 1, 2 ...... , 15

2 or 3 for the system interface

Banks:

B

Options:

*

Flags:

The B flag is set if the selected line (or

Options:

*, =, /

Flags:

None

lines) is already set, or if some conditions prevent the setting of the selected
line (or lines).

If more than 16 external registers are to be used,

an external address buffer can be added to the interface.

TSL "" M, , B

LOOB and STIB instructions could then be

Test Sense Line in bank B. The

preceded by an SFL instruction to set up the exter-

effective address is transferred

nal address buffer. Standard EAI modules in this

over the 16 data lines of the output

area (such as I/O Buss Controllers) are available.
4-13

4. 5 PERIPHERAL DEVICES

The typewriter transmits and receives data characters in BCD mode. The data channel makes the re-

4. 5. 1 Typewriter

quired code conversion from BCD code to internal
8400 code on input, and vice versa on output. Details

The 8400 desk typewriter is a 132 column IBM Selec-

of the code conversion are also discussed in Appen-

tric. The typewriter can be connected to the data

dix 5.

channel as an input or an output device, or it can be
used for entering data directly into the computer reg-

H byte size 4 mode is used, only the 4 least signifi-

isters. Details. of the latter capability are discussed
with console operations, Chapter 5. Parity is checked

cant bits per character are transferred. In this
mode, however, parity may not be correct.

on both input and output. The maximum data rate is
15 characters per second.

4. 5. 1. 2 Programming. The general sequence
of instructions required to transfer data to or from

A Typewriter Ready indicator on the console is lit

the typewriter is the following:

when the typewriter is connected to the channel and
waiting for input.

1.

Initialize the channel and connect the device with a channel SFL instruction. The

The typewriter keyboard and the corresponding char-

SFL code should specify BCD mode to

acter octal codes are shown in Figure 4-9.

achieve proper code conversion.

4. 5. 1. 1 Data Format. The typewriter trans-

2.

Test busy to assure that the channel in-

mits and receives two types of information: data

struction was accepted by the Exchange

characters and control characters. The data char-

Module.

acters are the 64 members of the EAI 8400 character
set. Control characters on the typewriter are the

3.

following:

struction.

carriage return

4.

tab

5.

Transfer data.
Disconnect the typewriter with a channel
SFL instruction.

backspace
upper case shift

Select ribbon color with a device SFL in-

The ribbon color can be selected by an SFL instruction with the address field shown in Figure 4-12.

lower case shift
The SFL instruction for ribbon control can be issued
index

any time, where the device is active or not; these
instructions are never rejected. Black is considered

Eight lines are used to transfer information to or
from the typewriter--6 data lines, 1 control line, and

the normal color. The ribbon color will be set to
black when any of the following occur:

1 parity line. The parity bit is used by the data
.channel, and this bit never appears in core memory.

1.

Channel Clear SFL is executed

Refer to Figure 4-10. The control line is high for all
control characters, and low for all data characters.

2.

Console Initialize

The position of a typewriter character in an 8-bit byte

3.

Auto Load

in core memory is shown in Figure 4-11.

4.

Auto Dump

4-14

60

Figure 4-9. Typewriter Keyboard

o

2

3

4

5

6

1

FUNCTION

DATA
SET REO

C

K

DEV

0

I 2 3

456 1

B 9 10 II 121314 15

0

000

o
o

XXXXXXO I

SET BLACK 0 000

TYPEWRITER

P
C
X
X

= PARITY

DATA

P

BIT

L

I 10 XXXXXXIO
I I 0

K

channel number 0-7

D

device number 1-15

x

"don It care" positions

= CONTROL BIT
=0 ON INPUT
= DON'T CARE ON OUTPUT

Figure 4-10. Connection of Typewriter
to the Channel Buffer Register

Figure 4-12. Typewriter SFL Codes
No TSL instructions are associated with the typewriter.

I

x

I

c

o

Parity can be tested using the channel parity

indicator. The channel signal indicator will be set in
two situations:
1.

where:

During input when a carriage return is
typed. The occurrence of channel signal
on input will always terminate the current

D

6 data bits

word assembly permitting transfer of the

c

1 for control characters

(possibly incomplete) half-word into

c

o for data characters
o following input (forced by hardware)

memory.

x

(X is ignored on output)

2.

During output if the typewriter printing
mechanism fails to respond to an output

Figure 4-11.. Typewriter Character
Position in Memory

character within a preset amount of time
(approximately 110 msec).
4-15

4. 5.2 Card Reader (Models 8452, 8453, and
8454)

Reset

This switch, when pressed, clears
the error indicators.

The card reader is an input device which reads
punched cards. All models can handle either 51 or

start

80 column cards. In addition, some units can handle
60 and 66 column cards.

This switch, when pressed, resets
the Not Ready indicator and permits
the reader to be put on line for data

The Model 8452 Card

transfer.

Reader reads 400 cards per minute (cpm), the
Model 8453 reads 800 cpm, and the Model 8454 reads
1400 cpm. All models provide read-check circuits
and validity-checking apparatus; the models are in-

Stop

This switch, when pressed, places the
reader in a Not Ready condition.

terchangeable and can be programmed and operated
4.5.2.2 Data Format.

in the same way.

In general, cards have

80 columns and 12 rows. The card reader is capa4.5.2.1 OPerator Controls and Indicators. The

following switches and indicators are located on the
control panel of the card reader:

ble of reading two types of cards: Hollerith cards
and binary cards. Hollerith cards have one alphanumeric character per column, and each character
is expressed in a 12-bit Hollerith code. The Hollerith

Power On

This switch when pressed, applies
power to the card reader.

code for the EAr 8400 character set is shown in Figure 4-13. When reading Hollerith cards, the card
reader translates the 12-bit card code into a 6-bit

Power Off

This switch, when pressed turns
off the card reader,

BCD code. By using the BCD mode in the data channel, the BCD code is automatically converted to internal 8400 binary codes. Cards will be read as

Not Ready

This indicator is lit whenever the
reader is not ready. The ready
condition is defined under program indicators.

Hollerith cards when the data channel is selected in
BCD mode. The validity checking in the reader per-

tains to Hollerith cards only; the reader checks that
the 12-bit character punched on the card is a legal
Hollerith character.

Feed Check This indicator is lit whenever a
jam occurs in the card feeding
mechanism.

Binary cards are read as two 6-bit binary characters
per column. The card reader strobes each column
twice, reading the top 6-bits of a column first, and

Read Check This indicator is lit whenever a
fault in the read circuitry is detected.

then the lower 6-bits of the same column. Each card
contains 160 total characters. No decoding or validity checks are performed for binary cards. The correspondence between a binary card character and its

Validity On

This latching switch, when depressed, enables the validitychecking circuit, and lights the
indicator. Releasing the switch
inhibits the validity checking.

Validity Off This indicator is lit when the

4-16

image in core memory is shown in Figure 4-14.
Cards are always selected as binary cards when the
data channel is selected in binary mode.
Provision is made for reading mixed decks of binary
and Hollerith cards as follows: if the data channel is
selected in BCD. mode, and the first column of a

validity-checking circuits detect

card has the 7 and 9 holes punched, the mode will be

an invalid character.

automatically switched to binary, and that card will

(ROW
12

I

I
I

II

o

2
3
4

J

I

B

K

S

C
0

L
M

I

I

A

T
U

+

?

!

-

I

0
I

~

-6

==
I

.
)

$

•

3

*
.•

(

4

5

E

N

V

.

[

6

F

0

W

>

<

7

G

P

X

r

-t

8

H

Q

y

I I I I

9

I

R

Z

]

t:.

4

2

"...,...

5

\

6

"*

7
8

5
6

7
8
9
caR

CBR: CHANNEL BUFFER REGISTER
THE TWO MOST SIGNIFICANT BITS ARE SET TO ZERO
IN 8 BIT MODE. ONLY THE FOUR LEAST SIGNIFICANT
BITS ARE USED IN 4 BIT MODE.

9

NO PUNCH = SPACE CHARACTER
='60 INTERNAL BINARY CODE
='20 EXTERNAL BCD CODE

Figure 4-14. Position of Binary
Card Characters in an
8-bit byte

Figure 4-13. Hollerith-BCD Code on a Card

be read as a binary card. The first column will also

4.5.2.3 Program Controls and Indicators.

be strobed twice in this situation, and 160 binary

The controls and indicators accessible by program

characters will result from a binary card in mixed

are the following:

mode. At the end of the card, the mode is switched
back to the BCD state.

Reader Ready

This indicator is true when the
following conditions exist on

The 8-bit mode in the data channel normally will be

the reader:

used with the card reader. Since 6-bit characters

1. Power on

are generated by the reader, the 2 most significant

the data channel can be used in Binary mode only; in

2.
3.
4.
5.

this case, only the 4 least significant bits of each

6. No read check error

6-bit character generated by the reader are trans-

7. No validity check error

ferred to the data channel.

8. All covers in place

bits per 8-bit byte are set to zero by the data channel
prior to transfer into memory. The 4-bit mode in

Hopper not empty
Stacker not full
Start button depressed
No feed check error

4-17

Binary Status

This indicator is set when a

This indicator is set when the

Overflow

7 -9 punch is detected in the

data channel fails to accept a

first column of card and is re-

character from the reader

set by any of the following:

before another character is
read, and, reset by any of the

1. SFL instruction for channel

following:

clear

1. TSL instruction for test and

reset
2. Initiating a new card cycle,
2. SFL instruction for channel

whether by SFL instruc-

clear

tion, or by continuous card
feeding

3. SFL instruction which con-

nects the reader to the
3. Manual reset control on

channel

the reader
Card Cycle
In Progress

Start Card
Cycle

This indicator is set when a

This command starts a card on
the way to the read station, and

new card cycle is initiated-

sets the Card Cycle in Progress

either by SFL instruction, or

indicator.

by continuous card feed-and

Device
Interrupt
Enable
(DINE)

reset when all 80 columns have
been read.

This program-controlled
switch, when set, enables a
channel interrupt to occur
whenever the Reader Ready

Reader
Error

This indicator is set when one

indicator is high. This switch

of the following:

can be set only when no device
is currently connected to the
channel, and is automatically

1. A read-circuit malfunction

reset whenever a device is

is detected

connected to the channel, or a
channel clear instruction is

2. An invalid character is

executed.

detected while reading in

Hollerith mode with the

The TSL instructions associated with the card reader

Validity switch on

use the address field shown in Figure 4.15.

This indicator is reset by any
of the following:
1. SFL instruction for channel

clear

0

K
K

0

K

0

K

0
0
0
0

0

K
K
K

0
0
0

0

0

I

2. SFL instruction which con-

X XX I X X X X
XI X X X X X X
XX X X I X X X
XX X X X I X X
X XX X X x I X
XX X X xx X I
XX I X X X X X

K = channel number 0-7

channel

D = device number 1-15

reader

CARD READER ERROR
CARD READER CONTINUE LEVEL
END OF FILE
CARD CYCLE LEVEL
CARD READY LEVEL
BINARY MODE
OVERFLOW

Where

nects the reader to the

3. Manual r.eset control on the
4-18

7 8 9 10 " 12 1314 15

34

01

X = don't care

Figure 4-15. Card Reader TSL Codes

The Z flag is set in response to a TSL instruction, if
the tested indicator is true; the flag is reset if the

8. Test error conditions using channel and
device TSL instructions.

tested indicator is false.
The SFL instructions associated with the card reader

A new card cycle can be initiated either with the SFL

use the address field shown in Figure 4. 16.

for Start Card Cycle, or the SFL instruction which
connects the reader to the channel. Once a card
cycle is started, the card moves at a fixed rate

EFFECTIVE ADDRESS

FUNCTION
START CARD CYCLE

101

K

D

through the read station, and data is generated at a

Ixlxlxlxlxlxlxlll

101

II

SET DEVICE INTERRUPT
K
D
III xlxl xlxl x x x I
ENABLE (DI NE)
'-0-'-1--3-'-4---7--'-8'------'----L--'--'----'----'--'15

rate determined by the card reader. If the SFL Start
Card Cycle command is used, the reader must then
be connected to the channel within 10 milliseconds,

K

= channel number

0-7

D = device number 1-15
X

or the SFL channel command will be rejected and
one card may be skipped.

= don't care
In general, the channel SFL instruction which conFigure 4-16. Card Reader SFL Codes

nects the reader to the channel will be rejected if
either the reader is not ready, or if more than 10

The SFL for Start Card Cycle is rejected, and the B

milliseconds have elapsed since a new card cycle

flag set if a card cycle is in progress, or if the

was started.

reader is not ready.
If another device is connected to the data channel, the

When the card reader is connected to the channel,

SFL to set the DINE switch is rejected, and the B

the channel signal indicator will be set at the end of

flag set.

a card cycle (i. e., after all 80 columns are read).

4.5.2.4 Programming. The general sequence
of instructions required to use the card reader is the
following:

At the same time the channel signal indicator is set,
a 100 microsecond timing signal will be triggered.
At the end of the 100 microsecond period, if the
reader has not been disconnected from the channel,

1. Test for end of previous card cycle with a

TSL instruction.

a new card cycle will be started automatically.
Therefore, once the reader is connected to the channel, cards are read continuously until the reader is

2. Initiate a new card cycle with a device SFL

disconnected from the channel.

instruction.
3. Test busy to make sure the SFL instruction
was accepted, and take delay action if the
reader is busy.
4. Initialize the channel and connect the reader

No parity checking is performed by the data channel
with the card reader. The channel parity indicator
will be set when the reader is connected to the channel and any of the following occur:

with a channel SFL command.
5. Test busy to make sure the channel com-

1. Reader overflow

mand was accepted.
2. Read-Check error
6. Transfer data.
7. Disconnect the transfer.

3. Validity-Check error

4-19

A channel interrupt will result from the card reader

in the following two cases:

4.5.3.1 Data Format.

Paper Tapes can be

read in either forward or reverse direction using
either binary or BCD channel options. In all cases,

1. When the reader is connected to .the channel,

and the reader becomes not ready.

the most significant bit per character on the tape is
considered a parity bit. The data channel checks the
lateral parity of each character, using odd parity in

2. When no device is connected to the channel,

binary mode and even parity in BCD mode. The

the DINE switch on the reader is set, and

channel parity indicator is set when bad parity is

the reader becomes ready.

detected.

If the reader becomes not ready while connected to

Either a 4 or 8-bit mode can be used, with or without

the channel, the data continues to be transferred, and

exec bits. In the 8-bit mode, the 7 least significant

the card will continue to move until the present cycle

bits per character are transferred into the 7 least

is complete. Once disconnected, however, the

significant bits per byte, and the most significant bit

reader cannot again be connected until the not ready

is set to zero. In the 4-bit mode, only the 4 least

condition is reset (i. e., the cause of the not ready

significant bits per character plus the parity bit are

condition is removed).

transferred to the data channel. The connection of
the reader to the channel buffer register is similar

4.5.3 Paper Tape Reader

to that of the typewriter as shown in Figure 4.10.

The paper tape reader is an EAI model which can

Blank tape is always skipped automatically in both

read 5, 7, or 8 channel tapes. The device reads

binary and BCD mode.

500 characters per second in either forward or reverse direction.

Fanfold tape containers for tape

supply and take-up are provided.

4.5.3.2 Programming.

The general sequence--

of instructions required to use the paper tape reader
is the following:

Desk controls and indicators pertaining to the reader
1. Set forward or reverse direction with a

are the following:

device SFL instruction.
Power On/Off

This switch controls the power
to the reader transport and
electronics.

2. Test busy flag to see if the direction command was accepted.
3. Initialize the channel and connect the reader

Run/Load

This switch must be in load

with a channel SFL instruction.

position to insert or remove
tapes from the reader. The
switch must be in run position

4. Test busy flag to ensure that the channel
command was accepted.

for the tape to move.
5. Transfer data.
Reader
Ready

This indicator is lit when the
reader has been connected to
the data channel.

4-20

6. Disconnect the reader with a channel SFL
instruction.

The reader direction can be selected by an SFL instruction with the address field shown in Figure 4-17.

register. The channel data register is not ready when
it contains a completely assembled half-word, and is
waiting to transfer its contents to core memory.

c:
I

M FIELD

D

K

oil 2 3 : 4 5

i0

I

I

6:
I

I

,

I

L

7 : 8 9 10 II 12 13 14 15

FWD

o :0 0 0

REV

o : 0 0 0 : 0 0 1:0: x x x x x X I 0

I
I

0 I ,0 : x x x x x x 0

I
I

I
I

I

at 500 characters per second) is less thaIl 500 micro-

I
1

K = channel number 0-7
D = device number 1-15

= don't care

X

The stopping time for the tape reader (when running
seconds. When the tape motion is inhibited by the
channel, the tape stops on the character just transferred to the channel.
There are no TSL instructions associated with the

Figure 4-17. Paper Tape Reader
SFL Instructions

tape reader. Parity can be tested using the channel

The direction control instructions will be rejected if

The channel signal indicator will be set whenever a

the tape is moving in a direction contrary to that of

stop code (octal 100) is detected. The detection of a

the SFL command. This interlock prevents damage

stop code will also terminate the current word assem-

to the reader due to sudden reversal of drive power.

bly' permitting transfer of the (possibly incomplete)

The forward direction is considered normal. The

half-word into memory. stop code detection is enabled

Forward Direction is set when any of the following

even in 4-bit mode. Direction of a stop code during

occur:

an auto load operation will terminate the input and

1. SFL channel clear instruction is executed
2. Console initialize
3. Auto Load

parity indicator.

disconnect the reader.
4. 5.4 Paper Tape Punch
The paper tape punch is an EAI Model which handles
5 to a channel paper tapes. Ten characters per inch

4. Auto Dump
When reading in reverse mode, the data channel
assembled half-word has the same form as when the
tape is read in the forward direction. The half-word

are punched at 110 characters per second.
Desk controls and indicators pertaining to the punch
are the following:
Power On/Off

This switch, when on, enables
program control over the punch

transfers into memory, however, must be programmed differently in forward and reverse mode to

power. When this switch is off,

achieve identical full-word formats in memory.

the punch power remains off
unconditionally.

The SFL instruction which connects the reader to the
channel starts the tape in motion. The channel SFL

Tape Feed

command will be rejected and the B flag set if the

blank tape to be punched as

reader power is off, or if the reader is in a load (not

long as the switch is depressed.

run) condition. Tape motion will be automatically
inhibited if either the channel buffer register is not

This switch, if pushed when the
punch power is on, causes

Tape Low

This indicator is lit when only

ready to accept a character from the reader, or if

one foot or less of tape remains

the channel data register is not ready to accept a

to be punched.

character from the buffer register. The channel buf-

Punch Ready

This indicator is lit whenever

fer is not ready when it contains a completely assem-

the punch has been connected

bled a-bit byte, and is waiting to transfer its contents

to the data channel for data

through the assembly register into the channel data

transfer.
4-21

4. 5. 4. 1 Data Format.

Both binary and BCD

mode may be used for transfer of information to the

The punch power is controlled by SFL instructions
with the address field shown in Figure 4-18.

punch. A parity bit is generated in the data channel-odd parity for binary mode, and even parity for BCD
cant Qit of each character. The connection of the
punch to the Channel Buffer Register is similar to

0:

C

K

0

I 23

4 5 6:7

B 9 10 II 12 13 1415

POWER ON

0

000

0

000

o
o

XXXXXXIO

POWER OFF

mode. The parity bit is punched as the most signifiM FIELD

I

oio

L

I 0:0 ' 0 AFTER ARITH. INSTR.
RESULT NOT> 0 AFTER ARITH. INSTR.
RESULT < 0 AFTER ARITH. INSTR.
RESULT NOT < 0 AFTER ARITH. INSTR.
OVERFLOW SINCE FLAG RESET
NO OVERFLOW SINCE FLAG RESET
CARRY IN LAST ARITH. INSTR.
NO CARRY IN LAST ARITH. INSTR.
LAST 1-0 INSTR. NOT EXECUTED (BUSY)
LAST 1-0 INSTR. WAS EXECUTED
INTERRUPT SYSTEM ENABLED
INTERRUPT SYSTEM NOT ENABLED
FLAG 1 TRUE
FLAG 1 FALSE
FLAG 2 TRUE
FLAG 2 FALSE
FLAG 3 TRUE
FLAG 3 FALSE
FLAG 4 TRUE
FLAG 4 FALSE
FLAG 5 TRUE
FLAG 5 FALSE
FLAG 6 TRUE
FLAG 6 FALSE
FLAG 7 TRUE
FLAG 7 FALSE
FLAG 8 TRUE
FLAG 8 FALSE

a MNEMONIC FLAGS
0
1
2
3
4
5
6
7

X

19

25

I 26

FL

27

I

28

I

29

30

31

OP

CONDITION (1)

C
N
Z
NZ
C
NC
L
NL
V

18

TRUE
FALSE
TRIGGER

= SET
= RESET
= COMPLEMENT

OPERATION

HALT AND JUMP TO EFFECTIVE ADDRESS (EA)
EXECUTE THE INSTR AT EA
LINK TO THE SUBR. AT EA
LINK TO EA AND RESET FLAG
JUMP TO EA AND TRIGGER FLAG (2)
JUMP TO EA AND SET FLAG
JUMP TO EA AND RESET FLAG
JUMP TO EA

(1) HALT, EXECUTE, LINKS AND JUMPS ARE CONDITIONAL UPON THE STATE OF THE FLAG
TESTED WHEREAS SET, RESET AND TRIGGER ARE NOT CONDITIONAL
(2)

PERMITS LOW PRIORITY INTERRUPTS AFTER A HIGHER .'ffiIORITY INTERRUPT
HAS OCCURRED.
A2-1

APPENDIX 2

MNEMONICS

Input-Output (0400-0577)
All in this group are privileged instructions
OCTAL
0420
0440
0460
0500
0520
054k
055k
056k
057k

+R

+R
+R
+R
+R

MNEMONIC

INSTRUCTION

FLAGS

LOAD OUTPUT BUSS R WITH E. A. O:SR :S 178
STORE (INPUT BUSS R) AT E.A.
LOAD OUTPUT BUSS R WITH (E. A.)
STORE (INPUT BUSS R) AT /E.A.
LOAD OUTPUT BUSS R WITH (fE.A.)
STORE CHANNEL k's CONTROL WORD AT E.A. OS k8:S7
STORE CHANNEL k's DATA WORD AT E.A. (1)
LOAD CHANNEL k's CONTROL WORD WITH (E.A.)
LOAD CHANNEL k's DATA WORD WITH (E.A.)(1)

LDOB = m"R
STIB
m"R
LDOB m"R
STIB /m"R
LDOB /m"R
STCC m, ,k
STCD m, ,k
LDCC m"k
LDCD m, ,k

Registers, TSL's and SFL's-Exec Bits (0600-0777)
SFL, TSL, LOT, LDM, LDE and LDC are privileged instructions
IMMEDIATE
0607
0617
062k
0627
0630 + b

REX
TEX
LDs
SEX
TSL

= m,X
= m,X
= m,X
= m,X
=m, ,b

0634 + b

SFL = m"b

Z

Z

B

RESET L.H. EXEC. BIT AT INSTRUCTION ADDRESS
TEST L.H. EXEC. BIT AT INSTRUCTION ADDRESS
LOAD REGISTER s WITH E.A.
SET L.H. EXEC. BIT AT INSTRUCTION ADDRESS
TEST SENSE LINE(S) IN BASE 0 SPECIFIED BY E .A.
o :S bS :S 3
SET FUNCTION LINE(S) IN BANK b SPECIFIED BY E.A.

LEFT HALF
064s
0647
0657
066s
0667

STs
REX
TEX
LDs
SEX

m,X
m,X
m,X
m,X
m,X

STs
REX
TEX
LDs
SEX

/m,X
/m,X
/m,X
/m,X
/m,X

Z

STORE (REGISTER s) AT E.A.
RESET L.H. EXEC. BIT AT E.A.
TEST L.H. EXEC. BIT AT E.A.
. LOAD REGISTER s WITH (E.A.)
SET L.H. EXEC. BIT AT E.A.

Z

STORE (REGISTER s) AT /E.A.
RESET R.H. EXEC. BIT AT E.A.
TEST R.H. EXEC. BIT AT E.A.
LOAD REGISTER s WITH (fE.A.)
SET R.H. EXEC. BIT AT E. A.

RIGHT HALF
070s
0707
0717
072s
0727

(0') IS READ AS "THE CONTENTS OF

0::"

SPECIAL REGISTER S

o

AE

1
2
3
4
5
6

F
L

T
M
E
C

EXTENDED FIXED POINT ACCUMULATION
FLAG REGISTER
LOCATION COUNTER
TIMER REGISTER
INTERNAL INTERRUPT MASK REGISTER
EXTERNAL INTERRUPT MASK REGISTER
CONSOLE REGISTER

(1) IN STCD AND LDCD THE FORMAT OF STORAGE DEPENDS ON THE CHANNEL FUNCTION REGISTER
WmCH IS SET UP BY SPL TO DEVICE 0 ON THE CHANNEL.
A2-2

APPENDIX 2

MNEMONICS

Index Jump Test (1000-1777)

16

18

17

*

21

0

I

22

23

24

1

T

I.± I

0

FLAGS

m, X.± C

XJ
XIT

1000
1400

20

X

MNEMONIC

OCTAL

19

1

27

26

28

1

30

39

31

C

OPERATIONS

ZGL
ZGL

m, X.± C

25

INCREMENT INDEX X BY C AND JUMP TO M
INCREMENT INDEX X BY C AND JUMP TO M
IF THE RESULT IN X HAS OPPOSITE SIGN OF C. -128::::; C ::::; 127

Arithmetic (2000-3777)
16

17

*

18

19

X

20

21

0

1

22

24

1 23

I

25

27

1 26

Mode

1

$

28 1 29

31

30

!

OP

1

C
NORMALIZED 32 BIT FLOATING POINT (FL PT)
NORMALIZED 56 BIT FL PT
UNNORMALIZED 32 BIT FL PT
UNNORMALIZED 56 BIT FL PT
INTEGER EXECUTED AS FL PT IMMEDIATE
INTEGER EXECUTED AS FL PT LEFT HALF
INTEGER EXECUTED AS FL PT RIGHT HALF
UNNORMALIZED INT EXECUTED AS FL PT IMM.
UNNORMALIZED INT EXECUTED AS FL PT L.H.
UNNORMALIZED INT EXECUTED AS FL PT R. H.
INDEX ARITHMETIC IMMEDIATE
INDEX ARITHMETIC LEFT HALF
INDEX ARITHMETIC RIGHT HALF
EXTENDED FIXED POINT
FIXED POINT IMMEDIATE
FIXED POINT LEFT HALF
FIXED POINT RIGHT HALF

2000 + C
2100 + C
2200 + C
2300 + C
2400 + C
2400+ C
2440 + C
2600' + C
2640 + C
2700 + C
3400 + C
3440 + C
3500 + C
3540 + C
3600 + C
3640 + C
3700 + C

00
01
02
03
04
05
06
07
10
11
20
21
22
23
24
25
26
27
30
31

SB
CS
CA
AD
CP
CP
ST
SR
DV
CD
$SB
$CS
$CA
$AD
$CP
$MP
$ST
$SR
$DV
SCD

Shifts (3000-3377)

N - NORMALIZED
E- EXTENDED

16

L- LOGICAL

*

ASH
3000
3020
$ASH
3040
ROT
3060
$ROT
EASH
3100
3120 $EASH
EROT
3140
3160 $EROT
NRM
3200
3220 $NRM
3300 ENRM
3320 $ENRM

±
±
±
±
±
±
±
±

m,
m,
m,
m,
m,
m,
m,
m,

,

,
,
,

X
X
X
X
X
X
X
X
X
X
X
X

17

18
X

ZGLV
ZGLV

19

20

21

22

0

1

1

I 23

24

0 IN

25

J

26
L

27

l

$

28

I 29

30

31

J - UNUSED

ARITHMETIC SHIFT
LOGICAL ROTATE

ZGLV
ZGLV

EXTENDED ARITHMETIC SHIFT
EXTENDED LOGICAL ROTATE
NORMALIZE AND LOAD SHIFT COUNT IN X
EXTENDED NORMALIZE AND LD S. C. IN X

IMMEDIATE MODE IS ASSUMED
IF EA IS POSITIVE, SHIFT OR ROTATE RIGHT
IF EA IS NEGATIVE, SllFT OR ROTATE LEFT
A2-3

MNEMONICS

APPENDIX 2
Boolean Connectives (4000-7777)
16

17

*

18
X

OCTAL
4000 +
4100 +
4200 +
4300 +
4400 +
4500 +
4600 +
4700 +
5000 +
5100 +
5200 +
5300 +
5400 +
5500 +
5600 +
5700 +

19

b
b
b
b
b
b
b
b
b
b
b
b
b

b
b
b

FORMAT OPNn

20

21

22

I

1

I 23

25

24

27

28

OP

MNEMONIC

FLAGS

RA
BLA
CBHA
ALA
CBLA
MLA
BDA
ELA
BHA
BSA
MHA
CEHA
BEQT
CELA
EHA
SA

Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z

I 29

30

31

b

OPERATION
A-ZEROES
A-A NORm
A-AANDm
A-A
A-A NOR m
A-in
A-A EXCL. OR m
A-A NAND m
A-AANDm
A-A EQUIV. m
A-m
A-AORm
A-A- Z SET IF A = m
-' NAND m
A-A
A-AORm
A-ONES

m, x, BYTE

n, 1, 2, 4, 8
BYTE SIZE: UNSPECIFIED
BYTE = 0, 1, ••• ,15 BYTE POSITION
OPTIONS:

26

*

= 16 BIT BYTE

ALL BYTE SIZE/BYTE POSITIONS
IS BIT BYTE TO ACCUM. ONLY

ALL BOOLEAN CONNECTNES ONLY EFFECT A 1, 2, 4, 8, OR 16 BIT BYTE OF THE
ACCUMULATOR WHICH IS SPECIFIED BY THE b FIELD OF THE INSTRUCTION. THE
VALUE OF b MAY BE DETERMINED FROM THE TABLE OPPOSITE
IS READ
"IS REPLACED BY"

A2-4

APPENDIX 2

MNEMONICS

Boolean Connectives (4000-7777)

NAME

OCTAL

RESET
BOTH LOW
BOTH mGH
ACCUMULATION
BOTH LOW
MEMORY LOW
BOTH
EITHER LOW
BOTH HIGH
BOTH SAME
MEMORY HIGH
EITHER HIGH
BYTE EQUAL.
EITHER LOW
EITHER HIGH
SET

6000
6100
6200
6300
6400
6500
6600
6700
7000
7100
7200
7300
7400
7500
7600
7700

USING
LOW
USING

A
A

DIFFERENT

USING A
TEST
USING A

+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+

MNEMONIC

b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b

FLAGS

RM
BLM
CBHM
ALM
CBLM
MLM
BDM
ELM
BHM
BSM
MHM
CEHM
AHM
CELM
EHM
SM

OPERATION

Z
Z

m - ZEROES
m-ANORm
m-AANDm
m-A
m-ANORm
m-ffi
m - A EXCL. OR m
m-ANANDm
m-AANDm
m - AEQUIV. m
m-m
m-AORm
m-A
m-ANANDm
m-AORm
m - ONES

Z
Z

Z
Z
Z
Z
Z
Z

Z
Z

Z
Z
Z
Z

TABLE FOR COMPUTING THE VALUE OF b

1

BYTE SIZE

1M

OPERAND
BYTE #

2

0
1
2
3
4
5
6
7
8
9

10
11

12
13
14
15

01
03
05
07
11

13
15
17
21
23
25
27
31
33
35
37

4

1M
41
43
45
47
51
53
55
57
61
63
65
67
71
73
75
77

02
06
12
16
22
26
32
36

1M
42
46
52
56
62
66
72
76

04
14
24
34

16

8

1M
44
54
64
74

10
30

50
70

=

1M

00

20

60

A2-5

APPENDIX 2

MNEMONICS

Double Precision
FORMAT
OPTIONS

*

U

$

=

*

U

$

=

*

U

$

=

*

U

$

=

D
OPN

$

=

*

U

$

=

OPERATIONS

ZGL
C

A:AF:AD - m:m + 1

ZGL

-m: m + 1

A:AF:AD

A:AF:AD

TITLE
SUBTRACT

CLEAR & SUBTRACT

(5)

m: m+ 1

A:AF:AD

CLEAR & ADD

(5) (7)

ZGL
C

A:AF:AD + m: m + 1

ZGL

(2)

COMPARE

ZGL

(2)

MULTIPLY

A:AF:AD _ m: m + 1
(3) (6) (7)

STORE

(2) (4)

STORE ROUNDED

ZGL
V

(2)

DIVIDE

ZGL
V

(2)

CLEAR & DIVIDE

*
$

*

A:AF:AD

ADD

Vc

$

*
$

*
$

(1)

FLAGS

ZGL

*

m,X

=

(1)

OPTIONS

(3) DST FUNCTIONALLY EQUIVALENT TO DSTU

*

USE OF EQUAL SIGN (=) (4) DSTU FUNCTIONALLY EQUIVALENT TO DSRU
OPTION CAUSES DATA
GIVEN (56) BITS TO BE (5) DCAU, DCSU LOAD ACCUMULATOR EXEC BITS
PLACED IN LITERAL
POOL
(6) DSTU STORES ACCUMULATOR EXEC BITS

INDIRECT
/ HALF WORD
= IMMEDIATE
$ SAVE
U UNNORMALIZED.

(2) SUBROUTINE

THE $ SYMBOL IS THE
ONLY OPTION THAT
IS A PREFIX

A2-6

(7) DCAU, DSTU USED TO MOVE DOUBLE PREC. DATA

MNEMONICS

APPENDIX 2

1

INTEGER

MNEMONIC
SB

OCTAL
00

FORMAT

OPN

OPTIONS

FLAGS

01

=

02

03

* / U

04

05

=

*/U

06

-mf - A:AF

ZGL

mf - A:AF

ZGL
C

A:AF = mf - A:AF

ZGL

Z SET IF A:AF = m A:AF UNCHANGED
G SET IF A:AF >m
L SET IF A:AF  m
L SET IF A:AF < m

COMPARE

ZGL

A:AF

MULTIPLY

ZGL
C

*
$

m -A:AF:AD

A:AF _ m
(1) (4) (5)

STORE

A:AF (ROUNDED) _ m, A:AF UNCHANGED

STORE ROUNDED

U
C

(2)

$

*

U

$

=

*

U

$

=

ZGL
V

A:AF:AD + m QUOTIENT A:AF

DIVIDE

ZGL

CLEAR AD THEN FLOATING DIVIDE

CLEAR & DIVIDE

V

USE OF THE EQUAL SIGN (=)
OPTION CAUSES DATA (32 BITS)
TO BE PLACED IN THE LITERAL
POOL.
(1) FST FUNCTIONALLY EQUIVALENT TO FSTN
(2) FSR DIFFERS FROM FSRU IF ROUNDING
RESULTS IN AN UNNORMALIZED NUMBER
(3) FCAl1, FCSU LOAD ACCUMULATOR EXEC BITS
(4) FSTU STORES ACCUMULATOR EXEC BITS
(5) FCAU, FSTU USED TO MOVE WHOLE WORDS
& EXEC BITS

A2-8

TITLE

U

$

*

m,X

FLAGS

ZGL

I

F

OPTIONS

*

INDIRECT

/

HALF WORD
IMMEDIATE

S SAVE
U UNNORMALIZED

APPENDIX 2

MNEMONICS

16 Bit Fixed Point
FORMAT OPN /m,X
MNEMONIC
SB

OCTAL

00

(1)

OPTIONS

*/
$

CS

01

*

CA

02

*

03

*

04

05

/

$
ST

06

(2)
(3)

ZGL

m _ A

(2)
(3)

ZGL
VC

A+ m _ A

=

*/
*

ZGL
V

-m - A

=

/

$
MP

A-m _ A

=

$
CP

ZGL
VC

/

$
AD

OPERATIONS

=
/

$

FLAGS

ZGL

=

=

ZGL
V

*/

Z SET IF A = m A UNCHANGED
G SET IF A > m
L SET IF A < m
A

m -A:AE

A-m

$
SR

07

*/

A (ROUNDED) - M
VC

$
DV

10

*

/

$
CD

11

*
$

=

ZGL
V

A:AE -;.. m QUOTIENT - A
REMAINDER - AE

ZGL
V

CLEAR AE THEN DIVIDE

=

/

(1)

USE OF THE SLASH (/)
OPTION IS REQUIRED FOR
RIGHT HALF-WORD ADDRESSING
IF THE SLASH IS OMITTED
LEFT HALF-WORD ADDRESSING
IS ASSUMED.

FLAGS
Z
G
L
V
C

= ACCUM. ZERO

= ACCUM. > ZERO
= ACCUM. < ZERO
= OVERFLOW

= CARRY

(2) 0 - AF
o - AD (1-8)
(3) CA, CS LOAD LEFT ACCUMULATOR EXEC BIT
(4) ST STORES LEFT ACCUMULATOR EXEC BIT

A2-9

APPENDIX 2
Index

MNEMONICS

X

(1, 2, 4)

FORMAT OPN/m, X
OPTIONS

FLAGS

*
$1=

ZGL
VC

X-m-X

SUBTRACT

*
$1=

ZGL
V

-m - X

CLEAR &
SUB 'IRAC T

*
$1=

ZGL

m - X

CLEAR &
ADD

*
$1=
-*1

ZGL

X+ m - X

ADD

ZGL

Z SET IF X - m X UNCHANGED
G SET IFX > m
L SET IF X < m

COMPARE

*
$1:

(3)

MULTIPLY

*$1=

X_m

STORE

$

vc

:

OPERATIONS

TITLE

*1 =

C

(3)

STORE
ROUNDED

*
$1=

AGL
V

(3)

DIVIDE

*
$1=

ZGL
V

(3)

CLEAR &
DIVIDE

$

(1)

USE OF THE SLASH (/) OPTION
IS REQUIRED FOR RIGHT HALFWORD ADDRESSING IF THE SLASH
IS OMITTED LEFT HALFWORD
ADDRESSING IS ASSUMED
(2)

AN INDEX REGISTER MUST BE
SPECIFIED
(3)

SUBROUTINE
(4)
ADDRESS m IS NON-INDEXABLE

A2-10

OPTIONS

*

INDIRECT
HALFWORD
IMMEDIATE
$ BLANK
U UNNORMALIZED

1

MNEMONICS

APPENDIX 2

Extended Precision
FORMAT OPN m, X
OPERATIONS

MNEMONIC

OCTAL

OPTIONS

FLAGS

SB

00

$=

*

ZGL
VC

A:AE -m - A:AE

CS

01

*

$=

ZGL
V

-m _ A:AE (3)

CA

02

$ =

*

ZGL

m _ A:AE (3)

AD

03

$

*

ZGL
VC

A:AE + m _ A:AE

CP

04

$ =

*

ZGL

(1)

MP

05

$ =

*

ZGL

(1)

ST

06

SR

07

DV

10

$ =

CD

11

$ =

*

A:AE _m

$
$

*

C

(1)

*

ZGL
V

(1)

*

ZGL
V

(1)

(1)

FLAGS

SUBROUTINE
(2)

USE OF THE EQUAL SIGN (=)
OPTION CAUSES DATA
(32 BITS) TO BE PLACED
IN THE LITERAL POOL

Z
G
L
V
C

ACCUM ZERO
ACCUM> ZERO
ACCUM < ZERO
OVERFLOW
CARRY

(3)

o
o-

-+

AF
AD (1-8)

A2-11/A2-12

APPENDIX 3
T ABLE OF INTERRUPT ADDRESS CODES

Interrupt Name

Octal
Priority Address

Mask (M
Internal Mask
E External
Mask)

Interrupt Name

Octal
Priority Address

Mask (M
Internal Mask
E External
Mask)

pip

1

'40

Cannot be
masked

External Interrupt
(1,7)

24

'67

E '400

Data Exec

2

'41

M '40000

25

'70

E '200

Priv. Inst.

3

'42

M '20000

External Interrupt
(1,8)

Inst. Exec

4

'43

M'10000

26

'71

E'100

Exp. Fault

5

'44

M '4000

External Interrupt
(1,9)

Mem. Protect

6

'45

M '2000

External Interrupt
(1,10)

27

'72

E '40

Timer

7

'46

M'1000

'73

E '20

8

'47

M '400

External Interrupt
(1,11)

28

Console
Data Channel 0

9

'50

M '200

29

'74

E'10

Data Channel 1

10

'51

M'100

External Interrupt
(1,12)

Data Channel 2

11

'52

M '40

External Interrupt
(1,13)

30

'75

E '4

Data Channel 3

12

'53

M '20

'76

E '2

13

'54

M'10

External Interrupt
(1,14)

31

Data Channel 4
Data Channel 5

14

'55

M '4

32

'77

E'l

Data Channel 6

15

'56

M'2

External Interrupt
(1,15)

Data Channel 7

16

'57

External Interrupt
(2,0)

33

'100

External Interrupt
(1,0) *

17

'60

M'l
E '_0

External Interrupt
(1, 1)

18

'61

E '40000

External Interrupt
(1,2)

19

'62

E '20000

External Interrupt
(1,3)

20

'63

E '10000

External Interrupt
(1,4)

21

'64

E '4000

Set by SFL =
'60,0
Reset by SFL =
'61,,0

External Interrupt
(1,5)

22

External Interrupt
(1,6)

23

'65

E '2000

External Interrupt
(16, 15)

271

'457

I

This enables
or disables
all interrupts
in banks 2-16

More than one interrupt is enabled by forming.a.composite mark code that is the arithmetic sum of the individual code; e. g. , for External Interrupts 4,5,6,

'66

E'1000

mark = E '7400.

*(b. n) Where b=Bank number

n ...Number of the interrupt in the bank.

A3-1

TABLE OF INTERRUPT ADDRESS CODES

APPENDIX 3

HYBRID OPERATIONS

Operation Codes for High-Speed Conversions
1.

ANALOG-TO-DIGITAL CONVERSIONS

Potentiometer Setting

LDOB = '15+c" 12

Single Print

LDOB = '14+c" 12

Analog Mode Selection LDOB

= '07 +c+m, , 12

Analog Time Constant
SFL = '-47 400+a, ,2

Sequential Conversion

SFL = '+47400+a" 2

Random Conversion

SFL

= '+17400+a"

2

Individual T /S : Store

Tis:

SFL = '+07400+a" 2

Individual

SFL = '+37400+a" 2

Block of T /S : Store

SFL

= '+27400+a"

2

Track

Block of T /S : Track

SFL = '+47600, ,2

ADC Control Readout

TSL = '+07400,,2

ADC Test

= '-07000+a, ,2

SFL = '-47000+a, ,2

Random Load DAC

SFL = '+27000+a" 2

Individual DAC Channel:
Transfer

SFL = '+17000+a" 2

Block of DAC Channels:
Transfer

SFL = '+47200, , 2

Clear all DAC Registers

2.

LOOB

Logic Word Input

LOOB = '02+c, , 12

Logic 16 Bit Word
Output

LDOB = '02+c, , 12

Logic B Bit Word
Output

LDOB

Status Word Readout

LDOB = '06+c, , 12

Fault Word Readout

LOOB

where

= '03+c, , 12

c = analog console number times 25 in octal
for example:

and

DAC Test

OPERATION CODES FOR ANALOG
MONITOR/ CONTROL

m follows the table below:
OD

'0400

RT

'1000

ST

'1400

OP

'2000

H

'2400

DVM Conversion

LOOB = '16+c" 12

IC

'3000

PS

'3400

DVM Readout

LDOB = 'Ol+c" 12

Analog Address
Selection

LOOB = '04+c" 12

Analog Address
Readout

LDOB = '04+c, ,12

Analog Address Step

LDOB = '17+c" 12

Analog Value Selection LOOB

= '05+c"

12

c = 40 for console 1
c = 100 for console 2

= conversion channel address or block address.

A3-2

= '13+c, , 12

Sequential Jam DAC
Random Jam DAC

a

= '12+c+d" 12

Logic Mode Selection

Monitor Word Readout STIB = M" 12

SFL = '+07000+a, , 2

= '+07000,,2

LOOB= '11+c+t2" 12

Sequential Load DAC

SFL = '+47000+a, , 2

TSL

10:1

LDOB = '10+c+t1" 12

Mask Register Loading LOOB i" 12

Digital-to-Analog Conversions
SFL

Selection, 1000: 1

and

tl follows the table below:

MSEC

'000

SEC

'400

APPENDIX 3

and

TABLE OF INTERRUPT ADDRESS CODES

t2 follows the table below:

finally i corresponds to a mask placed into the most

FAST

'0400

significant two octal digits of the address, thus vary-

MED

'1400

ing between '00000 and '77000 changing only the left-

SLO

'1000

most two digits.
3.

HYBRID SENSELINES AND FUNCTION LINES
TSL = '6000 + C + S " 2

and

d will be determined by the following table:

RUN

'0400

STOP

'1000

CLR

'1400

SFL
where

= '6000 + C + S

" 2

c is console # as defined above and
s is the address of the sense or control line
in octal.

A3-3/ A3-4

APPENDIX 4
TABLE OF SFL/TSL CODES

1.

PROCESSOR INTERRUPT SFL

SFL

Function

Flag Indication

21

Reset Privileged Instruction
Interrupt Occurred Indicator

B flag if set

23

Reset Memory Parity Error
Indicator

B flag is set

25

Reset Console Interrupt 1
Indicator

B flag if set

27

Reset Console Interrupt 2
Indicator

B flag if set

31

Reset Console Interrupt 3
Indicator

B flag if set

Reset Console Interrupt 4
Indicator

B flag if set

40

Set Memory Protect Bank 1
Indicator

B flag if set

41

Reset Memory Protect
Bank 1 Indicator

B flag if set

Set Memory Protect
Bank 2 Indicator

B flag if set

Reset Memory Protect
Bank 2 Indicator

B flag if set

Set Memory Protect Bank 3
Indicator

B flag if set

45

Reset Memory Protect
Bank 3 Indicator

B flag if set

46

Set Memory Protect Bank 4
Indicator

B flag if set

Reset Memory Protect
Bank 4 Indicator

B flag if set

Set External Interrupt
Enable Indicator

B flag if set

61

Reset External Interrupt
Enable Indicator

B flag if set

62

Set Internal Timer On-Off
Control

B flag if set

Reset Inte1'nal Timer OnOff Control

B flag if set

33

42
43
44

47
60

63

SFL

Function

Flag Indication

65

Reset Monitor Mode Indicator

B flag if set

67

Reset Memory Protect Interrupt Occurred Indicator

B flag if set

2.

PROCESSOR INTERRUPT TSL

TSL

Function

Flag Indication

21

Tested Privileged Instruction
Interrupt Occurred Indicator

Z flag if set

23

Tested Memory Parity Error
Indicator

Z flag if set

25

Tested Console Interrupt 1
Indicator

Z flag if set

27

Tested Console Interrupt 2
Indicator

Z flag if set

31

Tested Console Interrupt 3
Indicator

Z flag if set

33

Tested Console Interrupt 4
Indicator

Z flag if set

40

Tested Memory Protect
Bank 1 Indicator

Z flag if set

42

Tested Memory Protect
Bank 2 Indicator

Z flag if set

44

Tested Memory Protect
Bank 3 Indicator

Z flag if set

46

Tested Memory Protect
Bank 4 Indicator

Z flag if set

60

Tested External Interrupt
Enable Indicator

Z flag if set

62

Tested Internal Timer On-Off
Control Indicator

Z flag if set

65

Tested Monitor Mode Indicator Z flag if set

67

Tested Memory Protect
Interrupt Occurred Indicator

Z flag if set

A4-1

TABLE OF SFL/TSL CODES

APPENDIX 4

3.

5.

EXCHANGEINTERRUPTSFL

SFL
-OOOOO+K*

Function

Flag Indication

Unconditional Channel
Clean

B

00001+K

Disconnect Channel

00002+K

HYBRID SFL's

Digital-to-Analog Conversion
SFL

Function

B

0700+a**

Sequential/Normal Conversion

Enable Channel Ready
Interrupt

B

47000+a

Sequential/Jam Conversion

-07000+a

00004+K

Random/Normal Conversion

Disable Channel Ready
Interrupt

B

-47000+a

Random/Jam Conversion

00010+K

Enable Channel Signal
Interrupt

B

Disable Channel Signal
Interrupt

B

00020+K

4.

27000+a

Individual Channel Transfer

17000+a

Block Transfer

07200

Clear all DAC Registers

EXCHANGE INTERRUPT TSL
TSL

00001+K
-OOOOl+K
00002+K
-00002+K
00004+K

Function

Flag Indication

Test Channel Signal

Z

Test Channel Signal and
Clear

Z

47400+a

Sequential Conversion

-47400+a

Random Conversion
Individual T /S Store

Test Channel Parity

Z

17400+a

Test Channel Parity and
Clear

Z

07400+a

Indi vidual T /S Track

37400+a

Block T /S Store

Test Channel Ready

Z

27400+a

Block T /S Track

27600

Control Readout

*K= 00000 jor Channel 0

= 40000 jor Channel 4

= 1 0000 jor Channell

=50000 jor Channel 5

= 20000 jor Channel 2

= 60000 jor Channel 6

= 30000 jor Channel 3

= 70000 jor Channel 7

A4-2

Analog-to-Digital Conversion

**a = DAC Channel Address or Block Address.

APPENDIX 4

TABLE OF SFL/TSL CODES

SFL AND TSL CODES FOR 8400 STANDARD PERIPHERAL EQUIPMENTS
GENERAL FORMAT
(Applicable to all Data Channels and Device Controllers attached to Data Channels.)
SFL Instructions
K

D

L

Crr--~A--~I,rr----~·~--~,r,--------~·~--------~

"M" Field

Io I I I I I I I I I I I I I I I I
1

3

4

7

15

8

C :;: O-SFLC. Used for general Channel/Device control conditions.
C:;: 1-SFLF. Used to Initialize Channel and Connect Device.
Also, for Unconditional Channel/Device Disconnect if D :;: O.

K :;: Data Channel Designator, 0 to 7.
D :;: Peripheral Device Designator, 1 to 15.
L :;: M field allocated for:
1.

Setting Channel Function Register (CFR), if C :;: 1 and D :;: O.

2.

Device Control, if C :;: 0 and D f 0, (i. e., Device Control Word).

3.

Channel Control, if C :;: 0 and D :;: 0, (i. e., CHRI and CHSI).

TSL Instructions

"M" Field

K
C ~(

D

L

A

lr~--------""'''-----------~

Io " I I " I I I I I I I I I II I
1

3

4

7 8

15

C :;: O-TSLC. Intended for general Channel/Device status testing.
C :;: 1_TSLF. Intended for general Channel/Device status testing, followed by
resetting the addressed status line(s) to zero on the same instruction.
K :;: Data Channel Designator, 0 to 7.
D:;: Peripheral Device Designator, 1 to 15.
L :;: M field allocated for:
1.

Testing Channel conditions, if D :;: O.

2.

Testing Peripheral Device conditions, if. D f O.

A4-3

APPENDIX 4

TABLE OF SFL/TSL CODES

SFL/TSL INSTRUCTIONS FOR TYPEWRITER OPERATIONS

D
L
'r~--------~'rr----------~--------~,

K

C ,
SFL(C) "M"

1 0 II

I

I

I II

I~ f I I
o

II III III
15

P

N

CFR

D

K

SFL(F) "M"

i~/Ol

~,-_-...-_-,J'-.,J

o

Set Additional
Channel/Device
Control Conditions

1,.-----''-------~1/01~1-1-----'I1"'"'"---1-1-----I1
J~

\

N

Initialize Channel/
Connect Device and
Clear Channel/Device

15

p

K=Ot07
D = (N)p = (3)0

Function

"L" Code/CFR

Comments

Set Ribbon Black
SFL(C)

X X X X X X X 1

Normal state when Data
Channel is cleared or
disconnected.

Set Ribbon Red
SFL(C)

X X X X X X 1 X

Initialize Channel/
Connect Device

CFR
(Channel transfer
conditions, data format.)

Indicators
Affected
None

None
Permits input or output
to Typewriter. Unlocks
keyboard for input.

Channel Signal
Channel Parity
Channel Interrupt

TSL Instructions
There are no TSL instructions associated directly with Typewriter status signals. Parity error
and certain Signals (carriage return, illegal control character) are tested via the Channel Parity
and Channel Signal indicators, respectively.

A4-4

TABLE OF SFL/TSL CODES

APPENDIX 4

SFL/TSL INSTRUCTIONS FOR PAPER TAPE READER OPERATIONS

C

SFL(C) "M"

K

D

Io I I I I'----v---l"--'
I I !! I I I I I I I I I
0

N

K

C

SFL(F) "M"

L
A_ _ _ _ _ _ _.......,

~~f

o

K=Ot07
D = (N)p = (1)0

15

P

D

CFR

.

,---A----,~,

11 I

A

\

I I I'---v----J'-.rJ
III III III III
15

N

Set Up Channell
Device Control
Conditions

Initialize Channell
Connect Device or
Disconnect Channell
Device

P

x - Don't Care Bits

Comments

Indicators
Affected

Function

"L" Code/CFR

Set Reader Forward
SFL(C)

X X X X X X X 1

Set direction of tape
motion to Forward.

Device "Busy"
response sets
"Busy" flag if
tape in motion.

Set Reader Reverse
SFL(C)

X X X X X X 1 X

Set direction of tape
motion to Reverse.

As Above

Initialize Channel/
Connect Device
SFL(F)

CFR

Connects Reader to Data
Channel and starts tape
motion.

Channel Parity
Channel Signal
Channel Interrupt
Stop Code
Device "Busy" if
Power off or
Reader in "Load"
state.

TSL Instructions
No status lines are tested via TSL instructions directly.

A4-5

APPENDIX 4

TABLE OF SFL/TSL CODES

SFL/TSL INSTRUCTIONS FOR PAPER TAPE PUNCH OPERATIONS

C

SFL(C)

K

D
J.

~

r~

L
J._ _ _ _ _ _ _--,.

v

~(

,

"M"I I I I I"---v---'Y
I I Ii I I I I I I I I I
N

C

SFL(F) "M"

P

CFR

D

K

J.

~rr----~A~------,."

11 I

Set Additional
Channel/Device
Control Conditions

III II

111/°1

~y

N

II III III

Initialize Channel/
Connect Device or
Clear Channel/Device

P

K=Ot07

X - Don't Care Bits

D = (N)p = (2)0

Function

"L" Code/CFR

Comments

Indicators
Affected

Power On
SFL(C)

X X X X X X 1 X

None

Power Off
SFL(C)

X X X X X X X 1

None

Initialize Channel/
Connect Device
SFL(F)

CFR
(Channel data transfer conditions, format, etc.)

Set up Channel transfer
conditions, connect
Punch and start data
transfer if Channel and
Punch are ready.

"Busy" flag in
Flag Register if:
a) Power off and
b) Tape is low.
Channel Parity
Channel Signal
Channel Interrupt

TSL Instructions
There are no status levels tested by TSL instructions.

A4-6

APPENDIX 4

TABLE OF SFL/TSL CODES

SFL INSTRUCTION LIST (FUNCTIONS AND CODES)
SERIAL (COLUMN-BY-COLUMN) CARD PUNCH

C

K

D

L

~~(r_ _ _ _ _--'J.",_ _ _ _ _- "

II III III III III III
01

34

15

78

'--y----Jy
N

P

M field
C = O-SFLC - Used to Set Channel/Device Control Conditions
C ::r: 1---SFLF - Used to Initialize Channel, Connect Device,
Unconditional Channel/Device Disconnect (D = 0)
K = Data Channel Number, 0 to 7
D = Device Number; Card Punch Device No. = (N)p = (2)1
L = M Field Allocated for Setting of Data Channel Function Register,
CFR (C = 1) or Device Control Conditions (D, C = 0)
X = Don't Care

Function
Start Card
. Punch Cycle

SFLC
or
SFLF 8

CFR (for SFLF
or L (for SFLC)

9 10 11 12 13 14 15

SFLC X XX XX X X 1

Start Card
Punch Cycle
and Connect
Punch (Cont)
to Data
Channel

SFLF

Eject Card*
(Terminate
Card Cycle)

SFLC XX XX 1 X X X

Reject (Offset) Card

Set DINE
Flip-Flop
(DINE = Dev.
Interrupt
Enable)

Comments

Program
Indicators
Affected

Initiate "Card Punch "Busy" Flag. See
Cycle" w/o connect- other sections for
ing CP Controller to conditions.
Data Channel.

Initiate "Card Punch See, other sections
Cycle" and connect
for conditions.
'X XX XX XX X CP controller to
Data Channel.
CFR
A

,

I

I,

,

SFLC XX XX X X 1 X

SFLC

1 X X X X X X X

Card ejected to output hopper after
punching previous
column. Next card
brought to Reg.
Station - - waiting
for next "Start Card
Punch Cycle"
command.
Ejected mispunched
card appears offset
by 1/2 inch output
hopper.
Set Dev. Int. Enable
flip-flop to allow
Dev. Int. when Dev.
is NOT selected,
DINE flip-flop set
and Card Punch is
ready for next Card
Punch Cycle.

Non~
Uncdnditional
Command
"

"

None
Unconditional
Command
"Busy',' Flag,
if DINE flip-

flop could not be
set.

*A card is also ejected in response to "Carriage Return" character, (155)8' This character
is not punched.

A4-7

TABLE OF SFL/TSL CODES

APPENDIX 4

TSL INSTRUCTION LIST (FUNCTIONS AND CODES)
SERIAL (COLUMN-BY-COLUMN) CARD PUNCH

K

D

C ~,

L

J.

I

I II I I II I I ;;
o

= 0,

N

I

I II I I II I I I

3~~8

1
M Field

C

J.

II

15

P

Test Only, TSLC

C = 1, Test and Reset, TSLF
K

= Data Channel Number,

0 to 7

D = Device Number; Card Punch Controller Code = (N)p = (2)1
L

= Channel/Device Control Field

A4-8

= 0)

L Field

TSLC
or
TSLF

8

9 10

Test "Card
Punch Operable" Status

TSLC

X

X

X

Test "Card
Punch Cycle"
Status

TSLC

X

X

Test "Binary
Mode" Status

TSLC

X

Test "End of
Card" Status

TSLC

Test "Punch
Error" Status

TSLF

Function

(Channel Field if D

11 12

13

14

15

Comments

X

X

X

X

1

See other section for definition
when Signal is true.

X

X

X

X

1

X

This line becomes true on start
of new card cycle (in response
to SFL command) and is reset
when card is ejected.

X

1

X

X

X

X

X

This line is "true" when the card
is being punched in "Binary Mode"
and "false" when card is being
punched in "Hollerith Mode. "

X

X

X

X

X

1

X

X

This line becomes true on ejection
of card and remains true until next
card is in Register Station. Start
"Card Punch Cycle" SFL commands
will be rejected during this period.

X

X

X

X

1

X

X

X

This line becomes true when an
error ( E'Echo-check'j error or
"overflow") is detected on punching a particular column. The
Punch Controller will ej ect the
card in response to the Punch
"next column data request. "
Data Channel will be disconnected and an interrupt generated.

APPENDIX 4

TABLE OF SFL/TSL CODES

SFL INSTRUCTIONS FOR CARD READER OPERATIONS
L

D

K

C ~r.---J."'-----"H"'-----oA_------,
SFL(C) "M"

Io I I I /I I I Ii I I /I I I I I I I
0

l

T

Jl
J
-y-

N

P

D

K
C~r

SFL(F) "M"

CFR

D = (N)p =(1)1

Function

.1

H

i

,

1o I I I I I !! I I I I I " I I I
1

"

~y

N

K=Oto7

15

Set Up Additional
Channel/Device
Control Conditions

15

P

Initialize Channel/
Connect Device and
Disconnect Channel/
Device

x = Don't Care Bit Positions,
Combined Operations Possible

"V' Code/CFR

Comments

Indicators

Start Card
Cycle SFL(C)

X X X X X X X 1

A card is started on its
way to Read Station. An
SFL(F) must follow within a period of time to enable reading.

Device "Busy" setting
"Busy" Flag if Card
Cycle in Progress or
Card Reader not Ready.

Initiate
Channel/Connect Device
SFL(F) Instruction

CFR (Data Channel
Options)

Connects Card Reader
to Data Channel initiates
"Card Cycle" if not already started. Cards
are read continuously
until Data Channel is
disconnected.

Channel Signal, Channel
Interrupt, Channel
Parity

Disconnect
Power from
Card Reader
SFL(C)

X X X X X 1 0 X

Disconnect Power when
Reader not expected to
be used for some time.

No Device "Busy" Response

Set "Device
Interrupt
Enable"
(DINE) FlipFlop

1 X X X X X X X

Enables Channel Interrupt if Reader is Ready
for next card cycle, (i. e.,.
Card Reader Ready =

"Busy" response if any
device already selected
on this Data ChanneL

"1").

NOTE: The two different instructions to start a card cycle are available to permit the use
of Data Channel with other devices on the channel while a card is being moved
relatively slowly into "read station".

A4-9

APPENDIX 4

TABLE OF SFL/TSL CODES

TSL INSTRUCTIONS FOR LINE PRINTER OPERATION

K

D

C~I

TSL "M"

L

A

V

A

,

I I I I I I I ; 1/°1 I I I I I I I I
°

'---y---A-y-J
N

15

P

D = (N)p = (3)1

C = 0, Test Status Line Only
C = 1, Test Status Line, Then Clear Status Indicator
X = 0, Unless Combined Test Specified

Function

"L" Field

Status Definition and/or Comments

Test Printer Ready

X X X X X 1 X X

Printer in operable condition. Power
turned on. "Operate-Standby" switch on
Operator Panel in "operate" position, down
gate is closed. Paper is in printing position.

Next Character
Request (=Send
Data)

X X X X X X X 1

Printer available to accept next character.
The line will be false during printing or
paper spaCing operations.

Next Line Request

X X X X X X 1 X

Printing of previous line is complete. The
Printer is ready for next line.

Printer Buffer Full

X X X X 1 X X X

132 characters transmitted to Printer
Buffer without print (end of message) command.

Paper AdvanCing

X X X 1 X X X X

Paper advanCing not complete.

A4-10

TABLE OF SFL/TSL CODES

APPENDIX 4

SFL INSTRUCTIONS FOR PARALLEL (ROW-BY-ROW)
CARD PUNCH OPERATIONS

D

K

SFL(C)

I~ If I I 1"'--1--"--1

1,.--1-11-1--"--I-II-I-----I1

-----::110

o

11 I
o

CFR

D
){"

"\

I I I I I !! I I I I I I I I I
15

"'-.,-J

N

Set Channel/DeVice
Control Conditions

15

'"...._.....,..._~J'-.,-J
N
P

K

C(

SFL(F)

L

P

Initialize Channel/
Connect Device, Clear
Channel

K=Ot07
D

= (N)p = (2)1

x

= Don't Care Unless Combined Operation Desired

= Device #

Function

"L" Code/CFR

Comments

Indicators Affected

Start Card
Punch Cycle

X X X X X X X 1

Start card on its way
to Punch Station.
Stop after one card
moved unless Punch
connected to Data
Channel.

Device "Busy" response if
a) Punch not Ready
b) Power to Punch off.

Reject Card
to AUX Stacker

X X X X X X 1 X

The card being
punched to be
ejected to AUX
Stacker.

None

Initialize
Channel/
Connect
Device

CFR

Permits data transfer
and punch operation.
Allows bringing next
card into punch
station if Channel/
Device not discon..
nected.

Set "Device
Interrupt
Enable"
(DINE) FlipFlop

1 X X X X X, X X

Permits an Interrupt
when device becomes
operable again following some failure.

Device "Busy" response
if instruction is too 'late

to punch complete card.
Channel Signal, Channel
Parity, Channel Interrupt.

Channel Interrupt "Busy"
response if at least one
device already connected
to channel.

A4-11

TABLE OF SFL/TSL CODES

APPENDIX 4

TSL, INSTRUCTIONS FOR CARD READ OPERATION

K

D

C~~f

TSL "M"

L
"

Io " I I I"---v----..J
I I Ii I
'-v-'

N

P

,

I I I I I I I I
15

C = 0, Test Only
C = 1, Test and Clear
D = (N)p, K = 0 to 7
= (1)1

x = Don't Care Conditions Unless Combined Tests Requested

Function

"L" Code

Status Definition and/or Comments

Test "Card Reader
Ready" Status

X X X X X X

Test "Read Cycle in
Progress" Status

X X X X X

Test "Hopper Empty" X X X X
Status

1 X

1 X X

Response to "Start Card Cycle" command.
"True" until all 80 columns are read. New
card cycle initiated, after some delay when
this Signal goes "False" provided Data
Channel remains connected.

1 X X X

True when hopper is empty and End of File
button has been depressed.

Test "Reader Error"
Status

X X X

Test "Overflow"
Status

X X

Test "Binary Card"
Status

X X X X X X X

Test "Card Reader
Continue" Status

X

A4-12

No jams. Stacker not full. Covers in place.
Power on. Start button depressed. Feeder
ready (Model 1). Read Circuits OK. Card
line mechanism locked (Model 1). Hopper
not empty. No character validity error.

1 X X X X

1 X X X X X

1

1 X X X X X X

A photo cell malfunctioning or invalid
character detected (Hollerith Mode) - if
validity switch is on.
A character has been missed. Once a card
cycle is initiated characters are available
at fixed intervals.
The card being read is a "Binary Card".
Card Reader has been put on-line again and
the operator has depressed "Card Reader
Continue" button.

TABLE OF SFL/TSL CODES

APPENDIX 4

SFL INSTRUCTIONS FOR LINE PRINTER OPERATION
K

D

L

C ~~r'----~~'------'l

SFL( C) "M"

I 0 II

I

I

II

o

I

111/ 0 1

I

L-.,---Jy
N

I

I I
15

11

"

SFL( F) "M"
l......~v---'Jt.y-1

o

I

Set Up Channel/
Device Operating
Conditions

CFR

D

H

A

I

I

P

K

Cr

I I

I I I I I I I I
15

Initialize Channel/
Connect Device or
Clear Channel Device Conditions

P

N

K=Oto7
D = (N)p = (3)1
X = Don't Care Bit Positions

Function

"L" Code/CFR

Initialize Channell
Connect Device
SFL(F)

CFR

,

L
(

1
Set "Device Interrupt Enable" (DINE)
Flip-Flop
Advance Carriage
to Control Tape
Hole on Channell

Comments

o

,

X X X X X X

Connects Printer to
Data Channel and makes
the latter responsive to
Signals from the Printer
buffer.

Indicators
Affected
Device "Busy" response if Printer
is not ready.

Enables Channel Interrupt Device Busy if
DES=="l".
Top of Form

X

1 X X 0 0 0

2

X 1 X X 0 0 0

11

X 1 X X 0 0 1

4

X

1 X X

5

X

1 X X 0 1 0

0

6

X

1 X X 0 1 0

1

7

X

1 X X

0 1 1

0

8

X

1 X X 0 1 1

1

Adv. Carr. by 1 Line X

0 0 1

0

1 Different tapes available to suit particular
0
format requirements.
1

1 0 0 X Permit direct paper
spacing control with0 out reference to tape
1 loop.

1 X X

2

X

3

X

1 X X 1 0 1
1 X X 1 0 1

4

X

1 X X

5

X

1 X X 1 1 0

6

X 1 X X

7

X

1 1 0
1 1 1

1 X X

"1" in this Position
Specifies Paper
Space Instructions

~

Disable Auto Carriage Advance on
1st Character of a
Line

0

o

.
L

1 1 1
I

X XX X X

Device "Busy" response if a) printing cycle not complete b) previous
space operations
not complete.

Same as in previous
case.

0

1
0

1
I

The same codes are
used to obtain paper
spacing by 1st character in a line.

1 To permit overprinting
of a line if desired.

Device "Busy" response if paper
spacing taking place.

A4-13

APPENDIX 4

TABLE OF SFL/TSL CODES

TSL INSTRUCTIONS FOR PARALLEL (ROW-BY-ROW)
CARD PUNCH OPERATION

D

K

C (
11/ 0

0

•

1 I I I
\

L

A

\(

•

"

I, I

I~

N

P

::1/01

I

I

I I I

\

II I
15

K=Ot07
D = (2)1 = (N)p = Device Number
C = 0 Test Status Level Only
C = 1 Test Status and Then Reset Status Flip-Flop
X = Don't Care Bits, Unless Combined Tests Desired

Function

A4-14

"L" Code

Status Definition and Comments

Test "Punch Ready" Status

X X X X XX X 1

Cards in hopper. Die in place. Card line
mechanism locked up. Card in position to
be punched. Stacker not full. Power on.
No jam condition. Covers are in place.
No punch error.

Test "Ready to Punch Next
Row" Status

X X X X Xl X X

Punch is ready to punch next row on card.

Test "Punch Cycle" Status

X X X X XX 1 X Card is in punch cycle. Status remains
true for the duration of punching a card.

Test "Punch Error" Status

X X X X 1 X X X An invalid Hollerith character punched.
Inhibited in "BIN" mode.

APPENDIX 4
TABLE OF SFL/TSL CODES

TSL INSTRUCTION LIST AND CODES FOR MAGNETIC TAPE OPERATIONS
K

D

L

C ,---A.-----.~,.

TSL

"M"

A

,

Io I I I I I I ; I I I I I I I I I
15

D = (N)p = (4)0
K=Ot07
X = 0, Unless "Combined" Tests Preferred

If C = 0 Test Only
If C = 1 Test and Clear Status Indicator

"L" Field

Function
Test and Clear End
1
of Record Indicator

o

Status Definition and/or Comments

X X X X X

1

This indicator is needed only to enable
programmer to test whether EOR has been
reached when Data Channel is not connected
to tape unit.

Test and Clear End
of File Indicator

1 0 X X X X

Test and Clear
Overflow Indicator

1 0 X X X

Test if Tape Unit
Ready

1 0 X X

Test if Tape is at
Load Point (BOT)

1 0 X

Test if End of Tape
(EOT) has been
Reached

1 0 1 X X X X X

End of tape tab has passed the photo sense
head.

Test if File-Protect
is On

1 1 X X X X

Tape unit is loaded with reel equipped with
a file-protect ring.

Test for High Density

1 1 X X

Test for Medium
Density

1 1 X

Test if Tape Unit is
Rewinding

0 1 X X X

Unit 0
to 7

The unit addressed is in the Rewinding state.
A number of tape units can be in the Rewinding status at the same time.

Test if selected tape
unit is set for 7track mode.

1 1 X X X

1 X X

This test is relevant when both the 7 -track
and the 9-track features are available in a
particular Magnetic Tape System.

1 X

1 X X

1 X X X

1 X X X X

1 X

1 X X X

1 X X X X

Set up by EOF marker in Read or Write
(by Check head) operations.
Set up when Character is missed in Read
operation or is late (Rate check) in Write
operation.
Tape Unit is ready to accept a new instruction.
Load point tab is at photo sense head.

Tape unit selected for High Density (800 bpi)
recording.
Tape unit selected for Medium Density
(556 bpi) recording.

A4-15

APPENDIX 4

TABLE OF SFL/TSL CODES

SFL INSTRUCTION LIST AND CODES FOR MAGNETIC TAPE OPERATIONS
D
K
C~~I

SFL(C) "M"

lo~
0
C

SFL(F) "M"

I

I

II

I

~1/01

I

'---v-/'-..r'

A

I

I II
I

,

I

P

N

D
K
~~I

It/!0 I I II I I

:[1/01

'----v--''-..rJ
P

N

FWD/REV
F/R
W/R
D

L

= Forward/Reverse Motion
= File/Record
= Write/Read
=(N)p = (4)0

Set Up Channel/
I_DeVice Operating
Conditions (Other
I
than CFR)
15

CFR
A

I I I I I 1 I 15I
,

X't:: 0, Unless "Combined" Operations Required

"L" Code or CFR

Indlcators

Comments

Function

~led)

Control Fwd/Rov' F/R w/R Unit #
1. Read Record(s)
FWD

0

1

0

0

0

0107

Read record and enable data transfer if
Channel Initialized
and Device connected.
otherwise skip one
record.

Channel Parity, Channel Signal, Channel
Interrupt, EOR, EOT,
Overfiow.

2. Read Record(s)
REV

0

1

1

0

0

0107

As 1 but tape moves
in REV direction.

As in 1 but BOT instead
of EOT.

3. Search End of
FUeFWD

0

1

0

1

,0

0107

As In 1 but Channel

EOT, EOF

4. Search End of

0

1

1

1

0

Oto 7

BOT, BOF

FUeREV
5. Write Record(s)
(FWD Only)

As in 3 hut tape moves
in REV direction.

0

1

0

0

1

o to 7

Write a record after
Channe1lnltlalize/
Device Connect Instr.
and write LPC at end
of record (word. count
= 0).

Channel Parity, Channel Signal, Channel Interrupt, EOR, EOT J
Overflow

6. Write Blank
Tape (=Erase)
FWD

0

1

0

1

1

o to 7

Write as in 5 but re-

Channel Parity (H tape
not blank), EOT

7. Set Unit Field

0

o to 7

Set up the unit field of
control register, but

InltiaUze/Devtce
Connect Instr. omitted. Stop after one
record. Search for
File Mark instead of
End of Record.

cord "an zero" characters. Stop tape after 3-3/4 Inches.

0

0

0

0

do not initiate any tape
operat1on to allow testing of se1. unit status.

8. Write End of
File

1

1

0

1

1

0107

Write EOF mark and
EOF,EOT
its LPC, (17}8 in both
cases, under control of
Tape Controller.

9. Rewind 10 Load

0

0

1

1

0

0107

Initiate Rewind opera-

BOT

tlon via a trigger.

Point

Transfer to other tape

units not inhibited while
rewinding.
10. Rewlnd and Unlock

O

0

1

11. Initialize Channel Connect Deviee

1

1

0107

As in 9 but tape unit
switched to "LOCAL"
mode.

BOT

This instruction enables "Busy" flag If data
data transfer and makes transfer not possible at
that· time. "
channel responsive to

CFR

Device signals.
12. Set "Device Interrupt Enable"
(DINE) FlIpFlop

A4-16

1

0

X

Initialize Channell
Connect Device or
- - Clear Channel/Device Conditions

X

X

X

Allow channel inter"Busy" response if any
rupt when MT becomes device on this Data
operable again and this Channel already conflip-flop is set.
nected for data transfer
(DES flip-flop set).

APPENDIX 5
CHARACTER CODE EQUIVALENCE TABLE

Char.
0
1
2
3
4
5
6
7
8
9

1)

=
,
:

J+
A
B
C
D
E
F
G
H
I
?

.

)
[

<

$

Card
Punch
(Hollerith)
0
1
2
3
4
5
6
7
8
9
2-8
3-8
4-8
5-8
6-8
7-8
12
12-1
12-2
12-3
12-4
12-5
12-6
12-7
12-8
12-9
12-0-8
12-3-8
12-4-8
12-5-8
12-6-8
12-7-8

Octal

** *
00
04
10
14
20
24
30
34
40
44
50
54
60
64
70
74
100
104
110
114
120
124
130
134
140
144
150
154
160
164
170
174

00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37

Hex
00
01
02
03
04
05
06
'07
08
09
OA
OB
OC
OD
OE
OF
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D

1E
1F

Char.

.
J

K
L
M

N
0

P
Q
R
!

$

*

J

;

t::.
Blank

/

S
T
U
V
W
X
y
Z

f-

,
(

n

\

~

Card
Punch
(Hollerith)
11
11-1
11-2
11-3
11-4
11-5
11-6
11-7
11-8
11-9
11-0-8
11-3-8
11-4-8
11-5-8
11-6-8
11-7-8
No Punch
0-1
0-2
0-3
0-4
0-5
0-6
0-7
0-8
0-9
0-2-8
0-3-8
0-4-8
0-5-8
0-6-8
0-7-8

Octal

**

*

Hex

200
204
210
214
220
224
230
234
240
244
250
254
260
264
270
274
300
304
310
314
320
324
330
334
340
344
350
354
360
364
370
374

40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70

20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

71

72
73
74
75
76
77

,

CARRIAGE RETURN
TAB
BACKSPACE
UPPER CASE
LOWER CASE
INDEX
STOP CODE

664
764
670
470
770
764
400

155
175
156
116
136
135
100

*

= Right 8 Bit Byte in Each Half-Word

** =Left 8 Bit Byte in Each Half-Word

A5-1/A5-2

APPENDIX 6
POWERS OF TWO

2n n
1
2
4
8

0
1
2
3

1.0
0.5
0.25
0.125

16
32
64
128

4
5
6
7

'0.062
0.031
0.015
0.007

256
512
1 024
2 048

8
9
10
11

0.003
0.001
0.000
0.000

906
953
976
488

25
125
562 5
281 25

5
25
625
812 5

4
8
16
32

096
192
384
768

12
13
14
15

0.000
0.000
0.000
0.000

244
122
061
030

140
070
035
517

625
312 5
156 25
578 125

65
131
262
524

536
072
144
288

16
17
18
19

0.000
0.000
0.000
0.000

015
007
003
001

258
629
814
907

789
394
697
348

062
531
265
632

5,
25
625
812 5

1
2
4
8

048
097
194
388

576
152
304
608

20
21
22
23

0.000
0.000
0.000
0.000

000
000
000
000

953
476
238
119

674
837
418
209

316
158
579
289

406
203
101
550

25
125
562 5
781 25

16
33
67
134

777
554
108
217

216
432
864
728

24
25
26
27

0.000
0.000
0.000
0.000

000
000
000
000

.059
029
014
007

604
802
901
450

644
322
161
580

775
387
193
596

390
695
847
923

268
536
1 073
2 147

435
870
741
483

456 28
912 29
824 30
648 31

625
312 5
656 25
828 125

0.000 000 003 725
0.000 000 001 862
0.000 000 000 931
0:000000000465

290 298
645 149
322 574
661,287

461 914
230 957
615 478
307'739

062
031
515
257

5
25
625
812 5

4
8
17
34

294
589
179
359

967
934
869
738

296
592
184
368

32
33
34
35

0.000
0.000
0.000
0.000

000
000
000
000

000
000
000
000

232
116
058
029

830
415
207
103

643
321
660
830

653
826
913
456

869
934
467
733

628
814
407
703

906
453
226
613

25
125
562 5
281 25

68
137
274
549

719
438
877
755

476
953
906
813

736 36
472 37
944 38
888 39

0.000
0.000
0.000
0.000

000
000
000
000

000
000
000
000

014
007
003
001

551
275
637
818

915
957
978
989

228
614
807
403

366
183
091
545

851
425
712
856

806
903
951
475

640
320
660
830

625
312 5
156 25
078 125

TABLE POWERS OF TWO

A6-1/A6-2

APPENDIX 7
OCTAL-DECIMAL INTEGER CONVERSION

0000

0000

to

to

0777

0511

(Octal)

(Decimal)

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

1000

0512

to

to

1777

1023

(Octal)

(Decimal)

.0

1

2

3

4

5

6

7

0000
001.0
0020
0030
0040
0050
0060
0070

0000
0008
0016
0024
0032
0040
0048

0001
0009
0017
0025
0.033
0041
0049
0057

0002
0010
0018
0026
0034
0042
0050
0058

0003
0011
0019
0027
0035
0043
0051
0059

0004
0012
0020
0028
0036
0044
0052
0060

0005
0013
0021
0029
0037
0045
0053
0061

0006
0014
0022
0030
0036
0046
0054
0062

0015
0023
0031
0039
0047
0055
0063

0100
0110
0120
0130
.0140
0150
0160
017.0

0064
0072
0060
0088
0096
0104
0112
.0120

0066
0074
0082
0090
00~7 0098
0105 0106
0113 0114
0121 .0122

0067
0075
b083
0091
0099
0107
0115
.0123

0068
0076
0084
0092
0100
0108
0116
0124

0069
0077
0065
0093
0101
0109
0117
0125

0070
0078
0086
0094
0102
0110
0118
0126

0200
0210
0220
0230
0240
0250
0260
.0270

0128
0136
0144
0152
0160
0168
0176
0184

0129
0137
0145
0153
0161
0169
0177
0185

0130
0138
0146
0154
0162
0170
0176
0186

0131
0139
0147
0155
0163
0171
0179
0187

.0132
0140
0148
0156
0164
0172
0180
0188

0133
0141
0149
0157
0165
0173
0181
0189

0300
0310
0320
0330
0340
0350
0360
0370

0192
0200
0208
0216
0224
0232
0240
0248

0193
0201
0209
0217
0225
0233
0241
0249

0194
0202
0210
0218
0226
0234
0242
0250

.0195
0203
0211
0219
0227
0235
0243
0251

0196
0204
0212
0220
0226
0236
0244
0252

0

1

2

3

095~

0065
0073
0081
0089

0

1

2

3

4

5

6

7

0400
0410
0420
0430
0440
0450
0460
0470

0256
0264
0272
0260
0268
0296
0304
0312

0257
0265
0273
0281
0269
0297
0305
0313

.0258
0266
0274
0262
0290
0296
0306
0314

0259
0267
0275
0263
0291
0299
0307
0315

0260
0268
0276
0284
0292
0300
030Q
0316

0261
0269
0277
0285
0293
0301
0309
0317

0262
0270
0278
0286
0294
0302
0310
0318

0263
0271
0279
0267
0295
0303
0311
0319

0071
0079
0087
0095
0103
0111
0119
0127

0500
0510
0520
0530
0540
0550
0560
0570

0320
0326
0336
0344
0352
0360
0368
0376

0321
0329
0337
0345
0353
0361
0369
0377

0322
0330
0338
0346
0354
0362
0370
0376

0323
0331
0339
0347
0355
0363
0371
0379

0324
0332
0340
0346
0356
0364
0372
0380

0325
0333
0341
0349
0357
0365
0373
0361

0326
0334
0342
0350
0356
0366
0374
0382

0327
0335
0343
0351
0359
0367
0375
0383

0134
0142
0150
0158
0166
0174
0182
0190

0135
0143
0151
0159
0167
0175
0183
0191

0600
0610
0620
0630
0640
0650
0660
0670

0364
0392
0400
0408
0416
0424
0432
0440

0365
0393
0401
0409
0417
0425
0433
0441

0366
0394
0402
0410
0416
0426
0434
0442

0367
0395
0403
0411
0419
0427
0435
0443

0368
0396
0404
0412
0420
0428
0436
0444

0389
0397
0405
0413
0421
0429
0437
0445

0390
0396
0406
0414
0422
0430
0438
0446

0391
0399
0407
0415
0423
0431
0439
0447

0197
0205
0213
0221
0229
0237
0245
0253

0198
0206
0214
0222
0230
0236
0246
0254

0199
0207
0215
0223
0231
0239
0247
0255

0700
0710
0720
0730
0740
0750
0760
0770

0448
0456
0464
0472
0460
0466
0496
0504

0449
0457
0465
0473
0461
0489
0497
0505

0450
0456
0466
0474
0482
0490
0498
0506

0451
0459
0467
0475
0463
0491
0499
0507

0452
0460
0468
0476
0464
0492
0500
0508

0453
0461
0469
0477
0465
0493
0501
0509

0454
0462
0470
0478
0486
0494
0502
0510

0455
0463
0471
0479
0467
0495
0503
0511

4

5

6

7

0

1

2

3

4

5

6

7

0516
0524
0532
0540
0548
0556
0564
0572

0517
0525
0533
0541
0549
0557
0565
0573

0516
0526
0534
0542
0550
0556
0566
0574

0519
0527
0535
0543
0551
0559
0567
0575

1400
1410
1420
1430
1440
1450
1460
1470

0766
0776
0764
0792
0600
0806
0816
0624

0769
0777
0765
0793
0801
0809
0617
0625

0770
0776
0786
0794
0602
0610
0616
0826

0771
0779
0787
0795
0603
0611
0619
0627

0772
0780
0766
0796
0804
0812
.0620
0826

0773
0761
0789
0797
0605
0613
0821
0629

0774
0762
0'(90
0796
0606
0614
0622
0830

0775
0783
0791
0799
0807
0615
0823
0831

bo07

1000
10to
1020
1030
1040
1050
1060
1070

0512
0520
0526
0536
0544
0552
0560
0566

0513
0521
0529
0537
0545
0553
0561
0569

0514
0522
0530
0536
0546
0554
0562
0570

0515
0523
0531
0539
0547
0555
0563
0571

1100
1110
1120
1130
1140
1150
1160
1170

0576
0564
0592
0600
0606
0616
0624
0632

0577
0565
0593
0601
0609
0617
0625
0633

0576
0566
0594
0602
0610
0618
0626
0634

0579
0567
0595
0603
0611
0619
0627
0635

0560
0586
0596
0604
0612
0620
0628
0636

0581
.0589
0597
0605
0613
0621
0629
0637

0562
0590
0598
0606
0614
0622
0630
0638

0583
0591
0599
0607
0615
0623
0631
0639

1500
1510
1520
1530
1540
1550
1560
1570

0832
0640
0648
0656
0664
0872
0660
0886

0833
0641
0649
0657
0865
0673
0881
0889

0634
0642
0650
0656
0666
0874
0662
0690

0635
0643
0651
0659
0667
0875
0863
0691

0636
0644
0852
0660
0866
0676
0884
0692

0637
0645
0853
0861
0669
0877
0685
0693

0838
0846
0854
0662
0870
0678
0886
0694

0839
0647
0655
0663
0871
0679
0887
0895

1200
1210
1220
1230
1240
1250
1260
1270

0640
0646
0656
0664
0672
0680
0688
0696

0641
0649
0657
0665
0673
0681
0669
0697

0642
0650
0658
0666
0674
0682
0690
0698

0643
0651
0659
0667
0675
0683
0691
0699

0644
0652
0660
0668
0676
0684
0692
0700

0645
0653
0661
0669
0677
0685
0693
0701

0646
0654
0662
0670
0676
0666
0694
0702

0647
0655
0663
0671
0679
0667
0695
0703

1600
1610
1620
1630
1640
1650
1660
1670

0896
0904
0912
0920
0926
0936
0944
0952

0897
0905
0913
0921
0929
0937
0945
0953

0898
0906
0914
0922
0930
0938
0946
0954

0699
0907
0915
0923
0931
0939
0947
0955

0900
0906
0916
0924
0932
0940
0946
0956

0901
0909
0917
0925
0933
0941
0949
0957

0902
0910
0918
0926
0934
0942
0950
0956

0903
0911
0919
0927
0935
0943
0951
0959

1300
1310
1320
1330
1340
1350
1360
1370

0704
0712
0720
0728
0736
0744
0752
0760

0705
0713
0721
0729
0737
0745
0753
0761

0706
0714
0722
0730
0738
0746
0754
0762

0707
0715
0723
0731
0739
0747
0755
0763

0708
0716
0724
0732
0740
0746
0756
0764

0709
0717
0725
0733
0741
0749
0757
0765

0710
0716
0726
0734
0742
0750
0758
0766

0711
0719
0727
0735
0743
0751
0759
0767

1700
1710
1720
1730
1740
1750
1760
1770

0960
0966
0976
0984
0992
1000
1008
1016

0961
0969
0977
0965
0993
1001
1009
1017

0962
0970
0978
0966
0994
1002
1010
1018

0963
0971
0979
0987
0995
1003
1011
1019

0964
0972
0980
0988
0996
1004
1012
1020

0965
0973
0961
0989
0997
1005
1013
1021

0966
0974
0982
0990
0998
1006
1014
1022

0967
0975
0983
0991
0999
1007
1015
1023

Octal-Decimal Integer Conversion Table (Sheet 1 of 7)
A7-1

OCTAL-DECIMAL INTEGER CONVERSION

APPENDIX 7
0

1

2

3

4

5

6

7

2400
2410
2420
2430
2440
2450
2460
2470

1280
1288
1296
1304
1312
1320
1328
1336

1281
1289
1297
1305
1313
1321
1329
1337

1282
1290
1298
1306
1314
1322
1330
1338

1283
1291
1299
1307
1315
1323
1331
1339

1284
1292
1300
1308
1316
1324
1332
1340

1285
1293
1301
1309
1317
1325
1333
1341

1286
1294
1302
1310
1318
1326
1334
1342

1287'
1295
1303
1311
1319
1327
1335
1343

1095
1103
1111
1119
1127
1135
1143
1151

2500
2510
2520
2530
2540
2550
2560
2570

1344
1352
1360
1368
1376
1384
1392
1400

1345
1353
1361
1369
1377
1385
1393
1401

1346
1354
1362
1370
1378
1386
1394
1402

1347
1355
1363
1371
1379
1387
1395
1403

1348
1356
1364
1372
1380
1388
1396
1404

1349
1357
1365
1373
1381
1389
1397
1405

1350
1358·
1366
1374
1382
1390
1398
1406

1351
1359
1367
1375
1383
1391
1399
1407

1158
1166
1174
1182
1190
1198
1206
1214

1159
1167
1175
1183
1191
1199
1207
1215

2600
2610
2620
2630
2640
2650
2660
2670

1408
1416
1424
1432
1440
1448
1456
1464

1409
1417
1425
1433
1441
1449
1457
1465

1410
1418
1426
1434
1442
1450
1458
1466

1411
1419
1427
1435
1443
1451
1459
1467

1412
1420
1428
1436
1444
1452
1460
1468

1413
1421
1429
1437
1445
1453
1461
1469

1414
1422
1430
1438
1446
1454
1462
1470

1415
1423
1431
1439
1447
1455
1463
1471

1221
1229
1237
1245
1253
1261
1269
1277

1222
1230
1238
1246
1254
1262
1270
1278

1223
1231
1239
1247
1255
1263
1271
1279

2700
2710
2720
2730
2740
2750
2760
2770

1472
1480
1488
1496
1504
1512
1520
1528

1473
1481
1489
1497
1505
1513
1521
1529

1474
1482
1490
1498
1506
1514
1522
1530

1475
1483
1491
1499
1507
1515
1523
1531

1476
1484
1492
1500
1508
1516
1524
1532

1477
1485
1493
1501
1509
1517
1525
1533

1478
1486
1494
1502
1510
1518
1526
1534

1479
1487
1495
1503
1511
1519
1527
1535

4

5

6

7

0

1

2

3

4

5

6

7

1539
1547
1555
1563
1571
1579
1587
1595

1540
1548
1556
1564
1572
1580
1588
1596

1541
1549
1557
1565
1573
1581
1589
1597

1542
1550
1558
1566
1574
1582
1590
1598

1543
1551
1559
1567
1575
1583
1591
1599

3400
3410
3420
3430
3440
3450
3460
3470

1792
1800
1808
1816
1824
1832
1840
1848

1793
1801
1809
1817
1825
1833
1841
1849

1794
1802
1810
1818
1826
1834
1842
1850

1795
1803
1811
1819
1827
1835
1843
1851

1796
1804
1812
1820
1828
1836
1844
1852

1797
1805
1813
1821
1829
1837
1845
1853

1798
1806
1814
1822
1830
1838
1846
1854

1799
1807
1815
1823
1831
1839
1847
1855

1602
1610
1618
1626
1634
1642
1650
1658

1603
1611
1619
1627
1635
1643
1651
1659

1604
1612
1620
1628
1636
1644
1652
1660

1605
1613
1621
1629
1637
1645
1653
1661

1606
1614
1622
1630
1638
1646
1654
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
189.3
1901
1909
1917

1862
1870
1878
1886
1894
1902
1910
1918

1863
1871
1879
1887
1895
1903
1911
1919

1665
1673
1681
1689
1697
1705
1713
1721

1666
1.674
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
2015
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
303.0
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
165.6

1601
1609
1617
1625
1633
1641
1649
1657

3200
3210
3220
3230
3240
3250
3260
3270

1664
1672
1680
1688
1696
1704
1712
1720

3300
3310
3320
3330
3340
3350
3360
3370

1728
1736
1744
1752
1760
1768
1776
1784

octal-Decimal Intp.f{er Conversion Table (Sheet 2 of 7)

A7-2

2000
to
2777
(Odol)

1024
to
1535
(Decimal)

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

1536
to

3000
to
3777

2047

(Octo/)

(Decimal)

APPENDIX 7

to
2.5.59
(Decimol)

Octal Decimal
10000 - .4096
20000 - 8192
30000 - 12288
«1000 - 16384

50000 - 20480
60000 - 24576
70000 - 28672

OCTAL-DECIMAL INTEGER CONVERSION

2.560

to
.5777
(Octo I)

to •
3071
(Decimol)

1

2

3

4

5

6

7

4400
4410
4420
4430
4440
4450
4460
4470

2304
2312
2320
2328
2338
2344
2352
2380

2305
2313
2321
2329
2337
2345
2353
2381

2306
2314
2322
2330
2338
2348
2354
2382

2307
2315
2323
2331
2339
2347
2355
2383

2308
2316
2324
2332
2340
2348
2356
2384

2309
2317
2325
2333
2341
2349
2357
2365

2310
2318
2326
2334
2342
2350
2358
2388

2311
2319
2327
2335
2343
2351
2359
2387

2119
2127
2135
2143
2151
2159
2167
2175

4500
4510
4520
4530
4540
4550
4560
4570

2368
2378
2384
2392
2400
2408
2416
2424

2389
2377
2385
2393
2401
2409
2417
2425

2370
2378
2386
2394
2402
2410
2418
2426

2371
2379
2387
2395
2403
2411
2419
2427

2372
2380
2388
2398
2404
2412
2420
2428

2373
2381
2389
2397
2405
2413
2421
2429

2374
2382
2390
2398
2408
2414
2422
2430

2375
2383
2391
2399
2407
2415
2423
2431

2183
2191
2199
2207
2215
2223
2231
2239

4600
4610
4620
4630
4640
4650
4660
4670

2432
2440
2448
2456
2464
2472
2480
2488

2433
2441
2449
2457
2465
2473
2481
2489

2434
2442
2450
2458
2466
2474
2482
2490

2435
2443
2451
2459
2467
2475
2483
2491

2436
2444
2452
2460
2468
2476
2484
2492

2437
2445
2453
2461
2469
2477
2485
2493

2438
2446
2454
2462
2470
2478
2486
2494

2439
2447
2455
2463
2471
2479
2487
2495

2246 2247
2254 - 2255
2262 2263
2270 2271
2278 2279
2286 2287
2294 2295
2302 2303

4700
4710
4720
4730
4740
4750
4760
4770

2496
2504
2512
2520
2528
2536
2544
2552

2497
2505
2513
2521
2529
2537
2545
2553

2498
2506
2514
2522
2530
2538
2546
2554

2499
2507
2515
2523
2531
2539
2547
2555

2500
2508
2516
2524
2532
2540
2548
2556

2501
2509
2517
2525
2533
2541
2549
2557

2502
2510
2518
2526
2534
2542
2550
2558

2503
2511
2519
2527
2535
2543
2551
2559

0

1

2

3

4

5

6

7

1

·2

3

4

5

8

7

4000
4010
4020
4030
4040
4050
4060
4070

2048
2058
2084
2072
2080
2088
2098
2104

2049
2057
2085
2073
2081
2089
2097
2105

2050
2058
2088
2074
2082
2090
2098
2106

2051
2059
2087
2075
2083
2091
2099
2107

2052
2080
2088
2078
2084
2092
2100
2108

2053
2081
2089
2077
2085
2093
2101
2109

2054
2082
2070
2078
2086
2094
2102
2110

2055
2083
2071
2079
2087
2095
2103
2111

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
2197
2205
2213
2221
2229
2237

2182
2190
2198
2206
2214
2222
2230
2238

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

0
5000

0

0

1

2

3

4

5

6

7

---

5000
5010
5020
5030
5040
5050
5060
5070

2560
2568
2576
2584
2592
2600
2608
2616

2561
2569
2577
2585
2593
2601
2609
2617

2562
2570
2578
2586
2594
2602
2610
2618

2563
2571
2579
2587
2595
2603
2611
2619

2564
2572
2580
2588
2596
2604
2612
2620

2565
2573
2581
2589
2597
2605
2613
2621

2566
2574
2582
2590
2598
2606
2614
2622

2567
2575
2583
2591
2599
2607
2615
2623

5400
5410
5420
5430
5440
5450
5460
5470

2816
2824
2832
2840
2848
2856
2864
2872

2817
2825
2833
2841
2849
2857
2865
2873

2818
2826
2834
2842
2850
2858
2866
2874

2819
2827
2835
2843
2851
2859
2867
2875

2820
2828
2836
2844
2852
2860
2868
2876

2821
2829
2837
2845
2853
2861
2869
2877

2822
2830
2838
2846
2854
2862
2870
2878

2823
2831
2839
2847
2855
2863
2871
2879

5100
5110
5120
5130
5140
5150
5160
5170

2624
2632
2640
2648
2656
2664
2672
2680

2625
2633
2641
2649
2657
2665
26.73
2681

2626
2634
2642
2650
2658
2666
2674
2682

2627
2635
2643
2651
2659
2667
2675
2683

2628
2636
2644
2652
2660
2668
2676
2684

2629
2637
2645
2653
2661
2669
2677
2685

2630
2638
2646
2654
2662
2670
2678
2686

2631
2639
2647
2655
2663
2671
2679
2687

5500
5510
5520
5530
5540
5550
5560
5570

2880
2888
2896
2904
2912
2920
2928
2936

2881
2889
2897
2905
2913
2921
2929
2937

2882
2890
2898
2906
2914
2922
2930
2938

2883
2891
2899
2907
2915
2923
2931
2939

2884
2892
2900
2908
2916
2924
2932
2940

2885
2893
2901
2909
2917
2925
2933
2941

2886
2894
2902
2910
2918
2926
2934
2942

2887
2895
2903
2911
2919
2927
2935
2943

5200
5210
5220
5230
5240
5250
5260
5270

2688
2696
2704
2712
2720
2728
2736
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

2695
2703
2711
2719
2727
2735
2743
2751

5600
5610
5620
5630
5640
5650
5660
5670

2944
2952
2960
2968
2976
2984
2992
3000

2945
2953
296.1
2969
2977
2985
2993
3001

2946
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

5300
5310
5320
5330
5340
5350
5360
5370

2752
2760
2768
2776
2784
2792
2800
2808

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

2759
2767
2775
2783
2791
2799
2807
2815

5700
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

Octal-Decimal Integer Conversion Table (Sheet 3 oj 7)

A7-3

OCTAL-DECIMAL INTEGER CONVERSION

APPENDIX 7

4

5

6

7

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

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

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

3520
3528
3536
3544
3552
3560
3568
3576

3521
3529
3537
3545
3553
3561
3569
3577

3522
3530
3538
3546
3554
3562
3570
3578

3523
3531
3539
3547
3555
3563
3571
3579

3524
3532
3540
3548
3556
3564
3572
3580

3525
3533
3541
3549
3557
3565
3573
3581

3526
3534
3542
3550
3558
3566
3574
3582

3527
3535
3543
3551
3559
3567
3575
3583

0

1

2

3

4

5

6

7

7400
7410
7420
7430
7440
7450
7460
7470

3840
3848
3858
3864
3872
3880
3888
3896

3841
3849
3857
3865
3873
3881
3889
3897

3842
3850
3858
3866
3874
3882
3890
3898

3843
3851
3859
3867
3875
3883
3891
3899

3844
3852
3860
3868
3a76
3884
3892
3900

3845
3853
3861
3869
3877
3885
3893
3901

3846
3854
3862
3870
3878
3886
3894
3902

3847
3855
3863
3871
3879
3887
3895
3903

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
.i932
3940

3909
3917
3925
3933
3941
39~ 3949
3956 3957
3964 3965

3910
3918
3926
3934
3942
3950
3958
3966

3911
3919
3927
3935
3943
3951
3959
3967

3718
3726
3734
3742
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
398r
3989
3997
4005
4013
4021
4029

3974
3982
3990
3998
4006
4014
4022
4030

3975
3983
3991
3999
4007
4015
4023
4031

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

0

.1

2

0

1

2

3

4

5

6

7

6000
6010
8020
6030
6040
8050
8060
6070

30n
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

8400
6410
8420
8430
6440
6450
6460
6470

3328
3338
3344
3352
3360
3368
3376
3384

3329
3337
3345
3353
3381
3369
3377
3385

3330
3338
3346
3354
3362
3370
3378
3386

6100
6110
6120
8130
6140
8150
8160
8170

3138
3144
3152
3160
3168
3176
3184
3192

3137
3145
3153
3181
3189
3177
3185
3193

3138
3146
3154
3162
3170
3178
3186
3194

3139
3147
3155
3163
3171
3179
3187
3195

3140
3148
3156
3164
3172
3180
3188
3196

3141
3149
3157
3165
3173
3181
3189
3197

3142
3150
3158
3166
3174
3182
3190
3198

3143
3151
3159
3167
3175
3183
3191
3199

6500
6510
6520
6530
6540
6550
6560
6570

3392
3400
3408
3416
3424
3432
3440
3448

3393
3401
3409
3417
3425
3433
3441
3449

8200
6210
6220
6230
6240
6250
6260
6270

3200
3208
3216
3224
3232
3240
3248
3256

3201
3209
3217
3225
3233
3241
3249
3257

3202
3210
3218
3226
3234
3242
3250
3258

3203 3204 3205 3206 3207

3211
3219
3227
3235
3243
3251
3259

3212
3220
3228
3236
3244
3252
3260

3213
3221
3229
3237
3245
3253
3261

3214
3222
3230
3238
3246
3254
326a

3215
3223
3231
3239
3247
3255
3263

6600
6610
6620
6630
6640
6650
6660
6670

3456
3464
3472
3480
3488
3496
3504
3512

6300
6310
6320
6330
6340
6350
6360
6370

3264
3272
3280
3288
3296
3304
3312
3320

3265
3273
3281
3289
3297
3305
3313
3321

3266
3274
3282
3290
3298
3306
3314
3322

3267
3275
3283
3291
3299
3307
3315
3323

3268
3276
3284
3292
3300
3308
3316
3324

3269
3277
3285
3293
3301
3309
3317
3325

3270
3278
3286
3294
3302
3310
3318
3326

3271
3279
3287
3295
3303
3311
3319
3327

6700
6710
6720
6730
6740
6750
6760
6770

0

1

2

3

4

5

6

7

7000
7010
7020
7030
7040
7050
7060
7070

3584
3592
3600
3608
3616
3624
3632
3640

3585
3593
3601
3609
3617
3625
3633
3641

3586
3594
3602
3610
3618
3626
3634
3642

3587
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

7100
7110
7120
7130
7140
7150
7160
7170

3648
3656
3664
3672
3680
3688
3696
3704

3649
3657
3665
3673
3681
3689
3697
3705

3650
3658
3666
3674
3682
3690
3698
3706

3651
3659
3667
3675
3683
3691
3699
3707

3652
3660
3668
3676
3684
3692
3700
3708

3653
3661
3669
3677
3685
3693
3701
3709

3654
3662
3670
3678
3686
3694
3702
3710

7200
7210
7220
7230
7240
7250
7260
7270

3712
3720
3728
3736
3744
3752
3760
3768

3713
3721
3729
3737
3745
3753
3761
3769

3714
3722
3730
3738
3746
3754
3762
3770

3715
3723
3731
3739
3747
3755
3763
3771

3716
3724
3732
3740
3748
3756
3764
3772

3717
3725
3733
3741
3749
3757
3765
3773

7300
7310
7320
7330
7340
7350
7360
7370

3776
3784
3.792
3800
38{)8
3816
3824
3832

3777
37.&5
3793
3801
3809
3817
3825
3833

3778
3786
3794
3802
3810
3818
3826
3834

3779
3787
3795
3803
3811
3819
3827
3835

3780
3788
3796
3804
3812
3820
3828
3836

3781
3789
3797
3805
3813
3821
3829
3837

3

Octal-Decimal Integer Conversion Table (Sheet 40/7)

A7-4

6000

3072

ta

ta

6777

3583

(Octal)

(Decimal)

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

7000

3584

ta

ta

7777

4095

(Octal)

(Decimal)

APPENDIX 7

OCTAL-DECIMAL INTEGER CONVERSION

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

.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

.000000
.001953
.003906
.005859
.007812
.009765
;011718
.0131171
.015625
.017578
.019531
.021484
.023437
.025390
.027343
.029296
.031250
.0:i3203
.035156
.037109
.039062
.041015
.042968
.044921
.046875
.048828
.050781
.052734
.054687
.056640
.058593
.060546
.062S00
.064453
.066406
.068359
.070312
.072265
.074218
.076171
.078125
.080078
.082031
.083984
.085937
.087_
.089843
.091796
.0t3750
._703

..10ll6J
.loasl1

.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
.156
.151
.152
.153
.154
.155
.156
.157
.160
.161
.162
.163
.184
.165

.10CS4l8

.IM

.107421
.10t3T1S
.111328
.113281
.115234
.117187
.119140
.1210t3
.123046

.167
.170
.171
.172
.173
.174
.175
.176
.1,.,

.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
.181840
.183593
.185546
.187500
.189453
.191406
.193359
.i95312
.197265
.199218
.201171
.203125
.205078
.207031
.208984
.210937
.212890
.214843
.216796
.218750
.220703
.222656
.224609
.226562
.228511
.230468
.232421
.234375
.236328
.238281
.240234
.242187
.244140
.246093
.248046

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

.250000
.251953
.253906
.255859
.257812
.259765
.261718
.263671
.265625
.267578
.269531
.271484
.273437
.275390
.277343
.279296
.281250
.283203
.285156
.287109
.289062
.291015
.292968
.294921
.296875
.298828
.300781
.302734
.304687
.306840
.308593
.310546
.312500
.314453
.318406
.318359
.320312
.322265
.324218
.326171
.328125
.330078
.332031
.333984
.335937
.337890
.339843
.341796
.343750
.345703
.347656
.349609
.351562
.353111
.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
.325
.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

.375000
.376953
.378906
.380859
.382812
.384765
.386718
.388671
.390625
.392578
.394531
.396484
.398437
.400390
.402343
.404296
.406250
.408203
.410156
.412109
.414062
.416015
.417968
.419921
.421875
.423828
.426781
.427734
.429687
.431640
.433593
.435546
.437500
.439453
.441406
.443359
.445312
.447265
.449218
.451171
.453125
.455678
.457031
.458984
.460937
.462890
.464843
.466796
.468750
.470703
.472656
.474609
.476562
.478515
.480468
.482421
.484375
.486328
.488281
.490234
.492187
.494140
.496093
.498046

..034
.1135

.037
.040
.041

.042
.043
.044
.045
.046
.047
.OSO
.051

..053
.054
.055
.056
.057

••

.Ml

.062
.062
.OM
.115

....
...7

.070
.071
.012

.073

.17"

.075
• ITS
• OTT

.097U6

Octal-Decimal Integer Conversion Table (Sheet 5 oj 7)

A7-5

OCTAL-DECIMAL INTEGER CONVERSION

APPENDIX 7
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

.000000
.000003
.000007
.000011
.000015

.000100
.000101
.000102
.000103
.000104

.000244
.000247
.000251
.000255

.000200
.000201
.000202
.000203
.000204

.000019

.000105
.000106

.000488
.000492
.000495
.000499
.000503
.000507
.000511
.000514
.000518
.000522
.000526
.000530
.000534
.000537
.000541
.000545

.000300
.000301
.000302
.000303
.000304
.000305
.000306
.000307
.000310
.00031l
.000312
.000313
.000314
.000315
.000316
.000317
.000320

.000732
.000736
.000740
.000743
.000747
.000751

.000021
.000022
.000023
.000024
.000025
.000026
.000027
.000030
.000031
.000032
.000033
.000034
.000035
.000038
.000037
.000040
.000041
.000042
.000043
.000044
.000045
.000046
.000047
.000050
.000051
.000052
.000053
.000054
.000066

.000022

.000026
.000030
.000034
.000038
.000041
.000045
.00/)049
.000053
.000057
.000061
.000084
.000068

.000072
.000076
.000080
.000083
.000087
.000091
.000095
.000099
.000102
.000106
.000110
.000114
.000118
•. 000122
.000125
.000129
.000133
.000137

.000107
.000110
.000111
.0001l2
.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

.000141

.000145

.000144
.000148
.000152
.000156
';000160
.000184
.000167
.000171

.000146
.000147
.000150
.000151
.000152
.000153
.0001M
.000155
.000156
.000157
.000160
.000161
.000182
.000163
.000184
.000165
.000166
.000167
.000170
.000171
.000172
.000173
.000174
.000175
.000176
.000177

.000056

.000175

.000057
.000060
.000061
.000062
.000083
.000084
.00006&
.000068
.000067
.000070
.000071
.000072
.000073
.000074
.000075
.000076
.000077

.000179
.000183
.000186
.000190
.000194
.000198
.000201
.000106
.000209
.000213
.000217
.00001

.ooom

.000228
.000232
.000236
.000240

.000259
.000263
.000267
.000270
.000274
.000278
.000282
.000286
.000289
.000293
.000297
.000301
.000305
.000308
.000312

.000318
.000320
.000324
.000328
.000331
.000335
.000339
.000343

.000347
.000350

.000354
.000358
.000362
.000386
.000370
.000373
.000377
.000381
.000385
.000389
.000392
.000396
.000400
.000404
.000408
.000411
.000415
.000419
.000423
.000427
.000431
.000434
.000438
.000442
.000446
.00Cl45O
.000453
.000457
.000461
.000465
.000469
.000473
.000476

.000480
.000484

.000205
.00020$
.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
.0002113
.0002&4
.000255
.000256
.000267
.000260
.000261
.000282
.000283
.000184
.000185
.000266
.000267
.000270
.000171

.000272
.000273
.000274

.000275
.000276
.000277

.000549
.000553
.000556
.00Q560

.000584
.000568
.000572
.000576
.000579
.000583
.000587
.000591
.000595
.000598
.000602
.000606
.000610
.000614
.000617
.000621
.000625
.000629
.000633
.000637
.000840
.000644
.000848
.000652
.000656
.0006&9
.000863
.000687
.000671
.000675
.000679
.000682

.000686
.000690
.000694
.000698
.000701
.000705
.000709
.000713
.000717
.000710
.000724
.000728

Octal-Decimal Integer Conversion Table (Sheet 6 oj 7)

A7-6

.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
.000384
.000365
.000366
.000367
.000370
.000371
.000371
.000373
.000374
.000375
.000376
.000377

.000755
.000759
.000762
.000766
.000770
.000774
.000778
.000782
.000785
.000789

.000793
.000797
.000801
.000805
.000808
.000812
.000816
.000820
.000823
.000827
.000831
.000835
.000839
.000843
.000846
.000850
.000854
.000858
.000862

.000865
.000869
.000873
.000877

.000881
.000885
.000888
.0~892

.000896
.00C!900
.000904
.000907
.00091l
.000915
.000919
.000923
.000926
.000930
.000934
.000938
.000942
.000946
.000949
.000953
.000957
.000961
.000965
.000968
.000972

j

OCTAL-DECIMAL INTEGER CONVERSION

APPENDIX 7
OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

OCTAL

DEC.

.0.0.0.40.0.
.0.0.0.40.1
,.0.0.0.40.2
.0.0.0.40.3
.0.0.0.40.4
.0.0.0.40.5
.0.0.0.40.6
.0.0.0.40.7
.0.0.0.410.
.0.0.0.411
.0.0.0.412
.0.0.0.413
,0.0.0.414
.0.0.0.415
,0.0.0.416
,0.0.0.417

.0.0.0.976
.0.0.0.980.
.0.0.0.984
.0.0.0.988
.0.0.0.991
.0.0.0.995
.0.0.0.999
.0.0.10.0.3
.0.0.10.0.7
.0.0.10.10.
.0.0.10.14
.0.0.10.18
,0.0.10.22
.0.0.10.26
.0.0.10.29
,0.0.10.33

.0.0.0.50.0.
.0.0.0.50.1
.0.0.0.50.2
.0.0.0.50.3
.0.0.0.50.4
.0.0.0.50.5
.0.0.0.50.6
.0.0.0.50.7
.0.0.0.510.
.0.0.0.511
.0.0.0.512
,0.0.0.513
,0.0.0.514
.0.0.0.515
.0.0.0.516
,0.0.0.517

.0.0.1220.
.0.0.1224
.0.0.,1228
.0.0.1232
.0.0.1235
.0.0.1239
.0.0.1243
.0.0.1247
.0.0.1251
.0.0.1255
.0.0.1258
,90.1262
,0.0.1266
.0.0.1270.
.0.0.1274
,0.0.1277

.0.0.0.60.0.
.0.0.0.60.1
.0.0.0.60.2
.0.0.0.60.3
.0.0.0.60.4
.0.0.0.60.5
.0.0.0.60.6
.0.0.0.60.7
.0.0.0.610.
.0.0.0.611
,0.0.0.612
,0.0.0.613
,0.0.0.614
,0.0.0.615
,0.0.0.616
.0.0.0.617

.0.0.1464
.0.0.1468
.0.0.1472
.0.0.1476
.0.0.1480.
.0.0.1483
.0.0.1487
.0.0.1491
.0.0.1495
.0.0.1499
.0.0.150.2
.0.0.150.6
,90.1510.
,0.0.1514
,0.0.1518
,0.0.1522

.0.0.0.70.0.
.0.0.0.70.1
.0.0.0.70.2
.0.0.0.70.3
.0.0.0.70.4
.0.0.0.70.5
.0.0.0.70.6
.0.0.0.70.7
.0.0.0.710.
.0.0.0.711
.0.0.0.712
.0.0.0.713
.0.0.0.714
.0.0.0.715
,0.0.0.716
,0.0.0.717

.0.0.170.8
.0.0.1712
.0.0.1716
.0.0.1720.
.0.0.1724
.0.0.1728
.0.0.1731
.I}D1735
.0.0.1739
.0.0.1743
.0.0.1747
,0.0.1750.
,90.1754
.0.0.1758
,0.0.1762
.0.0.1766

,0.0.0.420.
.0.0.0.421
,0.0.0.422
.0.0.0.423
,0.0.0.424
.0.0.0.425
,0.0.0.426
,0.0.0.427
.0.0.0.430.
,0.0.0.431
.0.0.0.432
.0.0.0.433
,0.0.0.434
,0.0.0.435
,0.0.0.436
.0.0.0.437
,0.0.0.440.
.0.0.0.441
,0.0.0.442
.0.0.0.443
.0.0.0.444
.0.0.0.445
.0.0.0.446
.0.0.0.447
.0.0.0.450.
.0.0.0.451
.0.0.0.452
.0.0.0.453
.0.0.0.454
,0.0.0.455
.0.0.0.456
.0.0.0.457
.0.0.0.460.
.0.0.0.461
.0.00.462
.0.0.0.463
.0.0.0.464
.0.0.0.465
.0.0.0.466
.0.0.0.467
.0.0.0.470.
.0.0.0.471
.0.0.0.472
.0.0.0.473
.0.0.0.474
,0.0.0.475
.0.0.0.476
.0.0.0.477

,0.0.10.37
,0.0.10.41
.0.0.10.45
,0.0.10.49
,0.0.10.52
.0.0.10.56
.0.0.10.60.
.0.0.10.64
,0.0.10.68
.0.0.10.71
,0.0.10.75
,0.0.10.79
,0.0.10.83
.0.0.10.87
.0.0.10.91
,0.0.10.94

,0.0.0.520.
.0.0.0.521
.0.0.0.522
.0.0.0.523
,0.0.0.524
,0.0.0.525
.0.0.0.526
.0.0.0.527
,0.0.0.530.
.0.0.0.531
.0.0.0.532
.0.0.0.533
,0.0.0.534
.0.0.0.535
.0.0.0.536
.0.0.0.537
.0.0.0.540.
.0.0.0.541
.0.0.0.542
.0.0.0.543
.0.0.0.544
.0.0.0.545
.0.0.0.546
.0.0.0.547
.0.0.0.550.
.0.0.0.551
,0.0.0.552
.0.0.0.553
.0.0.0.554
.0.0.0.555
.0.0.0.556
.0.0.0.557
.0.0.0.560.
.00.0.561
,0.0.0.562
.0.0.0.563
.0.0.0.564
.0.0.0.565
,,0.0.0.566
.0.0.0.567
.0.0.0.570.
.0.0.0.571
,0.0.0.572
.0.0.0.573
,0.0.0.574
.0.0.0.575
,0.0.0.576
.0.0.0.577

,0.0.1281
,0.0.1285
,0.0.1289
.0.01293
.0.0.1296
,0.0.130.0.
.0.0.130.4
.0.0.130.8
.0.0.1312
.0.0.1316
.0.0.1319
.0.0.1323
.0.0.1327
.0.0.1331
.0.0.1335
.0.0.1338
,0.0.1342
.0.0.1346
.0.0.1350.
.0.0.1354
,0.0.1358
.0.0.1361
.0.0.1365
.0.0.1369
.0.0.1373
.0.0.1377
.0.0.1380.
.0.0.1384
.0.0.1388
.0.0.1392
.0.0.1396
.0.0.1399
.0.0.140.3
.0.0.140.7
.0.0.1411
.0.0.1415
,0.0.1419
.0.0.1422
.0.0.1426
.0.0.1430.
.0.0.1434
.0.0.1438
.0.0.1441
.0.0.1445
.0.0.1449
.0.0.1453
,0.0.1457
.0.0.1461

,0.0.0.620.
,0.0.0.621
.0.0.0.622
,0.0.0.623
.0.0.0.624
.0.0.0.625
.0.0.0.626
,0.0.0.627
,0.0.0.630.
.0.0.0.631
.0.0.0.632
.0.0.0.633
.0.0.0.634
.0.0.0.635
.0.0.0.636
.0.0.0.637
,0.0.0.640.
,0.0.0.641
.0.0.0.642
.0.0.0.643
.0.0.0.644
.0.0.0.645
.0.0.0.646
.0.0.0.647
.0.0.0.650.
.80.0.651
.0.0.0.652
.0.0.0.653
.0.0.0.654
.0.0.0.655
.0.0.0.656
.0.0.0.657
.0.0.0660.
,0.0.0.661
.0.0.0.662
.0.0.0.663
.0.0.0.664
.0.0.0.665
.0.0.0.666
.0.0.0.667
.0.0.0.670.
.0.0.0.671
.0.0.0.672
.0.0.0.673
.0.0.0.674
.0.0.0.675
.0.0.0.676
,0.0.0.677

,0.0.1525
.0.0.1529
.0.0.1533
,0.0.1537
.0.0.1541
.0.0.1544
,0.0.1548
,0.0.1552
.0.0.1556
,0.0.1560.
.0.0.1564
.0.0.1567
,0.0.1571
.0.0.1575
,0.0.1579
,0.0.1583
.0.0.1586
.0.0.1590.
.0.0.1594
.0.0.1598
.0.0.160.2
.0.0.160.5
.0.0.160.9
.0.0.1613
,0.0.1617
.0.0.1621
.0.0.1625
.0.0.1628
.0.0.1632
,0.0.1636
.0.0.1640.
.0.0.1644
.0.0.1647
.0.0.1651
.0.0.1655
.0.0.1659
.0.0.1663
.0.0.1667
.0.0.1670.
.0.0.1674
.0.0.1678
.0.0.1682
.0.0.1686
.0.0.1689
.0.0.1693
,0.0.1697
.0.0.17.01
,0.0.170.5

.0.0.0.720.
.0.0.0.721
.0.0.0.722
.0.0.0.723
,0.0.0.724
.0.0.0.725
,0.0.0.726
.0.0.0.727
.0.0.0.730.
.0.0.0.731
.0.0.0.732
,0.0.0.733
.0.0.0.734
,0.0.0.735
,0.0.0.736
.0.0.0.737
.0.0.0.740.
,0.0.0.741
.0.0.0.742
.0.0.0.743
.0.0.0.744
.0.0.0.745
.0.0.0.746
.0.0.0.747
,0.0.0.750.
.0.0.0.751
.0.0.0.752
.0.0.0.753
.0.0.0.754
.0.0.0.755
.0.00756
.0.0.0.757
.0.0.0.760.
.0.0.0.761
.00.0.762
.0.0.0.763
.0.0.0.764
,0.0.0.765
.0.0.0.766
.0.0.0.767
.0.0.0.770.
.0.00771
,0.0.0.772
.0.0.0.773
.0.0.0.774
.0.0.0.775
,0.0.0.776
,0.0.0.777

,0.0.1770.
.0.0.1773
,0.0.1777
,0.0.1781
,0.0.1785
.0.0.1789
.0.0.1792
.0.0.1796
.0.0.180.0.
.0.0.180.4
.0.0.180.8
.0.0.1811
.0.0.1815
.0.0.1819
,0.0.1823
,0.0.1827
.0.0.1831
,0.0.1834
.0.0.1838
.0.0.1842
.0.0.1846
.0.0.1850.
.0.0.1853
.0.0.1857
.0.0.1861
.0.0.1865
.0.0.1869
.0.0.1873
.0.0.1876
.0.0.1880.
.0.0.1884
.0.0.1888
.0.0.1892
.0.0.1895
,0.0.1899
.0.0.190.3
.0.0.190.7
.0.0.1911
.0.0.1914
.0.0.1918
,0.0.1922
.0.0.1926
.0.0.1930.
:0.0.1934
.0.0.1937
.0.0.1941
.0.0.1945
.0.0.1949

.0.0.10.98
.0.0.110.2
.0.0.1196
.0.0.1110.
.0.0.1113
.0.0.1117
.0.0.1121
.0.0.1125
.0.0.1129
.0.0.1132
.0.0.1136
.0.0.1140.
.0.0.1144
.0.0.1148
.0.0.1152
.0.0.1155
.0.0.1159
.0.0.1163
.0.0.1167
.0.0.1171
.0.0.1174
.0.0.1178
.0.0.1182
.0.0.1186
.0.0.1190.
.0.0.1194
.0.0.1197
,0.0.120.1
,0.0.120.5
.0.0.120.9
.0.0.1213
.0.0.1216

Octal-Decimal Integer Conversion Table (Sheet 7 of 7)

A7-7/A7-8

APPENDIX 8
HOLLERITH CARD CODES
8400
Graphics

ti

(ZERO)
1
2
3
4
5
6
7
8
9
BLANK
=
I

:

>

../
+
A
B
C
D
E
F

G
H
I
?

.

)

[

<

+
NOTES:

Standard
Hollerith
Card Codes

Internal
Binary
Code

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

00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17

12
12-1
12-2
12-3
12-4
12-5
12-6
12-7
12-8
12-9
12-0
12-8-3
12-8-4
12-8-5
12-8-6
12-8-7

20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37

8400
Graphics

-

J
K

L
M

N
0

P
Q

R
!
$

*

J
;

~

BLANK

/

S
T
U

V
W
X
y

Z

,+
,.,..(
\
-H+-

standard
Hollerith
Card Codes

Internal
Binary
Code

11
11-1
11-2
11-3
11-4
11-5
11-6
11-7
11-8
11-9
11-0
11-8-3
11-8-4
11-8-5
11-8-6
11-8-7

40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
57

NO PUNCH
0-1
0-2
0-3
0-4
0-5
0-6
0-7
0-8
0-9
0-8-2
0-8-3
0-8-4
0-8-5
0-8-6
0-8-7

60
61
62
63
64
65
66
67
70
71
72

73
74
75
76
77

1.

In the binary mode do.tafrom a card reader is transferred without conversion.
Each Card column is divided into two characters. Either 4- or 6-bit characters will be transferred depending upon the format option specified.

2.

In the Hollerith mode do.ta from the card reader (assumed to be in BCD codes)
is automatically converted to collating codes.

3.

Data to a card punch is presented in collating code - character by character in the same manner as to the line printer.

4.

No parity bit is presented with do.ta to/from card equipment. Error and code
validity checks are performed at the respective card device.

A8-1/A8-2

PREPARED BY _ _ _ _ _ _ _ _ _ _ _ _ _ __

PROGRAM TITLE _ _ _ _ _

~

PHONE

_ _ __

DATE _ _ _ _ _ PROJECT _ _ __

_ _ _ _ _ _ _ _ _ _ _ _ _ _ __

PAGE _ _ _ _ _ OF _ _ _ _ __

~~116I'I.191"1111"113I14I""I"I1811YIN'"lnl"I":,,
12
11

0,

,T,T,

IT,

~,

I~,

,•

IT,
I~

T,

IT,
I.,

IT
T,
+-'-.J..-f''-H ,-+"'I.~+_'_~,j~y-~_M~IL___'___fJ.""---'--

1

~~~~~y~~~IL-y,~¥~~~~-~~~"-~~~~-~I~~,~~I~~~1mIHr~IX~",~~~-I"-~~~­

~~~12~~T~IT~,~~I~T,~IT~,~~I~T~~~-~~~~~I~T~~~~~~~+~~I~T~+-'-~+ __ ~~~~1.
8~~~~
.
C,

IR, T
~,-I~,

H,
E,

0,

,0

Iw
10,

10,

Iw,
10,

Iw,
10,

Iw
10,

IRI
101

Iw,
10

10

:0,

17

!

I

L_~~~~'~~~L~~~_~~~~~~~~~~~~~~~~~~~,~~2
L

I

I

!

!

!

_~_~'~~IL_L

!

I

"~_~,~~,~,~,~,~,~,~,~~,~~,~~~_~~~~~4_~~-"-i,~~2

22~,-,~~,~~~-~,-~,~~~,~~~L.-,-~~,~-~~~,~~~~~-~~~~,~,~,~~,~~1~~~,-,~~~~~~_r~~-~~_42

23rt'-~~~~L~~L~~"-~~_~_.L.~~~J~~~,~~~~~~,~~~,~,~~~~,~_,~~~~~~,~~+~~~~"

24

f--'--~~++L.,L.!

25

,

"

l' '/'/' /' 1'1'

I

,

I

J

L~'--'--'-~L.L--..-L'

I

",

!

__

L.~L_~~~~,'~~~~~,~~~,~~_~~~~~,.L.L_L~~~'"-+~ -'-'~~-'--'--j2

,

'/"/' /"/13/14 /"/,,/,,/,/,,/20/"1,,1,,1,,1,,1,,/,,/,,/,,/,,/,,/32/33/,, /"/"/"/"/"/"/"/ ,,/,,1 ... I",I" 1,,/.++-/, 1"/"/ "/"/"/"/"/ "/"/"/

APPENDIX 10
PAPER TAPE FORMAT

Corresponding
Contents of Memory
Example

0
0
0
0

'-77777/' -77777B
0
0
0
0
0

Example

'12345/' 54321R

0
0

Stop Code

0

0
0 00
0
0 00
0
0 00
0
0 00
0
0
0
0 00
0
000
0
0 00
0
0 00
0
0
0
0
0
00
0
000
0
00
0
0
0
00
0
00
0
000
0
0
0
0

Left Exec Bit
0
0

0
0

0
0

0

0

0
0

0

0

0
0

0
0

}
}

Left Half Word

Right Exec Bit
Right Half Word

0
0
0
0
0
0
0

Paper Tape Format
For 4 Bit Mode with
Exec Bits

Parity
Channel

AlO-l/AlO-2

APPENDIX 11
TWO'S COMPLEMENT ARITHMETIC

1.

THE TWO'S COMPLEMENTS SYSTEM

3.

TRUNCATION AND ROUND-OFF

In the sign-magnitude system, the sign bit has a value

In the natural, real number system, a given number X

of -1 or ±1. The sign is multiplied by the value repre-

can assume any value on the continuous range -

ro :;:; x

sented by the magnitude bits to form the implied num-

Natural numbers have infinite precision (i. e., their

ber.

representation requires an infinite number of digits).

:;:;.

The numbers that the digital computer must deal with
: In two's complements, the sign bit has a variable negative weight, depending on the position of the binary
point. The weight of the sign is added to the value repre.sented by the magnitude bits to form the implied
number.

are finite-precision, quantized numbers. We shall
refer to these as "digital" or "synthetic" numbers.
Digital numbers are evidently a function of the continuous natural argument X. Two such consistent functions
are:
y=

The Representation of a 2's Complements Number
If b s is the content of the sign bit, and bj the content of
any other bit in position j, the number N represented

Y=

These functions (Figure 1) are defined as follows: In
L. I., if n is an integer, y = n-l for n-l :;:; x  0,

but y

= n-l

= n for n-l < x < n, x < o.

j

j=1
In the discussion above and in the following, we assume
y to have integer values only (binary point to the right
Note that the summation in the equation is always

of least significant bit of A register, say). This does

positive.

not detract from the generality of the results. To convert the y values to fractions, simply multiply by 2- 15 •

2.

RANGE OF NUMBERS
In the 8400, the "lease integer" functions, y

Let the binary point be immediately to the right of the
sign bit (n
1-2

-m

= 0).

Then m bits can represent -1 :;:; N :;:;

• Note that -1 is inside the range (bs = 1,
bj = 0), but +1 is not.

=

lxJ, is

used, as this is most compatible with two's complement
notation. The "a symetry" in the range of numbers,
discussed in Section 2. 1 can now be seen as a direct
consequence of the L. I. function.

AU-l

TWO'S COMPLEMENT ARITHMETIC

APPENDIX 11

y

Y

-3 -2 -I

4

4

3
2

3
2

1

-\

-----------~---------X

234

y=

I

-\

-I

-2
-3
-4

-2

2

3

4

X

-3

-4

y= rxl

lX J

--------r--+~---------X

A less-consistent scheme, often
used in sign-magnitude computers.
Here y = (sgn x) (lxl).

Figure All.l. Digital Numbers as Functions oj Continuous Natural Numbers

Yr
4

3
2

~--~~---;----~~--~------.

%%%

X

-\

-2
-3

-4

Figure All. 2. Rounded Digital Numbers as a Function oj Natural Numbers

Al1-2

TWO'S COMPLEMENT ARITHMETIC

APPENDIX 11

Truncation

It is also quite easy to get the function (sgn x)

~x~ (Fig-

ure 2) by doing:

lJ

The implication of the y = x function is that when an
(operation resulting in A:AE)

8400 number is truncated, it automatically assumes

its "least integer" value. Thus dividing 1 (bit 15 = 1,
all others zero) by 2 (ASH 1) results in the natural number O. 5., which, truncated, becomes

ze~o.

On the

EXL

ADD

ST

SAVE

other hand, the number -1 (b = b. = 1 in the first exs
J
.
ample, vis all bits high) when divided by 2 results in
ADD AD

the natural number -0. 5, which the 8400 truncates to
-1.

=1

Note, in particular, that the 1ST instruction will truncate (i. e., get the "least integer in x") a floating-point

Round-Off

number prior to storing. The schemes just discussed
To round a number, one can use the SR instruction.
For example, doing

of obtaining other types of truncation are particularly
useful here.

For example, a floating point number can

be "greatest-integer" truncated by
EASH

k

SR

o

FCA

NUMBER

lAD

=1

1ST

will divide the number in the A register by 2k and round
it. The rounded function yr appears as in Figure 2.

or "sign-magnitude" truncated by

The function yr is defined as y r

= llx I -

1/2

J.

Thus

O. 5 yields 0 for the truncated result, but 1 for the

FCA

NUMBER

EXL

ADD

1ST

rounded r-esult and -0.5 yields -1 truncated and 0
rounded. Note that the error committed in round-off is
E

r

ADD lAD

2 O. 5.

Programming for C. I. and "Sign-Magnitude"

r

If the programmer needs y = xl, he can simply do:

(operation resulting in A:AE)
AD = 1
ST = GI

4.

=1

SIDFTS

Left shifts must have zero-fill for low order bits.
Right shifts must have sign-fill for high order bits.
The need for sign fill in right shifts is that a right shift
of k is a division by 2k of the magnitude bits if they are
zero filled in the vacated high order bits. As the sign
bit is an additive value in two's complement it must also

A11-3

TWO'S COMPLEMENT ARITHMETIC

APPENDIX 11

EST and DST set to corresponding sign bit in memory

be divided by two and added to the shifted mantissa.
Note that _zn/Zk = _Zn-k which is represented in two's

to the value of the sign bit of AE(AD). All other arith-

complement as a one in the sign bit position followed

metic operations ignore this bit.

by k one's. Adding this value in gives the appearance

When X is to be treated as.two separate single preci-

of a sign fill in vacated high order bits.

sion numbers, their sum must clearly add up to X.
That is,

5.

OVERFLOWS
X

= (A)

+ (AE) • 2- 15

An overflow indicates that the result of an arithmetic
operation exceeds the permissible range of the computer. In two's complement, the overflow V is defined

It should be clear that, unless the sign of AE is zero,

the equation is not satisfied.

as the exclusive -OR of the carry C and the drop-off D:
Similar considerations show that the sign of the AD
register must be zero if the content of that register is

V=CD+CD

to be operated on by F-type instructions.
where D is a carry from bit position S.

That this defini-

tion is correct can be quickly verified by noting that,
if a number has b s = b 1 = 1, it cannot be more positive

then -0. 5, so it is well within the permissible range

Note that a single-precision number which is to become
the least-significant portion of an extended-precision
number is treated as follows

and will remain so when shifted left once (multiplied by
2). Thus, a carry accompanied by a drop-off is not an
overflow, and, of course, neither is C = D = O. A

CA

LO

EASH

15

carry without a drop-off signifies a positive overflow,
while a drop-off without a carry indicates a negative

cision you do

overflow.
6.

To convert a single preCision number to extended pre-

MULTIPLE PRECISION

CA

HO

LDAE

=0

An extended precision number X can be regarded as a
single number.

In fact, all legitimate extended (E)

and double-floating (D) instructions of the 8400 re-

Converting a single preCision floating point number to
double can be done by clearing the AD register:

gard numbers in this way; that is, the computer effectively ignores the sign of the AE (AD) registers in all
legitimate operations (including properlY,,:,programmed

FCAU

NUMBER

FMPU

= '40000/1

DST

combat subroutines).
or
MP and ASH, EASH, reset the sign of AE, ECA, ECS,

$DCAU

DCA, DCAU, DCS, and DCSU set the sign bit of the

FCAU

AE(AD) as the corresponding memory bit was set.

DST

Al1-4

=0

$

Operation
Time is in
Microseconds,
and Includes
Instruction
Fetch (1)

32 Bit
Fit. pt.

Operand
Address

(Prefix F)

56 Bit
FIt. pt.
(Prefix D)

16 32 Bit
Integer
(Prefix I)

16 Bit
Fix. Pt.
(Prefix
[Blank])

32 Bit
Fix Pt.
(Prefix E)

16 Bit
Index

(Prefix X)

Indexing
OP M, (X)

.

Indirect Addressing
OP

M

Save
--

$ OPM

Arithmetic
CA, AD
CS, SB

I!

HIGH SPEED
REGlBTERS
1$
(2)
MEMORY

MP

I!

HIGH SPEED
REGlBTERS 1 $
MEMORY

3.89

NA

3.89

3.06

NA

3.06

4.17

4.72

4.17

3.33

3.89

3.33

5.28

8.06*'

5.28

4.45

5.28*

4.45

6.67

By Sub

6.67

5.28

By Sub

By Sub

6.94

By Sub

6.94

5.56

By Sub

By Sub

8.06

By Sub

8.06

6.67

By Sub

By Sub

For each level of
indexing

For each level of indirect
addressing

For a prefiXed
Save

Add.561IH.S.
Register
Addressed

*no additional
time required.
Add 0

Add .281I MEM
addressed except . . Add • 56

Add. 28 except
it Save also
addressed
($ 01'$)

Add 2.00

Add .56
CD, DV

HIGH SPEED
REGISTERS

CP

HIGH SPEED

REGlBTERS

10.00

By Sub

10.00

7.78

By Sub

By Sub

1$

10.28

By Sub

10.28

8.06

By Sub

By Sub

11.39

By Sub

11.39

9.17

By Sub

By Sub

I~

3.89

By Sub

.3.89

3.33

By Sub

1$

4.17

By Sub

4.17

3.61

By Sub

3.61

5.28

By Sub

5.28

4.72

By Sub

4.72

MEMORY
ST

MEMORY

SR

HIGH SPEED
REGlBTERS
MEMORY

I+

EXAMPLES,
$DST Mov. X

=

5.84

DST Mov. X '" 4. 72

I~

MEMORY

1. Time shown for arithmetic
operations is minimum
execution tlme and does not
include pre- alignment or
post normalization. For
each pre-alignment or
post normalization-add
0.28 !-Lsec.

4.17

6.11

5.00

4.17

4.17

3.06

By Sub

3.33

2.78

By Sub

=

.56
.56
5.84

$CA = 3.X
CA=3
$
X

3.33

4.17

=

X

=3.90

= 3.06
= .28
=~
3.90.

Add.56

Add 2.00

Add.56

$FMP $, X
FMP$
$ (OP$)
X

= 6.94
= .56
=~

= 8.06

8.06
By Sub

2. High Speed Registers Are:
4.72

By Sub

5.00

4.45

By Sub

By Sub

+ Self addressing accumulator
Immediate addressing (16
Bit Operand field of
instruction Reg. )
Save Register

>
......
l\)

I

......

>......

l\)

I
l\)



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                     : 2014:12:15 15:42:23-08:00
Modify Date                     : 2014:12:15 15:08:24-08:00
Metadata Date                   : 2014:12:15 15:08:24-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:77a34a9f-18c7-ba44-a4ab-5292574c5111
Instance ID                     : uuid:5c42c4fa-024f-3746-9e2d-e4634367b8a5
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 161
EXIF Metadata provided by EXIF.tools

Navigation menu