60043800H_3200_Computer_System_Ref Man_Dec66 60043800H 3200 Computer System Ref Man Dec66
60043800H_3200_Computer_System_RefMan_Dec66 60043800H_3200_Computer_System_RefMan_Dec66
User Manual: Pdf 60043800H_3200_Computer_System_RefMan_Dec66
Open the PDF directly: View PDF .
Page Count: 240
Download | |
Open PDF In Browser | View PDF |
r r COM PUTE,R SYSTEM REFERENCE MANUAL CONTROL DATA CORPORATION 3200 CHARACTERISTICS • Stored-program, solid-state, general-purpose computer. • • • • • • • • • Diode logic. Parallel mode of operation. Single address logic. Programmed inter-register transfers. Address modification (indexing). Indirect addressing. Character and word addressing (4 characters per word). 28-bit storage word (24 data bits and 4 parity bits). Nonvolatile magnetic core storage. Standard memory: 8,192 words/32,768 characters. • • • • • • Selected storage protection. Storage sharing. Complete cycle time: 1.25 microseconds. Access time: 0.75 microsecond. 24-bit accumulator register and auxiliary·accumulator register. Binary arithmetic: 2"1-1 modulus, one's complement for all single precision (24-bit) operations and double precision (48-bit) addition and subtraction. Instruction repertoire compatible with the 3100 and 3300 Computers. Trapped instruction processing: executes double precision multiplication and division, floating point, binary coded decimal (BCD) and an optional register transfer instruction if optional arithmetic logic is not present in a system. 64-word register file (0.5 microsecond cycle time) Complete interrupt system. Block control operations. Logical and sensing operations. Masked storage searches. Three 15-bit index registers. Real-time clock (1.0 millisecond incrementation). Sit-down operator's console featuring: • Octal register displays. • Internal and external status displays. • Instruction step control. • Breakpoint thumbwheel control. • Auto step control. • Auto Load. \I Auto Dump. • Detachable keyboard for manual entry and control of the computer. Standard 3000 Series type 12-bit bidirectional data channel. Compatible I/O mediums include magnetic tape, disk file, punched cards, paper tape and printed forms. Options include: • Memory expansion to 16,384 or 32,768 words • Additional 12-bit data channels or high-speed 24-bit data channels. • Floating point and 48-bit precision multiply and divide hardware logic. • BCD arithmetic hardware logic. • On-line I/O monitor typewriter. • Complete selection of peripheral equipment. • • • • • o • • • • • • • \~ ......:.J' \ \j . L ,. r COMPUTER SYSTEM REFERENCE MAN UAL • I t: 60043800 RECORD of REVISIONS REVISION B C D E (9-27-66) F (1- 25- 66) G NOTES Obsoletes all previous editions. Minor corrections only. Obsoletes all previous editions. Publication Change Order 11526. Pages iii, 1-3, 2-1, 4-2, 5-4, 5-12, 5-15, 6-5, 7-12, 7-25, 7-35, '7-39, 7-46, 7-47, 7-49, 7-55, 7-61, 7-73, 7-75, 7-77, 7-78, 7-79, 7-81, 7-83, 7-85, 7-86, 7-87, 8-12, B-6 and B-8. Publication Change Order 12255. Pages 1-8, 1-13, 4-4, 7-22, 7-58, 7-65, 7-67, 7-68, 7-74, C-4, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, and Comment Sheet revised. Field Change Order 14561, new Product Designations (12-21-66) 3204-A15, 3204- B17, 3205-A15 3205-B17 3210-A15, 3210-B17, 3215-A15 and 3215-B17. Pages 7-8. 7-11, 7-68, 7-69, 11, 12 and 20 revised. Publication Change Order 15443, no Pr<;>duct Designation (12-21-66) change. Pages 4-4, 7-8, 7-9, 7-11, 7-14, 7-19, 7-50, 7-63, 7-64, 7-66, 7-68, 7-69, 7-72, 7-76, 7-78, C-7, 11, 12, 14, 19 and 20 revised. H Address comments concerning this manual to: Pub. No. 60043800 December, 1966 © 1966, Control Data Corporation Printed in the United States of America Control Data Corporation Technical Publications Department 4201 North Lexington Avenue St. Paul, Minnesota 55112 or use Comment Sheet in back of this manual. CONTENTS Section 1. SYSTEM DESCRIPTIOI\l INTRODUC'I'ION ............................ ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-1 COMPUTER MODULARITY ......................................................... Main Control and Arithmetic Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Block Control and Interrupt Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Storage Module. . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . .. Input/Output Sub-Modules. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . . . . . .. . . . . . . . . . . . . .. Optional Arithmetic Module .................................... , . . . . . . . . . . . . . . . .. Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Input/Output Typewriter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Power Control Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. 1-1 1-3 1-3 1-3 1-3 1-4 1-4 1-4 1-4 3200 PROCESSORS ................................................................. 1-6 COMPUTER ORGANIZATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-6 Computer Word Format.. .. . ....... .. ...................... ... ..... ... .. ......... 1-6 Register Descriptions. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .. 1-6 Data Bus and'S' Bus ............................................................. 1-10 Block Control ................................................................... 1-10 Real-Time Clock ................................................................. 1-12 Parity .......................................................................... 1-12 PERIPHERAlL EQUIPMENT ........................................................ 1-13 Section 2. STORAGE CHARACTERISTICS STORAGE MODULE CONTROL PANEL. . . .. . .. .. .. . .. .. .. .. .. . .. .. .. . .. . .. .. .. .. ... 2-1 STORAGE REGISTERS. . . . . . . .. .. .. . . .. .. .. .. .. . .. . .. .. . .. . .. .. .. . .. .. .. .. .. .. .. ... 2-2 S Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-2 Z Register ...................................................................... 2-2 READ/WRITE CHARACTERISTICS ................................................. Single-Character Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Double-Character Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Triple-Character Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Full-Word Mode ......... , ....................................................... Address Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-2 2-2 2-2 2-2 2-2 2-2 STORAGE ADDRESSING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-3 STORAGE SHARING. . . . . . .. . .. .. . .. . .. .. .. . .. .. .. .. .. .. .. .. .. .. .. .. . .. . .. .. . .. . ... 2-3 STORAGE PROTECTION. . . . . .. . .. .. . .. . .. .. .. .. . . .. .. . .. .. . .. . .. .. .. . . . . .. . .. . .. .. Permanent Protection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Selective Protection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. No Protection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Section 3. 2-3 2-4 2-4 2-4 INPUT/OUTPUT CHARACTERISTICS INTERFACE SIGNALS ............................................................. 3-1 I/O PARITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-2 Parity Checking with the 3206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-2 Parity Checking with the 3207 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-2 111 AUTO LOAD/AUTO DUMP ........................................................ , Preliminary Considerations ..................................................... , Auto Load ..................................................................... , Auto Dump .................................................................... , 3-3 3-3 3-3 3-3 SATELLITE CONFIGURATIONS ................................................... , 3-5 Section 4. INTERRUPT SYSTEM GENERAL INFORMATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-1 INTERRUPT CONDITIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Internal Interrupts .............................................................. Trapped Instruction Interrupts ................................................... Power Failure Interrupt ......................................................... I/O Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-1 4-1 4-2 4-2 4-3 INTERRUPT MASK REGISTER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-3 INTERRUPT CONTROL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Enabling or Disabling Interrupt Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Interrupt Priority. . . . . .. . . .. . . . . . .. . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . ... Sensing Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Clearing Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-3 4-4 4-4 4-4 4-4 INTERRUPT PROCESSING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-5 Section 5. CONSOLES AND POWER CONTROL PANEL CONSOLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Register Displays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Console Loudspeaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Status Indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Switches. . . . . . . . . . . . . . . . . . .. . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-1 5-1 5-4 5-4 5-7 POWER CONTROL PANEL ......................................................... 5-15 Switches ........................................................................ 5-15 Elapsed Time Meters ............................................................ 5-15 Section 6. TYPEWRITER DESCRIPTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-1 OPERATION ....................................................................... Set Tabs, Margins, and Spacing ................................................... Clear ........................................................................... Status Checking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Type In and Type Load. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Type Out and Type Dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-2 6-2 6-2 6-2 6-3 6-3 CONSOLE SWITCHES AND INDICATORS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-3 CHARACTER CODES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-5 Section 7. INSTRUCTIONS GENERAL INFORMATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Instruction Word Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Word Addresses vs. Character Addresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Symbol Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Indexing and Address Modification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. IV 7-1 7-1 7-2 7-3 7-3 Addressing Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7-4 Indexing and Addressing Mode Examples ....................................... , .. 7-5 Trapped Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7-6 INSTRUCTION LIST ................................................................ 7-7 Register Operations without Storage Reference ....... , ............................. 7-12 Load ........................................................................... 7-20 Store ........................... , ........................................ , .... 7-23 Inter-register Transfer, 24-bit Precision .......................................... 7-26 Inter-register Transfer, 48-bit Precision .......................................... 7-29 Stops and Jumps ................................................................ 7-30 Logical Instructions with Storage Reference ....................................... 7.37 Arithmetic, Fixed Point, 24-bit Precision .......................................... 7-38 Arithmetic, Fixed Point, 48-bit Precision .......................................... 7-40 Trapped Instructions if Arithmetic Option is Not Present ........................... 7~42 Arithmetic, Floating Point ....................................................... 7-43 Trapped Instructions if FP/DP Arithmetic Option is Not Present ..................... 7-43 BCD ........................................................................... 7-46 Trapped Instruction if BCD Arithmetic Option is Not Present ........................ 7-46 Storage Shift, Searches, Compare and Register Shifts ............................... 7-50 Search .......................................................................... 7-56 Move ........................................................................... 7-58 Sensing ........................................................................ 7-60 Control ........................................................................ 7-63 Interrupt ........ , .............................................................. 7-65 Input/Output '.' ................................................................. 7-68 Section 8. SOFTWARE SYSTEMS GENERAL DESCRIPTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3100,3200,3300 SCOPE ........................................................ 3100,3200,3300 COMPASS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3100,3200,3300 Data Processing Package ....................................... 3100, 3200, 3300 Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3100, 3200, 3300 COBOL ..................................... '.' . . . . . . . . . . . . . . . .. 3100, 3200, 3300 FORTRAN. . . . . . . .. .. . .. . .. . .. .. . .. .. .. .. .. .. .. .. .. . .. . .. .. .... Generalized Sort/Merge Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3100,3200,3300 BASIC System .................................................. 8-1 8-1 8-2 8-3 8-4 8-4 8-5 8-5 8-6 CODING PROCEDURES. . . . . . .. .. . .. . .. .. . .. . .. .. .. . .. .. .. . .. . . .. .. .. .. .. .. .. .. .... 8-7 Instruction Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8-7 Pseudo-Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8-9 Assembly Listing Format ........................................................ 8-17 Error Codes .................................................................... 8-18 APPENDIX A-Control Data 3100, 3200, 3300 Computer Systems Character Set B -Supplementary Arithmetic Information C - Programming Reference Tables and Conversion Information GLOSSARY, INSTRUCTION TABLES AND INDEX v FIGURES FIGURE 1-1 Typical 3200 Modular Configuration. . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . .. . . .. . . . . . . . .. 1-2 1-2 3200 Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-5 1-3 Computer Word Character Positions and Bit Assignments. . . . . . . . . . . . . . . . . . . . . . . . .. 1-6 1-4 Storage Addressing and Data Paths of Typical Installation .......................... 1~10 1-5 Block Control Scanning Pattern .................................................. 1-12 1-6 Parity Bit Assignments .......................................................... 1-13 2-1 Storage Module Control'Panel .................................................... 2-1 3-1 Principal Signals Between I/O Channel and External Equipment. . . . . . . . .. . . . . . . . . .. 3-1 3-2 Satellite Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-4 5-1 Front View of 3200 Console Controls ............................................. 5-2 5-2 EUEL Register Display .......................................................... 5-3 5-3 ED Register Display ................................................. , . . . . . . . . . .. 5-3 5-4 External Status Indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-4 5-5 Internal Status Indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-5 5-6 Temperature Warning Designations for an Expanded 3200 Computer, Front View .... 5-6 5-7 Console Keyboard. . . . . . . . . . . . .. . . . .. . . .. .. . . . . . . . . . . . .. . .. .. . . . . . . . . . . . . . . . . . .. 5-8 5-8 Breakpoint Switch Examples .................................................... 5-13 5-9 Power Control Panel ............................................................ 5-16 6-1 3192 Console Typewriter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-1 6-2 Typewriter Control Panel. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. 6-3 7-1 Word-Addressed Instruction Format. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7-1 7-2 Character-Addressed Instruction Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. 7-2 7-3 Indexing and Indirect Addressing Routine Flow Chart. . . . . . . . . . . . . . . . . . . . . . .. . . . .. 7-3 7-4 Operand Formats and Bit Allocations for MUAQ and DVAQ Instructions ............ 7-41 7-5 Operand Formats and Bit Allocations for Floating Point Arithmetic Instructions ..... 7-45 7-6 Search Operation .............................................................. 7-57 7-7 Move Instruction ............................................................... 7-59 7-8 73 I/O Operation with Storage ................................................... 7-73 7-9 74 I/O Operation with Storage ................................................... 7-75 7-1075 I/O Operation with Storage ................................................... 7-77 7-11 76 I/O Operation with Storage ................................................... 7-79 7-1273 I/O Operation with A ......................................................... 7-81 7-1374 I/O Operation with A ......................................................... 7-83 7-1475 I/O Operation with A ........................................................ 7-85 7-1576 I/O Operation with A ........................................................ 7-87 8-1 COMPASS Coding Form ........................................................ 8-19 8-2 FORTRAN Coding Form ........................................................ 8-19 VI TABLES TABLE 1-1 1-2 1-3 1-4 2-1 2-2 2-3 2-4 4-1 4-2 4-3 5-1 5-2 5-3 6-1 6-2 7-1 7-2 7-3 7-4 7-5 7 -6 7-7 7-8 7-9 8-1 8-2 Optional Memory Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-3 Characteristics of 3200 Computer Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-9 Register File Assignments ....................................................... 1-11 Buffer Groups .................................................................. 1-11 Absolute Addresses ............................................................. 2-3 Auto Load/Auto Dump Reserved Addresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-4 Storage Protection Switch Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-5 Storage Protection Switch Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-5 Interrupt Mask Register Bit Assignments ......................................... 4-3 Interrupt Priority. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-4 Representative Interrupt Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-5 Keyboard Switch Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-9 Console Main-Frame Switches ................................................... 5-10 Power Control Panel Switch Functions ........................................... 5-15 Console Typewriter Switches and Indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-4 Console Typewriter Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-5 List of Trapped Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7-7 Instruction Synopsis and Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7-8 Summary ofInstruction Execution Times ......................................... 7-11 Interrupt Mask Register Bit Assignments ......................................... 7-61 Internal Status Sensing Mask ................................................... 7-62 Block Control Clearing Mask .................................................... 7-63 Pause Sensing Mask ............................................................ 7-64 Interrupt Mask Register Bit Assignments ......................................... 7-65 Modified I/O Instruction Words .................................................. 7-69 Instruction Interpretations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8-8 COMPASS Coding Form Description ............................................. 8-18 VII Section 1 SYSTEM DESCRIPTION INTRODUCTION The CONTROL DATA* 3200 is a medium-size, solid-state, general-purpose digital computing system. Advanced design techniques are used throughout the system to provide expedient solutions for scientific, real-time, and data processing problems. Modular packaging facilitates expansion ofthe basic 3200System to accommodate increasing customer needs. The 3200 is compatible with the CONTROL DATA 3100 and 3300 Computer System; i.e., as computation requirements exceed the capabilities of the 3200 System, the user may escalate to a 3300 System without revising existing 3200 programs. Its input/output characteristics are identical to the 3100, 3300, 3400, 3600 and 3800 Computer Systems-a fact which facilitates incorporating the 3200 into a SATELLITE* configuration. Various software systems are available for the 3200 System. The SCOPE operating system is used in 3200 Systems to provide efficient job processing. SCOPE requires a minimum of storage and time requirements. COMPASS, operating under the control of SCOPE, is the assembly system used to assemble relocatable machine language programs. Other applicable software includes FORTRAN, COBOL, the Data Processing Package, Generalized Sort/ Merge and BASIC System. These systems are described in the Software Section of this manual. Other software and hardware publications pertinent to 3200 Systems may be obtained from the nearest Control Data sales office listed on the back cover ofthis manual. A wide selection of peripheral equipment is available for use in a 3200 System. Equipment that is applicable to 3200 Systems may be found in the 3000 Series Computer System Peripheral Equipment Reference Manual (Pub. No. 60108800). This manual provides programming and operating information in conjupction with a description of special features of the 3200. Reference information and supplementary information may be found in the Appendix section. COMPUTER MODULARITY A 3200 Computer consists of various logic cabinet modules designed to perform specific operations. If additional storage, input/output channels, or arithmetic capabilities are desired for an existing installation, an appropriate module is integrated into the system. Figure 1-1 illustrates and describes the modules of a typical 3200 computer with its external cabinet panels removed. *"Registered trademark of Control Data Corporation 1-1 U IU V I', BLOCK CONTROL AND INTERRUPT MODULE 8K STORAGE MODULE 8K STORAGE MODULE r------, r-------, I OPTIONAL ARITHMETIC CHASSIS POWER CONTROL PANEL MAIN CONTROL AND ARITHMETIC MODULE I : 1/0 MODULE: I I 1/0 MODULE: I CHANNELS : CHANNELS I I 2 AND 3 o AND 1 I I (OPTIONAL) : I I I I I 1-- _ _ _ _ _ _ .....1 L _ _ _ _ _ _ - ' 1/ 1/ '- / Figure 1-1. Typical 3200 Modular Configuration 1-2 I MAIN CONTROL AND ARITHMETIC MODULE This module, standard in all 3200 systems, controls internal operations, executes 24-bit precision fixed point arithmetic and 48-bit precision fixed point addition and subtraction instructions. Boolean, character/word processing, and decision operations are also processed by this module. Floating point, BCD, and 48-bit precision multiplication and division instructions are classified as trapped instructions if the optional arithmetic module is absent from the system. Trapped instructions may be processed under control of an interpretive software routine. BLOCK COr\lTROL AND INTERRUPT MODULE Logic associated with this module controls Search and Move operations, external equipment and typewriter I/O,real-time referencing, and operations with the register file. Interrupt logic, also located in this module, processes Internal, I/O, Trapped Instruction, and Power Failure interrupts. STORAGE MODULE An 8,192-word memory module is standard in every 3200 System. A customer may select combinations of magnetic core storage (MCS) modules to increase the total storage capacity of his computer system to 16,384 or 32,768 words. The following optional storage modules are available: 3209 - 8,192-word (32,768 characters) MCS memory module (requires additional chassis). 3203 - 16,384-word (65,536 characters) MCS memory module (requires additional chassis). Memory configurations are shown in Table 1-1. TABLE 1-1. OPTIONAL MEMORY CONFIGURATIONS Total Expanded Memory Capacity Memory Modules Required in Addition t!) 8K Memory in 3204 16K 32K 3109 3209 and 3203 INPUT/OUTPUT SUB-MODULES Two types ofI/O Channels are available: 3206 Communication Channel (12-bit) 3207 Communication Channel (24-bit) 3206 The 3206 is a bidirectional 12-bit parallel data channel. A maximum of eight 3206 channels may be used in a 3200 System and up to eight peripheral controllers may be connected to each channel. Cabinet space is provided for mounting two 3206 channels per I/O sub-module. The two I/O channels are referred to as a 3206 Dual Communication Module. Channels 0 and 1 normally occupy the lower five logic rows of the storage module directly adjacent to the block control and interrupt module and channels 2 and 3 occupy the lower five logic rows of the adjacent storage chassis. 1-3 3207 The 3207 is a bidirectional 24-bit parallel data channel with twice the data transfer rate of the standard 32015 I/O channel. One 3207 occupies the same cabinet space required for two 3206 channels. If a 3207 is installed in a system, the maximum number of 3206 channels is limited to six. Only one 3207 may be used in a processor. Refer to Section 3 for additional information. OPTIONAL ARITHMETIC MODULE The floating point/48-bit precision standard arithmetic option provides the necessary logic to execute 36-bit precision coefficient floating point arithmetic. It also permits the 48-bit precision multiply and divide instructions to be executed directly by the hardware. The BCD standard arithmetic option permits decimal numbers to be added, subtracted, loaded, stored or sensed directly without the use of interpretive software. If one or both options are absent, the instructions pertaining. to the option(s) can be executed by entering a trapped routine and utilizing the appropriate software. CONSOLE The 3200 sit-down console is standard on all 3200 systems and features: • • • • • • • octal readout displays entry keyboard various operator switches thumbwheel breakpoint switch internal and external status indicators instruction Auto Step control operator's chair A full view of the 3200 Console appears in Figure 1-2 and detailed information is contained in Section 5. INPUT/OUTPUT TYPEWRITER The I/O monitor typewriter is also standard on all 3200 systems. Data is transmitted and received directly from storage, thus eliminating the need for an I/O channel. Operating information and character codes are found in Section 6. POWER CONTROL PANEL The Power Control Panel enables the computer operator to initially connect power to the main computer, typewriter, and groups of peripheral equipment. Semipermanent storage protection switches are located on the upper section of this panel. Operating time and maintenance time meters and the main equipment circuit breakers are also mounted on the control panel. Detailed information pertaining to the Power Control Panel appears in Section 5. 1-4 ~ TO .. --- . I 7 ' 0 j . •• --- .---~. ' '" ', <=> co N Figure 1-2. 3200 Console 1-5 3200 PROCESSORS 3204 Basic Processor The 3204 features 6-, 24-, and 48-bit modes, three index registers, indirect addressing, register file, two 12-bit communication channels, 8,192 words or 32,768 characters of magnetic core storage, 3200 sit-down console, chair, on-line I/O typewriter, and control for referencing up to 32,768 words of storage and up to eight 12-bit or six 12-bit and one 24-bit communication channels. 3205 Scientific Processor The 3205 includes all of the control, arithmetic, input/output and storage functions of the 3204 Processor plus 48-bit floating point arithmetic logic and logic for 48-bit fixed point multiply and divide. 3210 Data Processor The 3210 includes all of the control, arithmetic and input/output functions of the 3204 Processor plus the BCD arithmetic logic for adding, subtracting, loading, storing, shifting and sensing characters of variable field lengths. 3215 General Processor The 3215 is a truly general-purpose computer featuring word and character addressing, binary and character manipulation, fixed and floating point arithmetic and variable length character arithmetic. It includes all of the features of the 3204. 3205. and 3210 Processors. COMPUTER ORGANIZATION COMPUTER WORD FORMAT The standard 3200 computer word consists of 24 binary digits. Each word is divided into four 6-bit characters. In storage, an odd parity bit is generated and checked for each of the four characters, lengthening the storage word to 28 bits. Figure 1-3 illustrates the bit assignments of a computer word in storage. 27 26 25 24 23 18 Character 0 17 12 Character 1 11 06 05 Character 2 00 Character 3 ~'~---------------C-h-a-ra-c-te~~d~e-S-ig-n-a-to-rs--------------~/ Figure 1-3. Computer Word Character Positions and Bit Assignments REGISTER DESCRIPTIONS A Register (Arithmetic) The A register (accumulator) is the principal arithmetic register. Some of the more important functions of this register are: • All arithmetic and logical operations use the A register in formulating a result. The A register is the only register with provisions for adding its contents to the contents of a storage location or another register. • A may be shifted to the right or left separately or in conjunction with Q. Right shifting is end-off; the lowest bits are discarded and the sign is extended. Left shifting is endaround; the highest order bit appears in the lowest order stage after each shift; all other bits move one place to the left. • The A register holds the word which conditions jump and search instructions. 1-6 Q Register (Arithmetic) The Q register is an auxiliary register and is generally used in conjunction with the A register. The principal functions of Q are: • Providing temporary storage for the contents of A while A is used for another arithmetic operation. • Forming a double-length register, AQ. • Shifting to the right or left, separately or in conjunction with A. • Serving as a mask register for 06, 07, and 27 instructions. Both A and Q may load or be loaded from any of the three index registers without the use of storage references. X Register (Arithmetic) The X register is a transfer register, used only for internal instruction processing. Contents of this register cannot be displayed by any external indicators. F Register (Main Control) The program control register, F, holds an instruction during the time it is being executed. During execution, the program may modify the instruction in one of three ways: • Indexing (Address Modification)-A quantity in one of the index registers (B b) is added to the lower 15 bits of F for word-addressed instructions, or to the lower 17 bits of F for character-addressed instructions. The signs of Bb and F are extended for the addition process. • Indirect Addressing-The lower 18 bits of F are replaced by new a, b, and m designators from the original address M (modified if necessary, M=m+B b). • Indirect Addressing (load and store index instructions)-Bits 00-14 and 17 of F are replaced by new a and m designators from the original address M (no modification possible). After executing an instruction, a Normal Exit, Skip Exit or Jump Exit is performed. F is displayed on the console whenever the keyboard is inactive and the computer is not in the GO mode. C Register (Main Control) Quantities to be entered into the A, Q, B or P registers or into storage from the entry keyboard are temporarily held in the Communication (C) register until the TRANSFER switch is pushed. If an error is made while entering data into the Communication register, the KEYBOARD CLEAR switch may be used to clear this register. The C register holds words read from storage during a Sweep or Read Storage operation. The contents of C are displayed on the console whenever the keyboard is active. P Register (Main Control) The P register is the Program Address Counter. It provides program continuity by generating in sequence the storage addresses which contain the individual instructions. During a Normal Exit the count in P is incremented by 1 at the completion of each instruction to specify the address of the next instruction. These addresses are sent via the S (address) Bus to the specified storage module where the instruction is read. A Skip Exit advances the count in P by 2, bypassing the next sequential instruction and executing the following one. For a Jump Exit, the execution address portion of the jump instruction is entered into P, and used to specify the starting address of a new sequence of instructions. 1-7 Bb Registers (Main Contro/) The three index registers, B1, B2 and B3, are used in a variety of ways, depending on the instruction. In a majority of the instructions they hold quantities to be added to the execution address (M=m+ Bb). Data Bus Register (DBR-Main Control) A 24-bit Data Bus register is used to temporarily hold the data received from storage, Communication register and other logic areas. It is a nondisplayed and nonaddressable register. During character-addressed or input/output operations, data entering the DBR may be shifted one, two, or three character positions during the transfer to reach the correct character position within the DBR. E Register The optional arithmetic register, E, is present in a system whenever one of the two optional arithmetic logic packages is present. Its characteristics and functions depend upon whether it is being used for floating point/48-bit precision or for BCD operations. During floating point/48-bit precision operations, the E register is divided into two parts, EU and EL (EUpper and ELower) each composed of 24 bits. It is used as follows: • 48-bit precision multiplication; holds the lower 48 bits of a 96-bit product . • 48-bit precision division; initially hold's the lower 48 bits of the dividend; upon completion, holds the remainder. • Floating point multiplication; holds the residue of the coefficient of the 48-bit product. • Floating point division; holds the remainder. During BCD operations the E register is designated the ED register (EDecimal)' The unique decimal digits can be expressed in 4 bits, i.e., 810=108 and 910=118. Accordingly, ED is extended from 48 to 53 bits in order to handle 13 of these 4-bit characters, plus one sign bit. This register is used in conjunction with storage to perform BCD addition and subtraction. D Register The D register is a field length register and is used in conjunction with loading, storing, adding, and subtracting numeric BCD characters. This register is set to a field length of 1 to 12 characters by executing a SET (70.7) instruction. The field length remains the same until it is changed by another SET instruction. The D register is present only when the BCD arithmetic option is incorporated into a system. The contents of the D register cannot be displayed. S Register (Storage) The S register holds the address of the storage word currently being referenced. It is displayed on the storage module control panel. Z Register (Storage) The Z register is the storage restoration and modification register. Data stored or being transferred to or from the address specified by the S register must pass through Z. The entire storage word, including the four parity bits, is represented by the Z register and displayed on the storage module control panel. Rev. F 1-8 TABLE 1-2. CHARACTERISTICS OF 3200 COMPUTER REGISTERS REGISTER DESIGNATION I-' I FUNCTION BIT CAPACITY MODULUS COMPLEMENT NOTATION ARITHMETIC PROPERTIES RESULT A Main Arithmetic register 24 224_1 one's Q Auxiliary Arithmetic register 24 224_1 one's additive signed* F** Program Control register 24 224_1 *** *** *** C** Communication register 24 224_1 P Program Address register 15 215c1 B1. B2, B3 Index registers 15 2 15 _1 S Storage Address register 13 213_1 Z Storage Data register 28 (includes 4 parity bits) 224_1 X Arithmetic Transfer register 24 224_1 EUpper and ELower octal register 48 2 48 _1 to EU and EL ED ED (BCD) register D Field Length register additive signed* -1'-1'-1'-1' one's additive unsigned **** one's additive signed*; , 53 (include sign and overflow digit) 4 ----------- ± 10 13 24_1 absolute one's additive signed -1'-1'-1'-1' ---- Since the A, Q, and EUEL register co.ntents are all treated as signed quantities, the capacity of these registers is limited to the following values: * A:O;2 23 -1: Q:O;2 23 -1; EUEL::;:247_1. When the arithmetic result in A. Q, or EUELis zero, it is always represented by positive zero. Dual purpose register. ** Only the lower 'j 5 or 17 bits of F are modified depending on whether word or character addressing is being used. The results are unsigned. *** **** Information not applicable. DATA BUS AND'S' BUS The Data Bus provides a common path over which data must flow to the storage, arithmetic, console typewriter and I/O sections of the computer. These sections are connected in parallel to the Data Bus. During the execution of each instruction, Main Control determines which data transfer path is activated. An odd parity bit is generated for the lower byte of each word as it leaves the DBR during I/O operations. In the case of a 3207 I/O Channel, parity for the upper byte of data is generated in the channel itself rather than in the Data Bus. The S or Address Bus is a data link between Main Control and storage for transmitting storage addresses. Inputs to the S Bus are from the P register, F register, Block Control and the Breakpoint circuits. Figure 1-4 illustrates the relevance of the Data Bus and S Bus in a typical 32001 installation. Storage Address Bus 3209 Storage Module 3209 Storage Module 8K 8K Computation Section H 3200 Console I 3203 Storage Module 16K Console rl Typewriter Data Bus I I I 3206 3206 I 3206 I I I I I --------- I I I 3206 3204 Basic Processor 3206 I 3206 I I I 1 3206 I 3206 I or 3207 Figure 1-4. Storage Addressing and Data Paths of Typical Installation BLOCK CONTROL Block control is an auxiliary control section within a 3200 series processor. In conjunction with the register file and program control, it directs the following operations: III External equipment I/O III Search/Move III Real-Time clock .. Console typewriter I/O III High-speed temporary storage Register File The register file is a 64-word (24 bits per word) rapid access memory with a cycle time of 0.5 p.,sec. Although the programmer has access to all registers in the file with the inter-register transfer (53) instruction, certain registers are reserved for specific purposes (see Table 1-3). All reserved registers may be used for temporary storage if their use will not disrupt other operations that are in progress. 1-10 The contents of any register in the file may be viewed by selecting the register number with the Breakpoint switch and pressing the Read STO button on the keyboard. The contents may be altered by setting the Breakpoint switch, pressing the Write STO button, and entering a new word from the entry keyboard. TABLE 1-3. REGISTER FILE ASSIGNMENTS Register Numbers 00-07 10-17 Register Functions Modified I/O instruction word containing the current character address (channel 0-7 control) Modified I/O instruction word containing the last character address ±1, depending on the instruction (channel 0-7 control) 20 Search instruction word containing the current character address (search control) 21 Move instruction word containing the source character address (move control) Real-time clock, current time 22 23 24-27 30 31 32 33 34-77 Current character address (typewriter control) * Temporary storage Instruction word containing the last character address +1 (search control) Instruction word containing the destination character address (move control) Real-time clock, interrupt mask Last character address +1 (typewriter control) * Temporary storage *The upper 7 bits of registers 23 and 33 should contain zeros. Block Control Priority Access to block control circuits is shared between the computer's program control and· block control's own buffered functions. Functi.ons within block control are divided into thr~e groups (see Table 1-4). Five scanners provide the necessary priority network for this system. They are the Program/Buffer scanner, the Group scanner, and the three Inner-Group scanners. Figure 1-5 is a diagram showing the search pattern of the scanners. TABLE 1-4. BUFFER GROUPS GROUP1 GROUP2 GROUP3 Channel 0 control '1 Channel 4 control Real-time clock control Console typewriter control Register File Display Search/Move control 2 3 5 6 7 A free-running scanner alternately checks for block control requests from program control, and for functions within block control. This scanning. is done on an equal time basis. As soon as a request from one source has been processed, the scanner is released so it can check the other source for an active request. Another free-running scanner checks the three groups for an active block control request. After a request from one group has been processed, the scanner moves to the next group, rotating through the groups in a 3, 2, 1,3 order. Each group has a four-position scanner. These scanners search from top to bottom of their respective groups looking for active block control requests. After they find a request and it has been processed, the scanners return to the top oftheir group before resuming their search. 1-11 Channel ..t ..t ..t .. .. ..tt ..t a Control 2 3 4 5 6 Real-Time Clock Control Console Typewriter Control Search/M ove Control Buffer .. Group 2 . 7 Register File Display .. Group 1 ..t ..t ..t . • Program .. ~ .. -----~ Group 3 Figure 1-5. Block Control Scanning Pattern REAL-TIMIE CLOCK The real-ti:rne clock is a 24-bit counter that is incremented each millisecond to a maximum period of 16,777,216* milliseconds. After reaching its maximum count, the clock returns to zero and ~he cycle is repeated continuously. The clock, which is controlled by a 1 kilocycle signal, starts as soon as power is applied to-the computer. The current time lis stored in register 22 of the Register File. It is removed from storage, updated, and compared with the contents of register 32 once each millisecond. When the clock time equals the time specified by the clock mask, an interrupt is set. When necessary, the real-time clock may be reset to any 24-bit quantity including zero by loading A and then transferring (A) into register 22. Performing a Master Clear will not affect the clock count. PARITY Parity bits are generated and checked in 3200 systems for the following two conditions: 1 Whenever a data word is read from or written into storage. 2 When a data word is transferred via an I/O channel. *16,777,216 milliseconds equals approximately 4 hours and 40 minutes. 1-12 Storage Parity A parity bit is generated and checked for each 6-bit character of a storage word. Refer to Figure 1-6. 27 26 25 24 P3 23 18 17 12 11 06 o 05 00 3 Character designators Parity bit for character Parity bit for character Parity bit for character Parity bit for character 3 2 1 0 Figure 1-6. Parity Bit Assignments During each Write cycle, a parity bit is stored along with each character. When part or all of a word is read from storage, parity is checked for a loss or gain of bits. Failure to produce the correct parity during Read operations causes the PARITY FAULT indicators on the Storage Module Control Panel and internal status lights to glow. As soon as a parity error is recognized by Main Control, program execution is halted. Master Clearing the computer clears the fault, condition. If the DISABLE PARITY switch has been depressed and is active, subsequent parity errors will not cause parity error indicators to glow and program execution will not be affected. The total number of "l's" in a character, plus the parity bit, is always an odd number in the odd parity system used in the 3200. I/O Parity The I/O Communication Channels provide parity lines in addition to the other signals that interface with external equipment. Parity is checked in the I/O channels to detect parity errors during data transmission to the external equipment and errors when data is received from external equipment. I/O parity errors can be detected by a sensing instruction; however, the parity error indicator will not be activated. A complete description ofI/O parity generation and checking may be found in the I/O section of this manual. PERIPHERAL EQUIPMENT A large variety of peripheral equipment is available for use with the 3200 computer. All peripheral equipment available for 3100, 3200, 3300, 3400, 3600 and 3800 systems may be attached to a 3206 communication channel. For programming instructions, as well as a list of function codes and status response codes, refer to the Control Data 3000 Series Computer Systems Peripheral Equipment Reference Manual (Pub. No. 60108800). 1-13 Rev. F Section 2 STORAGE CHARACTERISTICS STORAGE MODULE CONTROL PANEL Figure 2-1 shows the Storage Control Panel which is mounted at the top of each 3209 Storage Module. The Drive Voltage Control is used to adjust the drive voltage to 22.5 volts, and not exceeding 24 volts. The Z and S registers are displayed on this panel, as well as three storage faults. The indicator lamps represent an x or y drive line voltage failure and a storage parity fault. The Contlt'Ol Panel on the 3203 Module is similar to the 3209 Control Panel but is laid out on a verticai plane. Figure 2-1. Storage Module Control Panel 2-1 STORAGE REGISTERS S REGISTER The 13-bit S register contains the address of the word being currently processed. Bit 12 specifies field 0 or field 1 in the memory stack. Bits 00-11 specify the co-ordinates of the word. Z REGISTER The 2S-bit Z register is the storage restoration and modification register. All data that is transferred to or from the storage module passes through Z. READIWRITE CHARACTERISTICS During a normal memory cycle, all bits of a word referenced by (S)* are read out of core storage in parallel, loaded into Z, used for some purpose, then written back into storage intact. Five modes exist in the 3200 Computer for storage modification. In all cases, Z is initially in the cleared state. The Z register is only cleared at the beginning of each memory cycle (except in the case of a Master Clear). If the program stops as the result of a parity error, the operator can examine (Z) on the Storage Module Control Panel, Figure 2-1. SINGLE-CHARACTER MODE Anyone character may be ignored during the Read cycle. New data is then loaded into the corresponding character position of Z and the whole (Z) is stored. DOU BLE-CHARACTER MODE The upper, middle, or lower half of a word is ignored during the Read cycle. New data is loaded into the unfilled half of Z and the whole (Z) is stored. TRIPLE-CHARACTER MODE Either of the two possible triple-character groups may be ignored during the Read cycle. New data is then loaded into the corresponding character positions of Z and the whole (Z) is stored. FUll-WORD MODE The whole word is ignored during the Read cycle. A new word is entered into Z and (Z) is stored. ADDRESS MODE The lower 15 or 17 bits of a word may be ignored during the Read cycle. A new word or character address is then loaded into Z, and the whole (Z) is stored. *The parentheses are an accepted method for expressing the words "the content(s) of " (in this case, "the contents of S"). 2-2 STORAGE ADDRESSING Table 2-1 gives the absolute addresses for a specific storage capacity. TABLE 2-1. ABSOLUTE ADDRESSES Storage Word Capacity Encompassing Addresses 8K (8,192) 00000 16K (16,384) ALL PRECEDING ADDRESSES AND: ,.. 37777 20000 32K (32,768) ALL PRECEDING ADDRESSES AND: ,.. 77777 40000 ,.. 17777 NOTE If an address is referenced that exceeds the storage capacity of a system, the uppermost digit is adjusted to conform to the available storage. No fault indication is given for this case, Example: Address 67344 referenced. Actual address referenced: 67344 - 32 K system 27344-16K system 07344- 8K system STORAGE SHARING Two 3200 computers may share the memory of a 3209 Storage Module. A switch on each Storage Module Control Panel allows the operator to give exclusive control to the right or left computer, A middle position on this switch actuates a two-position priority scanner, Storage Control honors the requests in the order they are received. Neither computer has priority over the other and the computer involved in the current storage cycle relinquishes control to the requesting computer at the end of its cycle. Either computer can therefore be delayed a maximum of one storage cycle. A similar program delay may occur within either computer when an internal scanner determines whether Main Control or Block Control has access to the storage module, Direct access to 3200 type storage modules is available for certain installations. The normal I/O channel route is bypassed and the customer's special equipment interfaces directly with the storage logic. STORAGE PROTECTION It is often desirable to protect the contents of certain storage addresses against alteration during the execution of a program. There are three catagories of addresses: those that are always protected; those that are protected at the option of the programmer; and those that are never protected during special sequences. An attempt to write at a protected address is defined as an Illegal Write. No writing actually takes place, however, and the attempt to write does not stop or interrupt the execution of the program. An Illegal Write causes a console indicator to light and the program may sense an Illegal Write as bit 05 of the internal status response code. An Illegal Write is cleared by a Master Clear, an Internal Clear, or by sensing. 2-3 PERMANENT PROTECTION The upper 408 memory locations reserved for Auto Load and Auto Dump programs are always protected against alteration by a special storage protection circuit. The actual addresses protected depend upon the memory size and encompass the addresses shown in Table 2-2. TABLE 2-2. AUTO LOAD/AUTO DUMP RESERVED ADDRESSES Memory Size Auto Load and Auto Dump Reserved Storage Addresses 8K 177 40-17777 16K 37740-37777 32K 77740-77777 Logic circuits sense the total storage capacity of the system and check each storage address as it appears on the S (address) Bus to see if it is among the protected addresses. If it is one of those to be protected, reading but no writing is allowed at that address. The only time that this protection is disabled is when an operator presses the ENTER AUTO PROGRAM switch on the console so that he may store a new Auto Load or Auto Dump program. Refer to Section 3, Input/Output Characteristics, for additional information on the Auto Load and Auto Dump features. SELECTIVE PBOTECTION There are 15 three-position toggle switches mounted on the Power Control Panel. Each switch corresponds to one bit of the 15-bit storage address. The operator may protect an address or block of addresses in storage by setting each of the switches to one of its three positions. A view of the Storage Protect switches on the Power Control Panel appears in the Consoles and Power Control Panel section, and Table 2-3 describes the switch positions. Selective protection may be disabled by pressing the Disable Storage Protect switch on the console. Table 2-4 gives examples of the switch settings needed to protect various blocks of addresses. NO PROTECTIION Addresses 00002 through 00005, 00010 and 00011, which are used by the interrupt system, are never protected during the interrupt sequence. 2-4 TABLE 2-3. STORAGE PROTECTION SWITCH DESCRIPTIONS Output Switch Position "1" "N" Up Center "0" Down Description Each address protected will have a "1" in this bit position. Each address protected may have either a "1" or a "0" in this position. For example. when all switches are set to the neutral position. all storage -is protected. provided that the protect feature is enabled. Each address protected will have a "0" in this bit position. TABLE 2-4. STORAGE PROTECTION SWITCH SETTINGS Examples: Description of Protected Addresses Addresses Protected (octal) Settings - Storage Protection Switches Single storage address 000 000 000 001 111 00017 Two nonsequential addresses of a group of 10s.* 000 000 000 000 000 000 010 010 ONO Nl0 00020 & 00022 00022 & 00026 Four nonsequential addresses of a group of 10s.* 000 000 000 010 NON 000 000 000 010 NNl 00020.00021. 00024. & 00025 00021.00023. 00025. & 00027 Four address block- may be the upper or lower half of a group of 10s.* 000 000 000 000 000 000 100 100 ONN 1 NN 00040-00043 00044-00047 lOs address block 000 000 000 010 NNN 00020-00027 20s address block 000 000 000 000 001 001 OON 11N NNN NNN 00100-00117 00160-00177 40s address block- may be the upper or lower half of a group of 100s.* 100 100 000 000 000 000 ONN 1 NN NNN NNN 40000-40037 40040-40077 Numerous other groups and combinations of the above groups may also be protected. 000 000 000 NNN 1 10 NNN NNN NNN NNN 111 NNN NNN 001 NNN NNN 00006. 00016. 00026 ... 00076 All XXXX7 addresses All XX1XX addresses (0010000177.0110001177. etc.) * The first address of all groups of lOs. 20s. 40s. 1OOa. etc .. must have a lower octal digit of zero. Blocks of 100a. 200a. 400a. 1000a. 2000a. 4000a. etc .. may be protected in the same manner as blocks of lOa. 20a. & 40a. 2-5 Section 3 INPUT/OUTPUT CHARACTERISTICS Data is transferred between a 3200 Computer and its associated external equipment via a 3206 or 3207 Communication Channel. For programming purposes, the eight possible 3206 channels in a system are designated by numbers 0 through 7. A 3207 replaces the 3206 type I/O channels 2 and 3 in expanded systems. It is programmed as Channel 2. INTERFACE SIGNALS Up to eight external equipment controllers may be attached in parallel to each 3206 Communication Channel. Figure 3-1 shows the principal signals which flow between a 3206 and its external equipment. The 12 status lines are active only between the channel and the controller to which it has been connected by the CON (77.0) instruction. The eight interrupt lines, designated 0-7, connect to all eight controllers attached to a channel. These lines match the Equipment Number switch setting on each controller. For a complete description of the I/O interface signals as well as an I/O timing chart, refer to the 3000 Series I/O Specifications (Pub. No. 60048800). Data Lines (12 for 3206; 24 for 3207) Parity Lines (1 for 3206; 2 for 3207) Connect Function 3206 or 3207 Read External Communication Write Equipment Channel Data Si(.]nal Controller Master Clear Clear External Interrupt Channel Busv Reply Reiect End of Record External Parity Error Status Lines (12) Interrupt Lines (8) SUDDress Assemblv/Disassemblv Word Mark Sample Status Time Figure 3-1. Principal Signals Between I/O Channel and External Equipment 3-1 I/O PARITY PARITY CHECKING WITH THE 3206 The computer checks parity by one method for Connect, Function and Write operations, and by a second method for Read operations. Connect, Function and Write During the Connect, Function and Write operations, the Data Bus circuit of the computation section generates a parity bit and sends it to the external equipment with each 12-bit byte of data via the I/O channel. The external equipment generates a second parity bit and compares it with the parity bit from the computer. If an error exists, the external equipment sends an External Parity Error signal back to the I/O channel. This signal causes the logic within the channel to provide a "I" on sense line O. The logic is cleared every time an attempt is made to execute a Connect, Function, Read, or Write operation with this channel. It may also be channel-cleared by the program or master-cleared by the operator. If a transmission parity error is received from a controller, the controller remains inactive until the I/O channel is cleared. Read During a Read operation, the external equipment generates a parity bit and sends it to the I/O channel along with each 12-bit byte of data. The I/O channel holds the parity bit while the data is forwarded to the computation section. The Data Bus circuit of the computation section generates a second parity bit and sends it back to the I/O channel. The channel compares this second signal with the parity signal which was generated by the external equipment. If an error exists, certain channel logic is set by an enable from the computation section. This logic provides a "I" on sense line O. The channel parity logic is cleared every time an attempt is made to execute a Connect, Function, Read or Write operation with this channel. It may also be channel-cleared by the program or master-cleared by the operator. If a transmission parity error is channel-generated, it must be sensed by the INS instruction. If the error is not sensed, the next channel operation will clear the error indication. PARITY CHECKING WITH THE 3207 The computer checks parity in a 3207 in a slightly different manner than in a 3206. Connect, Function and Write During the Connect, Function and Write operations, the Data Bus circuit in the computation section generates a parity bit for the lower 12-bit byte of each data word. The 3207 generates a parity bit for the upper byte. Both parity bits are sent to the external equipment via the I/O channel. The external equipment generates' parity bits and compares them with the parity bits from the computer. If an error exists, the external equipment sends an External Parity Error signal back to the I/O channel where it can set the channel parity logic and provide a "I" on sense line O. Clearing the logic occurs in the same way as it does in the 3206. If a transmission parity error is received from a controller, the controller remains inactive until the I/O channel is cleared. Read During a Read operation, the external equipment generates two parity bits per data word, one for eaeh 12-bit byte, and sends them to the 3207 along with the word. The I/O channel holds the parity bit for the lower byte while it forwards the byte to the computation section. The Data Bus circuit of the computation section generates a second parity bit for this byte and sends it back to the I/O channel. 3-2 Simultaneously, the 3207 retains the parity bit for the upper byte of the data word. The I/O channel generates a second parity bit for the upper byte as it forwards the byte to the computation section. The 3207 compares the two parity bits generated by the computer with the two parity bits generated by the external equipment. If an error exists, the channel parity logic is set by an enable from the computation section, thus providing a "1" on sense line O. Clearing the logic also occurs the same way as it does in the 3206. If a transmission parity error is channel-generated, it must be sensed- by the INS instruction. If the error is not sensed, the next channel operation will clear the error indicator. AUTO LOAD/AUTO DUMP The Auto Load/Auto Dump feature allows the programmer 3210 storage addresses in which to store two short routines. These routines are used generaHy to receive and transmit data to external equipment. Assuming the routines are already in storage, the operator can initiate these operations with the AUTO LOAD and AUTO DUMP switches on the console. PRELIMINARY CONSIDERATIONS Addresses 77740 through 77777 are normally protected from being written into. To enter Auto Load or Auto Dump routines, the operator presses the ENTER AUTO PROGRAM switch on the console, enters the routine, then Master Clears the computlsr. Before pressing the AUTO LOAD or AUTO DUMP switches, the operator must first Master Clear the computer. AUTO LOAD The AUTO LOAD switch automatically sets (P) to address 77740. This group of 16 instructions may be used to bring in a program from a magnetic tape unit or other peripheral device. The last instruction in this routine should be a jump to the first address of the newly stored program. AUTO DUMP The AUTO DUMP switch automatically sets (P) to address 77760. This group of 16 instructions is most often used to output a block of data to a magnetic tape unit or other peripheral equipment. The last instruction in this routine may be a jump to any storage area. 3-3 SATELLITE CONFIGURATIONS Figure 3-2 shows three possible Satellite configurations that utilize one or more 3200 Computer Systems. 3200 Computer 3200 Computer 3206 Communication Channel System 3200 Computer 3206 Communication Channel 3682 Satellite Coupler 1* System * 3206 Communication Channel 3606 Data Channel 3682 Satellite Coupler System System System * * 3200 Computer 3206 Communication Channel 3600 Computer 1* 3682 Satellite Coupler 3681 Data Channel Converter * Figure 3-2. Satellite Configurations *NOTE: May be connected to seven additional external equipments. 3-4 160/160-A Computer Section 4 INTERRUPT SYSTEM GENERAL INFORMATION The Interrupt Control section ofthe 3200 Computer is capable of testing for the existence of certain internal and external conditions without having these tests in the main program. Examples of these conditions are internal faults and external equipment end-ofoperation. Near the end of each RNI cycle, a test is made for interruptible conditions. If one ofthese conditions exists, execution of the main program halts, the contents of the Program Address register are stored, and an interrupt routine is initiated. This interrupt routine, initially stored in memory, performs the necessary functions for the existing condition and then jumps back to the last unexecuted step in the main program. The instruction being read when the interrupt is recognized is executed when the main program is resumed. There are four categories of interrupts in the 3200 Computer: Internal Condition interrupts, InputlOutput (1/0) interrupts, Trapped Instruction interrupts and a special Power Failure interrupt. The store operations required for all four types of interrupts occur regardless of the state or selection of the storage protection feature described in Section 2. An additional manual interrupt is set by a switch on either the computer or typewriter console. This interrupt is not masked since this switch is pressed only when an interrupt is desired. The interrupt is recognized if the interrupt system is enabled. The interrupt condition is automatically cleared after the interrupt is recognized. INTERRUPT CONDITIONS INTERNAL INTERRUPTS Anyone of six internal conditions may cause an interrupt during the execution of a program. These conditions and their descriptions follow. Arithmetic Overflow Fault The Arithmetic Overflow fault is set when the capacity of the adder is exceeded. Its capacity, including sign, is 24 or 48 bits for 24-bit precision and 48-bit precision, respectively. Divide Fault The Divide fault sets if a quotient, including sign, exceeds 24 or 48 bits for 24-bit precision and 48-bit precision, respectively. Therefore, attempts to divide by too small a number, including positive and negative zero, result in a Divide fault. A Divide fault also occurs when a floating point divisor is either equal to zero or not in floating point format. The results in the A, Q, and E registers are insignificant if a fault occurs. A Divide fault can be correctly sensed only after the current instruction has been executed. 4-1 Exponent OV4~rflow/Underfiow Fault During all floating point arithmetic operations, exponential overflow occurs if the ex-. ponent exceeds +17778 or is less than -17778. BCD Fault A BCD Fault is set if: 1. The lower 4 bits of any character, except the least significant, exceeds 118 (910). Characters are tested for legality only during the LDE, ADE, and SBE instructions. In all cases, ir'the value 118 (910) is exceeded, the value zero is used for that character. 2. The upper 2 bits of any character, except the least significant, do not equal zero. 3. An attempt is made to set (load) the D register with 158, 168 or 178. Search/MoVE~ Interrupt The SearchlMove control may be programmed to generate an interrupt during a 71 or 72 instruction for either of the following conditions: 1. Completion of an equality or inequality search. 2. Completion of a block move. Real-Time Clock Interrupt The Real-Time Clock interrupt is generated when the clock reaches a prespecified time that has been stored in register 32 of the Register File. TRAPPED INSTRUCTION INTERRUPTS A translator within the 3200 Computer detects and traps the 55-70 instructions if the appropriate option is not present in the system. Although they are not true interrupts, trapped instructions are processed like interrupts once they have been detected. A conventional interrupt always takes priority over a trapped sequence. The following operations take place when a trapped instruction is recognized: 1. P + 1 is stored in the lower 15 bits of address 00010. 2. The upper 6 bits of F are stored in the lower 6 bits of address 00011; the upper 18 bits remain unchanged. 3. Program control is transferred to address 00011 and an RNI cycle is executed. Further information on trapped instructions may be found in the General Information paragraph of Section 7. POWER FAILURE INTERRUPT If source power to a 3200 Computer is removed, the failure is detected and the computer program is interrupted; this interrupt is necessary to prepare for a controlled shutdown and prevent the loss of data. This operation requires 16 ms for detection, and up to 4 ms for processing a special Power Failure interrupt routine. The Power Failure interrupt overrides any other interrupt (internal or I/O), as well as the trap sequence, regardless of the state of the interrupt control. Since this interrupt overrides all others, the address where the present contents of P are stored and the address to which program control is transferred must be different from that for a normal interrupt. When a Power Failure interrupt occurs, the machine stores the contents of P in the lower 15 bits of address 00002 and transfers program control to address 00003. The normal interrupt system is disabled during a power failure sequence; i.e., the hardware simulates the execution of."1 DINT (77.73) instruction. 4-2 I/O INTERRUPTS I/O Channlel Interrupts Any of the eight possible 1/0 channels may be programmed to generate an interrupt for either of the following conditions: 1. Reaching the end of an input or output block. 2. Receiving an End of Record (Disconnect) signal from an external device. I/O Equipment Interrupt The 1/0 equipment interrupt is set when an interrupt signal is received from any of eight peripheral equipment controllers connected to any of the eight possible 1/0 channels (there may be a total of 64 interrupt lines). The interrupt remains set until the computer directs the originating device to cancel it with a function code. Associated Processor Interrupt In a system of two or more processors (computers), each processor may interrupt the processor to its left by executing an IAPR (77.57) instruction. The interrupting processor must interrupt via its storage modules 0 and 1, which are storage modules 2 and 3 of the processor being interrupted. This interrupt is not masked and becomes cleared as soon as it is recognized. INTERRUPT MASK REGISTER The programmer can choose to honor or ignore an interrupt by means of the Interrupt Mask register. All but two of the normal interrupt conditions are represented by the 12 Interrupt Mask register bits. The manual interrupt and the associated processor interrupt are not masked. The mask is selectively set with the SSIM (77.52) instruction and seiectively cleared by the SCIM (77.53) instruction. See Table 4-1 for Interrupt Mask register bit assignments. The contents ofthe Interrupt Mask register may be transferred to the upper 12 bits of the A register for ]programming purposes with the COPY (77.2) or CINS (77.3) instructions. TA.BLE 4-1. INTERRUPT MASK REGISTER BIT ASSIGNMENTS Mask Bits 00 01 02 03 04 05 06 07 08 09 10 11 Mask Codes Interrupt Conditions Represented I/O Channel 0001 0002 0004 0010 0020 0040 0100 0200 0400 1000 2000 4000 0 1 2 3 4 (Includes interrupts generated within the channel and external equipment interrupts.) 5 6 7.1 Real-time clock Exponent overflow/underflow & BCD faults Arithmetic overflow & divide faults Search/Move completion INTERRUPT CONTROL A program can recognize, sense, and clear interrupts, and enable or disable interrupt control through the use of certain instructions. 4-3 ENABLING OR DISABLING INTERRUPT CONTROL Instruction EINT (77.74) enables the interrupt system and the DINT instruction (77.73) disables it. Mtler recognizing an interrupt and entering the interrupt sequence, other interrupts are disabled automatically. When leaving the interrupt subroutine, the interrupt must again be enabled by the EINT instruction, if awaiting interrupts or subsequent interrupts are to be recognized by the system. After executing an EINT instruction, at least one and up to four more instructions may be executed before an interrupt is recognized, depending on the type of interrupt. To prevent extraneous interrupts from occurring, the Interrupt Mask register must not be set or cleared while the interrupt system is enabled. INTERRUPT PRIORITY An order of priority exists between the various interrupt conditions. As soon as an interrupt becomes active, the computer scans the priority list until it reaches an interrupt that is active. The computer processes this interrupt and the scanner returns to the top of the list where it waits for another active interrupt to appear. Table 4-2 lists the order of priority. TABLE 4-2. INTERRUPT PRIORITY Priority Type of Interrupt 1 Arithmetic overflow or divide fault Exponent overflowlunderflow or BCD fault External lID interrupts* lID channel interrupts** Searchlmove interrupt Real-time clock interrupt Manual interrupt Associated processor interrupt 2 3-66 67-74 75 76 77 78 SENSING INTERRUPTS The programmer may selectively sense interrupts, independent of the Interrupt Mask register, by using the INTS (77.4) instruction. Sensing the presence of internal faults automatically clears them. Channel interrupt lines that represent channels not present in the system are always sensed as being active. However, the Interrupt Mask register bits representing these missing channels may never be set; therefore, no interrupt can ever occur. CLEARING INTERRUPTS I/O equipment interrupts may be cleared by: II» Pressing the EXTERNAL CLEAR button on the console. • Pressing the entry keyboard MC button. s Executing an IOCL (77.51) instruction, or .. Reselecting or disabling the interrupt with a function code, SEL (77.1) instruction. Within a program, I/O channel interrupts must be selectively cleared by the INCL (77.50) or JOCL (77.51) instructions. *There are eight interrupt lines on each of the eight possible I/O channels, or 64 lines in all. On any given channel, a lower numbered line has priority oyer'a higher numbered line. Likewise, a lower numbered channel has priority over a higher numbered channel. Example: line 0 of channel 0 has highest priority of all external I/O interrupts, line 0 of channel 1 has second highest, and line 7 of channel 7 has the lowest. **A lower numbered I/O channel interrupt has priority over a higher numbered I/O channel interrupt. Rev.H 4-4 The Real-time Clock, Arithmetic, and Search/Move Completion interrupts may be cleared by: Ell Sensing, after which the interrupts are automatically cleared. Ell Executing an INCL (77.50) instruction, or $ Pressing the MC or INTERNAL CLEAR buttons. In the INCL instruction, x represents the contents ofthe Interrupt Mask register. Even though the Interrupt Mask register bits usually represent both I/O channel and I/O equipment interrupts, an INCL instruction clears only internal I/O channel interrupts. In addition to clearing a ehannel interrupt with an INCL instruction, the program must clear the I/O equipment interrupt with a function code SEL (77.1) instruction. The manual and associated processor interrupts are automatically cleared after they are recognized by the computer during an RNI cycle. INTERRUPT PROCESSING Four conditions must be met before a normal interrupt can be processed: 1. With the exception of the Manual interrupt and the Associated Processor interrupt, a bit representing the interrupt condition must be set to "I" in the Interrupt Mask register. 2. The interrupt system must have been enabled. 3. An interrupt-causing condition must exist. 4. The interrupt scanning logic (Refer to Table 4-2) must reach the level of the active interrupt on the priority list. When an active interrupt has met the above conditions, the following takes place: 1. The instruction in progress proceeds until the point is reached in the RNI cycle where an interrupt can be recognized. At this time the count in P has not been advanced nor has any operation been initiated. When an interrupt is recognized, the address of the current unexecuted instruction in P is stored in address 00004. 2. A number representing the interrupt-causing condition is stored in the lower 12 bits of address 00005 without modifying the upper bits. Table 4-3 lists the octal codes which are stored for each interrupt condition. 3. Program control is transferred to address 00005 and an RNI cycle is executed. TABLE 4-3 REPRESENTATIVE INTERRUPT CODES Conditions Codes External interrupt 1/0 channel interrupt Real-time clock interrupt Arithmetic overflow fault Divide fault Exponent overflow fault BCD fault Searchlmove interrupt Manual interrupt Associated processor interrupt *OOLCh 010Ch 0110 0111 0112 0113 0114 0115 0116 0117 *L = line 0-7 and Ch =channel designator. 0-7 4-5 Section 5 CONSOLE AND POWER CONTROL PANEL The 3200 desk console enables the computer operator to control and observe computer operation. This section describes the operator's controls and the significance of the visual indicators. Also included in this section is a view of the Power Control Panel and a description of its operation. CONSOLE REGISTER DISPLAYS Communication Register Data entered into any of the operational registers (except the ED register) must first pass through the Communication register. Starting with the uppermost digit, data is entered into the Communication register by first depressing a register switch and then depressing the numeric keyboard switches. A blue Active Digit indicator light is superimposed on each digit position of the Communication register as digit entry progresses. When data is to be entered into the BI, B2, Rl or P registers, the Active Digit indicator automatically starts at the fifth digit position of the Communication register. Depressing the TRANSFER switch causes the data to be transferred from the Communication register to the designated register. Depressing the TRANSFER switch again results in transferring all zeros to the register. E Register The E register is'displayed as either EU and EL or ED. Whenever the E register is being displayed, the A and Q registers cannot be displayed and vice versa. The register(s) currently displayed is denoted by the illumination of one ofthe three register display indicators located between the register displays. Figure 5-2 illustrates specific digit functions when the EU EL register is displayed on the console. Figure 5-3 illustrates the digit functions when the ED register is displayed. NOTE The ED register may be entered directly with any of the 10 numeric keyboard characters. As each digit is entered, the preceding digit is shifted one digit position left, increasing its significance. Each succeeding entry shifts the digits one position left and inserts the newly entered digit into the lowest order position. After a maximum of 13 digits have been entered (including the overflow digit) the uppermost characters are shifted end-off as additional characters are entered. The EU EL register cannot be entered into by a keyboard operation. Appropriate inter-register transfer instructions must be utilized for entry into this register. 5-1 c.n N 1. External status indicators 2. Internal status indicators 3. Thumbwheel breakpoint switch 4. Emergency power cutoff switch 5. Adjustable auto-step control 6. Octal register displays 7. Detachable keyboard Figure 5-1. Front View of 3200 Console Controls 1563 1565 V V Octal digits 8 through 15 Octal digits 0 through 7 Figure 5-2. EU EL Register Display 01 I CIJ Decimal digits 0 through 11 Overflow digit Sign of ED MSD of second operand Sign of second operand Figure 5-3. ED Register Display Other Registers The A, Q, P, Bl, B~ and Rl registers, described in the System Description Section of this maIll,Ial,:.are displayed on the Integrated Console in binary form. CONSOLE lOUDSPEAKER The console loudspeaker and its associated volume control are mounted underneath the console table. The loudspeaker receives its input from the upper 3 bits of the A register. An audible sound is produced when one or more of these bits are toggled at an audio rate. Loudspeaker volume is controlled by rotating the volume control. STATUS INDICATORS External Status Indicators The external status indicators display the existing conditions of I/O channels 0-7. Conditions displayed are Read, Write, Reject, Connect, Function, and Interrupt. Refer to Figure 5-4. Figure 5-4. External Status Indicators Internal Status Indicators Six columns of internal status indicators are located on the display section of the consoles. Refer to Figure 5-5. When the particular indicator is glowing, the condition or fault described below exists: 5-4 Figure 5-5. Internal Status Indicators 1. STORAGE ACTIVE 0-1-2-3 The Storage Active lights indicate the storage area currently being referenced. Digit 0 glows when the first 8K of storage is referenced. In expanded 3200 systems, digit 1 indicates that the second 8K storage section is referenced, digit 2 the third 8K section, and digit 3 glows when the fourth 8K section is referenced. 2. CONDITIONS STANDBY -Indicates that the main power switch is on but the individual logic supplies are still off. INTERRUPT DISABLED-Indicates the interrupt system has been disabled by executing the DINT (77.73) instruction or by a Master Clear. ILLEGAL WRITE - Glows whenever an attempt is made to write into the area of storage currently being protected by the storage protect switches. This indicator will also glow if an attempt is made to write into the Auto Load or Auto Dump storage areas. This condition is cleared by executing an INS (77.3) instruction or performing a Master Clear. PARITY ERROR-Indicates that a parity error has occurred in storage. When the error is detected, this indicator glows and program execution stops. Performing a Master Clear clears the condition. Transmission parity errors do not affect this indicator. 3. CYCLE CRNI-RAD-ROP-STO) These indicators represent the four program cycles: Read Next Instruction, Read Address, Read Operand, and Store Operand. They are lit while the respective cycles are in progress. 4. FAULTS This column of indicators represents the four arithmetic fault conditions: ARITHMETIC OVERFLOW - The arithmetic overflow fault is set when the capacity of the adder is exceeded. Its capacity, including sign, is 24 or 48 bits for 24-bit precision and 48-bit precision, respectively. 5-5 DIVIDE - The divide fault sets if a quotient, including sign, exceeds 24 or 48 bits for 24bit precision and 48-bit precision, respectively. Therefore, attempts to divide by too small a number,' including positive and negative zero, result in a divide fault. During floating point division, a divide fault occurs if division by zero or by a number that is not in floating point format is attempted. If the divisor is not properly normalized a divide fault may also occur. Refer to Appendix B for a description of normalization. EXPONENT OVERFLOW/UNDERFLOW -This fault indicator glows when either an exponent overflow (>+ 1777 H) or an expon~nt underflow « -1777 s) condition exists. DECIMAL-A decimal (BCD) fault is set if: • The lower 4 bits of any character except the least significant exceed 11H (9 10 ), Characters are tested for legality only during the LDE, ADE and SBE instructions. In all cases, if the value 118 (910) is exceeded, the value zero will be used for that character. • The upper 2 bits of any character except the least significant do not equal zero. • An attempt is made to load the D register with 158, 168, or 178. 5. TEMPERATURE WARNING If the upper temperature limit of the normal operating range within a section of the computer is exceeded, a corresponding TEMP WARNING indicator glows. The indicators correspond to computer sections illustrated in Figure 5-6. 6. FAULTS This column of indicators represents abnormal operating conditions. TEMPERATURE HIGH - If the TEMP WARNING indicators are glowing and an absolute temperature is exceeded, the computer will automatically shut off logic power. The TEMP HIGH indicator for the particular computer section continues to glow until the temperature drops below the absolute limit. Secondary power must be manually re-applied before normal operation can resume. If the THERMOSTAT BYPASS console switch is on, all four TEMP HIGH indicators glow and the temperature protection feature is defeated. CIRCUIT BREAKER - This indicator glows if the circuit breakers governing any of the internal power supplies are off. TERMINATOR POWER-If output power from the internal terminator power supplies fails, this indicator glows. Temperature Indicator 2 16K Storage and 110 Logic Temperature Indicator 1 Block Control, Interrupt, and Optional Arithmetic Logic Temperature Indicator Temperature Indicator 0 3 Main Control and Arithmetic Logic 16K Storage and 110 Logic Figure 5-6. Temperature Warning Designations for an Expanded 3200 Computer, Front View. 5-6 SWITCHES Switches associated with a 3200 Computer _are classified as console switches and keyboard switches. Console switches include the following: • The EMERGENCY OFF switch. • A group of operator/maintenance switches on the console main-frame. • The Breakpoint switch assembly (Figure 5-8). Keyboard Switches The console keyboard switches are used for entering data manually into the computer and for controlling its operation. A front view of the keyboard appears in Figure 5-7 and Table 5-1 describes the function ofthe keyboard switches. Console Switches EMERGENCY OFF SWITCH -This red rectangular momentary switch is used to remove power from the whole computer system in case of a fire or other emergency. It should not be used for a normal power shutdown. Refer to the SOURCE POWER OFF switch description in the Power Control Panel description of this section. OPERATOR/MAINTENANCE SWITCHES -Table 5-2 describes the operator/maintenance switches located on the console main-frame. BREAKPOINT SWITCH ASSEMBLY -The Breakpoint switch is a six-section, eight-position, thumb-wheel switch. The left-hand wheel selects the operating mode, and the other five wheels specify a register number or storage address. There are four mode positions on the mode selector switch with an OFF position between each mode; these modes are BPI, BPO, REG, and STO. BPI and BPO Modes: The address on the S Bus is continually compared with the instruction or operand address specified by the Breakpoint digit switches. When the selector switch is set to BPI, the computer stops ifthese values become equal during an RNI (Read Next Instruction) sequence. When the mode selector switch is set to BPO, the computer stops ifthese values become equal during an ROP (Read Operand) or STO (Store) sequence. REG and STO Modes: In these two modes, the operator may either monitor the contents of a register location or storage address specified by the thumb-wheel digit switches, or he may store a word in these locations. To monitor a storage location: 1. Set the mode selector to REG (register file location) or STO (storage). 2. Set the Breakpoint switch to the desired register number or storage address. 3. Press the READ STO switch on the keyboard. 4·. Adjust the Auto Step control to vary the display rate. The register or storage contents are repeatedly displayed in the Communication register at the selected repetition rate uI).til another keyboard button is pressed to release READ STO. To write a word in storage: 1. Set the mode selector to REG or STO. 2. Set the Breakpoint switch to the desired register number or storage location. 3. Press the WRITE STO switch on the keyboard. 4. Enter data into the Communication register by depressing the numeric switches and finally the TRANSFER switch. The data is entered into the desired storage location or Register File location at the end of the instruction that is currently being executed by the computer. Pressing any other register or mode selector switch releases WRITE STO operation. 5-7 Figure 5-7. Console Keyboard NOTE The upper two rows of keyboard switches are mechanically linked together. This feature prevents more than one switch from being active at anyone time. 5-8 TABLE 5-1. KEYBOARD SWITCH FUNCTIONS SWITCH NAME ILLUMINATED B1 to B3 Yes Enables data to be manually entered into Index registers B1, B2, or B3 from the keyboard. P Yes Enables an address to be manually entered from the keyboard into the P register. A Yes Causes both A and Q to be displayed, but permits entry only into A. Q Yes Causes both A and Q to be displayed, but permits entry only into Q. EU* Yes Causes EU and EL to be displayed. Manual entry is not possible. EL* Yes Same as EU. ED* Yes Causes ED to be displayed and enables manual entry directly into this register. Refer to ED register description. KYBD OFF (Keyboard Off) Yes Deactivates all keyboard controls. EN (Enter) Yes Permits data to be manually entered into storage while the computer is stopped. First address of sequence must be previously entered into P. Pressing the TRANSFER switch advances P. SW (Sweep) Yes Permits unexecuted instructions to "be read from cpnsecutive storage locations. First address of sequence must·be fir-st entered into P. Pressing the TRANSFER switch advances P. WRITE STO (Write Storage) Yes Permits keyboard entry into the storage 10clltion specified by the thumb-wheel switches. Entry occurs each time the TRANSFER switch is pnessed whether the computer is in the GO mode or , stopped. READ STO (Read Storage) Yes Permits the contents of the storage register location specified by the thumb-wheel switches to be displayed. The display rate is determined by the Auto-Step control. KYBD CLR (Keyboard Clear) Yes Clears the Communication register. GO Yes Starts the program execution at the address specified by the P register. Not used for Sweep or Enter operations. SW/EN CONT (Sweep/Enter Continuous) Yes Enables Sweep or Enter operations to proceed continuously through storage without pressing the TRANSFER switch. STOP Yes Stops the computer at the end of the current instruction. TRANSFER No -r:ransfers data in the Comn;1Unication register to a selected register or storage location. MC (Master Clear) No Performs both an internal and external clear. Disabled when GO switch is depressed and the computer is in the GO mode. No These switches, when pressed one at a time, allow entry of that particular digit into the Communication register in the binary digit position denoted by the active digit indicator. 8 and 9 No Depressing either of these switches permits entry of that digit directly into the ED register. The option must be present in the system and the ED register selection switch depressed. + or No Depressing either of these switches permits entry into the sign of ED digit (refer to Figure 5-2) in the ED register. These switches may be depressed at any time during the numeric entry of ED. The sign of ED may be changed by depressing the opposite sign switch. o through 7 (Plus or Minus) DESCRIPTION *Depressing any of the switches associated with the arithmetic options when the optional logic is not present produces equivocal results. 5-9 TABLE 5-2. CONSOLE MAIN-FRAME SWITCHES SWITCH NAME MANUAL INTERRUPT SELECT STOP 1 SELECT JUMP (1 through 6) ENTER AUTO PROGRAM FUNCTION Forces the computer into an interrupt routine if the computer is in the GO mode. If the computer is stopped when the switch is pressed, it will go into an interrupt routine as soon as the GO switch is depressed. Stops the computer when the SLS (77.70) instruction is read. Switches are depressed in accordance with programs utilizing the selective jump (SJ 1-6) instruction. Allows the operator to enter the Auto Load and Auto Dump storage areas (addresses 77740 to 77777) with different data. EXTERNAL CLEAR Master clears all external equipments and the 1/0 channels. INTERNAL CLEAR Master clears internal conditions and registers. DISABLE STO PROTECT Disables the protection feature switch of the 1 5 storage protect switches. This switch has no effect on the protected Auto Load and Auto Dump storage areas. DISABLE ADVANCE P Prevents the P register from being incremented. When the GO switch on the keyboard is depressed, the same instruction is repeated. THERMOSTAT BYPASS Allows computation to proceed regardless of unfavorable temperatures within the computer. DISABLE PARITY Prevents recognition of parity errors from all storage modules. INSTRUCTION STEP Enables the operator to step through the program instruction by instruction. An instruction is executed each time the switch is depressed. BCD STEP Enables the operator to step through a BCD instruction one sequence at a time. STORAGE CYCLE STEP Enables the operator to step through an instruction one storage cycle at a time, i.e. RNI. RAD, ROP, or STO. AUTO STEP Permits instructions to be executed in a slow speed GO mode. The speed is regulated by the auto-step speed control on the console. There are approximately 3 to 50 instructions executed per second. AUTO LOAD If the computer has been master cleared and t~e Auto Load switch is depressed, the computer will automatically jump to address 77740 and execute the instruction stored there. Refer to Auto Load/Auto Dump in Section 3. TYPE LOAD Permits the operator to enter a block of data from the typewriter. The data is defined by the lower bounds in register 23 and upper bounds in register 33 of the Register File. Refer to the Typewriter Section for additional information. AUTO DUMP This switch performs the same function as the Auto Load switch with the exception of jumping to address 77760. TYPE DUMP Similar to the Type Load operation, this switch causes a block of data to be printed by the typewriter. The data in storage is defined by registers 23 and 33. 5-10 Examples of Keyboard Switch Functions 1. To enter data into the A register: a. Depress the A register switch. b. Enter all eight digits of the Communication register by depressing the appropriate numeric key switches.* c. Depress the TRANSFER switch. d. Depress the KEYBOARD OFF switch. 2. To enter data into the Q register: Depress the Q register switch and repeat steps b through d of example 1. 3. To enter the Program Address Counter (P register) with a specific address: a. Depress the P register switch. b. Enter the lower five digits of the Communication register by depressing the appropriate numeric key switches. c. Depress the TRANSFER switch. d. Depress the KEYBOARD OFF switch. 4. To enter an operand at a specific address**: a. Perform step 3. b. Depress the EN switch. c. Enter all eight digits ofthe Communication register by depressing the appropriate numeric key switches. d. Depress the TRANSFER switch. e. The count in the Program Address Counter has now incremented by one. If data is to be entered into this memory location, repeat steps c and d for as many succeeding entries as required. f. Depress the KEYBOARD OFF switch when all data has been entered into the successive group of memory locations. 5. To read an operand from a specific storage address: a. Perform step 3. b. Depress the SW switch. c. Depress the TRANSFER switch. d. The contents of the specified stmage address are now displayed in the Communication register. (The Program Address Counter is not incremented when the TRANSFER switch is initially depressed.) e. If the TRANSFER switch is depressed again, the Program Address Counter is incremented by one, and the contents of the new address are displayed. f. Depress the KEYBOARD OFF switch when all the desired memory locations within a successive group have been examined. 6. To enter zeros or another operand into all storage locations: NOTE Step 5 only permits the operator to examine the contents of specific storage locations. The instructions are not executed during this operation. *If all eight digit positions of the Communication register are not entered before the Transfer switch is depressed, zeros will be entered into the remaining digit positions. **The breakpoint switch may be used in lieu of this operation. Refer to example d, Figure 5-8. 5-11 a. Depress the EN switch. b. Enter all eight digits of the Communication register by depressing the appropriate numeric key switches. c. Depress the SW/EN CONT switch. d. Depress the STOP switch. e. Depress the KEYBOARD OFF switch. 7. The following procedure is applicable for sweeping storage during certain maintenance routines: a. Depress the SW switch. b. Depress the SWlEN CONT switch. The' switch remains depressed until the STOP switch is depressed. c. Depress the STOP switch. d. Depress the KEYBOARD OFF switch. Examples of Console Switch Functions 1. To enter a special routine into the Auto Load storage area: a. Depress the MC (Master Clear) keyboard switch. b. Holding down the keyboard STOP switch, depress the AUTO LOAD switch. Release both switches. The P register should now read 77740. (Holding the STOP switch down prevents the computer from entering the GO mode and executing the previous Auto Load routine.) c. Depress the ENTER AUTO PROGRAM switch. d. Depress the keyboard EN switch. e. Enter the first instruction of the new routine at address 77740 by depressing the appropriate numeric key switches. f. Depress the keyboard TRANSFER switch. g. Repeat steps e and f for addresses 77741 through 77757. h. Depress the MC switch. This clears the registers and cancels the ENTER AUTO PROGRAM function. i. Depress the KEYBOARD OFF switch. 2. To enter a special routine into the Auto Dump storage area: Repeat steps a through i of example 1 using the AUTO DUMP switch and filling the storage area covered by addresses 77760 through 77777. 3. To execute the Auto Loadroutine: a. Depress the keyboard MC switch. b. Depress the AUTO LOAD switch. The computer automatically executes the Auto Load routine and stops when a stop or halt instruction is recognized. The Auto Load function is automaticaHy cleared when the computer stops. 4. To execut~ the Auto Dump routine: Perform steps a and b in example 3 but use the AUTO DUMP switch instead of the AUTO LOAD switch. 5. To execute a program at an Auto Step rate: a. Set the P register to the first address of the program to be executed. b. Depress the AUTO STEP switch. c. Adjust the AUTO STEP display rate control. d. When enough of the program has been executed, depress the AUTO STEP switch again to cancel the function. The only way to exit from the Auto Step mode is to depress the AUTO STEP switch again. In the Auto Step mode, halt and jump instructions are executed but the computer will not stop. Neither will program execution be affected by depressing the STOP switch. The computer will continue cycling through memory until the AUTO STEP switch is again depressed. 5-12 EXAMPLE B EXAMPLE A The breakpoint switch is inoperative whenever an OFF designator is displayed. An OFF designator separates the REG, STO, BPI and BPO positions. During the normal execution of a program. the computer stops when an RNI is attempted at memory location 05443. A jump to this location also causes the computer to stop. If the program references memory location 05443 for an operand, the computer ignores the Breakpoint switch. EXAMPLE C EXAMPLE D The computer stops only when an attempt is made to read or store an operand at address 00413. Ifthe WRITE STO switch on the keyboard switch is depressed and data has been entered into the Communication register, the data is transferred to memory location 00104 when the Transfer switch is depressed. Figure 5-8. Breakpoint Switch Examples 5-13 EXAMPLE E EXAMPLE F If the WRITE STO switch on the keyboard is depressed and data has been entered into the Communication register, the data will be transferred to register 77 when the TRANSFER switch is depressed. (Only the lower two digits are recognized when the designator switch is in the REG position. The programmer must use caution when writing into the Register File to prevent destruction of other data. Refer to Section 1, Table 1-3.) If the READ STO switch on the keyboard is depressed, the contents of memory location 27004 are displayed in the Communication register at a repetition rate determined by the auto step control. (If the memory location depicted by the breakpoint switch exceeds the storage capacity of the system, the computer selects the address that corresponds to the storage capacity of the system.) EXAMPLE G If the READ STO switch on the keyboard is depressed, the contents of register 22 are displayed in the Communication register at a repetition rate determined by the Auto Step control. (Only the lower two digits are of consequence when the REG designator is displayed. In this case register 22, the real time clock, is being referenced.) Figure 5-8. Breakpoint Switch Examples (Cant.) 5-14 POWER CONTROL PANEL Power for the 3200 Computer System is controlled by the Power Control Panel, mounted on the right side of the main cabinet assembly. The switches, circuit breakers, indicators and meters associated with the panel are shown in Figure 5-9. Refer to the 3200 Customer Engineering manual for detailed maintenance information concerning the Power Control Panel. SWITCHES Table 5-3 lists the switches and their functions. Refer to Section 2 for a description of the Storage Address Protection switches. ELAPSED TIME METERS Two elapsed time meters and a key-operated, two-position switch are located on the control panel. Turning the key-operated Maintenance Mode switch to ON connects the Running Time meter to the computer to indicate maintenance time. Removing the key connects the Operating Time meter to the computer to indicate normal operating time. Only one of the two meters can operate at anyone time. Either meter logs time for a minimum of one second when a storage cycle occurs. TABLE 5-3. POWER CONTROL PANEL SWITCH FUNCTIONS SWITCH NAME FUNCTION CONTROL POWER When this switch is depressed, the Blower switch and Peripheral Group switches can be activated. BLOWERS ON Depressing this switch turns on cabinet blowers, power supply blowers and furnishes power for the peripheral equipment blowers. This switch must be on before the power supplies can be activated. The Control Power switch must be on before this switch can be activated. POWER SUPPLIES ON When this switch is depressed and the Control Power and Blowers switches are on, the motor generators are turned on. These sets furnish operating power for the logic power supplies. PERIPHERAL GROUP I ON If the Control Power switch is on and this switch is depressed, ope rating power is sent to all the equipment connected to the Peripheral Group I power distribution bus. PERIPHERAL GROUP II ON If the Control Power switch is on and this switch is depressed, operating power is sent to all of the equipment connected to the Peripheral Group II power distribution bus. NOTES 1. The switches are active only when main power is present at the control panel and the applicable circuit breakers are closed (ON position). The individual circuit breakers are located directly below the switch panel. 2. Except for the Blowers switch, the OFF switches remove power immediately. If the Power Supplies OFF and the Blowers OFF switches are depressed in close succession, an automatic five minute delay will keep the blowers operating. The Power Supplies OFF switch must be depressed a minimum of half a second. 5-15 MAINTENANCE TIME MAINTENANCE OPERATING TIME MODE orr II ~~OH ;;-~ POWER BLOWERS ~ y---------UNIT I - - - - - - - - - , LOGIC y------UNITX-----, LOGIC LOGIC TERMINATOR r--:- 60"'--, ,UNITIORIi:, STORAGE r-UHITIi:~ ,60"'"7"1 MAIN CONSOLE ,.60"'-,-] TYPEWRITER CONSOLE I:. MAIII POWER STORAGE , j , r - - PERIPHERAL GROlip I --,---, POWER SUPPLIES . . BLOWERS ,,\ , r . CONTROL POWER -:J •••• • PRIMARY SECONDARY rTERMIHATOR POWER.., • -20' Figure 5-9. Power Control Panel 5-16 ~ " PERIPHERAL GROUP II PERIPHERAL GROUP I SUPPlIES . LOGIC • co Section 6 TYPEWRITER DESCRIPTION The 3192 Console Typewriter (Figure 6-1) is an on-line input-output (110) device; i.e. it requires no connection to a communication channel and no function codes are issued. The typewriter receives output data directly from storage via the lower 6 bits of the Data Bus. Inputs to storage are handled in the same manner. The console typewriter consists of an electric typewriter and a typewriter control panel mounted on a desk console. Figure 6-1. 3192 Console Typewriter 6-1 Used in conjunction with block control and the Register File, the typewriter may be used to enter a block of internal binary-coded characters into storage and to print out data from storage. The two storage addresses that define the limits of the block must be stored in the register file prior to an input or output operation. Register 23* contains the initial character address of the block, and register 33 contains the last character address, plus one. Because the initial character address is incremented f(jr each storage reference, it always shows the address of the character currently being stored or dumped. Output operations occur at the rate of 15 characters per second. Input ooerations are limited by the operator's typing speed. OPERtATION The general order of events when using the console typewriter for an input or output operation is: 1. Set tabs, margins and spacing. Turn on typewriter. 2. Clear. 3. Check status. 4. Type out or type in. SET TABS, MARGINS, AND SPACING All tabs, margins, and paper spacing must be set manually prior to the input or output operation. A tab may be set for each space on the typewriter between margins. CLEAR There are three types of clears which may be used to clear all conditions (except Encode Function) existing in the typewriter control. These are: • Internal Clear or a Master Clear. This signal clears all external equipments, the communication channels, the typewriter control, and sets the typewriter to lower case. • Clear Channel, Search/Move Control, or Type Control instruction (77.51). This instruction selectively clears a channel, the 8/M control, or, by placing a "1" in bit 08 of the instruction, the typewriter control, and sets the typewriter to lower case. " Clear Switch on typewriter. This switch clears the typewriter control and sets the typewriter to lower case. STATUS CHECKING The programmer may wish to check the status of the typewriter before proceeding. This is done with the Pause instruction. Status response is returned to the computer via two status lines. The typewriter control transmits two status signals that are checked by the Busy Comparison Mask using the Pause instruction. These status signals are: Bit 09 Type Finish Bit 10 Type Repeat An additional status bit appears on sense line 08. This code is Type Busy, and is transmitted by block control in-the computation section when a typewriter operation has been selected. If the programmer is certain of the status of the typewriter, this operation may be omitted. 'The upper nine bits of registers 23 and 33 should be "0". 6-2 TYPE IN AND TYPE LOAD The Set Type In instruction or pressing the TYPE LOAD switch on the console or typewriter permits the operator to enter data directly into storage from the typewriter. When the TYPE LOAD indicator on the console or typewriter glows, the operator may begin typing. The Encode Function switch must be depressed to enable backspace, tab, carriage return, and case shifts to be transmitted to the computer during a typewriter input operation. Input is in character mode only. As each character is typed, the information is transmitted via the Data Bus to the storage address specified by block control. This address is incremented as characters are transmitted. When the current address equals the terminating address, the TYPE LOAD indicator goes off and the operation is terminated. Data is lost if the operator continues typing after the TYPE LOAD indicator goes off. TYPE OUT AND TYPE DUMP The typewriter begins to type out when the computation section senses a Set Type Out instruction or the operator presses the TYPE DUMP switch on the console or typewriter. Single 6-bit characters are sent from storage to the typewriter via the lower 6 bits of the Data Bus. When the current address equals the terminating address, the TYPE DUMP indicator goes off and the operation is terminated. During a Type Out operation, the keyboard is locked to prevent loss of data in the event a key is accidentally pressed. CONSOLE SWITCHES AND INDICATORS Figure 6-2 shows the switch arrangement of the typewriter control panel. The function of each switch appears in Table 6-1. A rocker switch on the typewriter unit is used to apply power to the typewriter motor. Figure 6-2. Typewriter Control Panel. 6-3 TABLE 6-1. CONSOLE TYPEWRITER SWITCHES AND INDICATORS Name Switch (S) Indicator (I) Description HIGH TEMP I This indicator glows when the ambient teml--arature within the typewriter cabinet exceeds 110 0 F. BUSY I This indicator shows that the TYPE LOAD or TYPE DUMP switch has been pressed and the operation is in progress. POWER ON I This indicator shows that power is applied to the typewriter. S&I This switch is in parallel with the TYPE DUMP switch on the console and causes the computer to send data to the typewriter for print-out. It is a momentary contact switch that is illuminated until the last character in the block has been printed or the CLEAR button is pressed. S&I This switch is in parallel with the TYPE LOAD switch on the console and allows the computer to receive a block of input data from the typewriter. The TYPE LOAD indicator remains on until either the FINISH. REPEAT or CLEAR button is pressed. or until the last character of the block has been stored. If the program immediately reactivates the typewriter. it may appear that the light does not go off. S& I This switch is pressed during a Type Load operation to indicate that a typing error occurred. This switch deactivates busy sense line 10 (see PAUS instruction). If the computer does not respond. this light remains on. FINISH S&I This switch is pressed during a Type Load operation to indicate that there is no more data in the current block. This action is necessary if the block that the operator has entered is smaller than the block defined by registers 23 and 33. This switch also deactivates busy sense line 09. If the computer does not respond. this light remains on. INTERRUPT S&I This switch is in parallel with the MANUAL INTERRUPT switch on the console and is used to manually interrupt the computer program. ENCODE FUNCTION S&I This switch enables the typewriter to send to storage the special function codes for backspace. tab. carriage return. upper-case shift. and lower-case shift. CLEAR S&I This switch clears the typewriter controls and sets the typewriter to Ipwer case but does not cancel Encode Function. TYPE DUMP TYPE LOAD REPEAT 6-4 CHARACTER CODES Table 6-2 lists the internal BCD codes, typewriter printout and upper- or lower-case shift that applies to the console typewriter. All character transmission between the computation section and the typewriter is in the form of internal BCD. The typewriter logic makes the necessary conversion to the machine code. NOTE Shifting to upper case (57) or lower case (32) is .not necessary except on keyboard letters where both upper and lower cases are available. The standard type set for the 3192 has two sets of upper case letters and no lower case letters. This eliminates the need for specifying a case shift. TABLE 6-2. CONSOLE TYPEWRITER CODES Case Print-out - J K L M N 0 P Q o R (degree) $ * # % L UorL U or L UorL U or L U or L U or L UorL U or L U or L U U U U U (Shift to UC) (Space) / S T U V W X Y Z & ( (Tab) ( Backspace) (Carriage return) L U U U U U U U U U U U or or or or or or or or L L L L L L L L Internal BCD Code Print-out 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 71 0 1 2 3 4 5 6 7 8 9 ± = ., ? + A B C D E F G H I (Shift to LC) 72 and L 73 74 75 76 ) @ 77 ! 6-5 Case L L L L L L L L L L U L U U L U U U U U U U U U U U or or or or or or or or or L L L L L L L L L U and L U L U L Internal BCD Code 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 Section 7 INSTRUCTIONS GENERAL INFORMATION INSTRUCTION WORD FORMATS The standard 3200 machine coded instruction is 24 bits in length and generally classified into one of two formats: word or character oriented. Word oriented instructions are the most common of the instruction formats. Fifteen bits are allocated for an unmodified storage address, operand, or shift count. Indirect addressing is usually available. Figure 7-1 illustrates a word oriented instruction and the significance of the first 15 bits when they represent an unmodified word address 'm' . Bit position 23 I 18 (6 bits) ~ 14 J( 1 bit) J (2 bits) 00 ~'--y--",'f a b d Symbol designators (See Symbol Definitions) j I (15 bits) J ./ y I I m k y m Word Address I I I 00 14 Storage Field Module 0-3 0-1 I Co-ordinate Address within field 0000-7777e (4096) Figure 7 -1. Word-Addressed Instruction Format Character oriented instructions allocate 17 bits for unmodified character addresses or extended operands. Indirect addressing is not available for these instructions; however, address modification is permissible by referencing a specific index register. Figure 7-2 illustrates the format of a character oriented instruction word and the significance of the first 17 bits when they represent an unmodified character address 'r'. 7-1 23 I 18 (6 bits) 17 14 1( 1 bit) I "---~ --~/ "- 'f 15 16 ~ yl 00 I (17 bits) '---------~ ~--------,' 1 '{ biz 116 I I 00 I I Characte{ Address 1 1 1 1 116 15 I 14 13 02 01 I I 00 I I I ~~ '----~y~---~/ ~ Storage Field Module 0-3 0-1 Co-ordinate Address within field 0000-77778 (4096) Character 0-3 Figure 7 -2. Character-Addressed Instruction Format Characters in a data word are always specified in the following manner: 23 I 18 0 17 I 12 11 I 06 05 2 I 00 3 ~ character '\ deSignators .t ~ WORD ADDRESSES VS. CHARACTER ADDRESSES It is often desirable to convert a word address and character position to its corresponding character address or vice versa. The following procedure is a technique used for this purpose: To convert a word address to a character address: o Octally multiply the word address by four. (During program execution, this operation is simulated by a left shift of two binary places.) • Add the character position to the product. The sum will be the character address. EXAMPLE: Given: Word address 12442, character position 2 Find: Corresponding character address. 1. 12442 x4 52210 2. +2 52212 = character address To convert a character address to a word address: • Octally divide the character address by four. The quotient will be the word address and the remainder is the character position. No remainder indicates character zero. 7-2 EXAMPLE: Given: Character address 03442 Find: Word address and character position. 00710 ~03442 .:QL 4 4 2 = remainder = character position 2. NOTE Octal multiplication and division tables may be found in the appendix section of this manual. Instruction word formats that differ from word and character orientation are described in the instruction listing. SYMBOL DEFINITIONS The following designators are used throughout the list of instructions. Additional special symbols are used in SearchlMove and certain 1/0 instructions and are defined where they are used. a = addressing mode designator (a = 0, direct ~ddressing; a = 1, indirect addressing) b = i:t:J.dex designator (unless otherwise stated) c = denotes a character code or field ch = denotes an I/O channel (0-7) d = special operation designator (see individual instructions). f = function code (6 bits, octal 00 to 77) H = instruction modifier for INPC or OUTC indicating 6 or 12 bit I/O operation = interval designator (decrement quantity) j = jump, stop, or skip condition designator (see individual instructions) k = shift count (unmodified) m = word execution address (unmodified) n = same as m, but the word address of the second operand r = character execution address (unmodified) s = same as r, but the character address of the second operand S = instruction modifier denoting sign extension S present, bit 17 = "1", sign extended S absent, bit 17 = "0", sign not extended v = a specific register (00-77) within the Register File. x = connect code or interrupt mask y = 15-bit operand z = 17-bit operand IIIIIIII = indicates zeros should be loaded into a particular area of an instruction. INDEXING AND ADDRESS MODIFICATION In some instructions, the execution address 'm' or 'r', or the shift count 'k' may be modified by adding to them the contents of an index register, Bb. The 2-bit designator 'b' specifies which of the three index registers is to be used. Symbols representing the respective modified quantities are M, R, and K. M =m+(B b) R = r + (B b) the sign of Bb is extended to bit 16 (2 1L l) K =k +(B b) In each case, if b=O, then M=m, R=r and K=k. 7-3 ADDRESSING MODES Three modes of addressing are used in the computer: No Address, Direct Address, and Indirect Address. No Address This mode is used when an operand 'y' or a shift count ok' is placed directly into the lower portion of an instruction word. Symbols 'a' and 'b' are not used as addressing mode and index designators with any of the no address instructions. Direct Address The direct addressing mode is used in any instruction in which an operand address om' is stored in the lower portion of the initial instruction word. This mode is specified by making 'a' equal to O. In many instructions, address om' may be modified (indexed) by adding to it the contents ofregister B b, M=m + (B b). Indirect Address It is possible to use indirect addressing only with instructions that require an execution address 'm'. For applicable instructions, indirect addressing is specified by making 'a' equal to 1. Several levels (or steps) of indirect addressing may be used to reach the execution address; however, execution time is delayed in direct proportion to the number of steps. The search for a final execution address continues until 'a' equals O. It is important to note that direct or indirect addressing and address modification are two distinct and independent steps. In any particular instruction, one may be specified without the other. Figure 7-3 shows the indirect addressing routine for a 3200 Computer. Go to address M. Acquire new terms a, b, & m. No Original instruction possibly containing 'a' and/or 'b' Execute instruction using address M. No Add the b ) to m. (B Figure 7 -3. Indexing and Indirect Addressing Routine Flow Chart NOTE Unless it is otherwise stated, indirect addressing follows the above routine throughout the list of instructions. 7-4 INDEXING AND ADDRESSING MODE EXAMPLES The following examples utilize the LDA (20) instruction; however, the process applies to any of the instructions with an 'a' and/or 'b' designator. 23 LDA I 18 17 I 20 16 15 14 00 m a a = addressing mode designator b = index register designator EXAMPLE 1 (ADDRESS MODIFICATION -(indexing) ONLY) 1 I P=OOOOO 20 2 ~ . .t d Indicates Direct A dress IB')-13342 Add this address to (8 2 ) mode and address modification by 8 2 5.L + 13342 20 2 67772~ This address is replaced temporarily in the original instruction ~67772 LDA with the 24-bit quantity stored at address 67772 p= 67771 67772 77700000 --+- This quantity is loaded into the A register 67773 EXAMPLE 2 (INDIRECT ADDRESSING ONLY) I p = 00001 1 204~ 1Indirect Addressing Indicates mode but no address modification (indexing). L Go to this address and acquire new address and designator before executing instruction. I ~~~~~ 54427 54430 54431 310 77111 ~~~~?~l This portion of operand is replaced temporarily in the original instruction. ~ 200~ t Indicates Direct Address mode and no address modification. LDA with the 24-bit operand stored at address 77111. (If this digit would have indicated additional indirect addressing and/or address modification this must be done before the LDA instruction is executed.) 7-5 EXAMPLE 3 (INDIRECT ADDRESSING AND ADDRESS MODIFICATION) P = 00002 20 I 5~ t . . In d Icates Indirect Address mode and address modification. 8y 81. (81}=00512 Add this address to (81). t 54430 +00512 55142 t Go to this address and acquire , . . . - - - - - - - - - - - - - - - - - - - - - - - - - n e w address and designator before executing instruction. 55141 55142 55143 77_~ 1 This portion of operand is replaced temporarily in the original instruction. ~ 20 0 37777 Indicates direct tddress mode and no address modification. LDA with the 24-bit operand stored at address 37777. (If this digit would have indicated additional indirect addressing and/or address modification, this must be done before the LDA instruction is executed.) Trapped Instructions The instructions appearing in Table 7-1 are executed by the Utility System under the control of SCOPE. The Basic Utility software system also is capable of executing these instructions, The computer detects the 55-70 instructions as they appear in the F register and traps them if the BCD and Floating Point 48-bit Precision hardware is absent. Trapped instructions are processed as interrupts once they are detected. A conventional interrupt always takes priority over the trap sequence. The following operations occur when a trapped instruction is detected: 1. P + 1 is stored in the lower 15 bits of address 00010. 2, The upper 6 bits of F are stored in the lower 6 bits of address 00011; the upper 18 bits remain unchanged. 3. Program control is transferred to address 00011 and an RNI cycle is executed. 7-6 TABLE 7-1. liST OF TRAPPED INSTRUCTIONS Operation Field 55 56 57 60 61 62 63 64 65 66 67 70 ---MUAQ DVAQ FAD FSB FMU FDV LDE STE ADE SBE SFE EZJ,EQ EZJ,LT EOJ SET Interpretation I.R.T., 48-bit precision MUltiply AQ, 48-bit precision Divide AQ, 48-bit precision Floating point add Floating point subtract Floating point mUltiply Floating point divide Load ED Store ED Add to ED Subtract from ED Shift ED ED zero jump, ED = 0 ED zero jump, ED < 0 ED overflow jump Set D register INSTRUCTION LIST Each group of instructions is introduced with an index and, whenever necessary, a group description. Individual instructions are all presented in the same basic format: • Heading, which includes the assembly language mnemonic and instruction name • Machine code instruction format • Instruction description • Comments (when necessary) • Approximate instruction execution time (add 1.25 usec for each step of indirect addressing) The abbrev:iation, RNI, is used throughout the list of instructions to indicate the Read Next Instruction sequence. This is a sequence of steps taken by the control section to advance the computer to its next program step. For an extensive description of this sequence, consult the 3200 Customer Engineering.Manual (Pub, No. 60100900). Table 7-2 identifies the instructions and indicates on which page explicit instruction descriptions may be found. Table 7-3 is a summary of the instruction execution times. In addition to these tables, three additional tables are provided at the end of this manual for cross reference of the instruction list. 7-7 TABLE 7-2. INSTRUCTION SYNOPSIS AND INDEX PAGE INSTRUCTION MNEMONIC ADA, I ADAQ, I add to A add to AQ 7-38 ADE add to E 7-47 AEU AlA ANA, S transmit (A) to E upper transmit (A) (Bh) to A 7-29 logical product (AND) of y and (A) ANI ANQ, S AQA AQE AQJ, EQ logical product (AND) of y and (Bh) 7-18 7-18 7-40 +- 7-26 7 -18 7-26 logical product (AND) of y and (Q) +- transmit (A) (Q) to A transmit (AQ) to E {j"m 7-29 p = Q if IAI jump if (Al oF Q NE 7-36 7-36 compare A with Q GE jump if (A) ~ Q 7-36 IT jump if (A) < Q 7-36 7-13 ASE, S skip next instruction, if (A) = ASG, S skip next instruction, if (A) ~ y jump if (A) = AZJ, EQ NE GE compare A with zero CON COPY CPR, I CTI CTO DINT DVA. I DVAQ, I EAQ ECHA. S EINT ElQ ENA ENI ENQ EOJ EUA EXS EZJ, EQ IT 7-14 0 7-35 jump if (A) oF 0 jump if (A) ~ 0 7-35 { jump if (A) IT CllO CINS ClCA y < 0 7-35 channel interrupt lockout copy internal status 7-35 7-69 7-62 clear channel activity connect 7-69 7-70 copy external status 7-60 7-53 within limits test set console typewriter input 7-71 set console typewriter output 7 -71 disable interrupt control 7-67 divide AQ (48 by 24) 7-39 divide AQE (96 by 48) 7-42 transmit (E upper) to A and (E lower) to Q 7-29 enter A with 17-bit character address 7-15 enable interrupt control transmit (E lower) to Q 7-60 enter A enter index 7-15 7-15 enter Q 7-15 jump to m on E overflow transmit (E upper) to A 7-49 sense external status compare E with zero; jump if E 7-64 = 0 7-49 compare E with zero; jump if E < 0 7-49 7-29 7-29 FAD, I FDV, I floating add to AQ floating divide AQ 7-43 7-44 FMU, I FSB, I floating multiply AQ 7-44 floating subtract from AQ 7-44 Rev. H 7-8 TABLE 7-2. INSTRUCTION SYNOPSIS AND INDEX (CONTINUED) INSTRUCTION MNEMONIC HLT PAGE unconditional stop; read next instruction from location m b transmit (B ) (A) to Bb 7-30 7-26 interrupt associated processor index jump; decrement index 7-66 index jump; increment index 7-33 INA increase A 7-16 INAC.INT character-addressed input to A 7-80 INAW.INT word-addressed input to A 7-82 INCL clear interrupt 7-65 INI increase index 7-16 7-72 IAI IAPR IJO IJI + INPC. INT. B. H character-addressed input to storage INPW. INT. B. N INQ word-addressed input to storage INS INTS 10CL increase Q sense internal status sense interrupt clear I/O. typewriter. and S/M 7-34 7-74 7-16 7-62 7-61 7-63 7-19 7-13 ISG index skip; decrement index b skip next instruction. if (B ) = y b ;::: y skip next instruction. if (B ) lSI index skip; increment index 7-19 LACH load A character 7-20 LCA. I load A complement 7-21 ISO ISE 7 -14 LCAQ. I load AQ complement (double precision) 7-21 LOA. I LOAQ. I load A load AQ (double precision) 7-20 LOE load E load index 7-48 7-22 7-21 LOI. I LOL. I LOQ. I LPA. I load logical load Q 7-21 logical product with A 7-22 7-37 LOCH MEQ load Q character 7-22 masked equality search MOVE.INT MTH move I characters from r to s masked threshold search 7-54 7-58 MUA. I mUltiply A 7-39 MUAQ.I mUltiply AQ 7-42 OTAC. INT character-addressed output from A 7-84 OTAW.INT word-addressed output from A 7-86 OUTC. INT. B. H. OUTW. INT. B. N PAUS character-addressed output from storage 7-76 word-addressed output from storage pause 7-78 7-64 priority pause transmit (Q) to E lower skip next instruction. if (Q) = y skip next instruction. if (Q) ;::: y 7-64 7-29 7-13 PRP QEL QSE. S QSG. S RAO. I RTJ replace add return jump 7-9 7-55 7-14 7-38 7-32 Rev. H TABLE 7-2. INSTRUCTION SYNOPSIS AND INDEX (CONTINUED) INSTRUCTION MNEMONIC SACH store character from A SBA. I subtract from A subtract from AQ PAGE 7-23 7-39 SCA. I SCAQ selectively complement A 7-40 7-67 7-47 7-37 scale AQ 7-52 SCHA. I store 17-bit character address from A 7-25 SCIM selectively clear interrupt mask 7-66 SEL select function 7-70 SET SFE set D to value of y shift E 7-46 SFPF set floating point fault SHA SHAQ SHQ shift A shift AQ shift Q SJ1 SJ2 jump if key 1 is set jump if key 2 is set SJ3 jump if key 3 is set 7-31 7-31 SJ4 jump if key 4 is set 7-31 SBAQ. I SBCD SBE set BCD fault subtract from E 7-49 7-67 7-50 7-52 7-52 7 -31 SJ5 jump if key 5 is set 7 -31 SJ6 jump if key 6 is set 7-31 SLS selective stop 7-31 SQCH store character from Q 7-24 SRCE. INT search character equality 7-56 SRCN.INT SSA. I search character inequality selectively set A SSH storage shift 7-56 7-37 7-50 SSIM selectively set interrupt mask STA. I store A 7-66 7-23 STAQ. I store AQ 7-24 STE store E 7-48 STI. I store index 7-25 STQ. I store Q 7-24 SWA. I store 15- bit word address from A transmit (A) to Bh 7-25 TAl TAM TIA transmit (A) to high speed memory transmit (Bh) to A 7-28 7-27 TIM TMA TMI TMQ transmit (Bh) to high speed memory transmit (high speed memory) to A transmit (high speed memory) to Bh 7-28 7-28 7-28 TQM transmit (Q) to high speed memory UCS UJP. I unconditional stop unconditional jump XOA. S exclusive OR y and (A) 7-32 7-17 XOI exclusive OR y and (Bh) 7-17 XOQ. S exclusive OR y and (Q) 7-17 transmit (high speed memory) to Q 7-10 7-27 7-27 7-27 7-31 TABLE 7-3. SUMMARY OF INSTRUCTION EXECUTION TIMES, t-tsec. INSTRUCTION MNEMONIC APPROXIMATE EXECUTION TIME ADA ADAQ ADE AEU AlA ANA ANI ANQ AQA AQE AQJ ASE ASG AZJ CILO CINS CLCA CON COPY CPR CTI CTO DINT DVA DVAQ 2.5 3.8 11.5* 1.3* 1.3 1.3 1.3 1.3 1.3 . 1.3* '1.9 1.9 1.9 1.9 1.3 1.3-1.7 1.3 *•• 1.3-1.7 2.5-3.4 1.3 1.3 1.3 11.25 22.5" EAQ ECHA EINT ELQ ENA ENI ENQ EOJ EUA EXS EZJ 1.31.3 1.3 1.3* 1.3 1.3 1.3 1.31.3" 1.3-1.7 1.3- FAD FDV FMU FSB HLT IAI IAPR IJD IJI INA INAC INAW INCL INI INPC INPW INSTRUCTION MNEMONIC INQ INS INTS IOCL ISD ISE ISG lSI LACH LCA LCAQ LDA LDAQ LDE LDI LDL LDQ LPA LQCH MEQ MOVE MTH MUA MUAQ OTAC OTAW OUTC OUTW PAUS PRP QEL QSE QSG 10.0-12.0" 20.0' 14.0-18.0' 10.0-12.0- RAD RTJ SACH SBA SBAQ SBCD SBE SCA SCAQ SCHA SCIM SEL SET SFE SFPF SHA SHAQ - -. 1.3 1.9 1.9 1.3 ... ... 1.3 1.3 3.3 3.3 APPROXIMATE EXECUTION TIME 1.3 1.3-1.7 1.3-1.7 1.3 1.9 1.9 1.9 1.9 2.5 2.5 3.8 2.5 3.8 8.0* 2.5 2.5 2.5 2.5 2.5 4.2 +4.2n 3.3 4.2 +4.2n 7.8-11.0 16.0-21.0' 3.3 3.3 3.3 3.3 2.0 us-40 ms 2.0 us-40 ms 1.3' 1.9 1.9 3.8 2.5 2.5 2.5 3.8 1.3 11.5' 2.5 1.9-3.9 2.5 1.3 ... 1.3" 1.3-4.3' 1.3 1.3-2.7 1.3-2.7 n = number of words searched . • = Trapped instruction in computers without the appropriate optional hardware package . •• = Dependent upon interrupt response . ••• = Dependent upon a variable signal response time from an external source of equipment. 7-11 Rev. H TABLE 7-3. SUMMARY OF INSTRUCTION EXECUTION TIMES, f.lsec. (CONTINUED) INSTRUCTION MNEMONIC APPROXIMATE EXECUTION TIME INSTRUCTION MNEMONIC 1.3-2.7 1.3 1.3 2.5 3.3 3.3 2.5 3.8 1.3 2.5 3.8 8.0' 2.5 2.5 2.5 SHQ SJl-6 SLS SQCH SRCE SRCN SSA SSH SSIM STA STAQ STE STI STQ SWA APPROXIMATE EXECUTION TIME TAl TAM TIA TIM TMA TMI TMQ TQM 1.3 1.8 1.3 1.8 1.8 1.8 1.8 1.8 UCS UJP 1.3 XOA XOI XOQ 1.3 1.3 1.3 - n = number of words searched. Trapped instruction in computers without the appropriate optional hardware package. ** = Dependent upon interrupt response. *** = Dependent upon a variable signal response time from an external source of equipment. *= REGISTER OPERATIONS WITHOUT STORAGE REFERENCE Operation Field Interpretation Address Field ASE. S QSE.S ISE 04 y y y. b Skip next instruction if (A) = y Skip next instruction if (Q) = y b Skip next instruction if (B ) = y ASG.S QSG.S ISG 05 y y y. b Skip next instruction if (A) ;::: y Skip next instruction if (Q) ;::: y b Skip next instruction if (B ) ;::: y ENA. S 14 y Enter A with y ECHA. S 11 r Enter A with 17 -bit character address ENQ.S ENI 14 Y y. b Enter 0 with y Enter index with y INA.S INO.S INI 15 Y y y. b Increase A by Y Increase 0 by Y Increase index by y XOA.S XOQ.S XOI 16 Y y y. b Exclusive OR of A and y Exclusive OR of Q and y Exclusive OR of index and y ANA. S ANO.S ANI 17 Y y y. b AND of A and y AND of 0 and y AND of index and y lSI ISO SHA SHO 10 y. b y. b y. b y. b Index skip. incremental Index skip. decremental Shift A Shift 0 SHA~ 13 y. b y. b Shift AO Scale AO SCAO 12 7-12 23 18 1 7 1 6 1 5 14 10 04 b = I 00 (Approximate execution time: 1.9 jlsec.) b y index register designator Instruction Description: If (Bb)=y, skip to address P + 2; if not, RNI from address P + 1. Comments: If b = 0, y is compared to zero. 23 18 17 00 15 14 (Approximate execution time: 1.9 jlsec.) 04 y 6 Instruction Description: If (A) = y, skip to address P + 2; if not, RNI from address P + 1. Comments: Only the lower 15 bits of A are used for this instruction. 23 18 17 00 15 14 (Approximate execution time: 1.9 jlsec.) 04 y 4 Instruction Description: Same as ASE except the sign of y is extended. All 24 bits of A are recognized. 23 18 17 00 15 14 (Approximate execution time: 1.9 .jlsec.) 04 y 7 Instruction Description: If (Q)=y, skip to address P + 2; if not, RNI from address P + 1. Comments: Only the lower 15 bits of Q are used for this instruction. 23 18 17 04 00 15 14 5 (Approximate execution time: 1.9 jlsec.) y Instruction Description: Same as QSE except the sign of y is extended. All 24 bits of Q are recognized. 7-13 23 00 18 17 16 1 5 14 05 10 I (Approximate execution y b time~ 1.9 /Lsec.) b = index register designator Instruction Description: If (B b ) are equal to or greater than y, skip to address P not, RNI from address P + 1. Comments: If b=O, y is compared to zero. 23 18 17 05 (Approximate execution time: 1.9 /Lsec.) y Instruction Description: If (A) are equal to or greater than y, skip to address P RNI from address P + 1. Comments: (ALls) and yare considered IS-bit positive numbers. 23 18 17 2; if 00 15 14 6 + + 2; if not, 00 15 14 (Approximate execution time: 1.9 /Lsec.) 05 y 4 Instruction Desoription: Same as ASG except the sign of y is extended. All 24 bits of A are recognized. Positive zero (00000000) is recognized as greater than negative zero (77777777). 23 18 17 00 15 14 (Approximate execution time: 1.9 /Lsec.) 05 7 Y Instruction Description: If (Q) are equal to or greater than y, skip to address P RNI from address P + 1. Comments: (QLlS) and y,are considered IS-bit positive numbers. 23 18 17 + 2; if not, 00 15 14 (Approximate execution time: 1.9 /Lsec.) 05 5 y Instruction Description: Same as QSG except the sign of y is extended. All 24 bits of Q are recognized. Positive zero (00000000) is recognized as greater than negative zero (77777777). 7-14 Rev.H 23 ENI 00 18 17 16 15 14 Enter Index with y 14 10 (Approximate execution time: 1.3 j.1sec.) I y b b = index register designator Instruction Description: Clear index register Bb and enter y directly into it. Comments: If b=O, this is a no-operation instruction. 23 ENA 18 17 00 15 14 (Approximate execution time: 1.3 j.1sec.) Enter A with y 14 6 y Instruction Description: Clear the A register and enter y directly into A. 23 ENA.S 18 17 00 15 14 Enter A with y (Approximate execution time: 14 4 1.3 j.1sec.) y Instruction Description: Same as ENA except the sign of y is extended. 23 18 17 16 00 ECHA Enter Character Address into A (Approximate execution time: 1.3 j.1sec.) z d = 0 for no sign extension d = 1 for sign extension Instruction Description: Clear A; then enter a 17 -bit operand z (usually a character address) into A. 23 ENQ Enter Q with y 18 17 14 00 15 14 (Approximate execution time: 1.3 j.1sec.) 7 y Instruction Description: Clear the Q register and enter y directly into Q. 23 ENQ,S Enter Q with y 18 17 14 15 14 5 00 y (Approximate execution time: 1.3 j.1sec.) Instruction Description: Same as ENQ except the sign of y is extended. 7-15 23 1 8 1 7 1 6 1 5 14 INI Increase Index by y 15 00 (Approximate execution time: 1.3 jlsec.) I0 I y b b = index register designator Instruction Description: Add y to (B b ). Comments: If b= 0, this is a no-operation instruction. Signs of y and Bb are extended. 23 I.NA Increas.eA by y . 18 17 15 15 14 00 (Approximate execution time: 1.3 jlsec.) y 6 Instruction Description: Add y to (A). INA,S Increi:lseAb~J; 23 18 17 15 15 14 00 (Approximate execution time: 1.3 jlsec.) y 4 Instruction Description: Same as INA except the sign of " .,' '" y is extended. ,,'~ 23 18 17 15 14 00 INO IrlcreaseQbyv (Approximate execution time: 1.3 jlsec.) 15 7 Instruction Description: Add 23 y to (Q). 18 17 15 y 15 14 5 00 y (Approximate execution time: 1.3 jlsec.) Instruction Description: Same as INQ except the sign of y is extended. 7-16 23 XOI EXCLUSIVE OR of Bb and y 00 1 8 1 7 1 6 1 5 14 16 10 I (Approximate execution time: 1.3 f,lsec.) y b b = index register designator Instruction Description: Enter the selective complement (the EXCLUSIVE OR function) of y and (B b ) back into the same index register. Comments: If b= 0, this is a no-operation instruction. XOA, EXCLUSIVE OR of A and y 23 18 17 00 15 14 (Approximate execution time: 1.3 f,lsec.) 16 y 6 Instruction Description: Enter the selective complement (the EXCLUSIVE OR function) of y and (A) back into the A register. XOA,S EXCLUSIVE OR of A and y 23 18 17 00 15 14 (Approximate execution time: 1.3 f,lsec.) 4 16 y Instruction Description: Same as XOA except the sign of y is extended. XOQ EXCLUSIVE OR of Q and y 23 18 17 00 15 14 (Approximate execution time: 1.3 f,lsec.) 7 16 y Instruction Description: Enter the selective complement (the EXCLUSIVE OR function) ofy and (Q) back into the Q register. XOQ,S EXCLUSIVE OR of Q and y 23 18 17 00 15 14 (Approximate execution time: 1.3 f,lsec.) 16 5 y Instruction Description: Same as XOQ except the sign of y is extended. 7-17 23 ANI 18 17 16 15 14 AND of Bb and y 17 10 I 00 (Approximate execution time: 1.3 }lsec.) y b b = index register designator Instruction Description: Enter the logical product (the AND function) of into the same index register. y and (B b ) back Comments: If b=O, this is a no-operation instruction. 23 ANA 18 17 15 14 00 AND of A and y (Approximate execution time: 1.3 }lsec.) 17 6 y Instruction Description: Enter the logical product (the AND function) of y and (A) back into the A register. 23 18 17 ANA,S AND of A and y 15 14 00 (Approximate execution time: 1.3 }lsec.) 4 17 y Instruction Description: Same as ANA except the sign of 23 ANa AND of a and y 17 is extended. 00 15 14 18 17 y (Approximate execution time: 1.3 }lSec.) 7 y Instruction Description: Enter the logical product (the AND function) of into the Q register. 23 ANa,S 18 17 y and (Q) back 00 15 14 (Approximate execution time: 1.3 }lsec.) AND of a and y 17 5 y Instruction Description: Same as ANQ except the sign of y is extended. 7-18 i .ISllnd~~Ski Incremental 23 00 18 17 16 1 5 14 (Approximate execution time: 1.9 jlsec.) 10 10 1 y b b = index register designator Instruction Description: If (B b) = y, clear Bb and skip to address P + 2; if not, add one to (Bb) and RNI from address P + 1. Comments: The 10.0 instruction is a SSH (storage shift) instruction. described later in this chapter. Positive zero (00000) and negative zero (77777) form an equal comparison. Instruction in F Increment (Bb) by 1 and RNI@P+1 Yes No (Bb) = y ? 23 00 18 17 1 6 1 5 14 10 11 1 Clear Bb and RNI@P+2 y b (Approximate execution time: 1.9jlsec.) b = index register designator Instruction Description: If (B b) = y, clear Bb and skip to address P from (B b) and RNI from address P + 1. + 2; if not, subtract one Comments: Positive zero (00000) and negative zero (77777) form an equal comparison. Instruction in F Decrement (Bb) by 1 and RNI @ P + 1 No (Bb) = y ? Yes Clear Bb and RNI@P+2 7-19 Rev. H LOAD Operation Field LOA.I LACH LCA.I LOU LOAO.I LCAO.I LOO.I LOCH LOLl 20 22 24 27 25 26 21 23 54 Address Field Interpretation m.b r.B1 m.b m.b m.b m.b m.b r.B2 m.b Load Load Load Load Load Load Load Load Load A A. Character A. Complement A. Logical AO AO. Complement 0 O. Character Index NOTE The LDE instruction is described in the BCD section of the instructions. 23 I 18 17 16 15 14 II a 20 00 (Approximate execution time: 2.5 ~sec.) m b a = addressing mode designator b = index register designator b m=storage address; M=m+(B ) Instruction Description: Load A with a 24-bit quantity from the storage address specified by M. Comments: Indirect addressing and address modification may be used. 23 00 18 17 16 (Approximate execution time: 2.5 ~sec.) 22 i , I ;16 I 0201 00 00000-77777 I 0-3 '-~--~y,---~/~ word address character designator If b = 1. r is modified by index register B1; R=r -I- (B1). If b = O. r is not modified (r = R). Instruction Description: Load bits 00 through 05 of A with the character from storage specified by character address R. The A register is cleared prior to the load operation. Comments: Indirect addressing may not be used. Characters are specified in storage as follows: 23 18 17 12 11 0605 00 ,7 character designators NOTE Since the sign of Bb is extended during character address modification, it is possible to only reference within ± 16,38310 characters. 7-20 LCA Load A. ·Complement 23 00 18 17 16 15 14 (Approximate execution time: 2.5 /lsec.) m a = addressing mode designator b = index register designator b m=storage address: M=m+(B ) Instruction Description: Load A with the complement of a 24-bit quantity from storage address M. Comments: Indirect addressing and address modification may be used. 23 00 18 17 16 15 14 LDL LoadA.Logical (Approximate execution time: 2.5 j.Lsec.) m a = addressing mode designator b =index register designator Instruction Description: Load A with the logical product (the AND function) of (Q) and the 24-bit quantity from storage address M. 23 00 18 17 1 6 1 5 14 (Approximate execution time: m 3.8/lsec.) a = addressing mode designator b = index register designator m=storage address: M=m+(Bbj Instruction Description: Load the A and Q registers with the 24-bit quantities from addresses M and M +1, respectively. Comments: Addresses 77776 and 77777 should be used only if it is desirable to have M and M + 1 as non-consecutive addresses, since one's complement arithmetic is used to form M + 1. LCAQ Load AQ. Complement 23 18 17 16 15 14 00 (Approximate execution time: 3.8 j.Lsec.) m a = addressing mode designator b = index register designator b m=storage address: M=m+(B ) Instruction Description: Load regist'~rs A and Q with the complement of the 24-bit quantities from addresses M and M+1, respectively. Comments: Addresses 77776 and 77777 should be used only if it is desirable to have M and M + 1 as non-consecutive addresses, since one's complement arithmetic is used to form M + 1. 7-21 23 1 8 1 7 1 6 1 5 14 00 Loa Load a (Approximate execution time: 2.5 ~sec.) m a = addressing mode designator b = index register designator m = storage address; M = m + (B b ) Instruction Description: Load Q with a 24-bit quantity from storage address M. Comments: Indirect addressing and address modification may be used. LaCH Load a. Character 23 18 17 16 00 (Approximate execution time: 2.5 ~sec.) 23 :16 oo! 0201 i 00000-77777 I 0-3 j '~----~y~----~/~ word address character designator If b = 1, r is modified by index register B2; R=r+(B2). If b = 0, r is not modified (r = R). NOTE Since the sign of Bb is extended during character address modification, it is possible to only reference within ± 16,38310 characters. Instruction Description: Load bits 00. through 05 of Q with the character from storage specified by character address R. The Q register is cleared prior to the load operation. Comments: Indirect addressing may not be used. Characters are specified in storage as follows: 23 18 17 o 12 11 " ,/ 0605 I 2 00 3 ~ character designators 23 LOI 1 8 17 1 6 1 5 14 00 (Approximate execution time: 2.5 ~sec.) load Index m a = addressing mode designator b = index register designator m = storage address (indexing not permitted) Instruction Description: Load the specified index register, B b, with the lower 15 bits of the operand stored at address m. Comments: Indirect addressing may be used but address modification is not possible. During indirect addressing only a and m are inspected. Symbol b from the initial instruction specifies which index register is to be loaded with the lower 15-bits from the storage address. Rev. F 7-22 STORE Operation Field Address Field Interpretation STA.I SACH STAQ.I STQ.I SQCH STI.I SWA.I SCHA m.b r.B2 Store Store Store Store Store Store Store Store 40 42 45 41 43 47 44 46 m.b m.b r.B1 m.b m.b m.b A A. character AQ Q Q. character index 1 5-bit word address 17-bit character address NOTE The STE instruction is described in the BCD instruction section. 23 1 8 1 7 16 1 5 14 00 (Approximate execution time: m 2.5 jlsec.) a = addressing mode designator b = index register designator b m = storage address; M =m+(B ) Instruction Description: Store (A) at the storage address specified by M. The (A) remains unchanged. 23 18 17 16 00 (Approximate execution time: 2.5 jlsec.) 42 :16 i 02 01 00 I 0-3 00000-77777 i I ---_/'----Y--' ~ Y '-~--- word address character designator If b = 1. r is modified by index register B2; R=r+(B2). If b = O. r is not modified (r = R). Instruction Description: Store the contents of bits 00 through 05 of the A register in the specified character address. All of (A) and the remaining three characters in storage remain unchanged. Comments: Indirect addressing may not be used. Characters are specified in storage as follows: 23 18 17 12 11 o 0605 2 ~ character ~ l' designators I 00 3 ~ NOTE Since the sign of Bb is extended during character address modification, it is possible to only reference within ± 16,38310 characters. 7-23 23 18 17 16 15 14 00 STAQ Store AQ (Approximate execution time: 5.8 I1sec.) m a = addressing mode designator b = index register designator b m = storage address; M = m (B ) + Instruction Description: Store (A) and (Q) in the storage locations specified by address M and M + 1, respectively. The (A) and (Q) remains unchanged. Comments: Addresses 77776 and 77777 should be used only if it is desirable to have M and M + 1 as non-consecutive addresses, since one's complement arithmetic is used to form M + l. 23 18 17 16 15 14 00 STQ Store Q (Approximate execution time: 2.5I1sec.) m a = addressing mode designator b = index register designator b m = storage address; M = m (B ) + Instruction Description: Store (Q) at the storage address specified by M. The (Q) remains unchanged. 23 saCH Sto,reClCharacter 18 17 16 00 (Approximate execution time: 2.5 I1sec.) 43 : 16 I 02 01 00: I 0-3 00000-77777 I ~-----~v~----/~ word address character designator If b = 1, r is modified by index register B1; R=r (B1). If b = 0, r is not modified. (r = R) + NOTE Since the sign of Bb is extended during character address modification, it is possible to reference only within ± 16,38310 characters. 7-24 23 1 8 1 7 16 1 5 14 STI Store Index 00 (Approximate execution time: m 2.5/lsec.) a = addressing mode designator b = index register designator m = storage address (indexing not permitted) Instruction Description: Store the contents of the specified index register, B b , in the lowel 15 bits of storage address m. The upper 9 bits of m and (B b ) remain unchanged. Comments: Indirect addressing may be used, but address modification is not possible. During indirect addressing only a and m are inspected. The b designator from the initial instruction specifies the index register that will have its contents stored. If b = 0, zeros are stored in the lower 15 bits of m. 23 1 8 1 7 16 1 5 14 00 (Approximate execution time: 2.5 /lsec.) m a = addressing mode designator b = index register designator m = storage address; M =m+(Sb) Instruction Description: Store the lower 15 bits of (A) in the designated address M. The upper 9 bits of M and all of (A) remain unchanged. S<;~~)'s~J~~B'ha~~~t'~' 23 18 17 16 15 14 00 Address m (Approximate execution time: 2.5 /lsec.) a = addressing mode designator b = index register designator m=storage address; M=m+(Sb) Instruction Description: Store the lower 17 bits of (A) in the address designated by M. The upper 7 bits of M and all of (A) remain unchanged. 7-25 INTER-REGISTER TRANSFER, 24-BIT PRECISION Operational Field AOA AlA IAI TIA TAl TMO TOM TMA TAM TMI TIM Address Field Interpretation b b b b v v v v v,b v,b Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer 53 + (0) to A + (Sb) to A (Sb) + (A) to Sb (A) (A) (Sb) to A (A) to Sb (Register v) to 0 (0) to Register v (Register v) to A (A) to Register v (Register v) to Sb (Sb) to Register v General Instruction Description The 53 instruction is used to move data between the A and Q registers, the index registers, and the Register File. The contents of the transferring register remain unchanged. AQA Transfer (A) (Q) to A (Approximate execution time: 1.3 /lsec.) + Comments: (Q) remains unchanged. Bits 00 through 11 should be loaded with zeros. AlA Transfer (A) b (B ) to A (Approximate execution time: 1.3 /lsec.) + b = index register designator Comments: The sign of (B b ) is extended prior to the addition. Bits 00 through 11 should be loaded with zeros. IAI Transfer (A) (B"} to Bb (Approximate execution time: + 1.3 /lsec.) b = index register designator Comments: The sign of the original (B b ) is extended prior to the addition. The upper 9 bits ofthe sum are lost when the sum is transferred to the index register. Bits 00 through 11 should be loaded with zeros. 7-26 1817 16 1514 12 11 00 (Approximate execution time: 1.3 /-lsec.) TIA Transfer (Bb) to A b = index register designator Comments: No sign extension on Bb. Prior tID the transfer, (A) is cleared. If b= 0, zeros are transferred to A. Bits 00 through 11 are loaded with zeros. 23 1817 16 1514 12 11 TAl Transfer (A) to Bb (Approximate execution time: 1.3 /-lsec.) b = index register designator Comments: The (A) remains unchanged. If b=O, this becomes a no-operation instruction. Bits 00 through 11 should be loaded with zeros. ~%§:;;i.(; :'~5:fMa (Approximate execution time: 1.8 /-lsec.) v = Register File number. 00-778 Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. TaM Transfer (a) to Register v (Approximate execution time: v = register file number. 00-778 Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. 7-27 1.8 /-lsec.) TMA Transfer (Register v) to A 23 18 1 7 16 1 5 14 12 11 06 05 00 (Approximate execution time: 1.8 j.Lsec.) v = register file number. 00-778 Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. 23 18 17 16 1 5 14 12 11 06 05 00 (Approximate execution time: 1.8 j.Lsec.) to Register v v = register file number. 00-778 Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. TM I ," Transfer' , ' b (Register v) to B 23 18 17 16 15 14 12 11 06 05 00 (Approximate execution time: 1.8 j.Lsec.) b = index register designator v = register file number. 00-778 Comments: Lower 15 bits of v are transferred to Bb. Bits 06 through 11 should be loaded with zeros. TIM Transfer (Bb) to Register v 23 18 1 7 16 1 5 14 12 11 06 05 00 (Approximate execution time: 1.8 j.Lsec.) b = index register designator v = register file number. 00-778 Comments: Upper nine bits of v remain cleared. Bits 06 through 11 should be loaded with zeros. 7-28 INTER-REGISTER TRANSFER, 48-BIT PRECISION Operation Field ELQ* QEL* EUA* AEU* EAQ* AQE* 55 Address Field Interpretation - Transfer Transfer Transfer Transfer Transfer Transfer - - - - - - - (EL) to Q (Q) to EL (EU) to A (A) to EU (E) to AQ (AQ) to E "Trapped instruction if the Floating Point/Double Precision (FP/DP) option is not present. TRAPPED INSTRUCTIONS IF FP/DP ARITHMETIC OPTION IS NOT PRESENT (Approximate execution time: 1.3 ~sec.) option present. Instruction Description: The 48-bit E register is split into halves-Eu and EL. With the 55 instruction, data may be moved as a 48-bit word between E and AQ, or in halves between A and EU or Q and EL. Comments: Bits 00 through 14 should be loaded with zeros. 55.0 and 55.4·are no-operation instructions, even with the option present. 7-29 STOP AND JUMPS Operation Field Address Field Interpretation HLT SLS UCS SJl SJ2 SJ3 SJ4 SJ5 SJ6 RTJ UJP,I IJI IJD AZJ,EQ NE GE LT AQJ,EQ NE GE LT m Unconditional stop; RNI from address m Selective stop Unconditional stop Jump if key 1 is set Jump if key 2 is set Jump if key 3 is set Jump if key 4 is set Jump if key 5 is set Jump if key 6 is set Return jump Unconditional jump Index jump; increment index Index jump; decrement index Compare A with zero; jump if (A) = 0 Compare A with zero; jump if (A) ,r. 0 Compare A with zero; jump if (A) :2: 0 Compare A with zero; jump if (A) < 0 Compare A with Q; jump if (A) = (Q) Compare A with Q; jump if (A) ,r. (Q) Compare A with Q; jump if (A) :2: (Q) Compare A with Q; jump if (A)< (Q) 00 77.70 77.77 m m m m m m m m,b m,b m,b m 01 02 03 m NOTE Two additional Jump instructions, EZJ and EOJ, are described under the BCD instructions. A Jump instruction causes a current program sequence to terminate and initiates a new sequence at a different storage location. The P register provides continuity between program steps and always contains the storage location of the current program step. When a Jump instruction occurs, a new address is entered into P. In most Jump instructions, the execution address m specifies the beginning address of the new program sequence. The word at address m is read from storage, placed in F, and the first instruction of the new sequence is executed. Some of the Jump instructions are conditional upon a register containing a specific quantity or upon the status of the Jump key on the console. If the condition is satisfied, the jump is made to location m. If not, the program proceeds in its normal sequence to the next instruction. 23 18 17 00 15 14 (Approximate execution time: 00 0 m indeterminate) Instruction Description: Unconditionally halt at this instruction. Upon restarting, RNI from address m. Comments: Indirect addressing and address modification may not be used. 7-30 (Approximate execution time: 1.3 /lsec.) SL.S !;e.lective Stop Instruction Description: Program execution halts if the Select Stop switch on the console is set. RNI from address P + 1 when restarting. Comments: Bits 00 through 11 should be loaded with zeros. (Approximate execution time: indeterminate) Instr.uction Description: This instruction unconditionally stops the execution of the current program. RNI from address P + 1 when restarting. Comments: Bits 00 through 11 should be loaded with zeros. 23 18 17 00 15 14 (Approximate execution time: 1.3 /lsec.) 00 m j = jump keys to 6 Instruction Description: Jump to address m if Jump key j is set; otherwise. RNI from address P + 1. Comments: Indirect addressing and address modification may not be used. Instruction in F RNI from address P + No 1 Jump key j set? 7-31 Yes Jump to address m 23 18 17 00 00 15 14 7 (Approximate execution time: 2.5 J.Lsec.) m Instruction Description: The address portion ofm is replaced with the return address, P Jump to location m + 1 and begin executing instructions at that location. Comments: Indirect addressing and address modification may not be used. + 1. + Store address P in the address portion of (m) Begin subroutine with instruction at address m 1 + Return to m for address P + 23 00 18 17 1 6 1 5 14 (Approximate execution time: 1.3 J.Lsec.) m a = addressing mode designator b = index register designator b m = storage address; M = m (B ) + Instruction Description: Unconditionally jump to address M. Comments: Indirect addressing and indexing may be used. 7-32 23 IJI Index Jump, " Incremental 18 17 1 6 1 5 14 00 __ ~o_2~lo~l b~____m_~ (Approximate execution time: 1.9 }1sec.) b = index register designator m = jump address Instruction Description: If b = 1, 2, or 3, the respective index register is examined: 1. If (B~ = 00000, the jump test condition is not satisfied; RNI from address P ) ~ 00000, the jump test condition is satisfied. One is added to (B m and RNI. 2. If (B b b ); + 1. jump to addresEi Comments: If b= 0, this is a no-operation instruction; RNI from address P + 1. Indirect addressing and jump address modification may not be used. The counting operation is done in a one's complement additive accumulator. Negative zero (77777) is not generated because the count progresses from: 77775, 77776, to 00000 (positive zero) and stops. If negative zero is initially loaded into B b , the count progresses: 77777, 00001, 00002, etc. In this case, the counter must increment through the entire range of numbers to reach positive zero. Instruction in F RNI from address P f Yes +1 b = 07 No Yes (Sb) = 07 No Add one to (Sb) Jump to address 'm'; RNI 7-33 ) IJD Index Jump. Decremental 23 18 17 16 15 14 02 11 1 00 (Approximate execution time: 1.9 J.Lsec.) m b b = index register designator m = jump address Instruction Description: If b=l, 2 or 3, the respective index register is examined: (B b) = 00000, the jump test condition is not satisfied; RNI from address P + 1. 2. If (Bb)~OOOOO, the jump test condition is satisfied. One is subtracted from (B b); jump to address m and RNI. 1. If + Comments: If b=O, this is a no-operation instruction; RNI from address P 1. Indirect addressing and jump address modification may not be used. If negative zero (77777) is ini- tially loaded into B b, the count will decrement through the entire range of numbers to reach 00000 before the program will RNI from P + 1. Instruction in F RNI from address P 1 Yes b= 07 + ) No Yes (Bb) = 07 'No Subtract one from (Bb) Jump to address m'; RNI 7-34 23 AZJ, Condition Compare A with Zero, Jump 18 17 16 15 14 03 10 00 (Approximate execution time: 1.9 J.L~ec.) I m = jump designator (0-3) m = jump address Instruction Description: The operand in A is algebraically compared with zero for an equality, inequality, greater-than or less-than condition (see table). If the test condition is satisfied, program execution jumps to address m. If the test condition is not satisfied, RNI from address P + 1. Comments: Positive zero (00000000) and negative zero (77777777) give identical results when j = 0 or 1. When j = 2 or 3, negative zero is recognized as less than positive zero. Indirect addressing and address modification may not be used. Condition Mnemonic Jump Designator j EQ NE GE LT 0 1 2 3 Test Condition (A)=(O) (A),c (0) (A)::2::(O) (A)«O) Instruction in F RNI from address P + No 1 Is test condition satisfied? 7-35 Yes Jump to address 'm'; RNI AQJ, Condition Compare A With Q, Jump 23 00 18 17 16 15 14 (Approximate execution time: 1.9 ,usee.) m j = 0-3 jump designator (0-3) m = jump address Instruction Description: The quantity in A is algebraically compared with the quantity in Q for equality, inequality, greater-than or less-than condition (see table). If the test condition is satisfied, program execution jumps to address m. If the test condition is not satisfied, RNI from address P + 1. Comments: This instruction may be used to test (Q) by placing an arbitrary value in A for the comparison. Positive and negative zero give identical results in this test when j = 0 or 1. When j = 2 or 3, negative zero is recognized as less than positive zero. Indirect addressing and address modification may not be used. Condition Mnemonic Jump Designator j EO NE GE LT 0 1 2 3 Test Condition (A) = (A) ~ (A) ~ (A) < (0) (0) (0) (0) Instruction in F RNI from address P + No 1 Is test condition satisfied? 7-36 Yes Jump to address m'; RNI LOGICAL INSTRUCTIONS WITH STORAGE REFERENCE Operation Field SSA,I SeA,1 LPA,I 35 36 37 23 Address Field Interpretation m,b m,b m,b Selectively set A Selectively complement A Logical product A 18 17 1 6 1 5 14 00 (Approximate execution time: 2.5 j.lsec.) m a = addressing mode designator b = index register designator m = storage address; M = m (B") + Instruction Description: Selectively set the bits in the A register to "l's" for all corresponding "l's" in the quantity at address M. 23 18 17 16 15 14 00 (Approximate execution time: 2.5 j.lsec.) m a = addressing mode designator b = index register designator m = storage address; M = m + (B b ) Instruction Description: Selectively complement the bits in the A register that correspond to the set bits in the quantity at address M. 23 00 18 17 16 15 14 LPA Logical Product A (Approximate execution time: 2.5 j.lsec.) m a = addressing mode designator b = index register designator b m = storage address; M = m (B ) + Instruction Description: Replace (A) with the logical product of (A) and (M). 7-37 ARITHMETIC, FIXED POINT, 24-BIT PRECISION Operation Field ADA.I RAD.I SBA.I MUAI OVAl 30 34 31 50 51 23 Address Field Interpretation m.b m.b m.b m.b m.b Add to A Replace add Subtract from A Multiply A Divide A 00 1 8 1 7 1 6 1 5 14 (Approximate execution time: 2.5 ILsec.) m a = addressing mode designator b = index register designator m = storage address; M = m (Sb) + Instruction Description: Add the 24-bit operand located at address M to (A). The sum replaces the original (A). 23 RAD 00 18 17 16 15 14 Replace Add (Approximate execution time: 3.8 ILsec.) m a = addressing mode designator b = index register designator m = storage address; M = m (Sb) + Instruction Description: Replace the quantity at address M with the sum of (M) and (A). The original (A) remains unchanged. 7-38 23 18 17 1 6 1 5 14 00 SBA Subtract from A (Approximate execution time: 2.5 ,usee.) m a = addressing mode designator b = index register designator m = storage address; M = m (B b) + Instruction Description: Subtract the 24-bit operand located at address M from (A). The difference is transferred to A. 23 18 17 1 6 1 5 14 00 (Approximate execution time: ,usee.) m 7.8-11.0 a = addressing mode designator b = index register designator m=storage address; M = m (B b) + Instruction Description: Multiply (A) by the operand located at address M. The 48-bit product is displayed in QA with the lowest order bits in A. 23 18 17 16 15 14 51 Ia I 00 (Approximate execution time: 11.25,usec.) m b a = address mode designator b = index register designator m = storage address; M = m + (B b) Instruction Description: Divide the 48-bit operand in AQ by the operand at storage address M. The quotient is displayed in A and the remainder with sign extended is displayed in Q. If a divide fault occurs, the operation halts and program execution advances to the next address. The final (A) and (Q) are meaningless if a divide fault occurs. 7-39 ARITHMETIC, FIXED POINT, 48-BIT PRECISION Operation Field ADAQ,I SBAQ,I *MUAQ,I *DVAQ,I 32 33 56 57 Address Field Interpretation m,b m,b m,b m,b Add to AQ Subtract from AQ MUltiply AQ Divide AQ *Trapped instruction if arithmetic option is not present. This group of instructions may use indirect addressing and address modification, The A and Q registers function as a single 48-bit register with the highest order bits in A. Address 77777 is not recommended for use with this group of instructions. 23 00 18 17 1 6 1 5 14 ADAQ Add to AQ (Approximate execution time: 3,8 Ilsec.) m a = addressing mode designator b = index register designator b m=storage address: M = m (B ) + Instruction Description: Add the 48-bit operand located in addresses M and M + 1 to (AQ). The sum is displayed in AQ. Comments: The upper 24 bits of the 48-bit operand in memory are contained at address M. 23 SBAQ Subtract from AQ I 00 18 17 16 15 14 33 IaI b (Approximate execution time: 3,8 Ilsec.) m a = addressing mode designator b = index register designator b m = storage address: M = m (B ) + Instruction Description: Subtract the 48-bit operand located in addresses M and M from (AQ). The difference is displayed in AQ. 7-40 + 1 HOLDS THE LOWER 48 BITS OF A 96-81T DIVIDEND PRIOR TO EXECUTING A DVAQ INSTRUCTION DIVIDE: HOLDS A 48-81T REMAINDER AFTER EXECUTING A DVAQ INSTRUCTION M U L TIP L Y: HOLDS THE LOWER 49 BITS OF A PRODUCT AFTER EXECUTING AN MUAQ INSTRUCTION 00 47 'I I ~ ~ UPPER 46 BITS OF A 96-91T .DIVIDEND 95 D I V IDE 4 B 47 ,----- 48-81T DIVISOR 00 ----- I 23 00 23 001 I 23 00 23 .1._'11tJ~l:(<Sb Instruction Description: (AQ) is shifted left, end around, until the 2 highest order bits (46 and 47) are unequal. If (AQ) should initially equal positive or negative zero, 4810 shifts are executed before the instruction terminates. During scaling, the computer counts the number of shifts. A quantity K, called the residue, is equal to k minus the shift count. If b = 0, this quantity is discarded; ifb= 1,2, or 3, the residue is transferred to the designated index register. 7-52 23 CPR Compare 00 18 17 16 15 14 (Within Limits Test) (Approximate execution time: 2.5-3.4 f.1sec.) m a = addressing mode designator b = index register designator m = storage address Instruction Description: The quantity stored at address M is tested to see if it is within the upper limits specified by A and the lower limits specified by Q. The testing proceeds as follows: 1. Subtract (M) from (A). If (M) 2. Subtract (Q) from (M). If (Q) 3. RNI from address P + 3. > (A), RNI from address P + 1; if not. > (M), RNI from P + 2; if not, Comments: The final state of the (A) and (Q) registers remains unchanged. (A) must be ;::: (Q) initially or the test cannot be satisfied. 77777777 is not sensed as negative zero. The following table is a synopsis of the CPR test: Test Sequence Jump Address if Test Satisfied (M) > (A) (Q) > (M) (A) ;::: (M) ;::: (Q) P+1 P+2 P+3 CPR Instruction in F Subtract (M) from (A) Is (M) > (A) ? Yes I ·1 RNI from P + 1 No Subtract (Q) from (M) Is (Q) > (M) ?, / No RNI from P + 3 7-53 Yes RNI from P + 2 1 MEQ.Masked Equality. Search 23 18 17 00 15 14 m 06 (Approximate execution time: 4.2+4.2n* /l-sec.) i = interval designator, 0 to 7 m = storage address Instruction Description: (A) is compared with the logical product of (Q) and (M). This instruction uses index register Bl exclusively. m is modified just prior to step 3 in the test below. Instruction Sequence: 1. Decrement (Bl) by i. (Refer to table below.) 2. If (Bl) changed sign from positive to negative, RNI from P + 1; if not, 3. Test to see if (A) = (Q) • (M). M = m+(Bl). If (A) =(Q) • (M), RNI from P + 2; if not, 4. Repeat the sequence. Comments: i is represented by 3 bits, permitting a decrement interval selection from 1 to 8. Address modification may not be used. Positive zero and negative zero are recognized as equal quantities. Designator i Decrement interval 1 1 2 3 4 2 3 4 5 5, 6 7 0 6 7 8 Initial Program Entry Decrement (B') by 'i' Did sign of B' change positive to negative? No (A)=(Q)- (M) RNI from P+l Yes RNI from P+2 *n = number of words searched 7-54 23 MTH Masked Threshold Search 18 17 15 14 00 07 (Approximate execution time: 4.2+4.2n* flsec.) m i = interval designator. 0 to 7 m = storage address Instruction Description: (A) is compared with the logical product of (Q) and (M). This instruction uses index register B2 exclusively. m is modified just prior to step 3 in the test below. Instruction Sequence: 1. Decrement (B2) by "I". (Refer to table below.) 2. If (B2) changed sign from positive to negative, RNI from P + 1; if not, 3. Test to see if (A) ~ (Q) .. (M). M = m + (B2). If (A) ~ (Q) .. (M), RNI from P + 2; if not, 4. Repeat the sequence. Comments: i is represented by 3 bits, permitting a decrement interval selection from 1 to 8. Address modification may not be used. Positive zero and negative zero are recognized as equal quantities. Designator i Decrement interval 1 1 2 3 4 5 6 7 0 2 3 4 5 6 7 8 Initial program entry Decrement (B1) by 'i' Did sign of B 1 change positive to negative? No (A) ~ (Q) • (M) RNI from P+1 Yes RNI from P *n = number of words searched 7-55 +2 SEARCH Operation Field Address Field Interpretation 71 c,r,s c,r,s Search for character equality Search for character inequality SRCE,INT SRCN,INT GENERAL SEARCH/MOVE NOTE The SEARCH and MOVE instructions are mutually exclusive. Attempts to execute one while the other is in progress will cause a reject and a skip to address P + 2, P 71 c Ie (Approximate execution time: 3,3 1Lsec.) 30 00 register I 20 00 23 P register s IINTI 18 17 16 23 P+1 00 18 17 16 23 +2 Reject Instruction e e INT s = "0" for SRCE, equality = "1" for SRCN, inequality = "1" for interrupt upon completion = last character address ofthe search block, plus one c = 00-778, BCD code of search char- acter = first (current) character address of the search block Instruction Description: This instruction initiates a search through a block of character addresses in storage looking for equality or inequality with character c. It is composed of three words, including the two main instruction words plus a reject instruction. As a Search progresses, r is incremented until the search terminates when either a comparison occurs between the search character c and a character in storage, or until r=s. If a comparison does occur, the address of the satisfying character may be determined by inspecting r. To do this, transfer the contents of register 20 to A with instruction TMA (53 0 20020). Register 20 of the register file is reserved for the second instruction word which contains the current character address of the search block. Register 30 is reserved for the first instruction word which contains the last character address, plus one of the search block. Figure 7-6 is a flow chart of steps that occur during a search operation. 7-56 Load (address P + 1) into Data Register Is Search/Move Control Busy? Transfer (Data Bus register) to register· 20 Transfer (F) to register 30 Release R. F. Initiate Search Await ,Search - - - - -Control - - - : - , . Priority Generates Block Control Request Read Up Register 20 (Address P + 1) Restore Register 20 Read Up Register (P) L------;>f.1 No increment I for first character Transfer ~I (S2) to S Bus -;--1 01 --l e; 0 Load Search Character C into Data Bus Register No Yes Figure 7 -6. Search Operation Release Data Bus; RNIfrom Address P + 3 Restore Register 30 (P) MOVE Address Field Interpretation l.r,s Move l characters from r to s Operation Field 72 MOVE Move from r to s MOVE,INT l Characters 23 P 72 23 00 18 17 16 IINTI (Approximate execution time: 3.3 j.lsec.) s 00 17 16 P+1 23 P +2 00 Reject Instruction INT = "1" for interrupt upon completion s = first address of character block destination = field length of block, 0-1778*11 = first address of character block source Instruction Description: This instruction moves a block of data, l characters long, from one area of storage to another. It is composed of three words, including the two main instruction words, plus a reject instruction. As a Move operation progresses, rand s are incremented and l is decremented until l = O. 128 characters or 32 words may be moved. When bits 00 and 01 of rand s are "0", and the field length is a multiple of four characters, data is moved word by word. This reduces move time by 75% over a character by character move. Register 21 of the Register File is reserved for the second instruction word which contains the first address of the character block source. Register 31 is reserved for the first instruction word which contains the first address of the character block destination. Figure 7 -7 is a flow chart of steps that occur during a Move operation. *= 1-1778 represents a field length of 1 to 127 characters; 0 represents a field length of 128 characters. Rev, F 7-58 Load (Address P + 1) into Data Bus Register Increment r Read Up 1---<>--.;011 by 1 for Register 21 Character (Address P + 1) Move , -:J 01 <:0 Transfer (Data Bus Register) to Register 21 Transfl'r (F) to Register 31 Establish Word or Character Move Establish First Word or Character Release R. F. Initiate Move Release Data Bus RNI From Address P + 3 Increment L f--""-~'I by 1 for Character Move Decrement L by 1 for J:::haracter. Mov..a Increment L by 4 for Word Move No Increment for First Word or Character No Increment for First Word or Character Increment r by 4 for Word Move Decrement L by 4 for Word Move Restore Register 31 (Save in restoration register) Set Character Address in S2 for correct shift. Figure 7-7. Move Instruction SENSING Operation 77.2 77.4 77.3 Address Interpretation x.ch;x~O Sense external status Copy external status EXS COpy x.cn;x=O INTS x.ch INS CINS x.ch;x~O Sense interrupt Sense internal status Copy internal status x.ch;x=O 00 18 17 15 14 12 11 23 (Approximate execution time: 1.3-1.7 j.lsec.) x 77 ch = 110 channel designator. 0-7 x = external status sensing mask code (see Comments below) Instruction Description: When a peripheral equipment controller is connected to an I/O channel by the CON (77.0) instruction, the EXS instruction can sense conditions within that controller. Twelve status lines run between each controller and its I/O channel. Each line may monitor one condition within the controller, and each controller has a unique set of line definitions. To sense a specific condition, a "1" is placed in the bit position of the status sensing mask that corresponds to the line number. When this instruction is recognized in a program, RNI at address P + 1 if an external status line is active when its corresponding mask bits are "1". RNI at address P + 2 if no selected line is active. Comments: Refer to the 3000 Series Computer Systems Peripheral Equipment Codes manual (Pub. No. 60113400) for a complete list of status response codes. 23 00 181715141211 0000 77 (Approximate execution time: 1.3-1.7 j.lsec.) ch = 110 channel designator. 0-7 Instruction Description: This instruction performs the following functions: 1. The external status code from I/O channel ch is loaded into the lower 12 bits of A. See EXS instruction. 2. The contents of the Interrupt Mask register are loaded into the upper 12 bits of A. See Table 7-4. 3. RNI from address P + 1. 7-60 TABLE 7-4. INTERRUPT MASK REGISTER BIT ASSIGNMENTS Mask Bit Positions Mask Codes {xl 00 01 02 03 04 05 06 07 08 09 10 11 0001 0002 0004 0010 0020 0040 0100 0200 0400 1000 2000 4000 23 Interrupt Conditions Represented External equipment interrupt line 0 active 1 2 3 4 5 6 7 Real-time clock Exponent overflow/underflow & BCD faults Arithmetic overflow & divide faults Search/Move completion 00 18 1 7 1 5 14 12 11 77 4 I ch I x (Approximate execution time: 1.3-1.7 f.lsec.) ch = I/O channel designator, 0-7 x = interrupt sensing mask code Instruction Description: Sense for the interrupt conditions listed in Table 7-4. RNI from P + 1 if an interrupt line is active and the corresponding mask bit is a "1". If none of the se- lected lines is active, RNI from P + 2. Internal faults are cleared as soon as they are sensed. 7-61 INS Sense Internal Status 23 18 17 1 5 14 12 11 77 3 I ch 00 (Approximate execution time: 1.3-1.7 J.Lsec.) I x ch = I/O channel designator. 0-7 x = internal status sensing mask code. Instruction Description: Table 7-5 lists the bit definitions of the internal status sensing mask. Bits 00-04 and 06-07 represent conditions within I/O channel ch. Bits 05 and 08-11, which represent internal faults, may be sensed without regard to channel designation. To sense a specific condition, load a "1'" into the bit position of the mask that corresponds to the condition. When this instruction is executed, RNI from address P + 1 if an internal status line is active and the corresponding mask bit is a "I". RNI from address P + 2 if none of the selected lines is active. Logic associated with the faults marked by an asterisk in Table 7-5 is cleared as soon as these conditions are sensed. TABLE 7-5. INTERNAL STATUS SENSING MASK Mask Bit Positions Mask Codes (xl 00 01 02 03 04 05 06 0001 0002 0004 0010 0020 0040 0100 07 0200 08 09 10 11 0400 1000 2000 4000 Condition Represented Parity error on channel ch Channel ch busy reading Channel ch busy writing External reject active on channel ch No-response reject active on channel ch *lllegal write Channel ch preset by CON or SEL. but no reading or writing in progress Internal I/O channel interrupt on channel ch. upon: 1) completion of read or write operation. or 2) end of record *Exponent overflow/underflow fault (floating point) * Arithmetic overflow fault (adder) *Divide fault *BCD fault * Refer to INS instruction description . •CINS Status copy'tni~~~:1 23 18 1 7 1 5 14 12 11 77 3 I ch I 00 (Approximate execution time: 1.3-1.7 J.Lsec.) 0000 ch = I/O channel designator. 0-7 Instruction Description: The CINS instruction performs the following functions: 1. The internal status code is loaded into the lower 12 bits of A. See INS instruction. 2. The contents of the Interrupt Mask register are loaded into the upper 12 bits of A. See Table 7-4. 3. RNI from address P + 1. 7-62 CONTROL Operation Field 77.51 77.6 77.61 Address Field Interpretation x x x IOCl PAUS PRP 23 Clear 110, typewriter, and SearchlMove Pause Priority pause 18 17 77 00 12 11 x 51 (Approximate execution time: 1.3 /lsec.) x = block control clearing mask Instruction Description: This instruction may be used to clear the I/O channels. It also clears all associated peripheral equipment, the typewriter or the SearchlMove control according to bits set in the block control clearing mask. (Table 7-6). TABLE 7-6. BLOCK CONTROL CLEARING MASK Mask Bits Mask Codes (x) Controls Cleared 00 01 02 03 04 05 06 07 08 09 10 11 0001 0002 0004 0010 0020 0040 0100 0200 0400 1000 2000 4000 110 channel 0 1 2 3 4 5 6 7 Typewriter (see note) (see note) Search/Move NOTE If bits 09 and 10 are both set or both clear, the channel(s) specified by bits 00 through 07 of the mask are cleared i.e, Read or Write, Status, and Channel Interrupt are cleared. A 5.5 JLsec. Clear signal is also sent to the peripheral equipment and controllers connected to the selected channel(s), If bit 09 is clear and bit 10 is set, the instruction will clear the channel(s) only and the 5.5 JLsec. Clear signal is not transmitted. Bit 08 clears the typewriter as well as the Type Load or Type Dump logic in block control. 7-63 Rev. H 23 00 18 17 15 14 12 11 P (Approximate execution time: 2.0 f.lsec. to 40 ms.) x 00 23 P+1 Reject Instruction x = pause sensing mask code Instruction Description: This instruction allows the program to halt for a maximum of 40 ms if a condition (excluding typewriter-see note) defined by the pause sensing mask exists. See Table 7-7. If a "I" appears on a line that corresponds to a mask bit that is set, the count in P will not advance. If the advancement of P is delayed for more than 40 ms, a reject instruction is read from address P + 1. If none of the lines being sensed is active, or if they become inactive during the pause, the program immediately skips to address P + 2. If an interrupt occurs and is enabled during a PAUS, the pause condition is terminated, the interrupt sequence is initiated and the address of the PAUS instruction is stored as the interrupted address. Comments: Bits 12 through 14 of the instruction at P should be loaded with zeros. NOTE If either bit 08,09 or 10 (or any combination ofthese bits) is set and the sensed condition exists, a pause will not occur and the instruction at P + 1 is read up immediately. If these bites) are set but the condition(s) does not exist, the program immediately skips to P + 2. For all other bits, the normal PAUS routine is followed. TYPE FINISH and/or TYPE REPEAT are cleared if bit 9 and/or bit 10 are set and the condition(s) does not exist. TABLE 7-7. PAUSE SENSING MASK Mask Bits 00 01 02 03 04 05 06 07 08 09 10 11 Mask Codes 0001 0002 0004 0010 0020 0040 0100 0200 0400 1000 2000 4000 Condition Notes I/O channel 0 busy 1 2 3 4 5 6 7 Typewriter busy Typewriter NOT finish Typewriter NOT repeat Search/Move control busy 23 177 Channel read or write operation in progress, or the External MC logic within the channel is set Typewriter input or output in progress Finish logic not set Repeat logic not set Search or Move operation in progress 00 12 II 18 17 61 x (Approximate execution time: 2.0 JLsec. to 40 ms) x=palJse sensing mask Instruction Description: This instruction performs the same operation as the PAUS (77.6) instruction, however, the real-time clock is prevented from incrementing. 7-64 Rev. H INTERRUPT Operation Field 77.50 77.52 77.53 77.57 77.71 77.72 77.73 77.74 Interpretation Address Field INCL SSIM SCIM IAPR SFPF SBCO DINT EINT Clear interrupt Selectively set interrupt mask Selectively clear interrupt mask Interrupt associated processor Set floating point fault Set BCD fault Disable interrupt control Enable interrupt control x x x 23 12 11 18 17 00 (Approximate execution time: 1.3 JLsec.) 50 77 x x = interrupt mask register clealring codes Instruction Description: This instruction clears the interrupt faults defined by the mask codes in Table 7-8, Note that only internal I/O channel interrupts are cleared by this instruction. TABLE 7-8:. iNTERRUPT MASK REGISTER BH ASSIGNMENTS Mask Bits 00 01 02 03 04 05 06 07 08 09 10 11 * Mask Codes (x) Interrupt Conditions Represented 0001 0002 0004 0010 0020 0040 0100 0200 0400 1000 2000 4000 I/O Channel 0 (includes interrupts gener1 ated within the channel 2 and external equipment 3 interrupts) 4 5 6 7 Real-time clock Exponent overflow/underflow & BCD faults Arithmetic overflow & divide faults Search/Move completion *Mask hits 00-07 represent internal and external I/O interrupts for all instructions except INCL. 7-65 Rev. F 23 18 17 Ou 12 11 (Approximate execution time: 1.3 iLsec.) 77 x 52 x = interrupt mask register codes Instruction Description: This instruction selectively sets the Interrupt Mask register according to the interrupt mask code x. For each bit set to "I" in x, the corresponding bit position in the Interrupt Mask register is set to "1" (see Table 7-8). Bit positions representing missing or nonavailable I/O channels cannot be set. Comments: This instruction should not be executed while the interrupt system is enabled. 23 I 18 17 00 12 11 (Approximate execution time: 1.3 iLseC.) 77 x 53 x = interrupt mask register codes. Instruction Description: This instruction selectively clears the Interrupt Mask register according to the interrupt mask code x. For each bit set to "I" in x, the corresponding bit position in the Interrupt Mask register is set to "0" (see Table 7-8). Comments: This instruction should not be executed while the interrupt sysitl:~m is enabled. Instruction Description: The processor (computer) executing this instruction sends an interrupt to an associated processor on ilts left, via storage modules 0 and 1. The interrupt remains active in the receiving computer until it is recognized. Comments: Bits 00 through 11 should be loaded with zeros. Rev.H 7-66 SFPF Set Floating Point Fault (Approximate execution time: 1.3 ~sec.) Instruction Description: The floating-point fault logic sets when a floating point fault ,occurs. This instruction is used when the optional floating point arithmetic logic is not pre~ent in a system. An interpretive software routine should recognize any conditions which would have caused a fault if the operation had been executed by the optional hardware. Comments: Bits 00 through 11 should be loaded with zeros. 23 00 12 11 18 17 (Approximate execution time: 1.3 ~sec.) Instruction Description: The BCD fault logic sets when a BCD fault occurs. This instruction is used when the optional BCD arithmetic is not present in a system. An interpretive software routine should recognize any condition which would have caused a fault if the operation had been executed by the optional hardware. Comments: Bits 00 through 11 should be loaded with zeros. (Approximate execution time: 1.3 ~sec.) Instruction Description: This instruction disables the interrupt control system. The system remains disabled until an EINT instruction is executed. Selected interrupts may still be sensed. Comments: Bits 00 through 11 should be loaded with zeros. EINT Enable , Interrupt Control 23 18 17 77 12 11 00 (Approximate execution time: 1.3 ~sec.) 74 Instruction Description: This instruction enables the interrupt control system. After executing this instruction, at least one and up to four more instructions may be executed before an interrupt is recognized, depending on the type of interrupt. (See Section 4.) Comments: Bits 00 through 11 should be loaded with zeros. 7-67 Rev. F INPUT/OUTPUT Operation Field 77.512 77.511 77.0 77.1 77.75 77.76 73 74 75 76 ClCA CllO CON SEl CTI CTO INPC.INT.B.H INAC.INT INPW.INT.B.N INAW.INT OUTC.INT.B.H OTAC,INT OUTW,INT,B,N OTAW, I NT Address Field Interpretation Clear channel activity Channel interrupt lockout Connect to external equipment Select function Set console typewriter input Set console typewriter output Character-Addressed Input to storage Character-Addressed Input to A Word-Addressed Input to storage Word-Addressed Input to A Character-Addressed Output from storage Character-Addressed Output from A Word-Addressed Output from storage Word-Addressed Output from A cm cm x.ch x.ch ch.r.s ch ch.m.n ch ch.r.s ch ch,m.n ch I/O operations with storage, unlike operations with A, are buffered. Main computer control relinquishes control of the I/O operations and returns to the main program as soon as Read or Write signals have been activated. During the execution of word-addressed I/O instructions, the addresses m and n are shifted left two places to the upper 15 bits of the 17 -bit address positions. From this time on, they are treated as character addresses. Registers 00-178 of the Register File are now reserved for I/O operations. The lowest order octal digit (X) of the register designator corresponds to the I/O channel ch being used. Registers 00-078 are used to hold the instruction word which contains the current character address; 10-178 hold the instruction word which contains the last character address ±1, depending on the operation. The Register File controls modify bits 21-23 of the first and second I/O instruction words. The modified values, listed in Table 7-9, are predictable. Bits 18 through 23 of register file locations 00 through 07 are used by block control during each I/O transfer - thus, alteration of these bits by a programmer is not recommended. In cases where the addresses require modification to obtain dynamic I/O operations, care should be taken to provide proper read-out and restoration of the control bits. Ifthe instruction cannot be executed, program control jumps to the reject instruction. If the bit reserved for Interrupt Upon Completion (INT) is a "I" and the mask bit for the affected I/O channel is a "I" and the interrupt system is enabled, the control logic receives a channel-generated interrupt when the output operation is completed. I/O efficiency can be increased by utilizing this bit when applicable. NOTE For INPC (73) and OUTC (75) instructions with H == "1," an even character count must be used. If the count is odd, the last character will be lost. Rev. H 7-68 TABLE 7-9. MODIFIED 1/0 INSTRUCTION WORDS Instruction 73 ..c: .... Q) t: Cl ...0ro .....S! ..... ~ Q) Q. en 74 75 P P+ P P+ P P+ P P+ 1 INPW 1 OUTC 2 0 F (FCN REG) If ~READ IP + 11 CHANNEL BUSY? LOAD 1 )->Zo + (P (P)->Z' YES REJECT WAIT FOR BLOCK CONTROL, TO THEN S BUS PRIORITY. P+2 & STORE zo (P+1) ACTIVATE READ WRITE ON I/O CHANNEL 0 -> 7 OPERATION WITH A? IN ONE REGISTER (00-> 07) STORE Z' (P) IN ONE REGISTER (10->11) NO J--~ YES '-----~ Rev. H 3 7-72 RELEASE BLOCK CONTROL AND SCANNER KD Await PrioritYj;-___---, Read Up Register Await Reply Reply From Controller I/O Channel Generates Data Signal I/O Channel Generates Block Control Request OX A or NC Restore Register 0X , -..:J -..:J ICI.:i Request Core Storage Await Priority ~:::-:-----, Transfer r to S2 r:, Input One Or Two Characters To r =I Set External To Internal BCD Conversion Read Up Register IX H = 0 Increment r by I X = I/O Channel Ch (0-7) Terminate B=O'H = I '------>l!Ot Input ~Increment r by 2 INT = I H =0 Interrupt I ~ Decrement T 1 - B = I ·Ir by I IH = I ~Decrement r by 2 Figure 7 -8. I/O Operation with Storage I + >( 23 INPW Word Addressed Input to Storage 18 17 16 1 5 14 00 P~I---7-4--~lo~~-n----~ 23 21 20 19 18 17 16 15 14 (Approximate execution time: 3.3 tLsec.) 00 ~BINIINT~m p+11 ch 23 00 Reject Instruction _ _ _ _- - I B ch INT N N m n = "1" for backward storage = I/O channel designator. 0-7 = "1" for interrupt upon completion = "0" for 12- to 24-bit assembly = "1" for no assembly = first word address of I/O data block; = becomes current address as I/O operation progresses last word address of input data block, plus one (minus one, for backward storage) Bits 15 and 16 at P and 15, 16 and 20 at P + 1 should be loaded with zeros. Instruction Description: This instruction transfers a word-addressed data block from an external equipment to storage. Transferring 12-bit bytes or 24-bit words depends upon the type of I/O channel used. The 3206 utilizes 12-bit bytes and the 3207 uses 24-bit words. During forward storage and 12- to 24-bit assembly, the first byte of a block of data is stored in the upper half of the memory location specii5.ed by the storage address. Conversely, during backward storage, the first byte is stored in the lower half of the memory location. I/O OPERATION WITH STORAGE INSTRUCTION SEQUENCE REQUEST BLOCK CONTROL {P)----;F START (FCN REG) READ (P + 1) CHANNEL BUSY? LOAD 1 )----;ZO + {P {P)----;Z' YES REJECT WAIT FOR BLOCK CONTROL. TO THEN S BUS PRIORITY. P+2 ~ STORE Zo (P+ 1) ACTIVATE READ/ WRITE ON I/O CHANNEL 0-7 7 OPERATION WITH A? STORE IN ONE REGISTER (00-707) NO I---~ RNI FROM P+3 Rev. F z' (P) IN ONE REGISTER (10 ----; 17) 7-74 RELEASE BLOCK CONTROL AND SCANNER i0 Await I/O Channel Generates Data Signal Await Reply read "'--V""'O-C-h-a-nn-e-l--' Pri~;ity Ge~r~es Block Control Request Await OX Request Core Storage Priority I Deliver (S2) To S Bus Transfer m to S2 OX A or NC Restore Register Up Re~s~r Input One Word Tom =I Set External To Internal BCD Conversion Read Up Register IX "'-l I "'-l 01 N=O I B=OI x Terminate Input r- Increment m by2 L I N =1 I = I/O Channel Ch (0-7) .--- Increment m by4 I INT = I N =0 I Interrupt 'I ,--- B=I N = I Decrement m by 2 L- r- Decrement m by4 Figure 7-9. 74 I/O Operation with Storage 18 17 16 23 00 s 75 23 21 20 19 18 17 16 00 23 00 (Approximate execution time: 3.3 fJ.sec.) Reject Instruction B ch H H INT = "1 .. for backward storage = I/O channel designator. 0-7 = "0" for 24- to 6-bit disassembly = "1" for 24- to 12-bit disassembly = "1" for interrupt upon completion = first character address of I/O data block; s becomes current address as I/O operation progresses = last character address of output data block. plus one (minus one. for backward output) Instruction Description: This instruction transfers a character-addressed block of data, consisting of 6-bit characters or 12-bit bytes, from storage to an external equipment. NOTE If H = "1," an even character count must be used. lfthe count is odd, the last character will be lost. I/O OPERATION WITH STORAGE INSTRUCTION SEQUENCE (P)~F START (FCN REG) REQUEST BLOCK CONTROL I f READ. (P + 1) CHANNEL BUSY? LOAD + 1)---->Zo (P (P)---->Z' YES REJECT WAIT FOR BLOCK CONTROL. TO THEN S BUS PRIORITY. P+2 1--.. ACTIVATE READ WRITE ON I/O CHANNEL 0--) 7 OPERATION WITH A? STORE z' (P) IN ONE REGISTER (10 --) 17) STORE Zo (P+ 1) IN ONE REGISTER (00 --) 07) NO 1---iIl RNI FROM P+3 Rev. H 7-76 RELEASE BLOCK CONTROL AND SCANNER ~ Await Priori ty I/O Channel Generates Block Control Request H = 0 r - ,- - - - . . , Read Up Register Tr ansfer t---..----O---. r to S2 Increment r by 1 OX B =0 A or NC = 1 H:;: 1 , . . - - - - - - - - , Increment r by 2 I 1 -,Restore n I Register OX Set Internal To External BCD Conversion H = 0 Decrement r by 1 x B = l'H = 1 = I/O Channel Ch (0-7) Decrement r by 2 , -.:] Await Reply -.:] -.:] Request Core Storage Await Priority IDeliver S2 To S Bus Output One Or Two Characters From r INT = 1 No Read Up Register lX Does r = s? Reply From Controller I/O Channel Generates Data Signal Yes I Set CI:annell ~ Termmate 1 I Terminate ~ Output Figure 7-10.75 I/O Operation with Storage Interrupt 23 1817 161514 OUTW Word-Addressed i~glJ~put from Storage· 00 76 (Appro)5imate execution time: 3.3 JLsec) n 23 2120 19 18 17 16 00 ~14 m 23 00 Reject Instruction B ch INT m = "1 " for backward storage = 1/0 channel designator, 0-7 = "1" for interrupt upon completion = first word address of 1/0 data block; becomes current address as 1/0 operation progresses = "0" for 24- to 12-bit disassembly =" 1" for straight 12- or 24-bit data transfer = last word address of output data block, plus one (minus one, for backward output) N N n Instruction Description: This instruction transfers a word-addressed block of data consisting of 12-bit bytes or 24-bit words, from storage to an external equipment. With no disassembly, 12 or 24-bit transfer capability depends upon whether a 3206 or 3207 I/O channel is used. If an attempt is made to send a 24-bit word o:ver a 3206 I/O channel, the upper byte will be lost. 1/0 OPERATION WITH STORAGE INSTRUCTION SEQUENCE START REQUEST BLOCK (P)-->F (FCN REG) f {READ (P 1) + CHANNEL BUSY? LOAD + 1)-->zo (P (P) -->Zl CONTROL / YES REJECT WAIT FOR BLOck CONTROL, TO THEN S BUS PRIORITY. P+2 i~ ACTIVATE READ/ WRITE ON 1/0 CHANNEL O~ 7 OPERATION WITH A? NO STORE Zo (p+ 1) STORE Zl (P) IN ONE REGISTER (OO~ 07) IN ONE REGISTER (10~ 17) 1 ~ Rev. H RNI FROM P+3 ~ 7-78 RELEASE BLOCK CONTROL AND SCANNER ~ Await Priority, Read Up Register OX I/O Channel Generates Block Control Request N =0 Transfer I _ r"\ _ A J Increment mtoS2 ~mby2 A or NC = 1 Increment I I I Restore m by 4 I I I Register OX Set Internal To External BCD Conversion N =0 Decrement m by 2 x = I/O Channel Ch (0-7) B = 1 N ...:J I ...:J c:.o r,------. A wait iRequest Core Storage priyity 1~liver 2 To S Bus Output One Word From m I/O Channel Generates Data Signal No Read Up Register lX Does m = n? = 1 ,--------. Decrement m by 4 Await Reply Reply From Controller INT = 1 Yes I Set C~annel~ Terminate. .. Termlnate Output Figure 7-11. 76 I/O Operation with Storage " _I Interrupt 23 INAC Input, Character to A 181716 00 (Approximate execution time: indeterminate) 73 23 00 Reject Instruction ch = 1/0 channel designator. 0-7 I NT = "1" for interrupt upon completion Instruction Description: This instruction transfers a 6-bit character from an external equipment into the lower six bits of the A register. A is cleared prior to loading, and the upper 18 bits remain cleared. Comments: Bits 00-16 at P and P + 1 should be loaded with zeros. I/O OPERATION WITH A INSTRUCTION SEQUENCE REQUEST BLOCK CONTROL (P)--->F START (FCN REG) f I READ (P + 1) CHANNEL BUSY? LOAD 1 )--->Zo + (P (P) ---> Z' YES REJECT WAIT FOR BLOCK CONTROL. TO THEN S BUS PRIORITY. P+2 .-lo ACTIVATE READ WRITE ON 1/0 CHANNEL O~ 7 OPERATION WITH A? STORE Zo (P+ 1) IN ONE REGISTER (00-+ 07) NO ~.:..-~ STORE z' (P) IN ONE REGISTER (10-+ 17) RNI FROM P+3 7-80 RELEASE BLOCK CONTROL AND SCANNER kD Await Reply I/O Channel Generates Data Signal Await .--------'1, Priority ....--------, Reply From Controller I/O Channel Generates Block Control Request Read Up Registers OX & lX x -l I 00 f-' INT = 1 Input One Char acter Or Word To A Terminate~ Input Interrupt Figure 7-12.73 I/O Operation with A = I/O Channel Ch (0-7) 23 181716 00 INAW Input, Word to A (Approximate execution time: indeterminate) 74 23 00 Reject Instruction ch = 1/0 channel designator. 0-7 INT = "1" for interrupt upon completion Instruction Description: This instruction transfers a 12-bit byte into the lower 12 bits of A or a 24-bit word into all of A from an external equipment. Transferring 12 or 24 bits depends upon whether a 3206 or 3207 I/O channel is used. (A) is cleared prior to loading and, in the case of a 12-bit input, the upper 12 bits remain cleared. Comments: Bits 00-16 at P and P+ 1 should be loaded with zeros. NOTE Bits 18, 19, and 20 are all zeros when a 3206 data channel is used. If the operation with A involves the use of a 3207, these bits take on the following significance: Bit 20 = always a "0". Bit 19= If bit 18="1", the state of bit 19 is of no consequence. If bit 18 = "0", a "I" in bit 19 signifies backward operation. A "0" in bit 19 signifies a forward operation. I/O OPERATION WITH A INSTRUCTION SEQUENCE START REQUEST BLOCK CONTROL (P)->F (FCN REG) If READ (P + 1) CHANNEL BUSY? (P LOAD 1 )->Zo (P)->Zl + YES REJECT WAIT FOR BLOCK CONTROL. THEN S BUS PRIORITY. TO P+2 ~ ACTIVATE READ WRITE ON I/O CHANNEL 0 -> 7 OPERATION WITH A? NO STORE Zo (P+ 1) STORE Zl (P) RELEASE BLOCK IN ONE REGISTER (00-> 07) IN ONE REGISTER (10->17) CONTROL AND SCANNER ~ ~0 RNI FROM ,--_P_+,--3_ - ' V ~ 7-82 ~ Await I/O Channel Generates Block Control Request Priority ,...._ _ _ _ _ _----, Read Up Registers OX & IX Output One Character Word From A X = I/O Channel Ch (0-7) -.j I C/J c...l INT = 1 Aw cu. ~ )ly Reply From Controller Terminate Output Interrupt Figure 7-13.74 I/O Operation with A I/O Channel Generates Data Signal 23 (Approximate execution time: OTAC Output, 75 Character from A 3.3 J..Lsec.) 00 23 Reject Instruction ch = 1/0 channel designator, 0-7 I NT =" 1" for interrupt upon completion Instruction Description: This instruction transfers a character from the lower 6 bits of A to an external equipment. The original contents of A are retained. Comments: Bits 00-16 at P and P + 1 should be loaded with zeros. I/O OPERATION WITH A INSTRUCTION SEQUENCE (P)->F START ~ (FCN REG) ~ REQUEST BLOCK CONTROL H / CHANNEL READ f (P + 1) BUSY? LOAD + 1 )->Zo (P (P)->Z' YES REJECT WAIT FOR BLOCK CONTROL. TO THEN S BUS PRIORITY. P+2 )~ ACTIVATE READ STORE zo (P+1) STORE z' (P) RELEASE BLOCK WRITE ON 1/0 CHANNEL 0--+ 7 IN ONE REGISTER (00 --+ 07) IN ONE REGISTER (10 --+ 17) CONTROL AND OPERATION WITH A? NO ~I F:~~ ~:.f3\ "\J '----...:...P_+!......::,.3_--l ~ 7-84 SCANNER ~ Await I/O Channel Generates Block Control Request Priority ,...._ _ _ _ _ __ Read Up Registers OX & lX x Output One Character Word From A = I/O Channel Ch (0-7) -:] 00 Cl1 INT = 1 f;\ Await Re.ply ~J Reply From Controller 1- - - - Terminate Output Interrupt Figure 7 -14. 75 I/O Operation with A I/O Channel Generates Data Signal 23 18 17 16 OTAW Output, Word (Approximate execution ti"me: 3.3 fJ.sec) 76 trom A 23 00 Reject Instruction ch = 1/0 channel designator. 0-7 INT = "1" for interrupt upon completion. Instruction Description: This instruction transfers a 12-bit byte from the lower 12 bits of A, or (A) to an external equipment, depending upon the type of I/O channel (3206 or 3207) that is used. (A) is retained. Comments: Bits 00-16 at P and P + 1 should be loaded with zeros. NOTE Bits 18, 19, and 20 are all zeros when a 3206 data channel is used. If the operation with A involves the use of a 3207, these bits take on the following significance: Bit 20= always a "0". Bit 19=Ifbit 18="1", the state of bit 19 is of no consequence. If bit 18="0", a "I" in bit 19 signifies backward operation. A "0" in bit 19 signifies a forward operation. I/O OPERATION WITH A INSTRUCTION SEQUENCE REQUEST BLOCK CONTROL (P}---> F START (FCN REG) / f READ (P + 1) CHANNEL BUSY? LOAD + 1}--->zo (P (P) ---> Zl YES REJECT WAIT FOR BLOCK CONTROL. THEN S BUS PRIORITY. TO P+2 ~ (p+ ACTIVATE READ WRITE ON 110 . CHANNEL 0 ---+ 7 OPERATION WITH A? NO STORE Zo 1) IN ONE REGISTER STORE Zl (P) RELEASE BLOCK IN ONE REGISTER (00---+ 07) (10---+ 17) CONTROL AND SCANNER ~! R-:.N_I_---,~3 FROM ___ P+3 ~ 7-86 ~ I/O Channel Generates Block Control Request Await Priori ty .,_ _ _ _ _ _--, Read Up Registers OX & IX Output One Character Word From A -l OJ -l X = I/O Channel Ch (0-7) Figure 7 -15. 76 I/O Operation with A I/O Channel Generates Data Signal Section 8 SOfTWARE SYSTEMS GENERAL DESCRIPTION This chapter presents a synopsis of the major software systems applicable to a 3200 COUlPuter System. The software information contained in this chapter is also valid for 3100 and 3300 Computer Systems. Reference manuals are available for each of the systems described in this chapter and should be consulted for detailed information. Copies of these manuals and others as they become available may be obtained by corresponding with the nearest Control Data sales office listed on the back cover of this manual. 3100, 3200, 3300 SCOPE SCOPE is the oper<;ltion system for the CONTROL DATA 3100, 3200, 3300 Computers. Modular in structure, the system provides efficient job processing while minimizing its own memory and time requirements. Programming with the operating system is simplified by the use of control cards which are included with program decks. Among the functions performed by SCOPE are the following: Job Processing • • It • • e It Processes stacked or single jobs Controls I/O and interrupt requests Monitors compilations and assemblies Loads and links object subprograms Stores accounting information Initiates recovery dumps Prepares overlay tapes Equipment Assignments e e It III Logical unit references Physical unit assignment at run time Drivers for all standard peripheral equipment System units which facilitate job processing and minimize monitor programming 8-1 Debugging Aids .. .. • • Extensive diagnostics Octal corrections Snapshot dumps Recovery dumps library Preparation and Editing .. II II Prepare a new library Edit an existing library List the contents of a library 3100, 3200, 3300 COMPASS COMPASS is the comprehensive assembly system for the 3100, 3200, 3300 Computers. Operating under 3100, 3200, 3300 SCOPE, it assembles relocatable machine language programs. The program may consist of subprograms, each of which may be independently assembled. COMPASS source language includes the following features: Operation codes Machine operations are written as one or more mnemonic or octal subfields. Addressing Expressions, used as addresses, may represent either word or character locations. Expressions consist of symbols, constants, and special characters connected by + and -. Data storage A data area, shared by subprograms, may be specified and loaded with data in the source program. Common storage A common area may be designated to facilitate communication among subprograms. Data definitions Constants may be defined as octal, decimal, double-precision, integer or floating-point numbers; BCD words, BCD characters; or as strings of bits. Library access Library routines may be called by reference to their entry points or by inclusion of macros in the source program (data processing macros, input/output macros). Listing control The format of the assembly listing may be controlled by pseudo instructions. Diagnostics Diagnostics for source program errors are included with the output listing. Macro instructions Macros may be defined in the source program or entered into the library; the sequence of instructions will be inserted whenever the macro name appears in the operation field. The Assembler The COMPASS assembly program converts programs written in COMPASS source language into a form suitable for execution under the 3100, 3200, 3300 operating systems. Source program input may be on punched cards or in the form of card images on magnetic or paper tape. The output from the assembler includes an assembly listing and a relocatable binary object program on punched cards or magnetic tape. 8-2 Equipment Configuration The assembly system, which is stored on the SCOPE library tape, is designed to operate on a computer with a minimum of 8,192 words of storage. In addition to the SCOPE library unit, the following input/output equipment is required: Input unit: card reader, magnetic tape, or paper tape Scratch unit: magnetic tape (may also be used for output) Listable output unit: magnetic tape or printer Object program output unit: magnetic tape or card punch Program Structure Source programs may be divided into subprograms which are assembled independently. All location symbols except COMMON and DA T A symbols are local to the subprogram in which they appear, unless they are declared as external symbols. Locations which will be referenced by other subprograms are declared as entry points. For example, if subprogram IGOR references locations KIEV and MINSK in subprogram DEMETRI, KIEV and MINSK must be declared external symbols in subprogram IGOR and entry points in subprogram DEMETRI. The links among subprograms are associated by the SCOPE loader. As each subprogram is loaded, all external symbols and entry points are entered into a symbol table. When an external symbol is found which matches an entry point already entered in the table, or an entry point is found which matches an external symbol, linkage between the two points is established. If any external symbols are not matched with entry points after the last subprogram is loaded, the library tape is searched for routines with the names of unmatched symbols. If these routines are found, they are loaded and linked to the other subprograms. If un- matched external symbols remain, the job is terminated and an error message written by the system. 3100,3200,3300 DATA PROCESSING PACKAGE The Data Processing Package is composed of Data Processing Routines and a General Purpose Input/Output System. Data Processing Routines The Data Processing Routines, called macros, are used in COMPASS assembly language programs to do particular data handling jobs; included are the following: TRANSMIT Transmits any string of up to 4,095 characters from one place in memory to another. COMPARE Compares fields located at A-address and B-address according to the data processing collating sequence. Fields may contain 1 to 4,095 characters. The fields are treated as equal, regardless of their specified lengths, by assuming blank fill to the right of the shorter field. EDIT Moves a numeric field to a receiving field with report editing. MULTIPLY Multiplies two BCD numbers and stores the result in a third. DIVIDE Divides one BCD number by another and stores the result in a third. 8-3 General Purpose Input/Output System ," The General Purpose Input/Output System is a series of library routines which provide complete input/output control for data processing. These routines are used in COMPASS assembly programs, and they simplify programming while offering versatile data handling and optimum usage of internal storage space and processing time. Complete, partial or no buffering may be designated, depending upon the amount of storage the programmer has available; multi-file reels or multi-reel files may be read or written; fixed or variable length logical or physical records may be processed; and magnetic tape, paper tape, cards or printer may be used for input/output units. Both labeled and unlabeled tapes may be handled. The input/output macros perform the following functions: OPEN Opens an input or output file. READ Reads one logical record into the record area or a specified area in memory. WRITE Writes one logical record from the record area or a specified area in memory. CLOSE Closes a reel or file. In addition to the input/output operations, the programmer also describes the files to be processed through use of macros. FIELDESC Defines logical records, buffers, logical units, recording density and rerun requirements. LABELING Describes file label and tape retention time (prevents accidental destruction of tapes). VARIABLE Indicates whether the size of a variable length record is determined by a record mark or a key field. STOP OPEN Allows user to let files share the same areas in storage. Defines multifile reels. The I/O System interprets each set of instructions, refers to the file description, and then initiates the requested operation; it controls buffering, transmission errors, and logical-physical record divisions. 3100,3200,3300 UTILITY The Utility Package consists of a small control routine and a group of closed subroutines which, operating under control of the SCOPE operating system, will perform such functions as tape handling, copying of records from unit to unit, and record comparison of two files. The package is open-ended; subroutines may be added as desired. 3100, 3200, 3300 COBOL COBOL is a programming system designed to facilitate the solution of business data processing problems. To use COBOL, the programmer describes the problem in a language resembling English; the COBOL processor translates this source language input into relocatable machine language for program execution. THE COBOL language contains the elements of required COBOL as set forth by the official government manual describing COBOL-61, plus many of the features defined as elective COBOL. A COBOL source program is specified in four divisions: IDENTIFICATION, ENVIRONMENT, DATA and PROCEDURE. The IDENTIFICATION division identifies the name, author, date, and so forth of the program. The ENVIRONMENT division defines the computer configuration required for both compilation and execution. The DA T A division describes the format of the data files which the program is to process. The PROCEDURE division contains a sequence of statements which describe the processing to be performed. 8-4 The COBOL compiler is a three pass system. No object code is produced until the entire source program has been thoroughly analyzed. Whenever possible, in-line coding is produced. Depending on the needs of the program, the compiler provides an input/ output system which allows variable length records, up to two buffer areas per file, multifile reels, multi-reel files, rerun procedures, and so forth. In general, the features of the COBOL input/output system correspond to those described for the Data Processing Package. 3100, 3200, 3300 FORTRAN The 3100,3200,3300 FORTRAN system incorporates a problem-oriented language that facilitates simple algebraic solution of mathematical or scientific problems. 3100, 3200, 3300 FORTRAN programs are written as a sequence of statements, using familiar arithmetic operations and English expressions. Large programs may be written independently in sections, the sections tested, then executed together. Statements are available to reserve areas of memory for variables and arrays. Strings of values may be loaded with the program for reference during the program execution. Equivalence statements allow the same areas of memory to be identified with different variables and arrays during the execution of a program. Type statements specify the mode in which values are to be stored. The possible types include: REAL, INTEGER, and CHARACTER. The programmer may also declare a special mode, type OTHER, to handle information which does not conveniently conform to the standard modes. Arithmetic expressions are indicated by arithmetic sign and algebraic names. For example, A+B-C means add A to B and subtract C. Logical and relational operators are available for use in expressions which may be true or false. Statements are usually executed in sequenee. However, control statements may be used to transfer to another part of the program. (The transfer may be specified as dependent on a test indicated by an expression in the transfer statement.) Sets of statements which are to be executed several times with minor changes or increments may be written once with a statement to indicate how many times they are to be repeated, and if they are to be changed each time. Input/output operations provide a means to read information into the machine from various sources and to record results on a selected output device. If buffered input/output operation is specified, uther operations may continue while information is read in or out. Facilities are also available to transfer a number of characters from one area of memory to another, and to test machine conditions through calls to 3100, 3200, 3300 FORTRAN library functions. The 3100,3200,3300 FORTRAN compiler produces machine language programs which may be executed immediately or stored for execution at a later date. GENERALIZED SORT/MERGE PROGRAM The GENERALIZED SORTIMERGE PROGRAM organizes data on magnetic tape into one continuous predetermined order. SORTIMERGE operates under the SCOPE operating system. Control cards read from the standard input unit contain file descriptions and SORTIMERGE specifications. 8-5 SORT/MERGE orders fixed or variable length tape records, blocked or unblocked, written in either BCD or binary mode, according to a specified collating sequence. BCD and binary collating sequences are provided within SORT/MERGE, or the user may specify his own. The resultant output file may be merged with other presorted files in a final merge pass, or, if a number of presorted files exist, the merge phase only can be performed. The SORT/MERGE program can transfer instruction execution to the user's prepared subroutines which in turn perform the following typical functions. Other subroutines not shown on this list may also be used: • Edit acceptable records • Reject records It Check nonstandard labels • Modify nonstandard labels • Generate messages for the operator til Write secondary output file (edit sorted records) • Prepare summary file (summarize sorted records) • Terminate the sort process The SORT/MERGE checks standard header and trailer labels and provides rerun dumps. The SORT/MERGE contains an internal sort phase and a merge phase. The sort uses the tournament replacement technique which makes maximum use of available core storage and takes advantage of existing bias in the data. The method of merging, which is selected by the user, can be normal balanced or polyphase with either forward or backward reading. 3100, 3200, 3300 BASIC SYSTEM Included in the 3100, 3200, 3300 BASIC system are: • BASIC Assembler • BASIC FORTRAN II • BASIC Utility BASIC Assembler The BASIC Assembler language forms a subset of the 3100, 3200, 3300 COMPASS language. Although designed primarily for use on a 4K configuration, it can readily be used on larger systems. Object programs produced by the BASIC Assembler are loaded by the self-contained loader or can be loaded by SCOPE. Source language programs must be prepared as complete entities if they are to be loaded by the internal loader. As a result, facilities for referencing external storage areas (COMMON, DATA) and external program elements (ENTRY, EXT. Macros) are not used in BASIC Assembler language, nor are a few of the more complex pseudo instructions (VFD, IF). All other features of the language are similar: operating codes, addressing, data definitions, listing control, etc. To assemble a BASIC Assembler program, the following configuration is required: • Minimum of 4K words of storage • Input unit: card reader, magnetic tape or paper tape (used for source language input, library, and BASIC Assembler) • Listable output unit: printer, magnetic tape, paper tape, typewriter • Object program output unit: card punch, magnetic tape, paper tape, typewriter (All output may be written on one tape unit if desired.) 8-6 BASIC FORTRAN Ii BASIC FORTRAN II is a problem-oriented language that performs familiar mathematical operations in arithmetic expressions and replacement statements. The source language provides substantial power and flexibility through a variety of statements. BASIC FORTRAN II is compatible with other FORTRAN II systems. BASIC Utility This package is similar to the 3100, 3200, 3300 Utility but incorporates its own loader and input/output control routine. CODING PROCEDURES COMP ASS subprograms are written on standard coding sheets. A subprogram consists of symbolic or octal machine instructions and pseudo instructions. Symbolic machine instructions are alphabetic mnemonics for each of the machine instructions. Pseudo instructions are COMPASS instructions used for the following operations: • Subprogram identification and linkage «I Data definition (constants conversion) • Data storage • System calls • Assembler control • Output listing control • Macro definition INSTRUCTION FORMAT A COMPASS instruction may contain location, operation code, address, comment, and identification fields. location Field A symbol in the location field (LOCN) is placed in columns 1-8. A symbol identifies the address of an instruction or data item. Location field symbols may be blank or consist of one to eight alphabetic or numeric characters; the first character must be alphabetic. Embedded blanks are illegal in location symbols. The following are examples of location symbols: A H3 ABCDEFGH P1234567 A single * in column 1 of the location field signifies a line of comments. Operation Code Field The operation code field (OP) consists of any of the mnemonic or octal instruction codes with modifiers, or any macro or pseudo instructions. The field begins in column 10 and ends at the first blank column. If a modifier is used, a comma must separate the operation code from the modifier; no blank columns may intervene. A blank operation field or a blank in column 10 results in a machine word with zeros in the operation field. 8-7 Address field The address field begins before column Lll and after the blank which terminates the operation field, and ends at the first blank column. It is composed of one or more subfields, depending upon the instruction. Subfields, which are separated by commas on the coding form, specify the following quantities: m or n r or s y z b or i c v ch x word address character address operand (15-bit) operand (17 -bit) index register or interval quantity character register file location channel function code or comparison mask number of characters in a block The interpretations of the address subfields for each set of instructions are described in Table 8-l. An m,n,r ,s,y or z subfield may contain: III A location symbol III The symbol ** which causes eaeh bit in the subfield to be set to one III The symbol * which causes the assembler to insert the relocatable address of that instruction in the address field III An integer constant • An arithmetic expression III A literal TABLE 8-1. INSTRUCTION INTERPRETATIONS INSTRUCTION OPERATION CODES Subfields 00-70 m, n F I E 71 Search 72 Move 73-77 1/0 word address - - b index register - - - y or z operand - - - - - c r L D s character address - character first word address, last word address address of first character first character address of source field first character address address of last character ± 1 first character address of receiving field last character address ± 1 ch - - - channel x - - - 1/0 or interrupt code - - - field length i I interval quantity - 8-8 - +1 b SUBFIELD-The index field (b) specifies an index register 1-3, or a symbol or expression which results in one of these registers. Some instructions require a particular index register. If the b subfield is used with the octal operation codes, 0-7 may be tlsed. c SUBFIELD-The character field may contain any octal or decimal number, expression, or a symbol which is equivalent to a 6-bit binary number. Octal numbers must be suffixed with the letter B. ch SUBFIELD-The channel field may contain one digit to designate an input/output channel, or a symbol equated to one of these digits, or an expression resulting in one of the digits. x SUBFIELD-The code field may, contain any of the interrupt or input/output codes or comparison mask. Decimal numbers, octal numbers suffixed with the letter B, symbols or expressions resulting in constants may be used. v SUBFIELD-The register file sub field specifies a location which may be 008-778. Any legal coding which results in a value 008-778 may be used. i SUBFIELD-In the MEQ and MTH instructions, this subfield specifies a decrement interval quantity of 1-8. I SUBFIELD-In the MOVE instruction, this sub field specifies the number of characters (1 to 128) to be moved. Comments Field Comments may be included with any instructions. A blank column must separate them from the last character in the address field, and they may extend to column 72. Comments have no effect upon compilation but are included on the assembly listing. Identification Field Columns 73-80 may be used for sequence numbers or for program identification. This field has no effect upon assembly. PSEU DO-INSTRUCTIONS Monitor Control The following pseudo instructions provide communication between COMPASS subprograms and the monitor. Some are required in every subprogram; others are optional. Unless otherwise noted, each instruction may have a location field and an address field. IDENT m - appears at the beginning of every COMPASS subprogram. The address field contains the name of the subprogram, which may be a maximum of eight alphanumeric characters, the first being alphabetic. A symbol in the location field is ignored and results in an error flag (L) on the listing. EN D m - marks the end of every subprogram. When a program (consisting of one or more subprograms) is assembled for execution, one of the subprogram END cards must contain a location symbol in the address field to indicate the first instruction to be executed in the program. Only one END card can contain an address field symbol. A term in the location field is ignored. FINis-terminates an assembly operation. It is a signal to the assembler that no more programs are to be assembled. The FINIS card is placed after the last END card of the last subprogram in the source program. 8-9 Symbol Assignments The pseudo instructions, EQU; EQU, C; ENTRY; and EXT define symbols as equal to other symbols or values, or identify symbols used to communicate with subprograms. Linkage between symbols in separate subprograms is provided by the monitor system. These pseudo instructions may appear anywhere between an IDENT and an END pseudo instruction. EOU m - assigns the result of the expression in the address field to the symbol in the location field. The result is a 15-bit address. The following forms are allowed: symbol EQU symbol symbol EQU constant (octal or decimal) symbol EQU expression (address arithmetic) Example: OUT EQU JUMP+2 If JUMP is assembled to address 00100, OUT will be assigned the value 00102. Numerical constants must follow the rules for symbolic instructions. Address arithmetic is permitted. A location field symbol may be equated to a decimal or octal constant. EOU, C m - is similar to EQU, except that the result is a 17-bit address. ENTRY m - defines location symbols which are referenced in other subprograms. These symbols, called entry points, must be placed in the address field of an ENTRY pseudo instruction. Any number oflocations may be declared as entry points in the same ENTRY instruction. If two or more names appear in the address field, they must be separated by commas. No spaces (blanks) can appear within a string of symbols. The address field of the ENTRY pseudo instruction may be extended to column 72 and the location field must be blank. Only word-location symbols (15-bits) may be used. Example: ENTRY SYM1,SYM2,SYM3 SYM1, SYM2, SYM3 can now be referenced by other subprograms. EXT m - Symbols used by a subprogram which are defined in another subprogram are declared as external symbols by placing them in the address field of an EXT pseudo instruction. Only word-location symbols (15-bit) may be used. For example, to use the external symbols SYM1, SYM2, SYM3 in subprogram A, the following pseudo instruction would be written in subprogram A: EXT SYM1,SYM2,SYM3 These symbols must be declared as ENTRY points in some other subprogram or subprograms which are loaded for execution with subprogram A. The address field may be extended to column 72; symbols are separated by commas. No spaces (blanks) can appear in a string of symbols. The location field of an EXT must be blank. Address arithmetic cannot be performed on external symbols. 8-10 Example: FFI IDENT ENTRY EXT SJl CAIRO DEED, FFI ABE, DAVID ** e BEN EQU HAKIM e DEED LDA ABE III RTJ DAVID at e END END FINIS FFI listing Control The pseudo instructions which provide listing control for assembly listings are shown below. These instructions do not appear on the assembly listing and may be placed anywhere in a program. controls line spacing on an assembly listing. A decimal constant in the address field designates the number of spaces to be skipped before printing the next line. If the number of spaces to be skipped is greater than the number of lines remaining to be printed on a page, the line printer skips to the top of the next page. A symbol in the location field is ignored. SPACE - EJ ECT - causes the line printer to skip to the top of the next page when the assembled program is listed. A symbol in the location field is ignored. REM - is used to insert program comments in an assembly listing. The address field can be extended to column 72. Any standard key punch character can be used in the comments. If the comments are to be written on more than one line, successive REM pseudo instructions must be used. A symbol in the location field is ignored. NOLIST - causes the assembler to discontinue writing a listing of the program, starting with this instruction. LIST - causes the assembler to resume listing the program. This instruction is used after a NOLIST instruction; it is not necessary to use it to obtain a complete listing of a program. 8-11 Macro Instructions MACRO - defines the beginning of a sequence of instructions that are inserted by the assembler in the source program whenever the location symbol of the MACRO instruction appears in an operation field. The end of the sequence of instruction is marked by an ENDM pseudo instruction. For example, if the sequence HOPE MACRO (PA, MA) LDA PA INA 24B STA MA ENDM were defined and the following instructions appeared in the same program STA GARAGE HOPE (DW21, D6) LDA FARM the assembled output would be STA GARAGE LDA DW21 INA 24B STA D6 LDA FARM ENDM - defines the end of a MACRO sequence. L1BM - names library macros. NAME (p1, ... ,pn) - is used to reference macros. The parameters pI, ... , pn are used by the routine, aT!!. NAME is a macro name. Data Storage Assignments The following pseudo instructions reserve storage areas for blocks of data. BSS may be used to reserve storage blocks within the subprogram in which it appears. If these storage areas are to be referenced by other subprograms, the name assigned to the block is declared as an entry point in the program containing the block, and as an external symbol in the program referencing the block. Only word location symbols may be used. COMMON identifies storage areas to be referenced by more than one subprogram. DA T A specifies special areas which may be preloaded with data; EXT and ENTRY are not needed to reference COMMON or DATA areas. Address arithmetic may be used, but all symbols must have been defined before the instruction is encountered. reserves a storage area of length m in a subprogram on a common or data storage area. The address field may contain any expression which results in a constant. The resultant constant specifies the number of words to be used. The address field of the first word of the reserved area is assigned the location field term of the BSS instruction. Other words or characters in the area may be referenced by addressing arithmetic or by indexing. BSS m - BSS, C m - reserves a character storage area of length m in a subprogram. The address field is similar to the address field of BSS pseudo instruction. However, the resultant constant specifies the number of character positions to be reserved. COMMON - assigns location terms following it to a common storage block until a DATA or PRG pseudo instruction is encountered. EQU, EXT, ENTRY, 1FT, IFN, IFF, IFZ, END, ORGR, BSS and BSS,C are the only pseudo instructions which may follow a COMMON pseudo instruction.* *Occurrence of any other machine or data definition command causes the command and its successors to be assembled into the subprogram area. 8-12 A B C MARKET STREET SINGER IDENT COMMON BSS BSS BSS END IDENT COMMON BSS BSS BSS END BURKE 20 10 6 SPINOZA 5 13 4 Location and address fields of a COMMON pseudo instruction should be blank. COMMON may not be preset with data. During execution, one area in storage is assigned as COMMON. All COMMON may be filled repeatedly during execution. A storage location assigned to the nth word in COMMON in subprogram 1 is the same location assigned to the nth word in COMMON in subprogram 2. If the two subprograms in the above example were loaded together, the memory as- signments would be: Example: Locations in memory relative to the beginning of common Name in subprogram BURKE 0-4 A Name in subprogram SPINOZA :.A+4 MARKET )0 MARKET+4 )oSTREET+12 5-17 A+5 ----+A+17 STREET 18-19 A+18~A+19 SINGER )0 SINGER+1 20-21 B )0 SINGER+2 )0 SINGER+3 22-29 B+2 )oB+9 30-35 C )oC+5 B+1 PRG-terminates the definition of a COMMON or DATA area. DATA-assigns all location symbols following it to a data block until a COMMON or PRG pseudo instruction is encountered. Data described by OCT; BCD; BCD,C; DEC; DECD and VFD pseudo instructions may be assembled into a DATA block. Areas may be reserved within a DATA block by the BSS and BSS,C pseudo instructions. The following is an example of a DATA pseudo instruction coded within a subprogram: 8-13 Example: III III III CONS LDA DATA OCT PRG STA APRESMOI 10, 11, 12, 13 * LEDELUGE A data area named CONS is reserved and the octal constants 10, 11, 12, and 13 are loaded into the four words in this area. In the source program, STA LEDELUGE would appear in the next location after LDA APRESMOI. Constants Octal, decimal, and BCD constants may be inserted in a COMPASS program by using the pseudo instructions listed below. Location terms may be used and the address field may extend to column 72, if necessary. OCT ml,m2, ... ,mn- inserts octal constants into consecutive machine words. A location term is optional; if present, it will be assigned to the first word. The address field consists of one or more consecutive subterms, separated by commas. Each subterm may consist of a sign (+or - or none), followed by up to eight octal digits. Each constant is assigned to a separate word. If a location term is present, it is assigned to the first word. If less than eight digits are specified, the constant is right-justified in the word and leading zeros are inserted. DEC ml,m2, ... , mn- inserts 24-bit decimal integer constants in consecutive machine words. The D and B scaling is identical to the DECD scaling, but only positive integer values less than 233 may be used. If a location term is present, it is assigned to the first constant. DECO Ml,m2, ... ,mn-converts decimal constants to equivalent 48-bit binary values and stores them in consecutive groups of two machine words. Each constant may be written in either fixed or floating point format. The decimal numbers to be converted are written in the address field of the DE CD instruction as follows: Floating Point Constant format consists of a signed or unsigned decimal integer of 14 digits. It is identified as a floating point constant by a decimal point which may appear anywhere within the digital string. A decimal scale factor indicated by D ± d is permitted. The result after scaling must not exceed the capacity of the hardware (approximately 10±30B). Fixed Point Constant format is similar to that of the DEC single precision constants. Up to 14 decimal digits may be specified, expressing a value the magnitude of which is less than 247. Decimal and binary (B ± b) scale factors may be used. Low order bits are not lost; the signed 48-bit binary result is stored in two consecutive computer words. No spaces may occur within a number, including its associated scale factors, since a space indicates the end of the constant. Plus signs may be omitted. Any number of constants may appear in a DE CD instruction. Successive constants are separated by commas. 8-14 Examples: Comments LOCN Op Address Field CONST A DECD -12345. FLOATING PT CONST CONST B DECD +12345 FIXED PT CONST CONST C DECD -12345.D+5 FLOATING PT CONST, DECSCALE CONST D DECD 12345D-3 FIXED PT CONST, DECSCALE CONST E DECD +12345B+8 FIXED PT CONST, BINSCALE BCD n,C1C2, ... , C4n - inserts binary-coded decimal characters into consecutive words. If a location term is present, it is assigned to the first word. The address field consists of a single digit n, which specifies the number of four-character words needed to store the BCD constant, followed by a comma and the BCD characters. The next 4n character positions after the comma are stored. Any character string which terminates before column 73 may be used; n is restricted accordingly. BCD,C n,C1C2" .. , Cn- places n characters in the next available n character positions in memory. If the previous instruction were also a BCD,C instruction, the next character position is defined as the one which follows the last position used by the previous instruction. If a location symbol is used, it is assigned to the first character position in this field. If the previous instruction were not a BCD,C instruction, the next character position would be the first character position (0) of the next available word. Any character string which terminates before column 73 may be used; n is restricted accordingly. VFD mml/vl,m20dv2 ... ,mpnp/vp- assigns data in continuous strings of bits rather than in word units. Octal numbers, character codes, program locations and arithmetic values may be assigned consecutively in memory, regardless of word breaks. The address field consists of one or more data fields. In each data field m specifies the mode of the data, n the number of bits allotted, and v the value. Four modes are allowed: o H A C Octal number. If it is preceded by a mmus sign, the one's complement form is stored. Hollerith character code. The field length must be a multiple of six. Any printable character may appear in the v field except blanks or commas. Either a space or comma immediately succeeds the last character. Arithmetic expression or decimal constant. The v field consists of an expression formed according to the rules for address field arithmetic, with the following restrictions: 1. n must be :s; 24 and I v I :S;2 n -C 1 unless a relocatable expression is used, in which case, n = 15. 2. When a relocatable expression is used, it must be placed in the correct position in the address portion of a word to insure that it will be relocated by the loader. Character expression. The rules governing the A-field apply, except that n = 17 for a relocatable expression. The VFD address field is terminated by the first blank column. 8-15 Example: VFD 012/-737.A211A-X+B.H24/+A3 .A15INAME +2.H18/BQ. A. X. and Bare nonrelocatable symbols. Four words are generated. with the data placed as follows: 23 11 0 23 14 8 ,'-;-0-4-0-'--:-1.'----[-A--=---'1 X+ BJ 1 2 0 2 I- -737 Arithmetic 14 o 3 Space 1 0 1 A Word 2 0 [Name +2] 1 + Expression Word 23 20 2 0 I 23 , Word Address 1 17 2 2 ! B Word 3 11 0 5 Q j6 5 0 1 0 0 01 Space Word 4 Additional Pseudo Instructions Additional lines of coding may be generated by the following pseudo instructions: IFZ m,n - n succeeding lines of coding are assembled if m is zero. The expression n must result in a positive numerical integer, and m may be a symbol, an address arithmetic symbol, or a literal. If m is non-zero, n succeeding lines of coding will be bypassed by the assembler. IFN m,n - n succeeding lines of coding will be assembled if m is non-zero; the expression n must result in a positive numerical integer, and m may be a symbol, address arithmetic symbol or literal. Ifm is zero, n succeeding lines of coding will be bypassed by the assembler. The pseudo instructions, 1FT and IFN may be used within the range of a MACRO definition only. 1FT m,p,n, - n succeeding lines of coding will be generated if character string m equals character string p. The expression n must result in a positive numerical integer, and m and p may be a formal parameter or a literal. If m ,r. p, n succeeding lines of coding will be bypassed. IFF m,p,n-n succeeding lines of coding will be generated if m ,r. p. The expression n must result in a positive integer, and m and p may be a formal parameter or a literal. If m = p, n succeeding lines of coding will be bypassed. ORGR m-the value in the address field will be assembled as the beginning location for subsequent instructions. The value may be in program, data area or common area mode. The occurrence of a mode change pseudo operation, COMMON, DATA or PRG, terminates ORGR and subsequent instructions are assembled in the new mode. Nop-No operation. An ENI y, 0 instruction is inserted. TITLE - the information beginning in the address field is printed at the head of each page of the output listing which follows. The first page of listing may be titled by presenting the TITLE card immediately following the IDENT card. 8-16 ASSEMBLY LISTING FORMAT An assembly listing contains the source program instructions and the corresponding octal machine instructions. The addresses assigned to each subprogram are relative addresses only. Absolute addresses are assigned when the program is loaded by the monitor loader. All common blocks are assigned consecutively, starting at relative location 00000. Preceding the body of the subprogram are summaries of undefined symbols, doubly defined symbols, external names, entry point names, subprogram length, common length and data length. References to external symbols are strung together by the assembler. The monitor loader assigns the proper absolute addresses. The address of each instruction word is the left-most field for each instruction in the assembled listing. (Error codes appear to the left of this field.) External address field symbols are indicated by an X immediately to the left of the octal address field of each instruction. P indicates Program Relocatable, and C indicates Common. Subsequent fields from left to right on the listing are an 8-digit location contents field, a 2-digit operation code, a I-digit b-subfield, a 5-digit address, and a I-digit character position. The remaining fields correspond to those in the symbolic source program. Listing format: location location contents op b addr 5 or 6 8 2 1 5 55300000 40003301 27000173 40003362 14600000 40003350 25003300 45003357 77300400 01005301 20003325 03105306 01005311 20003325 03105314 14600001 40003341 55 40 27 40 14 40 25 45 77 01 20 03 01 20 03 14 40 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 char pos source line 80 digits 05264 05265 05266 05267 05270 05271 05272 05273 05274 05275 05276 05277 05300 05301 05302 05303 05304 00000 P03301 P00173 P03362 00000 P03350 P03300 P03357 00400 P05301 P03325 POS306 P053ll P033:25 P05314 00001 P03341 :3 0 0 0 :2 0 0 0 3 0 EAQ STA LOL STA ENA STA LOAQ STAQ INS :2 UJP LOA AZJ,NE UJP LOA AZJ,NE ENA 0 STA 0 1 0 0 1 8-17 HOLDA8 CONTABLE"'4 HOLOAS+1 0 SIMA TEMPo HOLDADST 400B *. . 4 EXPFlTFG AD5BR5A"'3 A05BRSA EXPFLTFG ADSBR5B 01 HOLDSH ERROR CODES The following error codes may appear as the left-most field on an assembled listing. If multiple errors are detected, multiple error codes are produced. Code A D F o U C L M T Illegal character or expression in the address field. Same symbol used in more than one location field term. Only the first symbol is recognized; the remainder are ignored. A list of doubly defined symbols appears on the assembled listing. Symbol table is full. No more location field symbols will be recognized. Also designates overflow of MACRO parameter table. Illegal operation code. Zeros are substituted for the operation code. Undefined symbol. A list of undefined symbols will appear on the output listing. An attempt was made to preset COMMON. The instructions are processed as if PRG was encountered. A symbol appears in the location field when not permitted, a symbol is missing in the location field when one is required, or an illegal location symbol appears. A modifier appears in the location field when not permitted, a modifier is missing in the operation field when one is required, or an illegal modifier appears in the operation field. A character address symbol was used in an address subfield requiring a word symbol; significant bits are lost. TABLE 8-2. COMPASS CODING FORM DESCRIPTION FiElD COLUMNS Location Use columns 1-8. Column 9 is always blank. Operation Begins in column 10 and continues until the first blank column. Address Address may begin after the column terminating the operation field; however. it must begin before column 41. The address field terminates when the first blank column or column 73 is reached. Comments or Remarks Comments or remarks are written between the end of the address field and column 73. Identification or Sequence Number Columns 73-80 are treated as comment by COMPASS. 8-18 COMPASS SYSTEM CODING FORM '" OPERAIION,MOOIFIERS LOCH ' ••••• , . I CORPORATl0N DATE IDENT COMMENTS ADDRESS FIELD I ""'II'I~~""'"~~I"II"""""I"~.,n"' NAME PAGE : 'CONTROl DATA PROGRAM ROUTINE ••• u" •• " ••• ,., •• « ••• I •• ".I' •• '"'." ••••••••••••• , Q • • • • • • " . ' " •• ~""'."., • • • • , • • • • • I I , I , ••••• I Ie " " " , . . . II " " I I. . . . "' un . . . . . II or II . . 'D" . . . . . . II II .. ,. n ••• , . . . , . . . . . . . r II"'." OJ II 1411" or '"11'. II OJ u . . . . II It . . . . 10" "" H n 11 n 1I .. I. Figure 8-1. COMPASS Coding Form FO::R.'I'::R.~:N" PROGRAM ROUTI SJ~~"~ ~ NAM~R DATE FORTRAN ~':c::. 0 I ' PAGE STATE MEN" ~~;HA I ~. ~~:HA Z OF SERIAL NUMBER .."',."." , , , Figure 8-2. FORTRAN Coding Form 8-19 , Appendix A CONTROL DATA 3100, 3200, 3300 Computer Systems Character Set Internal BCD Codes External BCD Codes 00 12 01 Console Typewrit,er Characters (Uses Internal BCD Only) Magnetic Tape Unit Characters Punched Card Codes o (zero) o 0 01 1 1 1 02 02 2 2 2 03 03 3 3 3 04 04 4 4 4 05 05 5 5 5 06 06 6 6 6 07 07 7 7 7 10 10 8 8 8 11 11 9 9 9 12 (illegal) ± --- 2,8 13 13 = # 3,8 14 14 " @ 4,8 15 15 --- 5,8 16 16 - -- 6,8 17 17 ? (file mark) 7,8 20 60 + & 12 21 61 A A 12, 1 22 62 B B 12,2 23 63 C C 12,3 24 64 D D 12.4 25 65 E E .12,5 26 66 F F 12,6 27 67 G G 12,7 30 70 H H 12,8 31 71 I I 12,9 32 72 (Shift to lower case) +0 12,0 33 73 34 74 ) 0 12,4,8 35 75 I 12,5,8 36 76 @ --- 12,6,8 37 77 ! --- 12,7,8 (zero) 12,3,8 (Cant.) A-I -- Console Typewriter Characters (Uses Internal BCD Only) Magnetic Tape Unit Characters Punched Card Codes Internal BCD Codes External BCD Codes 40 40 41 41 J J 11. 1 42 42 K K 11.2 43 43 L L 11,3 44 44 M M 11.4 45 45 N N 11.5 46 46 0 0 11.6 47 47 P P 11,7 50 50 Q Q 11,8 51 51 R R 11,9 52 52 o (degree) -0 11.0 53 53 $ $ 11. 3, 8 54 54 * * 11. 4, 8 55 55 # --- 11. 5, 8 56 56 % --- 11. 6, 8 57 57 (Shift to upper case) --- 11.7,8 60 20 (space) (blank) (blank) 61 21 / / 0,1 62 22 S S 0,2 63 23 T T 0,3 64 24 U U 0.4 65 25 V V 0,5 66 26 W W 0,6 67 27 X X 0,7 70 30 Y Y 0,8 71 31 Z Z 0,9 72 32 & - - - 0,2,8 73 33 , (comma) , (comma) 0,3,8 74 34 ( % 0,4,8 75 35 (tab) --- 0,5,8 76 36 (backspace) - -- 0,6,8 77 37 (carriage return) --- 0,7,8 - (minus) A-2 - (minus) 11 Appendix B Supplementary Arithmetic Information Appendix B SUPPLEMENTARY ARITHMETIC INfORMATION NUMBER SYSTEMS Any number system may be defined by two characteristics, the radix or base and the modulus. The radix or base is the number of unique symbols used in the system. The decimal system has ten symbols, 0 through 9. Modulus is the number of unique quantities or magnitudes a given system can distinguish. For example, an adding machine with ten digits, or counting wheels, would have a modulus of 1010-1. The decimal system has no modulus because an infinite number of digits can be written, but the adding machine has a modulus because the highest number which can be expressed is 9,999,999,999. Most number systems are positional; that is, the relative position of a symbol determines its magnitude. In the decimal system, a 5 in the units column represents a different quantity than a 5 in the tens column. Quantities equal to or greater than 1 may be represented by using the 10 symbols as coefficients of ascending powers of the base 10. The number 98410 is: 9 x 1 0 2 = 9 x 1 00 = 900 +8 x 10 1 = 8 x 10 = 80 +4 x 100 = 4 x 4 98410 Quantities less than 1 may be represented by using the 10 symbols as coefficients of ascending negative powers of the base 10. The number 0.59310 may be represented as: 1 5 x 10- = 5 )[ .1 =.5 2 +9xl0- =9x.Ol = .09 -3 +3 x 10 = 3 x .001 = .003 0.59310 BINARY NUMBER SYSTEM Computers operate faster and more efficiently by using the binary number system. There are only two symbols, 0 and 1; the base = 2. The following shows the positional value: 24 16 Binary point The binary number 0 1 1 0 1 0 represents: Ox2 5 = Ox32 + 1 X 24 = 1 x 16 +1 X 2 3 = 1 x 8 +Ox2 2 = Ox4 +1x21=lx2 +0 x 2 0 = 0 x 1 B-1 = 0 = 16 8 = = = 0 2 0 2610 Fractional binary numbers may be represented by using the symbols as coefficients of ascending negative powers of the base. Binary Point 2 -1 2 -2 2 -3 Y2 1.4 Va 2 2 -5 ... 1/32 -4 1/16 The binary number 0.10 110 may be represented as: 1 x2 -1 = 1 x1/2 +0 x 2 -2 = 0 x 114 +1x2 -3=1x1/8 +1 x2 -4 = 1 x 1116 = 1/2 = 0 =1/8 = 1/16 = 8/16 0 2/16 1Ll6 11/1610 OCTAL NUMBER SYSTEM The octal number system uses eight discrete symbols, 0 through 7. With base eight the positional value is: 85 32.768 84 83 4.096 512 82 64 81 8 80 1 The octal number 5138 represents: 5 X 8 2 = 5 x 64 = 320 +1x8 1 =1x8 8 +3x8° = 3x 1 __ 3_ 33110 Fractional octal numbers may be represented by using the symbols as coefficients of ascending negative powers of the base. 8 -1 8 1/8 -2 1/64 8 -3 1/512 8 -4 1/4096 The octal number 0.4520 represents: 4x8 -1=4x1/8 =4/8 =256/512 +5x8 -2=5x1/64 =5/64 = 40/512 +2x8 -3=2x1/512=2/512= 2/512 298/512 = 149125610 B-2 ARITHMETIC ADDITION AND SUBTRACTION Binary numbers are added according to the following rules: 0+0=0 0+1=1 1+0=1 1 + 1 = 0 with a carry of 1 The addition of two binary numbers proceeds as follows (the decimal equivalents verify the result): Augend Addend 0111 +0100 Partial Sum Carry 0011 _1_ Sum 1011 (7) +(4) (11 ) Subtraction may be performed as an addition: 8 (minuend) 8 (minuend) -6 (subtrahend) or ±±- (1 O's complement of subtrahend) 2 (difference - omit carry) 2 (difference) The second method shows subtraction performed by the "adding the complement" method. The omission of the carry in the illustration has the effect of reducing the result by 10. One's Complement The computer performs all arithmetic and counting operations in the binary one's complement mode. In this system, positive numbers are represented by the binary equivalent and negative numbers in one's complement notation. The one's complement representation of a number is found by subtracting each bit of the number from 1. For example: 1111 -1001 0110 9 (one's complement of 9) This representation of a negative binary quantity may also be obtained by substituting "l's" for "D's" and "D's" for "l's". . The value zero can be represented in one's complement notation in two ways: 0000--+002 1111 --+ 112 Positive (+) Zero Negative (-) Zero The rules regarding the use of these two forms for computation are: • Both positive and negative zero are acceptable as arithmetic operands. • If the result of an arithmetic operation is zero, it will be expressed as positive zero. One's complement notation applies not only to arithmetic operations performed in A, but also to the modification of execution addresses in the F register. During address modification, the modified address will equal '777778 only if the unmodified execution address equals 777778 and b = 0 or (B b ) = 777778. B-3 MULTIPLICATION Binary multiplication proceeds according to the following rules: OxO = Ox 1 = 1 xO = 1x1 = 0 0 0 1 Multiplication is always performed on a bit-by-bit basis. Carries do not result from multiplication, since the product of any two bits is always a single bit. Decimal example: multiplicand multiplier 14 12 partial products I 28 \~ (shifted one place left) 16810 product The shift of the second partial product is a shorthand method for writing the true value 140. Binary example: multiplicand multiplier P"';" (14) (12) pmd,," { product ( 16810) 1110 1100 0000 0000 1110 1110 shift to place digits in proper columns 101010002 The computer determines the running subtotal of the partial products. Rather than shifting the partial product to the left to position it correctly, the computer right shifts the summation of the partial products one place before the next addition is made. When the multiplier bit is "I", the multiplicand is added to the running total and the results are shifted to the right one place. When the multiplier bit is "0", the partial product subtotal is shifted to the right (in effect, the quantity has been multiplied by 102). DIVISION The following examples shows the familiar method of decimal division: ,--:-1-=-4_ quotient divisor 131185 13 55 dividend partial dividend ~ 3 remainder B-4 The computer performs divi:;;ion in a similar manner (using binary equivalents): 1110 divisor 1 1 01 11 011 1 001 1101 quotient (14) dividend 10100 1101 1110 1101 11 partial dividends remainder (3) However, instead of shifting the divisor right to position it for subtraction from the partial dividend (shown above), the computer shifts the partial dividend left, accomplishing the same purpose and permitting the arithmetic to be performed in the A register. The computer counts the number of shifts, which is the number of quotient digits to be obtained; after the correct number of counts, the routine is terminated. CONVERSIONS The procedures that may be used when converting from one number system to another are power addition, radix arithmetic, and substitution. TABLE B-1. RECOMMENDED CONVERSION PROCEDURES (INTEGER AND FRACTIONAL) Conversion Recommended Method Binary to Decimal Octal to Decimal Decimal to Binary Decimal to Octal Binary to Octal Octal to Binary Power Addition Power Addition Radix Arithmetic Radix Arithmetic Substitution Substitution GENERAL RULES ri> r f: ri < rf : use Radix Arithmetic, Substitution use Power Addition, Substitution ri = rf = Radix of initial system Radix of final system B-5 POWER ADDITION To convert a number from rj to rr (rj < rr) write the number in its expanded rj polynomial form and simplify using rr arithmetic. EXAMPLE 1 Binary to Decimal (Integer) 010 1112=1 (24) +0(2 3 ) + 1 (22) + 1 (21) + 1 (20) =1 (16) +0(8) +1(4) +1(2) +1(1) =16 +0 +4 +2 +1 =2310 EXAMPLE 2 Binary to Decimal (Fractional) .01012 =(2 ·1 )+1 (2. 2 ) +0(2 -3) + 1(2 -4) =0 +1/4 =5/1610 EXAMPLE 3 +0 +1116 Octal to Decimal (Integer) 3248=3(8 2 ) +2(8 1) +4(8 0) =3(64)+2(8) +4(1) =192 +16 +4 =21210 EXAMPLE 4 Octal to Decimal (Fractional) .448 =4(8 -1 )+4(8. 2 ) =4/8 +4/64 =36/6410 RADIX ARITHMETIC To convert a whole number from rj to rr (rj > rr): 1. Divide rj by rr using rj arithmetic 2. The remainder is the lowest order bit in the new expression 3. Divide the integral part from the previous operation by rr 4. The remainder is the next higher order bit in the new expression 5. The process continues until the division produces only a remainder which will be the highest order bit in the rf expression. To convert a fractional number from rj to rr: 1. Multiply rj by rr using rj arithmetic 2. The integral part is the highest order bit in the new expression 3. Multiply the fractional part from the previous operation by rr 4. The integral part is the next lower order bit in the new expression 5. The process continues until sufficient precision is achieved or the process terminates. B-6 Decimal to Binary (Integer) EXAM?LE 1 45 22 11 5 2 1 --;- 22 11 5 2 1 0 2 2 2 2 2 2 Thus: 4510 = Thus: .2510 = .0102 -7 8 1 0 0 101101 o o .010 Decimal to Octal (Integer) EXAMPLE 3 4 record record record record record record Decimal to Binary (Fractional) 0.5; record 1.0; record 0.0; record 273 -7 8 34 -7 8 1; 0; 1; 1; 0; 1; 1011012 EXAMPLE 2 .25 x 2 .5 x 2 .0 x 2 remainder remainder remainder remainder remainder remainder 34 remainder 1; record 4 remainder 2; record o remainder 4; record 1 2 _4_ 421 Thus: 27310 = 4218 Decimal to Octal (Fractional) EXAMPLE 4 .55 x 8 = 4.4; record .4 x 8 = 3.2; record .2 x 8 = 1.6; record 4 3 .431 ... .431 ... 8 Thus: .5510 SUBSTITUTION This method permits easy conversion between octal and binary representations of a number. If a number in binary notation is partitioned into triplets to the right and left of the binary point, each triplet may be converted into an octal digit. Similarly, each octal digit may be converted into a triplet of binary digits. EXAMPLE 1 Binary to Octal Binary = Octal = EXAMPLE 2 110 000 6 0 001 010 2 Octal to Binary Octal = 6 5 0 Binary = 110 101 000 B-7 2 7 2 010 010 111 SUPPLEMENTARY INSTRUCTION INFORMATION FIXED POINT ARITHMETIC 24-Bit Precision Any number may be expressed in the form kB n , where k is a coefficient, B a base number, and the exponent n the power to which the base number is raised. A fixed point number assumes: 1. The exponent n = 0 for all fixed point numbers. 2. The coefficient, k, occupies the same bit positions within the computer word for all fixed point numbers. 3. The radix (binary) point remains fixed with respect to one end of the expression. A fixed point number consists of a sign bit and coefficient as shown below. The upper bit of any fixed point number designates the sign of the coefficient (23 lower order bits). If the bit is "1", the quantity is negative since negative numbers are represented in one's complement notation; a "0" sign bit signifies a positive coefficient. 23 SIGN BIT 00 22 COEFFICIENT The radix (binary) point is assumed to be immediately to the right of the lowest order bit (00). In many instances, the values in a fixed point operation may be too large or too small to be expressed by the computer. The programmer must position the numbers within the word format so they can be represented with sufficient precision. The process, called scaling, consists of shifting the values a predetermined number of places. The numbers must be positioned far enough to the right in the register to prevent overflow but far enough to the left to maintain precision. The scale factor (number of places shifted) is expressed as the power of the base. For example, 5,100,00010 may be expressed as 0.51 x 107 ,0.051 X 108 , 0.0051 X 109 , etc. The scale factors are 7, S, and 9. Since only the coefficient is used by the computer, the programmer is responsible for remembering the scale factors. Also, the possibility of an overflow during intermediate operations must be considered. For example, if two fractions in fixed point format are multiplied, the result is a number < 1. If the same two fractions are added, subtracted, or divided, the result may be greater than one and an overflow will occur. Similarly, if two integers are multiplied, divided, subtracted or added, the likelihood of an overflow is apparent. 48-Bit Precision (Double Precision) The 4S-bit Add, Subtract, Multiply and Divide instructions enable operands to be processed. The Multiply and Divide instructions utilize the E register and therefore are executed as trapped instructions if the applicable arithmetic option is not present in a system. Figure 7-4 in the Instruction Section illustrates the operand formats in 4S-bit precision Multiply and Divide instructions. B-S FlOAlriNG POINT ARITHMETIC As an alternative to fixed point operation, a method involving a variable radix point, called floating point, is used. This significantly reduces the amount of bookkeeping required on the part of the programmer. By shifting the radix point and increasing or decreasing the value of the exponent, widely varying quantities which do not exceed the capacity of the machine may be handled. Floating point numbers within the computer are represented in a form similar to that used in scientific notation, that is, a coefficient or fraction multiplied by a number raised to a power. Since the computer uses only binary numbers, the numbers are multiplied by powers of two. F • 2E where: F = fraction E=exponent In floating point, different coefficients need not relate to the same power of the base as they do in fixed point format. Therefore, the construction of a floating point number includes not only the coefficient but also the exponent. NOTE Refer to Figure 7-5 in the Instruction Section for the operand format and bit functions for specific floating point instructions. Coefficient The coefficient consists of a 36-bit fraction in the 36 lower order positions of the floating point word. The coefficient is a normalized fraction; it is equal to or greater than Y.! but less than 1. The highest order bit position (47) is occupied by the sign bit of the coefficient. If the sign bit is a "0", the coefficient is positive; a "I" bit denotes a negative fraction (negative fractions are represented in one's complement notation). Exponent The floating point exponent is expressed as an ll-bit quantity with a value ranging from 0000 to 37778. It is formed by adding a true positive exponent and a bias of20008 or a true negative exponent and a bias of 17778. This results in a range of biased exponents as shown below. True Positive Exponent Biased Exponent True Negative Exponent 2000 2001 2002 +0 +1 +2 -- --- - -0 -1 -2 -- -+1776 +17778 ---3776 37778 -1776 -17778 47 46 -- 36 35 EXPONENT (INCLUDING BIAS) Biased Exponent 2000* 1776 1775 ----------0001 00008 00 COEFFICIENT The exponent is biased so that floating point operands can be compared with each other in the normal fixed point mode. *Minus zero is sensed as positive zero by the computer and is therefore biased by 20008 rather than 17778. B-9 As an example, compare the unbiased exponents of +528 and +0.028 (Example 1). Number = EXAMPLE 1 o 0 a Coefficient Sign 000 +52 110 000 (36 bits) Coefficient Exponent Number = +0.02 a ·111 Coefficient Sign 011 111 (36 bits) Coefficient Exponent In this case +0.02 appears to be larger than +52 because of the larger exponent. If, however, both exponents are biased (Example 2), changing the sign of both exponents makes +52 greater than +0.02. EXAMPLE 2 Number = +528 a a Coefficient Sign 000 000 110 Exponent (36 bits) Coefficient Number = +0.028 a Coefficient Sign a 111 111 Exponent 011 (36 bits) Coefficient When bias is used with the exponent, floating point operation is more versatile since floating point operands can be compared with each other in the normal fixed point mode. All floating point operations involve the A, Q, and E registers, plus two consecutive storage locations M and M + 1. The A and Q registers are treated as one 48-bit register. Indirect addressing and address modification are applicable to this whole group of instructions. Operand Formats The AQ register and the storage address contents have identical formats. In both cases the maximum possible shift is 64 (778) bit positions. Since the coefficient consists of only 36 bits at the start, any shift greater than 36 positions will, of course, always result in an answer equal to the larger of the two original operands. B-10 (47) 23 (46) 22 (36) (35) 12 11 (24) 00 (A) and (M) Sign of Coefficient 11-bit o;;;r:and exponent including bias 23 (0) and (M + 1) Upper 1i'bits of operand coefficient 00 I I Exponents The 3100, 3200, 3300 Computers use an ll-bit exponent that is biased by 20008 for floating point operations. The effective modulus of the exponent is ± 17778 or ± 102310. Exponent Equalization During floating point addition and subtraction, the exponents involved are equalized prior to the operation. 1. Addition - The coefficient of the algebraically smaller exponent is automatically shifted right in AQE until the exponents are equal. A maximum of 778 shifts may occur. 2. Subtraction - If AQ contains the algebraically smaller exponent, the coefficient in AQ is shifted right in AQE until the exponents are equal. If (M) and (M + 1) have the smaller exponent, the complement of the coefficient of (M) and (M + 1) is shifted right in AQE until the exponents are equal or until a maximum of 778 shifts are performed. Rounding Rounding is an automatic floating point operation and is particularly necessary when floating point arithmetic operations yield coefficient answers in excess of 36 bits. Although standard floating point format requires only a 36-bit coefficient, portions of the E register are used for extended coefficients. Refer to individual instruction descriptions for E register applications. Rounding modifies the coefficient result of a floating point operation by adding or subtracting a "I" from the lowest bit position in (~ without regard to the biased exponent. The coefficient ofthe answer in AQ passes through the adder with the rounding quantity before normalization. The conditions for rounding are classified according to arithmetic operation in Table B-2. B-ll TABLE B-2. ROUNDED CONDITIONS FOLLOWING ARITHMETIC OPERATION Arithmetic OPERATION Bit 23 of the A Register I Bit 47 of the E Register or (Ratio of Residue/Divisor for Divide Only) 0* , , 0 0* ADD or SUBTRACT ,* 0 ,* Applicable Rounding No Add "'1" Subtract "'" No Comments: Rounding occurs as a result of inequality between the sign bits of AQ and E. 0 No 0 Add "'" Subtract '" " , , 0 MULTIPLY 0 , , No Comments: A floating point multiplication yields a 76 bit coefficient. Comparison between the sign bits of AQ and E indicates that the lower 36 bits are equal to or greater than 1;2 of the lowest order bit in AQ. I I I DIVIDE 0 :2: 1;2 (absolute) 0 S; , , 1;2 (absolute) :2: 1;2 (absolute) S; 1;2 (absolute) I Add "'" No Subtract "'" No Comments: Rounding occurs if the answer resulting from the final residue division is equal to or greater than 1;2 *Condition of bit 23 of the A register immediately after equalization. (Refer to Exponent Equalization on preceeding pagel. Normalizing Normalizing brings the above answer back to a fraction with a value between one-half and one with the binary point to the left of the 36th bit of the coefficient. In other words, the final normalized coefficient in AQ will range in value from 236 to 231-1 including sign. Arithmetic control normalizes the answer by right or left shifting the coefficient the necessary number of places and adjusting the exponent. It does not shift the residue that is in E. Faults Three conditions are considered faults during the execution of floating point instructions: Exponent overflow (> + 17778) 2. Exponent underflow « - 17778) 3. Division by zero, by too small a number, or by a number that is not in floating point format. 1. These faults have several things in common: 1. They can be sensed by the INS (77.3) instruction 2. Sensing automatically clears them 3. The program should sense for these faults only after the floating point instructions have had sufficient time to go to completion 4. They may be used to cause an interrupt. B-12 FIXED POINT/FLOATING POINT CONVERSIONS Fixed Point to Floating Point 1. Express the number in binary. 2. Normalize the number. A normalized number has the most significant 1 posi- tioned immediately to the right of the binary point and is expressed in the range liz .::; k < 1. 3. Inspect the sign of the true exponent. If the sign is positive add 20008 (bias) to the true exponent of the normalized number. If the sign is negative, add the bias 17778 to the true exponent of the normalized number. In either case, the resulting exponent is the biased exponent. 4. Assemble the number in floating point. 5. Inspect the sign of the coefficient. If negative, complement the assembled floating point number to obtain the true floating point representation of the number. If the sign of the coefficient is positive, the assembled floating point number is the true representation. EXAMPLE 1 Convert +4.0 to floating point 1. The number is expressed in octal. 2. Normalize. 4.0 = 4.0 x 8 0 = 0.100 x 2 3 3. Since the sign of the true exponent is positive. add 2000s (bias) to the true exponent. Biased exponent = 2000 + 3. 4. Assemble number in floating point format. Coefficient = 400 000 000 ODDs Biased Exponent = 2003s Assembled word = 2003 400 000 000 ODDs 5. Since the sign of the coefficient is positive, the floating point representation of +4.0 is as shown. If, however, the sign of the coefficient were negative, it would be necessary to complement the entire floating point word. EXAiVlPLE 2 Convert -4.0 to floating point 1. The number is expressed in octal. 2. Normalize. -4.0 = -4.0 x 8 0 = -0.100 x 2 3 3. Since the sign of the true exponent is positive, add 2000s (bias) to the true exponent. Biased exponent = 2000 + 3 4. Assemble number in floating point format. Coefficient = 400000000 ODDs Biased Exponent = 2003s Assembled word = 2003400000 000 ODDs 5. Since the sign of the coefficient is negative, the assembled floating point word must be complemented. Therefore, the true floating point representation for -4.0 = 5774377 777 777 777s. B-18 EXAMPLE 3 Convert 0.510 to floating point 1. Convert to octal. 0.510 = 0.48 2. Normalize. 0.4 = 0.4 x 80 = 0.100 x 2 0 3. Since the sign of the true exponent' is positive, add 20008 (bias) to the true exponent. Biased exponent = 2000 + O. 4. Assemble number in floating point format. Coefficient = 400000000 0008 Biased Exponent = 20008 Assembled word = 2000 400 000 000 0008 5. Since the sign ofthe coefficient is positive, the floating point representation of +0.510 is as shown. If, however, the sign of the coefficient were negative, it would be necessary to complement the entire floating point word: This example is a special case of floating point since the exponent of the normalized number is 0 and could be represented as -0. The exponent would then be biased by 17778 instead of 20008 because of the negative exponent. The 3100 and 3200. however. recognize -0 as + 0 and bias the exponent by 20008. EXAMPLE 4 Convert 0.048 to floating point 1. The number is expressed in octal. 2. Normalize. 0.04 = 0.04 x 8 0 = 0.4 0.100x2-3 X 8"1 3. Since the sign of the true exponent is negative, add 17778 (bias) to the true exponent. Biased exponent = 17778 + (-3) = 17748 4. Assemble number in floating point format. Coefficient = 400000 000 0008 Biased Exponent = 17748 Assembled word = 17744000000000008 5. Since the sign of the coefficient is positive. the floating point representation of 0.048 is as shown. If. however. the sign of the coefficient were negative. it would be necessary to complement the entire floating point word. B-14 Floating Point to Fixed Point Format 1. If the floating point number is negative, complement the entire floating point 2. 3. 4. 5. word and record the fact that the quantity is negative. The exponent is now in a true biased form. If the biased exponent is equal to or greater than 20008, subtract 20008 to obtainthe true exponent; ifless than 20008, subtract 17778 to obtain true exponent. Separate the coefficient and exponent. If the true exponent is negative, the binary point should be moved to the left the number of bit positions indicated by the true exponent. If the true exponent is positive, the binary point should be moved to the right the number of bit positions indicated by the true exponent. The coefficient has now been converted to fixed binary. The sign of the coefficient will be negative if the floating point number was complemented in step one. (The sign bit must be extended if the quantity is placed in a register.) Represent the fixed binary number in fixed octal notation. EXAMPLE 1 Convert floating point number 2003 400 000 000 OOOs to fixed octal 1. The floating point number is positive and remains uncomplemented. 2. The biased exponent> 2000a; therefore. subtract 2000a from the biased exponent to obtain the true exponent of the number. 2003 2000 = +3 3. Coefficient = 400 000 000 OOOs = .1002. Move binary point to the right three places. Coefficient = 100.02. 4. The sign of the coefficient is positive because the floating point number was not complemented in step one. 5. Represent in fixed octal notation. 100.0 x 2 0 = 4.0 x 8 0 . EXAMPLE 2 Convert floating point number 5774377 777 777 777s to fixed octal 1. The sign of the coefficient is negative; therefore. complement the floating point number. Complement = 2003 400 000 000 OOOs 2. The biased exponent (in complemented form) > 2000a; therefore, subtract 2000a from the biased exponent to obtain the true exponent ofthe number. 2003 - 2000 = +3 3. Coefficient = 4000 000 000 OOOs = 0.1002. Move binary point to the right three places. Coefficient = 100.02 4. The sign of the coefficient will be negative because the floating point number was originally complemented. 5. Convert to fixed octal. -100.02 = -4.0a B-15 EXAMPLE 3 Convert floating point number 1774 400 000 000 0008 to fixed octal 1. The floating point number is positive and remains uncomplemented. 2. The biased exponent < 20008; therefore, subtract 17778 from the biased exponent to obtain the true exponent of the number. 1774817778 =-3 3. Coefficient = 400 000 000 0008 = .1002. Move binary point to the left three places. Coefficient = .0001002 4. The sign of the coefficient is positive because the floating point number was not complemented in step one. 5. Represent in fixed octal notation . .0001002 = .048 BINARY CODED DECIMAL (BCD]I ARITHMETIC General The Binary Coded Decimal (BCD) option expands the arithmetic capabilities of a 3100, 3200, or 3300 Computer by providing the necessary logic for loading, storing, shifting, adding and subtracting binary coded decimal characters. A standard 24-bit data word is comprised of four 6-bit BCD characters. The general format for a BCD word and the bit function within a typical character are illustrated in Figure B-l. Tables B-3 and B-4 define the significance of binary data within a character. Figure B-2 depicts the ED register and the other digits displayed on the 3200 Console. 23 18 17 o 12 11 I 06 05 2 00 3 ~C' .! ~~ ~ haracter positions BCD Character Figura B-1. BCD Word and Character Format B-16 TABLE B-3. BCD SIGN BIT POSITIONS Relative Bit Positions 6 5 Sign of BCD Character* + + + 0 0 1 1 0 1 0 1 TABLE B-4. DECIMAL/BCD CHARACTER FORMAT Decimal Number** BCD Character Relative Bit 4 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 1 1 Positions 3 2 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 L-l_5~I_l_4~I_l_3~1~2~1~1_1~1_0~_9~_8~I~ED~~LI_7-L_6-L1_5~1_4~_3~__2-L~__o~1 __ i_tL--_-_-_-_-~_-_-_--_BCD character t Overflow digit digits r 1 L_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ lL Sign of ED register L - - - - - - - - - - - - - - - - - - - M S D of second operand L---_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Sign of second operand Figure B-2. ED Register and Supplemental Digits *The Lowest Significant Digit of a given BCD field contains the sign of the operand in relative bit positions 5 and 6. A fault is indicated ifrelative bits 5 and (3 in the remaining characters contain anything other than zeroes; however, the current instruction will continue to be executed. ** A fault is also indicated if an illegal character is sensed in bits 1 through 4 (1010,1011,1100,1101,1110 or 1111). B-17 Formats: These instructions handle 4-bit BCD characters rather than whole 24-bit words. These characters are placed into the ED register and storage in.the following ways: 1) ED Register 52 51 ~ Sign of E ! Overflow character position 00 '----------~y~----------~/ BCD Characters The 53-bit ED register can hold 12 regular BCD characters plus one overflow character. 2) Storage 23 (M) = 18 17 12 11 o 0605 2 I 00 3 Each 24-bit storage word may be divided into four character positions of 6 bits each. The lower 4 bits of each position may hold any BCD character, 0-9; the upper 2 bits are reserved for the sign designator, one per field. For each field the sign accompanies the least significant character. 10xxxx specifies negative; any other combination, positive (refer to Table B-3). The upper 2 bits of all other characters in the field must equal zero. The most significant character precedes the least significant character of a field in storage. Field Length: The field length is specified by the contents of the 4-bit D register. Any number 1-12 (0001-1100) is legal.* Illegal Characters: By definition, any BCD characters other than 0-9 are illegal. Characters are tested for legality during: 1. Loading into E (LDE), and 2. Addition (ADE) and subtraction (SBE). If the translation of the lower four bits of a character exceeds 9, the value zero will be used for that character. BCD Fault: The BCD fault will occur if: 1. A sign is present in any character position other than the least significant, or 2. An illegal character other than the lowest MB is sensed during the execution of LDE, ADE, SBE 3. The contents of D exceed 12 (will set only during a SET instruction). *Although a fault will occur, D may equal 13 for storing 13 characters. The following sequence should be followed in storing 13 characters: '. 1) Set D (BCD fault will occur) 2) Sense for BCD fault (this clears the BCD Fault indicator) 3) Execute STE instruction. If the BCD fault is disregarded and there is an attempt to load, add, or subtract 13 characters, only the lower 12 characters will be used. No additional fault will occur. B-18 BCD Instruction Example 70700011 64 0 00005 EXECUTED INSTRUCTIONS: ADDRESSES: CONTENTS OF ADDRESS MSC 00001 )QJ 05 ~ 00002 @ @ &-- -~~::::: cD) @)~ ~2 00003 4 5 LSC 10 0 101 '-v-' '----.r-" " ,,' 5 NOTE Only the LSC is analyzed for the sign of the field. A BCD fault occurs if anything other than zeros are in the upper two bits of the remaining characters. ANALYSIS: 70 7 00011 instruction sets the field length register (D) with 118 64 0 00005 instruction specifies an LDE with successive BCD characters starting with the least significant character (LSC) at address R +(0-1) of 00005 = address 0001, character position 1. 118 characters are loaded into ED. The final contents of ED are shown below. ED = -0000849109825 ! (A BCD character cannot be loaded into the 13th digit. A zero will always be entered here during a 64 instruction.) B-19 Appen~dix C Programming Reference Tables and Conversion Information TABLE OF POWERS OF TWO o 2 4 8 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 5 25 625 812 5 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 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 28B 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 048 576 2 097 152 4 194 304 8 388 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 77 5 387 193 596 390 695 847 923 625 312 5 656 25 828 125 268 536 073 2 147 435 870 741 483 456 912 824 648 28 29 30 31 0.000 0.000 0.000 0.000 000 000 000 000 003 001 000 000 725 862 931 465 290 645 322 661 298 149 574 287 461 230 615 307 914 957 478 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 906 25 814 45~ 125 407 226 562 5 703 613 281 25 68 137 274 549 719 438 877 755 476 953 906 813 736 472 944 888 36 37 38 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 099 511 627 2 199 023 255 4 398 046 511 8 796 093 022 776 552 104 208 40 41 42 43 0.000 0.000 0.000 0.000 000 000 000 000 000 000 000 000 000 000 000 000 909 454 227 113 494 747 373 686 701 350 675 837 772 886 443 721 928 464 232 616 237 118 059 029 915 957 478 739 039 519 759 379 062 531 765 882 5 25 625 812 5 17 35 70 140 592 184 368 737 186 372 744 488 044 088 177 355 416 832 664 328 44 45 46 47 0.000 0.000 0.000 0.000 000 000 000 000 000 000 000 000 000 000 000 000 056 028 014 007 843 421 210 105 418 709 854 427 860 430 715 357 808 404 202 601 014 007 003 001 869 434 717 858 689 844 422 711 941 970 485 242 406 703 351 675 25 125 562 5 781 25 281 562 1 125 2 251 474 949 899 799 976 953 906 813 710 421 842 685 656 312 624 248 48 49 50 51 0.000 0.000 0.000 0.000 000 000 000 000 000 000 000 000 000 000 000 000 003 001 000 000 552 776 888 444 713 356 178 089 678 839 419 209 800 400 700 850 500 250 125 062 929 464 232 616 355 677 338 169 621 810 905 452 337 668 334 667 890 945 472 236 625 312 5 656 25 328 125 726 363 181 590 333 166 583 791 618 809 404 702 164 082 541 270 062 031 015 507 5 25 625 812 5 395 851 697 925 848 962 924481 135 567 783 391 253 626 813 906 906 953 476 738 4 9 18 36 503 007 014 028 599 199 398 797 627 254 509 018 370 740 481 963 496 992 984 968 52 53 54 55 0.000 0.000 0.000 0.000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 222 111 055 027 044 022 511 755 604 302 151 575 925 462 231 615 031 515 257 628 308 654 827 913 084 042 021 510 72 144 288 576 057 115 230 460 594 188 376 752 037 075 151 303 927 855 711 423 936 872 744 488 56 57 58 59 0.000 0.000 0.000 0.000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 013 006 003 001 877 938 469 734 787 893 446 723 807 903 951 475 814 907 953 976 456 228 614 807 755 295 377 647 188 823 094411 1 152 921 504 606 846 976 60 0.000 000 000 000 000 000 867 361 737 988 403 547 205 962 240 695 953 369 140 625 C-l 25 125 562 5 281 25 DECIMALIBINAIW POSITION TABLE largest Decimal Integer 1 2 4 8 17 35 70 140 1 2 4 8 17 34 68 137 274 549 099 199 398 796 592 184 368 737 1 2 4 8 16 32 65 131 262 524 1 048 2 097 4 194 8 388 16 777 33 554 67 108 134 217 268 435 536 870 073 741 147 483 294 967 589 934 179 869 359 738 719 476 438 953 877 906 755 813 511 €27 023'255 046 511 093 022 186 044 372 088 744 177 488 355 1 3 7 15 31 63 127 255 511 023 047 095 191 383 767 535 071 143 287 575 151 303 607 215 431 863 727 455 911 823 647 295 591 183 367 735 471 943 887 775 551 103 207 415 831 663 327 Decimal Digits Req'd* Number of Binary Digits 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 largest Decimal Fraction .5 .75 .875 .937 .968 .984 .992 .996 .998 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 .999 5 75 375 187 093 046 023 511 755 877 938 969 984 992 996 998 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 5 75 875 437 718 859 929 964 482 741 370 185 092 046 523 761 880 940 970 985 992 996 998 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 5 75 375 687 5 843 75 421 875 210 937 605 468 302 734 651 367 325 683 162 841 581 420 790 "710 395 355 197 677 098 838 549 419 274 709 137 354 068 677 534 338 767 169 883 584 941 792 970 896 985 448 992 724 996 362 998 181 999 090 999 545 999 772 999 886 999 943 999 971 999 985 999 992 5 75 375 187 593 796 898 449 244 612 806 403 701 850 425 712 356 678 339 169 034 042 021 010 505 252 626 313 156 578 789 894 5 75 875 437 218 609 304 152 076 538 769 384 692 346 173 086 543 771 385 192 596 298 649 324 162 581 290 145 572 5 75 375 687 343 171 085 042 521 260 130 065 532 266 633 816 908 454 227 113 556 278 139 569 284 642 5 75 875 937 968 484 742 371 185 592 296 148 574 287 143 071 535 767 383 191 595 797 398 5 75 375 187 093 546 773 386 193 096 048 524 762 881 940 970 985 992 996 998 5 75 875 437 5 718 75 359 375 679 687 339 843 169 921 084 960 042480 521 240 260 620 130 310 565 155 282 577 141 288 5 75 875 937 468 234 117 058 029 514 757 5 75 375 187 593 296 648 324 5 75 875 437 5 218 75 *Larger numbers within a digit group should be checked for exact number of decimal digits required. Examples of use: 1. Q. What is the largest decimal value that can be expressed by 36 binary digits? A.68,719,476,735. 2. Q. How many decimal digits will be required to express a 22-bit number? A. 7 decimal digits. C-2 OCTAL ARITHMETIC MATRICES ADDITION-SUBTRACTION 2 3 4 5 6 7 10 3 4 5 6 7 10 11 4 5 6 7 10 11 12 5 6 7 10 11 12 13 6 7 10 11 12 13 14 7 10 11 12 13 14 15 11 12 13 14 15 16 MULTIPLICATION-DIVISION 2 3 4 5 6 7 4 6 10 12 14 16 6 11 14 17 22 25 10 14 20 24 30 34 12 17 24 31 36 43 14 22 30 36 44 52 16 25 34 43 52 61 C-3 CONSTANTS 1(" y'3 v'TO e In 2 In 10 10glO 2 log 10 e 10glO 10glO e log 10 1(" 3.14159 26535 1.732 050 807 3.162 277 660 2.71828 18284 0.69314 71805 2.30258 50929 0.30102 99956 89793 23846 569 1683 59045 23536 599453 94045 68402 63981 0.43429 44819 9.63778 43113 03251 82765 00537-10 1 degree 1 radian IOglO(5) 0.49714 0.01745 57.29577 0.69897 7! 8! 9! 10! 11 ! 12! 5040 40320 362,880 3,628,800 39,916,800 479,001,600 13 ! 14! 6,227,020,800 87,178,291,200 15 ! 16 ! 1,307,674,368,000 20,922.789,888,000 1(" 0.01745 98726 94133 tf13 tf14 32925 19943 29576 2.4674 01100 27233 96 3.8757 74 84585 03747 62515 20 ~5 9.5631 15149 54004 49 tf16 15.0217 06149 61413 07 ~7 23.5960 40842 00618 62 tf18 37.0645 72481 52567 57 ~3 58.2208 97135 63712 59 (;}o 91.4531 71363 36231 53 2 • (;}2 (;t (;t Rev. F 143.6543 05651 31374 95 225.6516 55645 350 354.4527 91822 91051 556.7731 43417 624 C-4 50 85435 6.0880 68189 (;t 83279 32925 11943 radians 95131 degrees 00043 36019 180 ~2 26433 47 92369 07684 9 CONSTANTS (Continued) 71"2 271"2 371"2 471"2 571"2 671"2 771"2 871"2 971"2 9.86960 19.73920 29.60881 39.47841 49.34802 59.21762 69.08723 78.95683 88.82643 V2 1 (1 (1 (1 (1 (1 (1 (1 (1 +V2 + V2)2 + 0)4 + 0)6 + 0)B + 0)10 + 0)12 + 0)14 + 0)16 ( 1 +V2)18 = = = = 44010 88021 32032 76043 20054 64065 08076 52087 96098 1.414 2.414 5.828 33.970 197.994 1153.999 6725.999 39201.999 228485.999 1331713.999 7761797.999 213 213 427 562 949 133 851 974 995 999 999 89358 78717 68075 57434 46793 36151 25510 14868 04227 562 562 124 748 366 448 323 491 622 246 884 61883 23766 85680 47533 09417 71300 33184 95067 56950 373 373 746 477 116 220 208 027 956 711 751 Sin .5 Cos .5 Tan .5 0.47942 55386 04203 0.87758 25618 90373 0.54630 24898 43790 Sin 1 Cos 1 Tan 1 0.84147 09848 07896 0.54030 23058 68140 1.55740 77246 5490 Sin 1.5 Cos 1.5 Tan 1.5 0.99749 49866 04054 0.07073 72016 67708 14.10141 99471 707 C-5 43909 87819 31729 75639 19549 63459 07369 51279 95189 9988 9976 9964 9952 9940 9928 9916 9904 9892 095 048 801 688 095 048 801 688 18 08 30 72 02 40 38 OCTAL-DECIMAL INTEGER CONVERSION TABLE I 0 1 2 3 4 0 1 2 3 5 6 7 0000 0010 0020 0030 0040 0050 0060 0070 0000 0008 0016 0024 0032 0040 0048 0056 0001 0009 0017 0025 0033 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 0038 0046 0054 0062 0007 0015 0023 0031 0039 0047 0055 0063 0400 0410 0420 0430 0440 0450 0460 0470 0256 0264 0272 0280 0288 0296 0304 0312 0257 0265 0273 0281 0289 0297 0305 0313 11258 0266 0274 0282 0290 0298 0306 0314 0259 0267 0275 0283 0291 0299 0307 0315 0260 0268 0276 0284 0292 0300 0308 0316 0261 0269 0277 0285 0293 0301 0309 0317 0262 0270 0278 0286 0294 0302 0310 0318 0263 0271 0279 0287 0295 0303 0311 0319 0100 0110 0120 0130 0140 0150 0160 0170 0064 0072 0080 0088 0096 0104 0112 0120 0065 0073 0081 0089 0097 0105 0113 0121 0066 0074 0082 0090 0098 0106 0114 0122 0067 0075 0083 0091 0099 0107 0115 0123 0068 0076 0084 0092 0100 0108 0116 0124 0069 0077 0085 0093 0101 0109 0117 0125 0070 0078 0086 0094 0102 0110 0118 0126 0071 0079 0087 0095 0103 0111 0119 0127 0500 0510 0520 0530 0540 0550 0560 0570 0320 0328 0336 0344 0352 0360 0368 0376 0321 0329 0337 0345 0353 0361 0369 0377 0322 0330 0338 0346 0354 0362 0370 0378 0323 0331 0339 0347 0355 0363 0371 0379 0324 0332 0340 0348 0356 0364 0372 0380 0325 0333 0341 0349 0357 0365 0373 0381 0326 0334 0342 0350 0358 0366 0374 0382 0327 0335 0343 0351 0359 0367 0375 0383 0200 I 0210 0220 0230 0240 0250 0260 0270 0128 0136 0144 0152 0160 0168 0176 0134 0129 0137 0145 0153 0161 0169 0177 0185 0130 0138 0146 0154 0162 0170 0178 0186 0131 0139 0147 0155 0163 0171 0179 0187 0132 0140 0148 0156 0164 0172 0180 0138 0133 0141 0149 0157 0165 0173 0181 0189 0134 0142 0150 0158 0166 0174 0182 0190 0135 0143 0151 0159 0167 0175 0183 0191 0600 0610 0620 0630 0640 0650 0660 0670 0384 0392 0400 0408 0416 0424 0432 0440 0385 0393 0401 0409 0417 0425 0433 0441 0386 0394 0402 0410 0418 0426 0434 0442 0387 0395 0403 0411 0419 0427 0435 0443 0388 0396 0404 0412 0420 0428 0436 0444 0389 0397 0405 0413 0421 0429 0437 0445 0390 0398 0406 0414 0422 0430 0438 0446 0391 0399 0407 0415 0423 0431 0439 0447 0340 0350 0360 L 0370 0192 0200 0208 0216 0224 0232 0240 0248 0193 0201 0209 0217 0225 0233 0241 0249 0194 0202 0210 0218 0226 0234 0242 0250 0195 0203 0211 0219 0227 0235 0243 0251 0196 0204 0212 0220 0228 0236 0244 0252 0197 0205 0213 0221 0229 0237 0245 0253 0198 0206 0214 0222 0230 0238 0246 0254 0199 0207 0215 0223 0231 0239 0247 0255 0700 0710 0720 0730 0740 0750 0760 0770 0448 0456 0464 0472 0480 0488 0496 0504 0449 0457 0465 0473 0481 0489 0497 0505 0450 0458 0466 0474 0482 0490 0498 0506 0451 0459 0467 0475 0483 0491 0499 0507 0452 0460 0468 0476 0484 0492 0500 0508 0453 0461 0469 0477 0485 0493 0501 0509 0454 0462 0470 0478 0486 0494 0502 0510 0455 0463 0471 0479 0487 0495 0503 0511 I I !, II ! I I II I II 0300 0310 I 0320 0330 6 7 4 0 1 2 3 4 5 0 1 2 3 4 5 6 7 1U10 1020 1030 1040 1050 1060 1070 0512 0520 0528 0536 0544 0552 0560 0568 0513 0521 0529 0537 0545 0553 0561 0569 0514 0522 0530 0538 0546 0554 0562 0570 0515 0523 0531 0539 0547 0555 0563 0571 0516 0524 0532 0540 0548 0556 0564 0572 0517 0525 0533 0541 0549 0557 0565 0573 0518 0526 0534 0542 0550 0558 0566 0574 0519 0527 0535 0543 0551 0559 0567 0575 1400 1410 1420 1430 1440 1450 1460 1470 0768 0776 0784 0792 0800 0808 0816 0824 0769 0777 0785 0793 0801 0809 0817 0825 0770 0778 0786 0794 0802 0810 0818 0826 0771 0779 0787 0795 0803 0811 0819 0827 0772 0780 0788 0796 0804 0812 0820 0828 0773 0781 0789 0797 0805 0813 0821 0829 0774 0782 0790 0798 0806 0814 0822 0830 0775 0783 0791 0799 0807 0815 0823 0831 1100 1110 1120 1130 1140 1150 1160 1170 0576 0584 0592 0600 0608 0616 0624 0632 0577 0585 0593 0601 0609 0617 0625 0633 0578 0586 0594 0602 0610 0618 0626 0634 0579 0587 0595 0603 0611 0619 0627 0635 0580 0588 0596 0604 0612 0620 0628 0636 0581 0589 0597 0605 0613 0621 0629 0637 0582 0590 0598 0606 0614 0622 0630 0638 0583 0591 0599 0607 0615 0623 0631 0639 1500 1510 1520 1530 1540 1550 1560 1570 0832 0840 0848 0856 0864 0872 0880 0888 0833 0841 0849 0857 0865 0873 0881 0889 0834 0842 0850 0858 0866 0874 0882 0890 0835 0843 0851 0859 0867 0875 0883 0891 0836 0844 0852 0860 0868 0876 0884 0892 0837 0845 0853 0861 0869 0877 0885 0893 0838 0846 0854 0862 0870 0878 0886 0894 0839 0847 0855 0863 0871 0879 0887 0895 1200 1210 1220 1230 1240 1250 1260 1270 0640 0648 0656 0664 0672 0680 0688 0696 0641 0649 0657 0665 0673 0681 0689 0697 0642 0650 0658 0666 0674 0682 0690 0698 0643 0651 0659 0667 0675 0683 0691 0699 0644 0652 0660 0668 0676 0684 0692 0700 0645 0653 0661 0669 0677 0685 0693 0701 0646 0654 0662 0670 0678 0686 0694 0702 0647 0655 0663 0671 0679 0687 0695 0703 1600 1610 1620 1630 1640 1650 1660 1670 0896 0904 0912 0920 0928 0936 0944 0952 0897 0905 0913 0921 0929 0937 0945 0953 0898 0906 0914 0922 0930 0938 0946 0954 0899 0907 0915 0923 0931 0939 0947 0955 0900 0908 0916 0924 0932 0940 0948 0956 0901 0909 0917 0925 0933 0941 0949 0957 0902 0910 0918 0926 0934 0942 0950 0958 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 0748 0756 0764 0709 0717 0725 0733 0741 0749 0757 0765 0710 0718 0726 0734 0742 0750 0758 0766 0711 0719 0727 0735 0743 0751 0759 0767 1700 1710 1720 1730 1740 1750 1760 1770 0960 0968 0976 0984 0992 1000 1008 1016 0961 0969 0977 0985 0993 1001 1009 1017 0962 0970 0978 0986 0994 1002 1010 1018 0963 0971 0979 0987 0995 1003 1011 1019 0964 0972 0980 0988 0996 1004 1012 1020 0965 0973 0981 0989 0997 1005 1013 1021 0966 0974 0982 0990 0998 1006 1014 1022 0967 0975 0983 0991 0999 1007 1015 1023 rmo" 1 5 6 7 C-6 0000 to 0777 (Octal) 0000 to 0511 (Decimal) Octal Decimal 10000 - 4096 20000 - 8192 30000 - 12288 40000 - 16384 50000 - 20480 60000 - 24576 70000 - 28672 1000 0512 to to 1777 (Octal) 1023 (Decimal) OCTAL-DECIMAL INTEGER CONVERSION TABLE (Cont'd) 2000 1024 to to 2777 (Oclal) 1535 (Decimal) Oclal Decimal 10000 - 4096 20000 - 8192 30000 - 12288 40000 - 16384 50000 - 20480 60000 - 24576 70000 - 28672 3000 1536 to to 3777 (Oclal) 2047 (Decimal) 0 , 2 3 4 5 6 7 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 102 7 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 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 2100 211 0 2120 2130 2140 2150 2160 2170 1088 1096 1104 1112 1120 1;36 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 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 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 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 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 1219 1226 1227 1234 1235 1242 1243 1250 ,1251 1258 1259 1266 1267 1274 1275 1220 1228 1236 1244 1252 1260 1268 1276 1221 1229 1237 1245 1253 1261 1269 1277 1222 1230 1238 1246 1254 1262 1270 1278 1223 1231 1239 1247 1255 1263 1271 1279 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 1519 1517 1525 1533 1478 1486 1494 1502 1510 1518 1526 1534 1479 1487 1495 1503 1511 1519 1527 1535 0 1 2 3 4 5 6 ., 0 1 2 3 4 5 6 3000 3010 3020 3030 3040 3050 3060 3070 1536 1544 1552 1560 1568 1576 1584 1592 1537 1545 1553 1561 1569 1577 1585 1593 1538 1546 1554 1562 1570 1578 1586 1594 1539 1547 1555 1563 1571 1579 1587 1595 1540 1548 1556 1564 1572 1580 1588 1596 1541 1549 1557 1565 1573 1581 1589 1597 1542 1550 1556 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 3100 3110 3120 3130 3140 3150 3160 3170 1600 1608 1616 1624 1632 1640 1648 1656 1601 1609 1617 1625 1633 1641 1649 1657 1602 1610 1618 1626 1634 1642 1650 1658 1603 1611 1619 1627 1635 1643 1651 1659 1604 1612 1620 1628 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 1.892 1900 1908 1916 1861 1869 1877 1885 1893 1901 1909 1917 1862 1870 1878 1886 1894 1902 1910 1918 1863 1871 1879 1887 1895 1903 1911 1919 3200 3210 3220 3230 3240 3250 3260 3270 1664 1672 1680 1688 1696 1704 1712 1720 1665 1673 1681 1689 1697 1705 1713 1721 1666 1674 1682 1690 1698 1706 1714 1722 1667 1675 1683 1691 1699 1707 1715 1723 1668 1676 1684 1692 1700 1708 1716 1724 1669 1677 1685 1693 1701 1709 1717 1725 1670 1678 1686 1694 1702 1710 1718 1726 1671 1679 1687 1695 1703 1711 1719 1727 3600 3610 3620 3630 3640 3650 3660 3670 1920 1928 1936 1944 1952 1960 1968 1976 1921 1922 1929 1930 1937 1938 1945 1946 1953 1954 1961 -1962 1969 1970 1977 1978 1923 1931 1939 1947 1955 1963 1971 1979 1924 1932 1940 1948 1956 1964 1972 1980 1925 1933 1941 1949 1957 1965 1973 1981 1926 1934 1942 1950 1958 1966 1974 1982 1927 1935 1943 1951 1959 1967 1975 1983 3300 3310 3320 3330 3340 3350 3360 3370 1728 1736 1744 1752 1760 1768 1776 1784 1729 1737 1145 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 1987 1995 2003 2011 2019 2027 2035 2043 1,988 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 1128 C-7 1986 1994 2002 2010 2018 2026 2034 2042 7 Rev.H OCTAL-DECIMAL INTEGER CONVERSION TABLE (Cant'd) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 4000 4010 4020 4030 4040 4050 4060 4070 2048 2056 2064 2072 2080 2088 2096 2104 2049 2057 2065 2073 2081 2089 2097 2105 2050 2058 2066 2074 2082 2090 2098 2106 2051 2059 2067 2075 2083 2091 2099 2107 2052 2060 2068 2076 2084 2092 2100 2108 2053 2061 2069 2077 2085 2093 2101 2109 2054 2062 2070 2078 2086 2094 2102 2110 2055 2063 2071 2079 2087 2095 2103 2111 4400 4410 4420 4430 4440 4450 4460 4470 2304 2312 2320 2328 2336 2344 2352 2360 2305 2313 2321 2329 2337 2345 2353 2361 2306 2314 2322 2330 2338 2346 2354 2362 2307 2315 2323 2331 2339 2347 2355 2363 2308 2316 2324 2332 2340 2348 2356 2364 2309 2317 2325 2333 2341 2349 2357 2365 2310 2318 2326 2334 2342 2350 2358 2366 2311 2319 2327 2335 2343 2351 2359 2367 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 2119 2127 2135 2143 2151 2159 2167 2175 4500 4510 4520 4530 4540 4550 4560 4570 2368 2376 2384 2392 2400 2408 2416 2424 2369 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 2396 2404 2412 2420 2428 2373 2381 2389 2397 2405 2413 2421 2429 2374 2382 2390 2398 2406 2414 2422 2430 2375 2383 2391 2399 2407 2415 2423 2431 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 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 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 2246 2254 2262 2270 2278 2286 2294 2302 2247 2255 2263 2271 2279 2287 2295 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 2546 2556 2501 2509 2517 2525 2533 2541 2549 2557 2502 2510 2518 2526 2534 2542 2550 2558 2503 2511 2519 2527 2535 2543 2551 2559 1 2 4 5 6 7 0 1 2 3 4 5 6 7 0 3 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 5'160 5'110 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 2673 2681 2626 2634 2642 2650 2658 2666 2674 2682 2627 2635 2643 2651 2659 2667 2675 2683 2628 2636 2644 2652 2660 2668 2676 2684 2629 2637 2645 2653 2661 2669 2677 2685 2630 2638 2646 2654 2662 2670 2678 2686 2631 2639 2647 2655 2663 2671 2679 2687 5500 5510 5520 5530 5540 5550 5560 5570 2880 2888 2896 2904 2912 2920 2928 2936 2881 2889 2897 2905 2913 2921 2929 2937 Z882 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 522U 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 2961 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 C-8 4000 to 4777 (Octal) 2048 to 2559 (Decimal) Octal Decimal 10000 - 4096 20000 - 8192 30000 - 12288 40000 - 16384 50000 - 20480 60000 - 24576 70000 - 28672 5000 to 5777 (Octal) 2560 to 3071 (Decimal) OCTAL-DECIMAL INTEGER CONVERSION TABLE (Cont'd) 6000 to 6777 (Octal) 3072 to 3583 (Decimal) Octal Decimal 10000 - 4096 20000 - 8192 30000 - 12288 40000 - 16384 50000 - 20480 60000 - 24576 70000 - 28672 7000 to 7777 (Octal) 3584 to 4095 (Decimal) 5 6 7 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 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 3399 3406 3407 3414 3415 3422 3423 3430 3431 3438 3439 3446 3447 3454 3455 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 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 1 2 3 5 6 3847 3855 3863 3871 3879 3887 3895 3903 0 1 2 3 6400 6410 6420 6430 6440 6450 6460 6470 3328 3336 3344 3352 3360 3368 3376 3384 3329 3337 3345 3353 3361 3369 3377 3385 3330 3338 3346 3354 3362 3370 3378 3386 3331 3339 3347 3355 3363 3371 3379 3387 3143 3151 3159 3167 3175 3183 3191 3199 6500 6510 6520 6530 6540 6550 6560 6570 3392 3400 3408 3416 3424 3432 3440 3448 3393 3401 3409 3417 3425 3433 3441 3449 3394 3402 3410 3418 3426 3434 3442 3450 3206 3214 3222 3230 3238 3246 3254 3262 3207 3215 3223 3231 3239 3247 3255 3263 6600 6610 6620 6630 6640 6650 6660 6670 3456 3464 3472 3480 3488 3496 3504 3512 3457 3465 3473 3481 3489 3497 3505 3513 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 3520 3528 3536 3544 3552 3560 3568 3576 5 6 7 0 5 6 0 1 2 3 4 7 6000 6010 6020 6030 6040 6050 6060 6070 3072 3080 3088 3096 3104 3112 3120 3128 3073 3081 3089 3097 3105 3113 3121 3129 3074 3082 3090 3098 3106 3114 3122 3130 3075 3083 3091 3099 3107 3115 3123 3131 3076 3084 3092 3100 3108 3116 3124 3132 3077 3085 3093 3101 3109 3117 3125 3133 3078 3086 3094 3102 3110 3118 3126 3134 3079 3087 3095 3103 3111 3119 3127 3135 6100 6110 6120 6130 6140 6150 6160 6170 3136 3144 3152 3160 3168 3176 3184 3192 3137 3145 3153 3161 3169 3177 3185 3193 3138 3146 3154 3162 3170 3178 3186 3194 3139 3147 3155 3163 3171 3179 3187 3195 3140 3148 3156 3164 3172 3180 3188 3196 3141 3149 3157 3165 3173 3181 3189 3197 3142 3150 3158 3166 3174 3182 3190 3198 6200 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 3211 3219 3227 3235 3243 3251 3259 3204 3212 3220 3228 3236 3244 3252 3260 3205 3213 3221 3229 3237 3245 3253 3261 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 0 1 2 3 4 4 4 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 3496 3604 3612 3620 3628 3636 3644 3589 3497 3605 3613 3621 3629 3637 3645 3590 3598 3606 3614 3622 3630 3638 3646 3591 3599 3607 3615 3623 3631 3639 3647 7400 7410 7420 7430 7440 7450 7460 7470 3840 3848 3856 3864 3872 38&0 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 3876 3884 3892 3900 3845 3853 3861 3869 3877 3885 3893 3901 3846 3854 3862 3870 3878 3886 3894 3902 7100 7110 7120 7130 7140 7150 7160 7170 3648 3656 3664 3672 3680 3688 3696 3704 3649 3657 3665 3673 3681 3689 3697 3705 3650 3658 3666 3674 3682 3690 3698 3706 3651 3659 3667 3675 3683 3691 3699 3707 3652 3660 3668 3676 3684 3692 3700 3708 3653 3661 3669 3677 3685 3693 3701 3709 3654 3662 3670 3678 3686 3694 3702 3710 3655 3663 3671 3679 3687 3695 3703 3711 7500 7510 7520 7530 7540 7550 7560 7570 3904 3912 3920 3928 3936 3944 3952 3960 3905 3913 3921 3929 3937 3945 3953 3961 3906 3914 3922 3930 3938 3946 3954 3962 3907 3915 3923 3931 3939 3947 3955 3963 3908 3916 3924 3932 3940 3948 3956 3964 3909 3917 3925 3933 3941 3949 3957 3965 3910 3918 3926 3934 3942 3950 3958 3966 3911 3919 3927 3935 3943 3951 3959 3967 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 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 3981 3989 3997 4005 4013 4021 4029 3974 3982 3990 3998 4006 4014 4022 4030 3975 3983 3991 3999 4007 4015 4023 4031 7300 7310 7320 7330 7340 7350 7360 7370 3776 3784 3792 3800 3808 3816 3824 3832 3777 3785 3793 3801 3809 3817 3825 3833 3778 3786 3794 3802 3810 3818 3826 3834 3779 3787 3795 3803 3811 3819 3827 3835 3780 3788 3796 3804 3812 3820 3828 3836 3781 3789 3797 3805 3813 3821 3829 3837 3782 3790 3798 3806 3814 3822 3830 3838 3783 3791 3799 3807 3815 3823 3831 3839 7700 7710 7720 7730 7740 7750 7760 7770 4032 4040 4048 4056 4064 4072 4080 4088 4033 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 C-9 OCTAL-DECIMAL FRACTION CONVERSION TABLE OCTAL DEC. OCTAL DEC. .125000 .126953 .128906 .130859 .132812 .134765 .136718 .138671 .200 .201 .202 .203 .204 .205 .206 .207 .250000 .251953 .253906 .255859 .257812 .259765 .261718 .263671 .300 .301 .302 .303 .304 .305 .306 .307 .375000 .376953 .378906 .380859 .382812 .384765 .386718 .388671 .110 .111 .112 .113 .114 .115 .116 .117 .140625 .142578 .144531 .146484 .148437 .150390 .152343 .154296 .210 .211 .212 .213 .214 .215 .216 .217 .265625 .267578 .269531 .271484 .273437 .275390 .277343 .279296 .310 .311 .312 .313 .314 .315 .316 .317 .390625 .392578 .394531 .396484 .398437 .400390 .402343 .404296 .031250 .033203 .035156 .037109 .039062 .041015 .042968 .044921 .120 .121 .122 .123 .124 .125 .126 .127 .156250 .158203 .160156 .162109 .164062 .166015 .167968 .169921 .220 .221 .222 .223 .224 .225 .226 .227 .281250 .283203 .285156 .287109 .289062 .291015 .292968 .294921 .320 .321 .322 .323 .324 .325 .326 .327 .406250 .408203 .410156 .412109 .414062 .416015 .417968 .4 19921 .030 .031 .032 .033 .034 .035 .036 .037 .046875 .048828 .050781 .052734 .054687 .056640 .058593 .060546 .130 .131 .132 .133 .134 .135 .136 .137 .171875 .173828 .175781 .177734 .179687 .181640 .183593 .185546 .230 .231 .232 .233 .234 .235 .236 .237 .296875 .298828 .300781 .302734 .304687 .306640 .308593 .310546 .330 .331 .332 .333 .334 .335 .336 .337 .421875 .423828 .425781 .427734 .429687 .431640 .433593 .435546 .040 .041 .042 .043 .044 .045 .046 .047 .062500 .064453 .066406 .068359 .070312 .072265 .074218 .076171 .140 .141 .142 .143 .144 .145 .146 .147 .187500 .189453 .191406 .193359 .195312 .197265 .199218 .201171 .240 .241 .242 .243 .244 .245 .246 .247 .312500 .314453 .316406 .318359 .320312 .322265 .324218 .326171 .340 .341 .342 .343 .344 .345 .346 .347 .437500 .439453 .441406 .443359 .445312 .447265 .449218 .451171 .050 .051 .052 .053 .054 .055 .056 .057 .078125 .080078 .082031 .083984 .085937 .087890 .089843 .091796 .150 .151 .152 .153 .154 .155 .156 .157 .203125 .205078 .207031 .208984 .210937 .212890 .214843 .216796 .250 .251 .252 .253 .254 .25f .25( .257 .328125 .330078 .332031 .333984 .335937 .337890 .339843 .341796 .350 .351 .352 .353 .354 .355 .356 .357 .453125 .455078 .457031 .458984 .460937 .462890 .464843 .466796 .060 .061 .062 .063 .064 .065 .066 .067 .093750 .095703 .097656 .099609 .101562 .103515 .105468 .107421 .160 .161 .162 .163 .164 .165 .166 .167 .218750 .220703 .222656 .224609 .226562 .228515 .230468 .232421 .260 .261 .262 .263 .264 .265 .266 .267 .343750 .345703 .347656 .349609 .351562 .353515 .355468 .357421 .360 .361 .362 .363 .364 .365 .366 .367 .468750 .470703 .472656 .474609 .476562 .478515 .480468 .482421 .070 .071 .072 .073 .074 .075 .076 .077 .109375 .111328 .113281 .115234 .117187 .119140 .121093 .123046 .170 .171 .172 .173 .174 .175 .176 .177 .234375 .236328 .238281 .240234 .242187 .244140 .246093 .248046 .270 .271 .272 .273 .274 .275 .276 .277 .359375 .361328 .363281 .365234 .367187 .369140 .371093 .373046 .370 .371 .372 .373 .374 .375 .376 .377 .484375 .486328 .488281 .490234 .492187 .494140 .496093 .498046 DEC. OCTAL .000 .001 .002 .003 .004 .005 .006 .007 .000000 .001953 .003906 .005859 .007812 .009765 .011718 .013671 .100 .101 .102 .103 .104 .105 .106 .107 .010 .011 .012 .013 .014 .015 .016 .017 .015625 .017578 .019531 .021484 .023437 .025390 .027343 .029296 .020 .021 .022 .023 .024 .025 .026 .027 OCTAL DEC. C-IO OCTAL-DECIMAL FRACTION CONVERSION TABLE (Cont'd) OCTAL DEC. OCTAL DEC. OCTAL DEC. OCTAL DEC. .000000 .000001 .000002 .000003 .000004 .000005 .000006 .000007 .000000 .000003 .000007 .000011 .000015 .000019 .000022 .000026 .000100 .000101 .000102 .000103 .000104 .000105 .000106 .000107 .000244 .000247 .000251 .000255 .000259 .000263 .000267 .000270 .000200 .000201 .000202 .000203 .000204 .000205 .000206 .000207 .000488 .000492 .000495 .000499 .000503 .000507 .000511 .000514 .000300 .000301 .000302 .000303 .000304 .000305 .000306 .000307 .000732 .000736 .000740 .000743 .000747 .000751 .000755 .000759 .000010 .000011 .000012 .000013 .000014 .000015 .000016 .000017 .000030 .000034 .000038 .000041 .000045 .000049 .000053 .000057 .000110 .000111 .000112 .000113 .000114 .000115 .000116 .000117 .000274 .000278 .000282 .000286 .000289 .000293 .000297 .000301 .000210 .000211 .000212 .000213 .000214 .000215 .000216 .000217 .000518 .000522 .000526 .000530 .000534 .000537 .000541 .000545 .000310 .000311 .000312 .000313 .000314 .000315 .000316 .000317 .000762 .000766 .000770 .000774 .000778 .000782 .000785 .000789 .000020 .000021 .000022 .000023 .000024 .000025 .000026 .000027 .000061 .000064 .000068 .000072 .000076 .000080 .000083 .000087 .000120 .000121 .000122 .000123 .000124 .000125 .000126 .000127 .000305 .000308 .000312 .000316 .000320 .000324 .000328 .000331 .000220 .000221 .000222 .000223 .000224 .000225 .000226 .000227 .000549 .000553 .000556 .000560 .000564 .000568 .000572 .000576 .000320 .000321 .000322 .000323 .000324 .000325 .000326 .000327 .000793 .000797 .000801 .000805 000808 .000812 .000816 .000820 .000030 .000031 .000032 .000033 .000034 .000035 .000036 .000037 .000091 .000095 .000099 .000102 .000106 .000110 .000114 .0001 i8 .000130 .000131 .000132 .000133 .000134 .000135 .000136 .000137 .000335 .000339 .000343 .000347 .000350 .000354 .000358 .000362 .000230 .000231 .000232 .000233 .000234 .000235 .000236 .000237 .000579 .000583 .000587 .000591 .000595 .000598 .000602 .000606 .000330 .000331 .000332 .000333 .000334 .000335 .000336 .000337 .000823 .000827 .000831 .000835 .000839 .000843 .000846 .000850 .000040 .000041 .000042 .000043 .000044 .000045 .000046 .000047 .000122 .000125 .000129 .000133 .000137 .000141 .000144 .000148 .000140 .000141 .000142 .000143 .000144 .000145 .000146 .000147 .000366 .000370 .000373 .000377 .000381 .000385 .000389 .000392 .000240 .000241 .000242 .000243 .000244 .000245 .000246 .000247 .000610 .000614 .000617 .000621 .000625 .000629 .000633 .000637 .000340 .000341 .000342 .000343 .000344 .000345 .000346 .000347 .000854 .000858 .000862 .000865 .000869 .000873 .000877 .000881 .000050 .000051 .000052 .000053 .000054 .000055 .000056 .000057 .000152 .000156 .000160 .000164 .000167 .000171 .000175 .000179 .000150 .000151 .000152 .000153 .000154 .000155 .000156 .000157 .000396 .000400 .000404 .000408 .000411 .000415 .000419 .000423 .000250 .000251 .000252 .000253 .000254 .000255 .000256 .000257 .000640 .000644 .000648 .000652 .000656 .000659 .000663 .000667 .000350 .000351 .000352 .000353 .000354 .000355 .000356 .000357 .000885 .000888 .000892 .000896 .000900 .000904 .000907 .000911 .000060 .000061 .000062 .000063 .000064 .000065 .000066 .000067 .000183 .000186 .000190 .000194 .000198 .000202 .000205 .000209 .000160 .000161 .000162 .000163 .000164 .000165 .000166 .000167 .000427 .000431 .000434 .000438 .000442 .000446 .000450 .000453 .000260 .000261 .000262 .000263 .000264 .000265 .000266 .000267 .000671 .000675 .000679 .000682 .000686 .000690 .000694 .000698 .000360 .000361 .000362 .000363 .000364 .000365 .000366 .000367 .000915 .000919 .000923 .000926 .000930 .000934 .000938 .000942 .000070 .000071 .000072 .000073 .000074 .000075 .000076 .000077 .000213 .000217 .000221 .000225 .000228 .000232 .000236 .000240 .000170 .000171 .000172 .000173 .000174 .000175 .000176 .000177 .000457 .000461 .000465 .000469 .000473 .000476 .000480 .000484 .000270 .000271 .000272 .000273 .000274 .000275 .000276 .000277 .000701 .000705 .000709 .000713 .000717 .000720 .000724 .000728 .000370 .000371 .000372 .000373 .000374 .000375 .000376 .000377 .000946 .000949 .000953 .000957 .000961 .000965 .000968 .000972 C-ll OCTAL-DECIMAL FRACTION CONVERSION TABLE (Cont'd) OCTAL DEC. OCTAL DEC. OCTAL DEC. OCTAL DEC. .000400 .000401 .000402 .000403 .000404 .000405 .000406 .000407 .000976 .000980 .000984 .000988 .000991 .000995 .000999 .001003 .000500 .000501 .000502 .000503 .000504 .000505 .000506 .000507 .001220 .001224 .001228 .001232 .001235 .001239 .001243 .001247 .000600 .000601 .000602 .000603 .000604 .000605 .000606 .000607 .001464 .001468 .001472 .001476 .001480 .001483 .001487 .001491 .000700 .000701 .000702 .000703 .000704 .000705 .000706 .000707 .001708 .001712 .001716 .001720 .001724 .001728 .001731 .001735 .000410 .000411 .000412 .000413 .000414 .000415 .000416 .000417 .001007 .001010 .001014 .001018 .001022 .001026 .001029 .001033 .000510 .000511 .000512 .000513 .000514 .000515 .000516 .000517 .001251 .001255 .001258 .001262 .001266 .001270 .001274 .001277 .000610 .000611 .000612 .000613 .000614 .000615 .000616 .000617 .001495 .001499 .001502 .001506 .001510 .001514 .001518 .001522 .000710 .000711 .000712 .000713 .000714 .000715 .000716 .000717 .001739 .001743 .001747 .001750 .001754 .001758 .001762 .001766 .000420 .000421 .000422 .000423 .000424 .000425 .000426 .000427 .001037 .001041 .001045 .001049 .001052 .001056 .001060 .001064 .000520 .000521 .000522 .000523 .000524 .000525 .000526 .000527 .001281 .001285 .001289 .001293 .001296 .001300 .001304 .001308 .000620 .000621 .000622 .000623 .000624 .000625 .000626 .000627 .001525 .001529 .001533 .001537 .001541 .001544 .001548 .001552 .000720 .000721 .000722 .000723 .000724 .000725 .000726 .000727 .001770 .001773 .001777 .001781 .001785 .001789 .001792 .001796 .000430 .000431 .000432 .000433 .000434 .000435 .000436 .000437 .00106B .001071 .001075 .001079 .001083 .001087 .001091 .001094 .000530 .000531 .000532 .000533 .000534 .000535 .000536 .000537 .001312 .001316 .001319 .001323 .001327 .001331 .001335 .001338 .000630 .000631 .000632 .000633 .000634 .000635 .000636 .000637 .001556 .001560 .001564 .001567 .001571 .001575 .001579 .001583 .000730 .000731 .000732 .000733 .000734 .000735 .000736 .000737 .001800 .001804 .001808 .001811 .001815 .001819 .001823 .001827 .000440 .000441 .000442 .000443 .000444 .000445 .000446 .000447 .001098 .001102 .001106 .001110 .001113 .001117 .001121 .001125 .000540 .000541 .000542 .000543 .000544 .000545 .000546 .000547 .001342 .001346 .001350 .001354 .001358 .001361 .001365 .001369 .000640 .000641 .000642 .000643 .000644 .000645 .000646 .000647 .001586 .001590 .001594 .001598 .001602 .001605 .001609 .001613 .000740 .000741 .000742 .000743 .000744 .000745 .000746 .000747 .001831 .001834 .001838 .001842 .001846 .001850 .001853 .001857 .000450 .000451 .000452 .000453 .000454 .000455 .000456 .000457 .001129 .001132 .001136 .001140 .001144 .001148 .001152 .001155 .000550 .000551 .000552 .000553 .000554 .000555 .000556 .000557 .001373 .001377 .001380 .001384 .001388 .001392 .001396 .001399 .000650 .000651 .000652 .000653 .000654 .000655 .000656 .000657 .001617 .001621 .001625 .001628 .001632 .001636 .001640 .001644 .000750 .000751 .000752 .000753 .000754 .000755 .000756 .000757 .001861 .001865 .001869 .001873 .001876 .001880 .001884 .001888 .000460 .000461 .000462 .000463 .000464 .000465 .000466 .000467 .001159 .001163 .001167 .001171 .001174 .001178 .001182 .001186 .000560 .000561 .000562 .000563 .000564 .000565 .000566 .000567 .001403 .001407 .001411 .001415 .001419 .001422 .001426 .001430 .000660 .000661 .000662 .000663 .000664 .000665 .000666 .000667 .001647 .001651 .001655 .001659 .001663 .001667 .001670 .001674 .000760 .000761 .000762 .000763 .000764 .000765 .000766 .000767 .001892 .001895 .001899 .001903 .001907 .001911 .001914 .001918 .000470 .000471 .000472 .000473 .000474 .000475 .000476 .000477 .001190 .001194 .001197 .001201 .001205 .001209 .001213 .001216 .000570 .000571 .000572 .000573 .000574 .000575 .000576 .000577 .001434 .001438 .001441 .001445 .001449 .001453 .001457 .001461 .000670 .000671 .000672 .000673 .000674 .000675 .000676 .000677 .001678 .001682 .001686 .001689 .001693 .001697 .001701 .001705 .000770 .000771 .000772 .000773 .000774 .000775 .000776 .000777 .001922 .001926 .001930 .001934 .001937 .001941 .001945 .001949 C-12 GLOSSARY, INSTRUCTION TABLES and INDEX GLOSSARy ....................................................................... 1 INSTRUCTION TABLES. . . . . . . . . . .. . .. . .. . . .. . .. .. .. . . .. .. .. .. .. .. . .. . . .. .. .. .. ... (See Section 7 for detailed instruction and designator descriptions.) Table 1. Octal Listing of Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Table 2. Alphamnemonic Listing ofInstructions ................................... Table 3. Function Listing of Instructions .......................................... 7 7 12 17 INDEX ............................................................................ 23 GLOSSARY A REGISTER - Principal arithmetic register; operates as a 24-bit additive accumulator (modulus 224-1). ABSOLUTE ADDRESS-Synonymous with Address. ACCESS TIME-The time needed to perform a storage reference, either read or write. In effect, the access time of a computer is one storage reference cycle. ACCUMULATOR-A register with provisions for the addition of another quantity to it5 content. ADDER-A device capable of forming the sum of two or more quantities. ADDRESS-A 15-bit operand which identifies a particular storage location; a 17-bit operand which identifies a particular character location in storage. ADDRESS MODIFICATION Normally tlie derivation of a storage address from the sum of the execution address and the contents of the specified index register. AND FUNCTION -A logical function in Boolean algebra that is satisfied (has the value "I") only when all of its terms are "1's". For any other combination of values it is not satisfied and its value is "0". ARGUMENT - An operand or parameter used by a program or an instruction. ASSEMBLER - A program which translates statements to machine language. Normally, one source language statement results in the generation of one line of object code. BASE A quantity which defines some system of representing numbers by positional notation; radix. BINARY-CODED DECIMAL (BCD) are represented by a binary code. A form of decimal notation where decimal digits BIT - Binary digit, either "1" or "0". BLOCK-A sequential group of storage words or characters in storage. BOOTSTRAP-Any short program which facilitates loading of the appropriate system executive. BRANCH - A conditional jump. Refer to Jump. BREAKPOINT - A point in a routine at which the computer may be stopped by manual switches for a visual check of progress. Bl, B2, B3 REGISTERS- Index registers used primarily for address modification and/or counting. BUFFER - Any area that is used to hold data temporarily for input or output, normally storage. BYTE - A portion of a computer word. CAP ACITY - The upper and lower limits of the numbers which may be processed in a register, or the quantity of information which may be stored in a storage unit. If the capacity of a register is exceeded, an overflow is generated. CHANNEL-An Input/Output (I/O) transmission path that connects the computer to an external equipment. CHARACTER-A group of 6 bits which represents a digit, letter or symbol from the typewriter. 1 CLEAR - An operation that removes a quantity from a register by placing every stage ofthe register in the "0" state. The initial contents of the register are destroyed by the Clear operation. COMMAND - Synonymous with Instruction. COMPILER-A program with the compatability to generate more than one line of machine code (instruction or data word) from one source language statement. COMPLEMENT-Noun: See One's Complement or Two's Complement. Verb: A command which produces the one's complement of a given quantity. CONTENT-The quantity or word held in a register or storage location. CORE - A ferromagnetic toroid used as the bi-stable device for storing a bit in a memory plane. COUNTER-A register or storage location, the contents of which may be incremented or decremented. D REGISTER-A 4-bit field length register used for BCD operations. DOUBLE PRECISION - Providing greater precision in the results of arithmetic operations by appending 24 additional bits of lesser significance to the initial operands. ENTER-The operation where the current contents of a register or storage location are replaced by some defined operand. EQUALIZE - Adjusting the operand of the algebraically smaller exponent to equal the larger, prior to adding or subtracting the floating point coefficients. EXCLUSIVE OR A logical function in Boolean algebra that is satisfied (has the value "I") when any of its terms are "I". It is not satisfied when all its terms are "I" or w hen all its terms are "0". EXECUTION ADDRESS-The lower 15 or 17 bits of a 24-bit instruction. Most often used to specify the storage address of an operand. Sometimes used as the operand. EXIT - Initiation of a second control sequence by the first, occurring when the first is near completion; the circuit involved in exiting. F REGISTER-Program Control register. Holds a program step while the single 24-bit instruction contained in it is executed. FAULT-Operational difficulty which lights an indicator or for which interrupt may be selected. FIXED POINT-A notation or system of arithmetic in which all numerical quantities are expressed by a predetermined number of digits with the binary point implicitly located at some predetermined position; contrasted with floating point. FLIP-FLOP (FF)-A bi-stable storage device. A "I" input to the set side puts the FF in the "I" state; a "I" input to the clear side puts the FF in the "0" state. The FF remains in astate indicative of its last "I" input. A stage of a register consists of a FF. FLOATING POINT A means of expressing a number, X, by a pair of numbers, Yand Z, such that X = Yn Z • Z is an integer called the exponent or characteristic; n is a base, usually 2 or 10; and Y is called the fraction or mantissa. FUNCTION CODE - See Operation Code. INCREASE - The increase operation adds a quantity to the contents of the specified register. INDEX DESIGNATOR-A 2-bit quantity in an instruction; usually specifies an index register whose contents are to be added to the execution address; sometimes specifies the conditions for executing the instruction. 2 INDIRECT ADDRESSING-A method of address modification whereby the lower 18 bits ofthe specified address become the new execution address and index designator. INSTRUCTION - A 24- or 48-bit quantity consisting of an operation code and several other designators. INTEGRATED REGISTER FILE - The upper 6410 locations of core storage. Reserved for special operations with block control. INTERR UPT - A signal which results in transfer of control, following completion of the current instruction cycle, to a fixed storage location. INTERRUPT REGISTER-A 24-bit register whose individual bits are set to "I" by the occurrence of specific interrupt conditions, either internal or external. INTERRUPT MASK REGISTER-A 24-bit register whose individual bits match those ofthe Interrupt register. Setting bits of the Interrupt Mask register to "1's" is one of the conditions for selecting interrupt. INVERTER-A circuit which provides as an output a signal that is opposite to its input. An inverter output is "I" only if all the separate OR inputs are "0". JUMP - An instruction which alters the normal sequence control of the computer and, conditionally or unconditionally, specifies the location of the next instruction. LIBRARY - Any collection of programs (routines) and/or subprograms (subroutines). LOAD - The Load operation is composed of two steps: a) The register is cleared, and b) The contents of storage location M are copied into the cleared register. LOCATION - A storage position holding one computer word, usually designated by a specific address. LOGICAL PRODUCT-In Boolean algebra, the AND function of several terms. The product is "I" only when all the terms are "I"; otherwise it is "0". Sometimes referred to as the result of bit-by-bit multiplication. LOGICAL SUM-In Boolean algebra, the OJR function of several terms. The sum is "1" when any or all of the terms are "I"; it is "0" only when all are "0". LOOP-JRepetition of a group of instructions in a routine. MACRO CODE-A method of defining a subroutine which can be generated and/or inserted by the assembler. MASK-In the formation of the logical product of two quantities, one quantity may mask the other; i.e., determine what part of the other quantity is to be considered. If the mask is "0", that part of the other quantity is unused; if the mask is "1", the other quantity is used. MASTEJR CLEAR-A general command produced by pressing one of two switches: a) Internal Master Clear- Clears all operational registers and control FF's in the processor. b) External Master Clear - Clears all external equipments and the communication channels. MNEMONIC CODE-A three- or four-letter code which represents the function or purpose of an instruction. Also called Alphabetic Code. MODULUS-An integer which describes certain arithmetic characteristics of registers, especially counters and accumulators, within a digital computer. The modulus of a device is defined by rn for an open-ended device and rn_l for a closed (end-around) device, where r is the base of the number system used and n is the number of digit positions (stages) in the device. Generally, devices with modulus rn use two's complement arithmetic; devices with modulus rn_l use one's complement. 3 NORMALIZE-To adjust the exponent and mantissa of a floating point result so that the mantissa lies in the prescribed standard (normal) range. NORMAL JUMP-An instruction that jumps from one sequence of instructions to a second, and makes no preparation for returning to the first sequence. Also referred to as an Unconditional Jump. NUMERIC CODING A system of abbreviation in which all information is reduced to numerical quantities. Also called Absolute or Machine Language coding. OBJECT PROGRAM-The machine language version of the source program. ONE'S COMPLEMENT- With reference to a binary number, that number which results from subtracting each bit of a given number from "1". The one's complement of a number is formed by complementing each bit of it individually, that is, changing a "1" to "0" and a "0" to a "1". A negative number is expressed by the one's complement of the corresponding positive number. ON -LINE OPERATION - A type of system application in which the input or output data to or from the system is fed directly from or to the external equipment. OPERAND- Usually refers to the quantity specified by the execution address. OPERATION CODE (Function Code)-A 6-bit quantity in an instruction specifying the operation to be performed. OPERATIONAL REGISTERS-Registers which are displayed on the operator's section of the console. OR FUNCTION - A logical function in Boolean algebra that is satisfied (has the value "1") when any of its terms are "1". It is not satisfied when all terms are "0". Often called the inclusive OR function. OVERFLOW - The capacity of a register is exceeded. PARAMETER-An operand used by a program or subroutine. PARITY CHECK-A summation check in which the binary digits in a character are added and the sum checked against a previously computed parity digit; i.e., a check which tests whether the number of ones is odd or even. P REGISTER-The Program Address Counter (P register) is a one's complement additive register (modulus 2 15 _1) which defines the storage addresses containing the individual program steps. PROGRAM-A precise sequence of instructions that accomplishes the solution of a problem. Also called a routine. PSEUDO CODE - A statement requesting a specific operation by the assembler or compiler. Q REGISTER-Auxiliary 24-bit arithmetic register which assists the A register in the more complicated arithmetic operations. RADIX- The number of different digits that can occur in a digit position for a specific number system. It may be referred to as the base of a number system. RANDOM ACCESS-Access to storage under conditions in which the next position from which information is to be obtained can be independent of the previous one. READ - To remove a quantity from a storage location. REGISTER-The internal logic used for temporary storage or for holding a quantity during computation. REJECT - A signal generated under certain circumstances by either the external equipment or the processor during the execution of Input/Output instructions. 4 REPLACE- When used in the title of an instruction, the result of the execution of the instruction is stored in the location from which the initial operand was obtained. When replace is used in the description of an instruction, the contents of a location or register are substituted by the operand. The Replace operation implies clearing the register or portion of the register in preparation for the new quantity. REPL Y - A response signal in I/O operations that indicates a positive response to some previous operation or request signal. RETURN JUMP - An instruction that jumps from a sequence of instructions to initiate a second sequence and prepares for continuing the first sequence after the second is completed. ROUTINE - The sequence of operations which the computer performs, also called a program. SCALE FACTOR- One or more coefficients by which quantities are multiplied or divided so that they lie in a given range of magnitude. S REGISTER- The 13-bit S register displays the address of the word. SHIFT-To move the bits of a quantity right or left. SIGN BIT - In registers where a quantity is treated as signed by use of one's complement notation, the bit in the highest order stage ofthe register. If the bit is "1", the quantity is negative; if the bit is "0", the quantity is positive. SIGN EXTENSION -The duplication of the sign bit in the higher order stages of a register. SOFTWARE-Programs and/or subroutines. SOURCE LANGUAGE-The language used by the programmer to define his program. STAGE-The FFs and inverters associated with a bit position of a register. STATUS-The state or condition of circuits within the processor, I/O channels, or external equipment. STO RE - To transmit information to a device from which the unaltered information can later be obtained. The Store operation is essentially the reverse of the Load operation. Storage location M is cleared, and the contents of the register are copied into M. SUBROUTINE - A set of instructions that is used at more than one point in program operation. SYMBOLIC CODING-A system of abbreviation used in preparing information for input into a computer; e.g., Shift Q would be SHQ. TOGGLE - To complement each specified bit of a quantity, i,e.: "1" to "0" or "0" to "1". TRANSMIT (Transfer) - The term transfer implies register contents are moved; i.e., the contents of register 1 are copied into register 2. Unless specifically stated, the contents are not changed during transmission. The term transmit is often used synonymously with transfer. TWO'S COMPLEMENT-Number that results from subtracting each bit of a number from "0". The two's complement may be formed by complementing each bit of the given number and then adding one to the result, performing the required carries. UNDERFLOW - An illegal change of sign from - to +, e.g., subtracting from a quantity such that the result would be less than - (2n-l), where n is the modulus. In floating point notation, this occurs where the value of the exponent becomes less than 2- 10 +1(-17778). 5 WORD - The content of a storage location. It can be an instruction or 24 bits of data. WRITE - To enter a quantity into a storage location. X RE G ISTER - An arithmetic transfer register. N onaddressable and nondisplayed. Z REGISTER - A 28-bit storage data register. Receives the data and parity bits as they are read from storage or written into storage. Nonaddressable but displayed on the 'T' panel in the storage module. 6 TABLE 1. OCTAL LISTING OF INSTRUCTIONS OCTAL OPERATION CODE MNEMONIC CODE ADDRESS FIELD INSTRUCTION DESCRIPTION PAGE NO. 0.. 7-30 7-31 7 -31 7-31 7-31 7-31 7-31 Unconditional stop, RNI m upon restarting SJ1 m m If jump key 1 is set. jump to m SJ2 m If jump key 2 is set. jump to m SJ3 If jump key 3 is set, jump to m SJ5 m m m SJ6 m If jump key 6 is set. jump to m RTJ m P + 1 --. m (address portion). RNI to m for P 1 01 02.0 02.1-3 UJP.I m,b Unconditional jump to m 02.4 02.5-7 No operation (see 14.0) IJD m.b 03.0 03.1 03.2 03.3 03.4 03.5 03.6 03.7 04.0 04.1-3 04.4 AZJ.EQ m 04.5 00.0 00.1 00.2 00.3 00.4 00.5 00.6 00.7 HLT SJ4 If jump key 4 is set, jump to m If jump key 5 is set. jump to m + No operation (see 14.0) IJI I m,b b If (B ) = 0, RNI RNI @ m 0.. m +1. return 7-32 7-32 ® P + 1; if (B b) r!- 0, (B b) - 1 ---; B~ 7-33 If (B b) = 0, RNI @ P RNI @ m + 1; if (B b) r!- 0, b (B ) - , 1 AQJ.LT m +1 If (A) r!- O. RNI 0.. m, otherwise RNI 0.. P + 1 If (A) 2: 0, RNI @ m, otherwise RNI @ P + 1 If (A) < 0, RNI 0.. m. otherwise RNI 0.. P + 1 If (A) = (Q), RNI 0.. m. otherwise RNI 0.. P + 1 If (A) r!- (Q). RNI @ m, otherwise RNI 0.. P + 1 If (A) 2: (Q). RNI 0.. m, otherwise RNI @ P + 1 If (A) < (Q). RNI 0.. m, otherwise RNI @ P + 1 ISE If y = 0, RNI @ P + 2, otherwise RNI @ P +1 ISE Y y,b If y = (B RNI @ P RNI ASE.S y If y = (A). RNI @ P Sign of y is extended RNI QSE.S y If y = (Q). RNI @ Sign of y is extended RNI @ AZJ.NE m AZJ.GE m AZJ.LT AQJ.EQ m m AQJ.NE m AQJ.GE m If (A) = 0, RNI @ m, otherwise RNI @ P b ). + 2, otherwise + 2, otherwise P + 2. otherwise 0.. 0.. +1 + 1. P + 1. P + ® P + 1. + + 1. y If y = (A), RNI @ P 2, otherwise RNI Lower 15 bits of A are used 04.7 QSE y If y = (Q). RNI @ P 2, otherwise RNI @ P Lower 15 bits of Q are used + 2, otherwise RNI @ P + 1 + 2. otherwise RNI @ P + 1 P + 2, otherwise RNI @ P + 1. Y y,b If Y ISG ASG.S y If (A) 2: y. RNI @ 05.5 QSG,S y If (Q) 2: y, RNI @ P 05.6 05.7 06.0-7 ASG y Sign of y is extended If (A) 2: y, RNI @ P 2. otherwise RNI QSG y MEQ m.i (B b ) = 0, RNI @ P 2: y, RNI 0.. P MTH m.i + 2, otherwise RNI @ P SSH m + P + 2, otherwise +1 If (Q) 2: y, RNI @ RNI @ P + 1 (B1) - i ---; B1; if (B1) negative, RNI @ P + 1; if (B1) positive, test (A) = (Q) 1\ (M).if true RNI 0.. P + 2; if false, repeat sequence (B2) - i ---; B2; if (B2) negative, RNI @ P + 1; if (B2) positive, test (A) 2: (Q) 1\ (M). if true. RNI @ P + 2; 0.. P lSI y,b + 7-54 + + 7 7-14 7 -14 7-14 7-55 Test sign of (m). shift (m) left one place end around and replace in storage. If sign negative, RNI 0.. P 2; otherwise RN I 0.. P 1 b If (B b) = y, clear Bb and RNI @ P 2; if (B ) r!- y, (B b) 1 ---; B b, R N I @ P 1 + 10.1-3 7-13 7-14 7-14 + 1. if false, repeat sequence 10.0 7-13 7 -14 Sign of y is extended 07.0-7 7 -13 7-13 ASE ISG 7-34 7-35 7-35 7-35 7-35 7-36 7-36 7-36 7-36 7-13 7-13 P 04.6 05.0 05.1-3 05.4 b B, + 7-50 7-19 Rev. F TABLE 1. OCTAL LISTING OF INSTRUCTIONS (CONTINUED) OCTAL OPERATION CODE PAGE NO. INSTRUCTION DESCRIPTION MNEMONIC CODE ADDRESS FIELD 10.4 ISD y, b Skip next instruction if Y = 0 10.5-7 ISD Y,b If lsb) = y, cl~ar Sb and RNI @ P 1 (S ) - 1 ---> Sand RNI @ P 7-19 + + 2; if (Sb) ~ y, 7-19 7-15 7-15 z ---> A. lower 17 bits of A are used z ---> A, sign of z extended 11.0 11.4 12.0-3 ECHA z ECHA,S z SHA Y,b 12.4-7 SHQ Y,b 13.0-3 SHAQ y,b 13.4-7 SCAQ y,b 14.0 No operation 14.1-3 14.4 ENI y,b Clear Sb, enter y 7-15 ENA,S Y Clear A, enter y, sign extended 14.5 14.6 14.7 15.0 15.1-3 ENQ,S Y Clear Q, enter y, sign extended ENA Y Clear A, enter y ENQ No operation INI Y Clear Q, enter y 7-15 7-15 7-15 7-15 y,b Increase (Sb) by y, signs of y and Sb are extended 15.4 15.5 INA,S Y Increase (A) by y, sign extended INQ,S Y Increase (Q) by y, sign extended 15.6 15.7 16.0 16.1 -3 INA Y Y Increase (A) by Y XOI y,b 16.4 XOA,S y 16.5 XOQ,S Y 16.6 16.7 XOA y XOQ Y V YV y V y V y V 17.0 17.1-3 No operation INQ No operation + Shift (A). Shift count K = k (Sb) (signs of k and Sb extended). If bit 23 of K = "1 ", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left and lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off Shift (Q). Shift count K = k (Sb) (signs of k and Sb extended). If bit 23 of K = "1", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off Shift (AQ) as one register. Shift count K = k (Sb) (signs of k and Sb extended). If bit 23 of K = "1", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off + + Shift (AQ) left end around until upper 2 bits of A are unequal. Residue K = k - shift count. If b = 1, 2, or 3, K ---> Sb; if b = 0, K is discarded 7-50 7-52 7-52 7-52 No operation (COMPASS assembled NOP) Increase (Q) by Y y (Sb) (A) Sb ---> ---> A. Sign of y extended (Q) ---> Q. Sign of y extended (A) ---> A, no sign extension (Q) ---> Q, no sign extension 7-16 7-16 7-17 7-17 7-17 7-17 7-17 ANI y,b y /\ (Sb) 17.4 17.5 17.6 ANA,S Y Y /\ (A) ---> ANQ,S Y y /\ (Q) ---> Q, sign of y extended ANA Y y /\ (A) ---> A, no sign extension 17.7 20 21 ANQ LDA,I Y y /\ (Q) ---> Q, no sign extension m,b (M) LDQ,I m,b (M) 22 LACH r,l (R) ---> A. Load lower 6 bits of A 7-20 23 24 LQCH r,2 (R) ---> Q. Load lower 6 bits of Q 7-22 LCA,I m,b (M) A 7-21 Rev. F ---> ---> ---> ---> Sb 7-16 7-16 7-16 A. sign of y extended A Q 8 7-18 7-18 7-18 7-18 7-18 7-20 7-22 TABLE 1. OCTAL LISTING OF INSTRUCTIONS (CONTINUED) OCTAL OPERATION CODE 25 26 27 30 31 32 33 34 35 MNEMONIC CODE LDAO,I LCAO,I INSTRUCTION DESCRIPTION ADDRESS FiElD m,b (M)->A, (M m,b (M)->A, (M + 1)->0 + 1)->0 LDU m,b (M) 1\ (0) -> A ADA,I m,b Add (M) to (A) -> A SBA,I m,b (A) minus (M) -> A ADAO,I m,b Add (M,M SBAO,I m,b (AO) minus (M,M + 1) to (AO) -> AO + 1) -> AO RAD,I m,b Add (M) to (A) -> (M) SSA,I m,b Where (M) contains a "1" bit, set the corresponding bit in A to "1" 36 SCA.I m,b Where (M) contains a "1" bit, complement the corresponding bit in A 37 40 41 42 43 44 45 46 47 50 LPA,I m,b (M) 1\ (A) -> A (A)->(M) 51 52 53 53 53 53 53 53 53 53 53 53 53 STA,I m,b STO,I m,b (O)->(M) SACH (AOO.05) -> R SOCH r,2 r,1 (000·05) SWA,I m,b (AOO·14) -> (MOO·14) STAO,I m,b (AO) -> (M,M SCHA.I m,b STI,I m,b (AOO·16) -> (MOO-16) b (B ) -> (MOO-14) MUA.I m,b Multiply (A) by (M) -> ~A. product in A DVA,I m,b (A) -;- (M) -> A. remainder -> 0 CPR,I m,b R + 1) + + TIA b (M) > (A)' RNI @ P 1 (0) > (M), RNI @ P 2 (A) ~ (M) ~ (0)' RNI @ P b Clear (A).(B ) -> AOO-14 TAl b (AOO-14) -> Bb TMO v (v)->O TOM v (0) ->V TMA v (v)->A TAM v (A)->v TMI v,b TIM v,b (VOO-14) -> Bb b (B ) -> VOO-14 AOA AlA IAI b b PAGE NO. 7-21 7-21 7-21 7-38 7-39 7-40 7-40 7-38 7-37 7-37 7-37 7-23 7-24 7-23 7-24 7-25 7-24 7-25 7-25 Lowest order bits of 7-39 7-39 } +3 (A) and (Q) 7-53 are unchanged Add (A) to (0) -> A b Add (A) to (B ) -> A b Add (A) to (B ) -> Bb Sign of Bb extended prior to addition 7-27 7-27 7-27 7-27 7-28 7-28 7-28 7-28 7-26 7-26 7 -26 All other combinations of 53.00-77 are undefined and will be rejected by the assembler 54 55.0 55.1 55.2 55.3 55.4 55.5 55.6 55.7 (MOO-14) -> Bb 7-22 ELO (EL) -> 0 EUA (EU) ->A EAO (EUEL) ->AO 7-29 7-29 7-29 LOI,I m,b No operation No operation OEL (0) -> EL 7-29 AEU (A) -> EU AOE (AO) -> EUEL 7-29 7-29 9 Rev, F TABLE 1. OCTAL LISTING OF INSTRUCTIONS (CONTINUED) OCTAL OPERATION CODE MNEMONIC CODE PAGE NO. INSTRUCTION DESCRIPTION ADDRESS FiElD + 1) ---> AQE 7-42 56 MUAQ.I m.b Multiply (AQ) by (M.M 57 DVAQ m.b (AQE) -7- (M.M 1) ---> AQ and remainder with sign extended to E. Divide fault halts operation and program advances to next instruction 60 FAD.I m.b 61 FSB.I m.b 62 FMU.I m.b 63 FDV.I m.b + + 1) to (AQ) ---> AQ Floating point subtraction of (M.M + 1) from (AQ)--->AQ Floating point multiplication of (AQ) and (M.M + 1) ---> AQ Floating point division of (AQ) by (M.M + 1) ---> AQ. Floating point addition of (M.M 7-42 7-43 7-44 7-44 7-44 remainder with sign extended to E LDE 64 r.1 Load E with up to 12 numeric BCD characters from storage. BCD field length is specified by (D). Characters are read consecutively from least significant character at address (R (D) - 1) until the most significant character at address R is in E. (E) is shifted right as loading progresses. The sign of the field is acquired along with the least significant character 7-48 + 65 STE r.2 Store up to 13 numeric BCD characters from E. Least significant character is stored at R (D) - 1 continuing back to most significant character stored in R 7-48 66 ADE r.3 Up to twelve 4-bit characters (most significant character at address R) are added to (E). Sum appears in E. (D) register specifies field length 7-47 67 SBE r.3 Up to twelve 4-bit characters (most significant character at address R) are subtracted from (E). Difference appears in E. (D) specifies field length 7-47 70.0-3 SFE y.b Shift E in one character (4 bit) steps. Left shift: bit 23 = "0". magnitude of shift = lower 4 bits of K = k b (B ). Right shift: bit 23 = "1". magnitude of shift b = lower 4 bits of complement of K = k (B ) 7-49 + + + ,c. O. +1 70.4 EZJ.EQ m (E) = O. jump to m; (E) 70.5 EZJ.LT m (E) 70.6 EOJ m Jump to m if E overflows. otherwise RNI @ P 70.7 SET y Set (D) with lower 4 bits of y 7-46 7-56 < O. RNI @ P jump to m; (E) ~ O. RNI @ P +1 7-49 +1 71 *** SRCE.INT c.r.s Search for equality of character c in a list beginning at location r until an equal character is found, or until character location s is reached; 0 ::; c ::; 6310 71 **** SRCN.INT c.r.s MOVE.INT c.r.s Same as SRCE except search condition is for inequality Move c characters from r to s; 1 ::; c ::; 12810 INPC.INT. ch.r.s 72 73 ** 73 * B.H 74 ** INAC.INT INPW.INT. B.N ch ch.m.n 7-49 7-49 7-56 7-58 A 6- or '12-bit character is read from peripheral device and stored in memory at a given location (A) is cleared and a 6-bit character is transferred from a peripheral device to the lower 6 bits of A 7-80 Word address is placed in bits 00-14. 12- or 24-bit words are read from a peripheral device and stored in memory 7-74 7-72 74 * INAW.INT ch (A) is cleared and a 12- or 24-bit word is read from a peripheral device into the lower 12 bits or all of A (word size depends on 1/0 channel) 7-82 75 ** OUTC.INT. ch.r.s Storage words disassembled into 6- or 12-bit characters and sent to a peripheral device 7-76 75 * OTAC.INT ch Character from lower 6 bits of A is sent to a peripheral device. (A) retained 7-84 76 ** OUTW.INT B.N ch.m.n Words read from storage to a peripheral device 7-78 B.H *7 -bit operation code. bit 17 = "1 " **7 -bit operation code. bit 17 = "0" Rev. F 10 ***7 -bit operation code. bit 17 in P ****7 -bit operation code, bit 17 in P +1= +1 = "0" "1 " TABLE 1. OCTAL LISTING OF INSTRUCTIONS (CONTINUED) OCTAL OPERATION CODE * MNEMONIC CODE ADDRESS FiElD INSTRUCTION DESCRIPTION PAGE NO. OTAW,INT ch Word from lower 12 bits or' all of A (depending on type of liD channel) sent to a peripheral device 7-86 77.0 CON x,ch If channel ch is busy, reject instruction, RNI (Q, P + 1 If channel ch is not busy, 12-bit connect code sent on channel ch with connect enable, R N I Cit P + 2 7 -70 77.1 SEl x,ch If channel ch is busy, read reject instruction from P + 1. If channel ch is not busy, a 12-bit function code is sent on channel ch with a function enable, RNI @ P + 2 7-70 77.2 EXS x,ch Sense external status if "1" bits occur on status lines in any of the same positions as "1" bits in the mask, RNI Cit P + 1. If no comparison, RNI (Q, P + 2 7-60 77.2 COpy ch External status code from liD channel ch -> lower 12 bits of A, contents of interrupt mask register-> upper 12 bits of A; RNI @ P + 1 7-60 77.3 INS x,ch Sense internal status if "1" bits occur on status lines in any of the same positions as "1" bits in the mask, RNI @ P + 1. If no comparison, RNI @ P + 2 7-62 77.3 CINS ch Interrupt mask and internal status to A 7-62 77.4 INTS x,ch Sense for interrupt condition; if "1" bits occur simultaneously in interrupt lines and in the interrupt mask, RNI @ P + 1; if not, RNI @ P + 2 77.50 INCl x 77.51 10Cl x Interrupt faults defined by x are cleared Clears I/O channel or search/move control as defined by bits 00-07, 08 and 11 of x, 7 -63 77.511 CllO cm lockout external interrupts while channel(s) are busy. 7-69 77.512 ClCA cm 77.52 SSIM x Clear channel activity, not peripherals. Selectively set interrupt mask register for each "1" bit in x. The corresponding bit in the mask register is set to "1" 77.53 SCIM x 77.54-56 77.57 No operation IAPR 77.6 PAUS x 77.61 PRP x 77.70 SlS 77.71 SFPF Set floating point fault logic 77.72 SBCD Set BCD fault logic 7 -67 77.73 DINT Disables interrupt control 7-67 77.74 EINT Interrupt control is enabled, allows one more instruction to be executed before interrupt 7 -67 77.75 CTI Set Type In } 77.76 CTO Set Type Out 77.77 UCS Unconditional stop. 76 Selectively clear interrupt mask register for each" 1" bit in x. The corresponding bit in the mask register is set to "0" Interrupt associated processor Sense busy lines. If" 1" appears on a line corresponding to" 1 " bits in x, do not advance P. If P is inhibited for longer than 40 ms, read reject instruction from P+ 1. If no comparison, RNI (Q, P+2 Same as PAUS, except real-time clock is prevented from incrementing. Program stops if Selective Stop switch is on; upon restarting, RNI Cit P + 1 11 Beginning character address must be present in location 23 of register file and last character address + 1 must be preset in location 33 of the file Upon restarting, RNI @ P+ 1 7-61 7-65 7-69 7 -66 7 -66 7 -66 7-64 7-64 7-31 7 -67 7 -71 7-31 Rev.H TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS MNEMONIC CODE OCTAL OPERATION CODE ADA.I ADAQ.I ADE 30 32 66 AEU AlA ANA ANA.S ANI ANQ ANQ.S AQA AQE AQJ.EQ AQJ.GE AQJ.LT AQJ.NE ASE 55.6 53.(0+b)4 17.6 17.4 17.1-3 17.7 17.5 53.04 55.7 03.4 03.6 03.7 03.5 04.6 ASE.S 04.4 ADDRESS FIELD m.b m.b r.3 Y Y /\ (Q) -; Q. no sign extension Y Y /\ (Q) -> Q. sign of y extended Add (A) to (Q) -; A m m m m y y y y AZJ.EQ AZJ.GE AZJ.LT AZJ.NE 03.0 03.2 03.3 03.1 CllO 77.511 m m m m cm CINS 77.3 ch ClCA 77.512 cm CON 77.0 x.ch COPY 77.2 ch CPR.I 52 m,b CTO DINT DVA.I DVAQ 77.76 77.73 51 57 EAQ ECHA ECHA.S EINT 55.3 11.0 11.4 77.74 Up to twelve 4-bit characters (most significant character at address R) is added to (E). Sum appears in E. (D) specifies field length (A)-> EU Add (A) to (Bb) -> A y /\ (A) -> A. no sign extension y /\ (A) -; A. sign of y extended Y /\ (B b) -; Bb 05.6 05.4 77.75 7-38 7-40 Add (M) to (A) -> A Add (M.M + 1) to (AQ) -> AQ b y y y.b ASG ASG.S CTI PAGE NO. INSTRUCTION DESCRIPTION (AQ) -; EUEL If (A) = (Q). RNI @ m. If (A) ~ (Q). RNI @ m. If (A) < (Q). RNI @ m. If (A) ~ (Q). RNI @ m. If y = (A). RNI @ P + lower 15 bits of A are If y = (A). RNI @ P + Sign of y is extended. z z P+ P+ P+ P+ 1 1 1 1 @ P+ 1 7-13 @ P+ 1 7-13 If (A) ~ y. RNI @ P+2. otherwise RNI @ If (A) ~ y. RNI @ P+2. otherwise RNI @ Sign of y is extended If (A) = O. RNI @ m. otherwise RNI @ P + If (A) ~ O. RNI @ m. otherwise RNI @ P + If (A) < O. RNI @ m. otherwise RNI @ P + If (A) ~ O. RNI @ m. otherwise RNI @ P + lockout external interrupts while channel(s) are busy. Interrupt mask and internal status to A P+ 1 P+ 1 1 1 1 1 Clear channel activity, not peripherals. If channel ch is busy. reject instruction. RN I @ P + 1 If channel ch is not. busy. 12-bit connect code sent on channel ch with connect enable. RNI @ P + 2 External status code from I/O channel ch to lower 12-bits of A. contents of interrupt mask register to upper 12-bits of A. RNI @ P 1 + + (M( > (AI. RN' @ P 1 }. (Q) > (M). RNI @ P + 2 (A) and (Q) (A) ~ (M) ~ (Q). RNI @ P + 3 are unchanged Sot Typ' m.b m.b otherwise RNI @ otherwise RNI @ otherwise RNI @ otherwise RNI @ 2. otherwise RNI used 2. otherwise RNI 7-47 7-29 7-26 7 -18 7 -18 7-18 7-18 7-18 7-26 7-29 7-36 7-36 7-36 7-36 7-14 7-14 7-35 7-35 7-35 7-35 7-69 7-62 7-69 7-70 7-60 7-53 '0 } preset B,g'oo'o. 'h""", ,ddee" m"" b, in location 23 of register file and last character address + 1 must Set Type Out be preset in location 33 of the file Disables interrupt .control (A) +- (M) -> A. remainder -; Q (AQE) +-(M.M + 1) -> AQ and remainder with sign extended to E. Divide fault halts operation and program advances to next instruction (EUEU -;AQ z -; A. lower 17 bits of A are used z -> A. sign of z extended Interrupt control.is enabled. Allows one more instruction to be executed before interrupt 7"71 7-67 7-39 7-42 7-29 7-15 7-15 7-67 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (CONTINUED) MNEMONIC CODE OCTAL OPERATION CODE PAGE NO. INSTRUCTION DESCRIPTION ADDRESS FIELD (El)~Q 7-29 y Clear A, enter y 7-15 Y Clear A, enter y, sign extended 7-15 y,b Clear B ElQ 55.1 ENA 14.6 ENA.S 14.4 14.1-3 14.7 y Clear Q, enter y 7-15 ENQ.S 14.5 y Clear Q, enter y, sign extended 7-15 EOJ 70.6 m Jump to m if E overflows, otherwise RNI AQ 7-43 FDV,I 63 m,b Floating point division of (AQ) by (M,M + 1) --> AQ Remainder with sign extended to E 7-44 FMU,I 62 m,b Floating point multiplication of (AQ) and (M,M + 1) ~AQ 7-4Lj. FSB,I 61 m,b Floating point subtraction of (M,M + 1) from (AQ)-->AQ 7-44 HlT 00.0 m 53 (4+b)4 b Unconditional stop, RNI B , RNI (g m b b b b If (B ) = O. RNI QJ. P + 1; if (B ) o;L 0, (B ) + 1 -; B , RNI QJ m ENI ENQ (E) m,b < b , 7-15 enter y 0, jump to m; (E) :2: 0, RNI QJ P + 1 7-49 7-26 7-34 IJI 02.1-3 m,b INA 15.6 y Increase (A) by y 7-16 INA.S 15.4 7 -16 73 * Y ch Increase (A) by y, sign of y is extended INAC,INT (A) is cleared and a 6-bit character is transferred from a peripheral device to the lower 6 bits of A 7-80 INAW,INT 74 * ch (A) is cleared and a 12- or 24-bit word is read from a peripheral device into the lower 12 bits or all of A (word size depends on liD channel) 7-82 INCl 77.50 x INI 1 5.1 -3 y,b Interrupt faults defined by x are cleared Increase (B b) by y, signs of y and Bb are extended INPC,INT,B,H 73 ** ch,r,s A 6- or 12-bit character is read from a peripheral device and stored in memory at a given location 7-72 ch,m,n Word Address is placed in bits 00-14, 12- or 24-bit words are read from a peripheral device and stored in memory 7-74 INPW,INT.B,N 74 ** 7-33 7-65 7-16 INQ 15.7 y Increase(Q)byy 7-16 INQ,S 15.5 Increase (Q) by y, sign of y is extended 7 -16 INS 77.3 Y x,ch Sense internal status if" 1 " bits occur on status lines in any of the same positions as "1" bits in the mask, RNI QJ P+ 1. If no comparison, RNI @ P+2 7-62 INTS 77.4 c,ch Sense for interrupt condition; if "1" bits occur simultaneously in interrupt lines and in the interrupt mask, RNI ~L P + 1, if not, RNI B , RNI @ P + 1 (R) -> A; load lower 6 bits of A (M)->A (M)->A, (M + 1)->Q (M)->A (M)->A, (M + l)->Q Load E with up to 12 numeric BCD characters from storage. BCD field length is specified by (D) register. Characters are read consecutively from least significant character at address (R + (D) -1) until the most significant character at address M is in E. (E) is shifted right as loading progresses. The sign of the field is acquired along with the least significant character (Moo-14) -> Bb (M) A (Q)->A (M)->Q (M) A (A)->A (R) -> Q; load lower 6 bits of Q (B1) - i -> B1; if (B1) negative, RNI @ P + 1; if (8 1) positive, test (A) = (Q) 1\ (M); if true, RNI @ P + 2, if false, repeat sequence Move c characters from r to s; I ~ c ~ 12810 (B2) - i -, B2; if (B2) negative, RNI @ P + 1; if (B2) positive, test (A) ~ (Q) A (M); if true, RNI @ P + 2; if false, repeat sequence Multiply (A) by (M) -> QA; lowest order bits of product in A 50 m,b MUAQ,I m,b OTAC,INT 56 75* ch OTAW,INT 76* ch OUTC, INT,B,H 75 OUTW, INT,B,H 76*" ch,m,n Words read from storage to peripheral device PAUS 77.6 x PRP 77.61 x QEL QSE 55.5 04.7 y QSE,S 04.5 y QSG 05.7 y Sense busy lines. If" 1 " appears on a line corresponding to "1" bits in x, do not advance P. If P is inhibited for longer than 40 ms, read reject instruction from P + 1. If no comparison, RNI @ P + 2 Same as PAUS except real-time clock is prevented from incrementing. (Q) -> EL If y = (Q). RNI @ P + 2, otherwise RNI@P+l; lower 15 bits of Q are used If y = (Q). RNI @ P + 2, otherwise RNI @ P + 1 Sign of y is extended If (Q) ~ y, RNI @ P + 2, otherwise RNI @ P + 1 ch,r,s *7 -bit operation code, bit 17 = ''1'' Rev. H Multiply (AQ) by (M,M + 1) -> AQE Character from lower 6 bits of A is sent to peripheral device, (A) retained Word from lower 12 bits or all of A (depending on type of 1/0 channel) sent to a peripheral device Storage words disassembled into 6 or 12-bit characters and sent to a peripheral device 14 7-19 7-13 7-13 7-14 7-14 7-19 7-20 7-21 7-21 7-20 7-21 7-48 7-22 7-21 7-22 MUA,I "'it PAGE NO. 7-37 7-22 7-54 7-58 7-55 7-39 7-42 7-84 7-86 7-76 7-78 7-64 7-64 7-29 7-13 7-13 7-14 **7 -bit operation code, bit 17 = "0" TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (CONTINUED) MNEMONIC CODE OCTAL OPERATION CODE ADDRESS FiElD QSG.S 05.5 y RAD,I 34 m,b RTJ 00.7 m SACH 42 r,2 SBAI SBAQ,I 31 33 77.72 67 m,b m,b SBCD SBE r,3 IIIISTRUCTION DESCRIPTION PAGE NO. If (Q) 2': y, RNI @ P + 2, otherwise RNI @ P + 1 Sign of y is extended Add (M) to (A) -> (M) 7-14 P + 1 -> M (address portion) RNI @ m + to m for P + 1 (AOO-05) -> R (A) minus (M) -> A (AQ) minus (M, M + 1) -> AQ Set BCD fault logic Up to twelve 4-bit characters (most significant character at address m) is subtracted from E. Difference appears in E. (D) register specifies field length. Where (M) contains a "1" bit. complement the corresponding bit in A Shift (AQ) left end around until upper 2 bits of A are unequal. Residue K = k-shift count. If b = 1, 2, or 3, K -> Bb; if b=O, K is discarded SCAI 36 m,b SCAQ 13,4-7 y,b SCHAI SCIM 46 77.53 m,b (AOO-16) -> (MOO-16) x SEL 77.1 x,ch Selectively clear Interrupt Mask Register for each "1" bit in x. The corresponding bit in the mask register is set to "0" If channel ch is busy, read reject instruction from P + 1. If channel ch is not busy, a 12-bit function code is sent on channel ch with a function enable, RNI@P+2 Set (D) with lower 4 bits of y Shift (E) in one character (4-bit) steps. Left shift: bit 23 = "0", magnitude of shift = lower 4 bits of K = k + (B\ Right shift: bit 23 = "1", magnitude of shift= b lower 4 bits of complement of K = k + (B ) Set floating point fault logic b Shift (A). Shift count K=k + (B ) (signs of k and Bb extended). If bit 23 of K = "1", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off SET SFE SFPF 70.7 70.0-3 Y k,b SHA 77.71 12.0-3 y,b SHAQ 13.0-3 y,b SHQ SJl SJ2 SJ3 SJ4 SJ5 SJ6 12.4-7 00.1 00.2 00.3 00.4 00.5 00.6 y,b m m m m m m Shift (AQ) as one register. Shift count K = k + Bb (signs of k and Bb extended). If bit 23 of K = "1", shift right and complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left and lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off b Shift (Q), Shift count K = k + (B ) (signs of k and Bb extended). If bit 23 of K = "1", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0". shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off If jump key 1 is set, jump to m If jump key 2 is set, jump to m If jump key 3 is set, jump to m If jump key 4 is set, jump to m If jump key 5 is set. jump to m If jump key 6 is set. jump to m 15 7-38 1. return 7-32 7-23 7-39 7-40 7-67 7-47 7-37 7-52 7-25 7-66 7-70 7-46 7-49 7-67 7-50 7-52 7-52 7-31 7 -31 7-31 7-31 7-31 7-31 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (CONTINUED) MNEMONIC CODE OCTAL OPERATION CODE ADDRESS FIELD SLS 77.70 SGCH 43 r,1 SRCE.INT 71* c.r.s SRCN.INT 71** c.r.s SSA.I 35 SSH INSTRUCTION DESCRIPTION Program stops if Selective Stop switch is on; upon restarting RNI @ P + 1 (GOO.05) ---; R PAGE NO. 7-31 7-24 Search for equality of character c in a list beginning at location r until an equal character is found, or until character location s is reached; 0 :::;; c :::;; 6310 Same as SRCE except search condition is for inequality 7-56 m.b Where (M) contains a "1" bit. set the corresponding bit in A to "1" 7-37 10.0 m Test sign of (m). shift (m) left one place. end around and replace in storage. If sign negative. RNI @ P + 2; otherwise RNI @ P + 1 7-50 SSIM 77.52 x STA.I 40 m.b Selectively set interrupt mask register for each "1" bit in x. The corresponding bit in the mask register is set to "1 " (A) ---; (M) STAG.I 45 m.b (AG) ---; (M ,M + 1 ) 7-24 STE 65 r.2 7-48 STI.I 47 m.b Store up to 13 numeric BCD characters from E. Least significant character stored at R+(D)-1 continuing back to most significant character stored at R (B b) ---; (MOO.14) STG.I 41 m.b (G) ---; (M) 7-24 SWA.I 44 m,b (AOO·14) ---; (MOO·14) 7-25 TAl 53 b (AOO.14) ---; Bb 7-27 TAM 53 v (A) ---; v 7-28 TIA 53 b 7-27 TIM 53 v.b TMA 53 v TMI 53 v.b TMG 53 v b Clear (A). (B ) ---; AOO·14 b (B ) ---; V00.14 (v) ........ A b (VOO.14) --> B (v) ........ G 53 v (G)-->v 7-27 TGM UCS UJP.I 77.77 01 7-66 7-23 7-25 7-28 7-28 7-28 7-27 Unconditional stop. Upon restarting RNI @ P + 1. 7-31 m.b Unconditional jump to M 7-32 y V (A) --> A. no sign extension y V (A) ---; A, sign of y is extended y V (B b) ---; Bb 7-17 y V (G) ---; G. no sign extension 7-17 Y V (G) ---; G. sign of y is extended 7-17 XOA 16.6 y XOA.S 16.4 y XOI 16.1-3 XOG 16.7 y.b y XOG.S 16.5 Y *7-bit operation code. bit 17 in P + 1 = "0" **7-bit operation code. bit 17 in P + 1 = "1" Rev. F 7-56 16 7-17 7-17 TABLE 3. FUNCTION LISTING OF INSTRUCTIONS FUNCTION Transfers MNEMONIC CODE PAGE NO. INSTRUCTION DESCRIPTION AEUttt (A)----> EU 7-29 ANAt y A (A b ) ---" A 7-18 ANA.S y A (A) ---" A, sign of y extended y A (B b) ----> Bb 7-18 y A (Q)----> Q. no sign extension 7-18 ANlt ANQt 7-18 ANQ.S y A (Q) ----> Q. sign of y extended 7 -18 EAQttt (EU EL) ---->AQ 7-29 ELQttt (EL) ---->Q 7-29 ENA Clear A. enter y 7-15 ENA.S Clear A. enter y. sign extended ENI Clear Bb. enter y 7 -15 7 -15 ENQ Clear Q. enter y 7-15 ENQ.S Clear Q. enter y. sign extended 7-15 EUAttt (EU)----> A (M)---->A 7-21 LDA.I (M)---->A. (M+ 1)---->Q (M)----> A 7-20 LDAQ.I (M)---->A. (M LDEt LDLI Load E with up to 12 numeric BCD characters from storage. BCD field length is specified by (D) register. Characters are read consecutively from least significant character at address (R (D)-l) until the most significant character at address R is in E. (E) is shifted right as loading progresses. The sign of the field is acquired along with the least significant character (MOO.14) ----> Bb LDUt (M) A (Q)---->A 7-21 LDQ.I (M)---->Q 7-22 7-37 LCA.lt LCAQ.lt 7-29 7-21 + l)---->Q 7-21 + 7-48 7-22 LPA.lt (M) A (A)---->A SSA.lt Where (M) contains a "1" bit, set the corresponding bit in A to "1" 7-37 STA.I (A)---->(M) 7-23 STAQ.I (AQ)----> (M.M STEttt Store up to 13 numeric BCD characters from E. Least significant character stored at R (D)-l continuing back to most significant character stored in R (B b) ----> (MOO-14) (Q)---->(M) STLI STQ.I + 1) 7-24 + 7-48 7-25 7-24 7-25 TAl (AOO-14) ----> (MOO.14) (AOO-14) ----> Bb TAM (A) ---->v 7-28 b Clear (A). (B ) ----> AOO·14 b (B ) ----> V OO · 14 (v) ---->A 7-27 7-28 TMQ (vOO. 14) ----> Bb (v)---->Q TQM (Q)---->v XOAt y V (A) 7-27 7-17 XOA.St XOlt y V (A) ----> A. sign of y is extended y V (B b) ----> Bb 7-17 7-17 XOQt y V (Q) ----> Q. no sign extension 7 -17 SWA.I TIA TIM TMA TMI 7-27 7-28 7-28 7-27 A. no sign e)(tension t Requires additional operation prior to transfer. tt Trapped Instruction if optional floating point/48-bit precision hardware is absent. t t t Trapped Instruction if optional BCD hardware is absent. 17 Rev. F TABLE 3. FUNCTION LISTING OF INSTRUCTIONS (CONTINUED) FUNCTION Transfers (Continued) Character Operation MNEMONIC CODE XOQ.St y V (Q) ---. Q. sign of y is extended MOVE.INT QELttt Move c characters from r to s: I S c S (Q)---.EL SACH (Aoo.os) ---. (R) 7-23 SCA.I Where (M) contains a "'" bit. complement the corresponding bit in A Set (D) with lower 4 bits of y 7-37 SETttt ECHA ECHAS LACH LQCH SQCH Arithmetic PAGE NO. INSTRUCTION DESCRIPTION 7-17 7-58 12810. 7-29 z ---> AOO·16 Z ---> 7-46 7-15 7-15 A sign extended (R) ---. ADD-OS 7-20 (R) ---. Qoo·os 7-22 7-24 (Qoo.os) ---. (R) SCHA.I (AOO-16) ---> ADAI Add (M) to (A) ---. A ADAQ.I ADEttt Add (M.M 1) to (AQ) ---> AQ Up to twelve 4-bit characters (most significant character at address R) is added to (E). Sum appears in E. (D) register specifies field length AlA Add (A) to (B b ) AQA Add (A) to (Q) ---. A 7-26 AQEttt (AQ) ---. (EU EL) (A) -;- (M) ---> A. Remainder -> Q 7-29 OVAl DVAQtt (M 00·16) 7-25 + --7 7-47 7-26 A 7-39 + 1) ---> AQ and remainder with sign extended (AQE) -;- (M.M to E. Divide fault halts operation and program advances to next instruction 7-42 Floating point addition of (M.M 7-43 FDV.ltt + 1) to (AQ) Floating point division of (AQ) by (M.M + 1) FMU.ltt with sign extended to E Floating point mUltiplication of (AQ) and (M.M FADtt 7-38 7-40 -> ---> + AQ AQ. remainder + 1) ---> AQ 7-44 7-44 Floating point subtraction of (M.M 1) from (AQ) -> AQ Add (A) to (B b) -> Bb Sign of Bb extended prior to addition 7-44 IAI INA Increase (A) by y INA.S INI Increase (A) by y. sign extended b Increase (B ) by y. signs of y and Bb are extended 7 -16 7 -16 7 -16 INQ Increase (Q) by y 7-16 INQ.S MUA.I MUAQ.ltt Increase (Q) by y. sign extended Multiply (M) by (A) ---. QA. Lowest order bits of product in A 7-39 FSB.ltt RAD.I SBA.I SBAQ.I MUltiply (AQ) by (M.M Add (M) to (A) ---. (M) (A) minus (M) -> A (AQ) minus (M.M + + 1) -> AQE 1) ---. AQ 7-26 7 -16 7-42 7-38 7-30 7-40 SBEttt Up to twelve 4-bit characters (most significant character at address R) is subtracted from E. Difference appears in E. (D) register specifies field length 7-47 Jumps and HLT Unconditional stop: RNI @; m upon restarting 7-30 Stops SJ1 If jump key 1 is set. jump to m SJ2 If jump key 2 is set. jump to m SJ3 SJ4 If jump key 3 is set. jump to m If jump key 4 is set. jump to m 7 -31 7 -31 7 -31 SJ5 If jump key 5 is set. jump to m 7 -31 SJ6 If jump key 6 is set. jump to m 7-31 Rev. F 18 7 -3J TABLE 3. FUNCTION LISTING OF INSTRUCTIONS (CONTINUED) FUNCTION MNEMONIC CODE 7-31 UCS Program stops if Selective Stop switch is on; upon restarting. RNI@;P+1 Unconditional stop. Upon restarting. RNI @; P + 1 UJP.I Unconditional jump to 'm 7-32 RTJ P + 1 ---+ m (address portion). RN I @ m + 1, return to m for P+1 If (A) = (Q). RNI @ m. otherwise RNI @ P + 1 7-36 Jumps and SLS Stops (Continued) Decision PAGE NO. INSTRUCTION DESCRIPTION AQJ.EQ 7-31 7-32 AQJ,GE If (A) ;:0: (Q). RNI @ m. otherwise RNI @ P + 1 7-36 AQJ,LT If (A) (Q). RNI @ m. otherwise RNI @ P + 1 7-36 AQJ.NE If (A) ~ (Q). RNI @ m. otherwise RNI @ P + 1 7-36 ASE Ify = (A). RNI @ P + bits of A are used ASE.S Ify = (A). RNI @ P + 2. otherwise RNI @ P + extended ASG ASG,S If (A) ;:0: y. RNI @ P AZJ.EQ < + 2. otherwise RNI @ P + 7-13 2. otherwise @ P + If (A) ;:0: y, RNI @; P + of y is extended If (A) O. RNI = 1. Lower 15 1. Sign ofy is 7-13 7-14 1 2. otherwise RNI @; P + 1. Sign 7-14 7-35 ® m. otherwise RNI @ P + 1 AZJ.GE If (A) ;:0: 0, RNI @ m. otherwise RNI @ P + 1 7-35 AZJ.LT AZJ.NE If (A) < O. RNI @ m. otherwise RNI @ P + If (A) ~ O. RNI @ m. otherwise RNI @ P + 1 1 7-35 CPR.I (M) > (M). (Q) > (M). (A) ;:0: (M) ;:0: (Q) EOJttt Jump to m if E overflows. otherwise RNI @; P + EZJ.EQttt (E) = EZJ.LTttt 7-49 IJD (E) < O. jump to m; (E) ;:0: O. RNI @ P + 1 b b If (B ) = 0, RNI @ P + 1; if (Bb) ~ (B ) -1 ---+ Bb. RNI @ m IJI ISD If (B ) = 0, RNI @ P + 1; if (B b) ~ (B ) + 1 ---+ Bb. RNI @ m If y = 0, RNI @ P 2; if y ~ 0, RNI @ P 1 7-33 7-19 ISO If (B ) = y. clear Bb and RNI @ P + 2; if (B ) ~ y, (B ) -1 ---+Sb and RNI @ P + 1 ISE ISE If y=O. RNI @ P+2, otherwise RNI @ P+ 1 If y = (B\ RNI @. P + 2, otherwise RNI @ P + 1 7-13 ISG If y =0. RNI @ P+2. otherwise RNI @ P+ 1 7-14 ISG If (B y. RNI @ P + 2. otherwise RNI @ P + 1 7-14 lSI If (B ) = y. clear Bb and RNI @ P + 2; if (B ) ~ y. (B ) + ---+ Bb. RNI @ P + 1 SRCE,INT Search for equality of character c in a list beginning at location r until an equal character is found, or until character location s is reached; ~ c ~ 6310 7-56 SRCN.INT Same as SRCE except search condition is for inequality 7-56 SSH Test sign of (m), shift (m) left one place end around and replace in storage. If sign negative. R N I @ P + 2; otherwise R N I @ P + 1 (B 1) - i ---+ B 1; if (B 1) negative. RNI @ P + 1; if (B1) positive. test (A) ;:0: (Q) II. (M). if true. RNI@; P + 2. if false. repeat sequence RNI @ P + RNI @ P + RNI @ P + O. jump to m; (E) b + ~ 1 } 2 3 b b (A) and (Q) are unchanged O. RNI @ P + o. o. b 7-33 7-49 1 7-49 1 b + b ) ;:0: 7-35 b b b 1 MTH (B2 - i ---+ (B2); if (B2) negative. RN I @ P + PAUS Sense busy lines. If "1" appears on a line corresponding to "1" bits in x. do not advance P. If P is inhibited for longer than 40 ms. read reject instruction from P + 1. If no comparison. RNI @ P+2 Same as PAUS except real-time clock is prevented from incrementing. (A) ;:0: (Q) PRP II. 1; if (B2) positive, test (M); if true. RNI @ P + 2; if false. repeat sequence 19 7-19 7 -13 ° MEQ 7-34 7-19 7-50 7-54 7-55 7-64 7-64 Rev. H TABLE 3. FUNCTION LISTING OF INSTRUCTIONS (CONTINUED) FUNCTION Decision (Continued) MNEMONIC CODE OSE OSE,S OSG OSG,S Shifts SHA SHAO SHO SCAO SFEttt INSTRUCTION DESCRIPTION + + + PAGE NO. + + + Ify = (0), RNI @ P 2; otherwise RNI @ P 1. lower 15 bits of 0 are used If y = (0), RNI @ P 2. Otherwise RNI @ P 1. Sign of y is extended If (0) ;::0: y, RNI @ P 2, otherwise RNI @ P 1 If (0) ;::0: y, RNI @ P 2, otherwise RNI @ P 1. Sign of y is extended b Shift (A). Shift count K = k (B ) (signs of k and Bb extended). If bit 23 of K = "1 ", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. left shifts end around; right shifts end off b Shift (AO) as one register. Shift count K = k (B ) (signs of k and Bb extended). If bit 23 of K = "1", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. left shifts end around; right shifts end off b Shift (0). Shift count K=k (B ) (signs of k and Bb extended). If bit 23 of K = "1 ", shift right; complement of lower 6 bits equal shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. left shifts end around; right shifts end off Shift (AO) left end around until upper 2 bits of A are unequal. Residue K=k-shift count. If b=1, 2, or 3, K->Bb; if b=O, K is discarded Shift E in one character (4-bit) steps. left shift: bit 23 = "0", magnitude of shift = lower 4 bits of K = k (B \ Right shift: .bit 23 = ''1'', magnitude of shift = lower 4 bits of complement of b K = k (B ) + Inputl Output CllO ClCA CON + + + CTI CTO EXS Test sign of (m), shift (m) left one place end around and replace in storage. If sign negative, RNI @ P 2; otherwise RNI @ P 1 + + lockout external interrupts while channel(s) are busy. Clear channel activity, not the peripherals. If channel ch is busy, read reject instruction from P 1. If channel ch is not busy, 12-bit connect code sent on channel ch with connect enable, RNI @ P 2 External status code from 1/0 channel ch to lower 12-bits of A, contents of interrupt mask register to upper 12-bits of A. RN I @P+1 Set Type In } Beginning character address must be preset in location 23 of register file and last character Set Type Out address 1 must be preset in location 33 of the file. Sense external status if "1" bits occur on status lines in any of the same positions as "1" bits in the mask, RNI @ P 1. If no comparison. RNI @ P 2 (A) IS cleared and a 6-bit character is transferred from a peripheral device to the lower 6 bits of A (A) is cleared and a 12 or 24-bit word is read from a peripheral device into the lower 12 bits or all of A (Word size depends on 1/0 channel) A 6 or 12-bit character is read from peripheral device and stored in memory at a given location Word address is placed in bits 00-14; 12- or 24-bit words are read from a peripheral device and stored in memory + + + INAC,INT INAW,INT INPC,INT,B,H INPW.INT.B,N Rev. H 7-14 7-50 7-52 7-52 7-52 + + COpy 7 -13 7 -14 + + SSH 7 -13 7-49 7-50 7-69 7-69 7-70 7-60 7-71 + 7-60 7-80 7-82 7-72 7-74 IOCl Clears I/O channel or search/move control as defined by bits 00-07. 08. and 11 of x. 7-63 OTAC,INT Character from lower 6 bits of A is sent to peripheral device, (A) retained 7-76 20 TABLE 3. FUNCTION LISTING OF INSTRUCTIONS (CONTINUED) FUNCTION Inputl Output (Continued) MNEMONIC CODE INSTRUCTION DESCRIPTION PAGE NO. OTAW,INT Word from lower 12 bits or all of A (depending on type of 1/0 channel) sent to a peripheral device 7-86 OUTC,INT,B,H Storage words disassembled into 6 or 12-bit characters and sent to a peripheral device 7-76 OUTW,INT.B,H Words read from storage to peripheral device 7-78 SEL If channel ch is busy, read reject instruction from P 1. If channel ch is not busy, a 12-bit function code is sent on channel ch with a function enable, RNI @ P 2 + + Interrupt CINS DINT Interrupt mask and internal status to A Disable interrupt control 7-70 7-62 7-67 EINT Interrupt control is enabled, allows one more instruction to be executed before interrupt occurs 7-67 IAPR Interrupt associated processor 7-66 INCL Interrupt faults defined by x are cleared 7-65 INS Sense internal status if "1" bits occur on status lines in any of the same positions as "1" bits in the mask, RNI @ P 1. If no comparison, RNI @ P 2 7-62 INTS Sense for interrupt condition; if "1" bits occur simultaneously in interrupt lines and in the interrupt mask, RNI @ P 1; if not. RNI @ P+2 7-61 SSIM Selectively set Interrupt mask register, for each" 1" bit in x. The corresponding bit in the mask register set to "1 ". 7-66 SBCD Set BCD fault logic 7-67 SCIM Selectively clear interrupt mask register for each "1" bit in x. The corresponding bit in the mask register is set to "0". 7-66 SFPF Set floating point fault logic 7-67 + + + 21 INDEX Console Keyboard . . . . . . . . . . . . . . . ..... 5-8 Console Typewriter .................... 6-1 Control Instructions .................. 7-63 Conversions Word Address-Character Address ....... 7-2 Numbers ....................... '" B-5 Octal-Binary .................. C-6, C-10 D Register ............................... 1-8 Data Bus ............................ 1-10 Register . . . " . . . . . . . . . . . . . . . . . . ... 1-8 Data Processing Package ........... ' ... 8-3 E Register ........................ 1-9,5-1 Error Codes ......................... 8-18 F Register ........................... 1-7 Faults, Arithmetic .................... 4-1 Field Length Register (See D Register) A Register ........................... 1-6 Accumulator (See A Register) Addressing Addressing Modes ............... 7-4,7-5 Address Modification and Indexing ..... 7-3 Absolute Addresses .................. 2-3 Word-Character Conversions .......... 7-2 Arithmetic Faults ............................. 4-1 Fixed Point .................... 7-38, 7-40 Floating Point ...................... 7-43 Supplementary Information ........ App. B Assemblers (See COMPASS and BASIC Assemblers) Assembly Listing Format ................ 8-17 Auto Load/Auto Dump ................... 3-3 Examples ............................ 5-12 Interim Subroutine .................... 3-3 Reserved Addresses .................... 2-4 B b Registers ............................. 1-8 BASIC Assembler ........................ 8-6 BCD ................................... 7-46 Block Control and Interrupt Module ....... 1-3 Block Control Section ............................... 1-10 Clearing Mask ........................ 7-63 Breakpoint Address .............................. 5-13 Mode ................................. 5-13 Switch ................................ 5-7 C Register ........................... 1-7,5-1 Character Address-Word Address Conversions ........................... 7-2 Character Positions ...................... 1-6 Character Set ........................ App. A Clear, Master .................... 5-8,5-9 Clock, Real-Time ........................ 1-12 COBOL ................................. 8-4 Codes Interrupt .............................. 4-5 Error ...... '" ...................... , .8-18 Typewriter Character ................ 6-5 Coding Procedures ........................ 8-7 Forms ........................... 8-19 Compare Instruction ................. 7-53 Communication Register (See C Register) COMPASS Assembler ................. 8-2 Coding Form ...................... 8-19 Computer Organization ............... 1-6 Consoles ......................... 1-4,5-1 Switches and Indicators .............. 5-2 Fixed Point Arithmetic ............... B-8 Floating Point Arithmetic ............. B-9 FORTRAN .............................. 8-5 Coding Form ......................... 8-19 Indexing Address Modification ................... 7-3 Examples ............................. 7-5 Index Registers (See B b Registers) Input/Output Channels .............................. 1-3 Characteristics ......................... 3-1 Instructions ..................... 7-68, 7-69 Interface Signals ....................... 3-1 Parity ............................ 1-13,3-2 Instructions (See also specific instructions) . 7-1 Execution Times ...................... 7-11 Format .................. 7-1,7-14,7-45,8-7 Interpretations ......................... 8-8 Index ..... '" .......................... 7-8 Listings ............................... 7-7 (Also see back of book for Octal, Alphamnemonic and Function Listings on pp. 7, 12, and 17) Macro ................................ 8-12 Pseudo- ................................ 8-9 Symbols ........... pp. 7, 12 (in back of book) Trapped 7-6, 7-7 (See also pp. 7-42 to p. 7-49) Interface Signals ......................... 3-1 Inter-Register Transfer 24-Bit Precision ....................... 7-26 48-Bit Precision ....................... 7-29 Interrupt Clearing and Sensing .................. .4-4 Codes ................................. 4-5 Control ................................ 4-4 23 Instructions .......................... 7-65 Internal ............................... 4-1 I/O .................................... 4-3 Mask Register ......................... 4-3 Power Failure ......................... 4-2 Priority ............................... 4-4 Processing ............................. 4-5 Real time .............................. 4-2 System ................................ 4-1 Trapped Instruction .................... 4-2 Jump Instructions ...................... 7-30 Keyboard (See Console Keyboard) Load Instructions ....................... 7-20 Logical Instructions (with Storage Reference) ............... 7-37 Loudspeaker, Console ..................... 5-4 Macro Instructions ...................... 8-12 Main Control & Arithmetic Module ....... 1-3 Master Clear ......................... 5-8,5-9 Memory Configurations, Optional ................ 1-3 Protection . . . . . . ................... 2-3, 2-5 Meters, Elapsed Time ................... 5-15 Modularity .............................. 1-1 Move Instruction ........................ 7-58 Number Systems ........................ B-1 Octal-Decimal Con version Table Integer ................................ C-6 Fraction .............................. C-I0 Optional Arithmetic ...................... 1-4 P Register ............................... 1-7 Pause Sensing Mask .................... 7-64 Parameters, Instruction (See Symbol Definitions) Parity .................................. 1-12 Storage ............................... 1-12 I/O ............................... 1-13.3-2 Peripheral Equipment ............... 1-1,1-13 Power Control Panel ................ 1-4,5-15 Program Address Counter (See P Register) Programming Reference Table ......... App. C Pseudo-Instructions ...................... 8-9 Q Register ............................... 1-7 Radix Arithmetic ........................ B-6 Read/Write Characteristics ............... 2-2 Single-Character Mode ................. 2-2 Double-Character Mode ................. 2-2 Triple-Character Mode ................. 2-2 Full-Word Mode ....................... 2-2 Address Mode .......................... 2-2 Real-Time Clock .........................1-12 Registers (See also specific registers) Characteristics. . . . . . . . . . . . . . . . . . . . . . .. 1-9 Descriptions ........................... 1-6 Displays ............................... 5-1 Operations ............................ 7-12 Shifts . . . . ............................ 7-50 Register File ............................ l-l{J Register File Assignments ............... 1-11 S Bus .................................. 1-10 S Register ............................... 1-8 Satellite Configurations .................. 3-5 Search Instructions ................. 7-50,7-56 Sense Instructions ....................... 7-60 SCOPE .................................. 8-l Software Systems ........................ 8-1 SORT/MERGE Program, Generalized ...... 8-5 Status Checking (Typewriter) ................. 6-2 Indicators .......................... 5-4,5-5 Internal Status Sensing Mask .......... 7-62 Stop Instructions ........................ 7-30 Storage Addressing ............................ 2-3 Characteristics ......................... 2-1 Control Panel .......................... 2-1 Module ................................ 1-3 Parity ................................ 1-12 Protection ............................. 2-3 Registers .............................. 2-2 Sharing ............................... 2-3 Shift ................................. 7-50 Word Format .......................... 1-6 Store Instructions ....................... 7-23 Switches Console ........................... 5-7,5-10 Keyboard .............................. 5-9 Power Control Panel ................... 5-15 Storage Protection ..................... 2-5 Typewriter Console ..................... 6-3 Symbol Definitions ....................... 7-3 System Description ....................... 1-1 Temperature Warning .................... 5-6 Typewriter, Console ...................... 6-1 Codes ................................. 6-5 Status Checking ....................... 6-2 Switches and Indicators ................ 6-4 Tabs, Margins and Spacing ............. 6~2 Type Dump ............................ 6-3 Type In ................................ 6-3 Type Load ............................. 6-3 Type Out .............................. 6-3 Utility Package .......................... 8-4 Word Address ............................ 7-1 Word Address - Character Address Conversions ........................... 7-2 Word Format ............................ '1-6 X Register ............................... 1-7 Z Register ............................... 1-8 24 COMMENT SHEET CONTROL DATA 3200 COMPUTER SYSTEM REFERENCE MANUAL PUB. NO. 60043800 FROM: NAME: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ BUSINESS ADDRESS: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ THESE COMMENTS REFER TO REV. _ _ OF THIS MANUAL. COMMENTS: (DESCRIBE ERRORS,SUGGESTED ADDITIONS OR DELETIONS, ETC. INCLUDE PAGE NUMBER.) w Z ::::i ~ Z o ..... < I- :::l U col ~I -:1 > ~I ;;;1 N ",I to) ::E 1 :31 ... I NO POSTAGE STAMP NECESSARY IF MAILED IN U.S.A . FOLD ON DOTTED LINES AND STAPLE STAPLE STAPLE :OLD FOLD -------------------------------------------~ FIRST CLASS PERMIT NO. 8241 MINNEAPOLIS, MINN. BUSINESS REPLY MAIL w Z ::; NO POSTAGE STAMP NECESSARY IF MAILED IN U.S.A. ~ z o .... « POSTAGE WILL BE PAID BY I- ::::> u CONTROL DATA CORPORATION 81001 34TH AVENUE SOUTH MINNEAPOLIS, MINNESOTA 55440 ATTN: TECHNICAL PUBLICATIONS DEPT. PLANT TWO OLD FOLD •e, -; e e e e e e e Ie e e e e e e· e e e ..,.-::- j .• : CONTROL DATA CORPORATION . CORPORATE HEADIlUARTERS. 8100 34th AVE. SO •• MINNEAPOLIS. MINN. 55440 SALES OFFICES AND SERVICE CENTERS IN MAJOR CITIES THROUGHOUT THE WORLD Pub. No. 60043800 Litho in U.S.A.
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-c041 52.342996, 2008/05/07-21:37:19 Format : application/pdf Creator : HyperGEAR,Inc. Create Date : 2007:06:06 21:33:41+09:00 Creator Tool : HyperGEAR,Inc. Modify Date : 2018:05:07 13:02:43-07:00 Metadata Date : 2018:05:07 13:02:43-07:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Document ID : uuid:214012fb-4535-0340-88f7-515f6bdd0422 Instance ID : uuid:a0c6ef32-f36c-9d42-ab48-dbc9c5fc9d8c Page Count : 240 Author : HyperGEAR,Inc.EXIF Metadata provided by EXIF.tools