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
.
Page Count: 161
| Download | |
| Open PDF In Browser | View 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 : 161EXIF Metadata provided by EXIF.tools