60157000H_3300_Computer_System_Ref Man_Apr68 60157000H 3300 Computer System Ref Man Apr68
60157000H_3300_Computer_System_RefMan_Apr68 60157000H_3300_Computer_System_RefMan_Apr68
User Manual: Pdf 60157000H_3300_Computer_System_RefMan_Apr68
Open the PDF directly: View PDF .
Page Count: 374
Download | |
Open PDF In Browser | View PDF |
r , \.. COMPUTER SYSTEM REFERENCE MANUAL s .," , CONTROL DATA CORPORATION 3300 CHARACTERISTICS • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Stored-program, solid-state, scientific and business data processing computer Time-sharing and multiprogramming features Parallel mode of operation Diode logic Character and word addressing (4 characters per word) Address modification (indexing) Indirect addressing 28-bit storage word (24 data bits and 4 parity bits) Nonvolatile magnetic core storage Complete cycle time: 1.25 microseconds Access time: O. 75 microsecond Storage sharing Selected storage protection Instruction repertoire compatible with the 3100, 3200, and 3500 Computers Business oriented Moves, Searches, Edit, Compare, Conversion, and BCD arithmetic instructions Logical and sensing operations Masked storage searches Block control operations Trapped instruction processing 24- bit accumulator register and auxiliary accumulator register Binary arithmetic: 2221:-1 modulus, one's complement for all single precision (24-bit) operations and double precision (48-bit) addition and subtraction 64-word register file (0.5 microsecond cycle time) Complete interrupt system ASCII to BCD conversion (and vice versa) and 4-bit/6-bit packing Real-time clock (1.0 millisecond incrementation) , Sit- down operator's console featuring: On-line typewriter and complete display and control system Upward compatability with 3100 and 3200 computer systems Standard 3000 Series type 12- bit bidirectional data channel Compatible r/o mediums include magnetic tape, disk file, punched cards, paper tape, and printed forms Options include: • Memory expansion to 262,144 words (over 1 million characters) • Additional 12-bit data channels or high-speed 24-bit data channels • Floating point and 48-bit precision multiply and divide hardware logic • Multiprogramming hardware module • Business Data Processor • Complete selection of advanced peripheral equipment r COM PUTER SYSTEM REFERENCE MANUAL I CONTROL DATA CORPORATION RECORD of REVISIONS REVISION NOTES 01 (11-16-65) A (5-13-66) Original printing. . Publications Change Order CA13641. Complete revision. All previous editions obsolete. Publication Change Order 14387, no Product Designation change. The following pages were revised or added: iii" v, vii, 1-3, 1-13, 1-14, 2-4, 2-5, 3-1 through 3-8, 4-3, 4-5, 4-8, 4-9, 5-2, 5-7, 5-12, 5-13, 5-16, 5-18, 5-21, 5-22, 5-30, 5-41, 5-42, 5-68, 5-69, 5-73, 5-75, 5-76, B (9-12-66) 5-79, 5-80, 5-82, 5-95.0, 5-95.1, 5-96.0, 5-96.1, 5-98 through 5-103, 5-105, 5-106, 5-114 through 5-123, 5-129 through 5-137, 5-140 through 5-147, 5-149, 5-151, 5-153, 5-154, 5-155, C-7, E-10 through E-13, Instruction Tables 6, 7, 8, 11, 12, 13, 14, 16, 17, 18. 19, 22, 24, 25, and 30, Index-I, Index-2 and Index-3. --Publication Change Order 15865, no Product Dp"iS",a.Llon change. The following pages were revised or added: iv, v, 1-1, 1-10, 1-13, 1-14, 2-6, 3-3, 3-5, 3-6, 4-2, 4-3, 4-4, 4-5, 4-6, 4-7, 4-8, 4-9, 4-10, 4-11, 5-26, 5-68, 5-69, 5-84, 5-87, 5-89, 5-91, 5-92, 5-94, 5-112, 5-116, C (2-23-67) 5-117, 5-122, 5-144, 5-147, 5-149, 5-151, 5-155, Section 6, A-3, A-4, F-7, Index-I, Index-2, and Index- 3 . D (6-14-67) Engineering/Publications Change Order 16076. The foUowil!K2ages were revised or adde'd: v, 2-5, 2-6, 2-7, 2-8, 2-9 and 5-81. E (6-14-67) Field Change Order 16164, new Product Designation 3312-A12. F ( 6-14-67) Publications Change Order 16626, no Product Designation chaI!ge. The following pages were revised or added: 5-18, 5-21, 5-82, 5-82.0, D-I0, Instruction Tables 8 and 22. revised or added: iii v 1-8 2-1 2-5 2-6 3-6, 3-7 The following pages were 4-4, 4-11, 4-12, 5-3, 5-12, 5-13, 5-16, 5-17 G (10-2-67) H (4-4-68) 5-20 5-21 5-22 5-25, 5-28, 5-32, 5-33, 5-40, 5-112, 5-113, C-9, D-5, D-6, D-9, D-I0, F-7 Instruction Tables 10 11 12 13 19 21 27 28 and Index-3. Publication Change Order 17622. Page 5-155 revised and page 5-156 added. Publication Change Order 19253, no Product Designation change. 4-6,5-1~5-127,5-147,5-155,C-11,C-12,C-13, Pages iii, 1-13, 1-14, 1-15,2-6, Instruction Tables 2, 14, 16 and 26 revised. I :> UJ '" Address comments concerning this manual to: Pub No. 60157000 © 1966, 1967,1968 by Control Data Corporation Printed in United States of America Control Data Corporation Technical Publications Department 4201 North LeXington Avenue St. Paul, Minnesota 55112 or use Comment Sheet in the back of this manual. CONTENTS 1. General Systems Description 4. Introduction 1-1 Computer Modularity Central Processing Unit Storage Modules Input/Output Modules Floating Point Module Multiprogramming Module Business Data Processor Operator's Console Power Control Panel 1-2 1-4 1-4 1-4 1-4 1- 5 Internal Organization Central Processing Unit 1- 5 Peripheral Equipment 1-14 2. 1-3 1-3 1-3 Storage System General Information 2-1 Storage Modules 2-1 Storage Registers 2-1 Storage Word 2-4 Character Modes Single - Character Mode Double - Character Mode Triple - Character Mode Full - Word Mode Address Mode 2-4 2-4 2-4 2-4 2-4 2-5 Addressing 2-5 Multiprogramming and Relocation 2-5 Storage Protection Permanent Protection Selective Protection Program Protection No Protection 2-5 2-6 2-6 2-9 2-9 Storage Sharing 2- 9 3. Input/Output System General Information 3-1 Interface Signals 3-3 3306 and 3307 Communication Channels 3-4 I/O Parity Parity Checking with 3306 Parity Checking with 3307 3-4 3-4 3-5 Transmission Rates 3-6 Input/Output Relocation 3-7 Auto Load/Auto Dump 3-7 iii Interrupt System General Information Interrupt Conditions Internal Condition Interrupts Input/Output Interrupts Executive Interrupt Storage Parity Error Interrupt Illegal Write Interrupt Trapped Instruction Interrupts Power Failure Interrupt 4-1 4-2 4-2 4-3 4-3 4-4 4-4 4-5 4-6 Interrupt Control 4-7 Enabling or Disabling Interrupt 4-7 Control 4-7 Interrupt Priority 4-8 Sensing Interrupts 4-8 Clearing Interrupts 4-8 Interrupt Processing Interrupt Mask Register 4-9 Interrupts During Executive Mode 4-11 5. Instructions General Information Instruction Parameters Instruction Word Formats Word Addressing vs. Character Addressing Indexing and Address Modification Addressing Modes Indexing and Indirect Addressing Examples Trapped Instructions Instruction List No-Operation Instructions Instruction Execution Times Halt and Stop Instructions Enter Instructions Increase Instructions Skip Instructions Inter- Register Transfer Instructions Jump Instructions Load Instructions Store Instructions Shift and Scale Instructions Arithmetic Instructions Logical Instructions Masked Search and Compare Instructions Condition Test Instructions Sensing Instructions Pause Instructions Interrupt Instructions Input/Output Instructions Relocation Control Instructions 5-1 5-1 5-4 5- 5 5-6 5-7 5-9 5-11 5-11 5-18 5-19 5-24 5-25 5-27 5-28 5-32 5-41 5-49 5- 53 5-57 5-60 5-70 5-75 5-81 5-83 5- 87 5-89 5-92 5-112 Rev. F Instructions (Cont'd) Multiprocessing Control Instructions 5-113 Conversion Instructions 5-114 Character Search Instructions 5-124 Move Instructions 5-137 6. Software Systems General Information 6-1 Operating Systems Real-Time SCOPE MASTER MSOS SCOPE Utility Routines 6-1 6-2 6-2 6-2 6-2 Languages FORTRAN-32 Mass Storage FORTRAN COBOL 32 COBOL 33 Mass Storage COBOL ALGOL COMPASS-32 COMPASS-33 Data Processing Package Report Generator 6-3 6-3 6-3 6-3 6-4 6-4 6-4 6-4 6-5 6-5 6-5 Input / Output RESPOND /MSOS MSIO SIPP 6-5 6-6 6-6 6-6 A pplic a tions PERT/TIME PERT/COST SORT Mass Storage SORT REGINA-I ADAPT 6- 6 6-7 6-7 6-7 6-7 6-7 6-8 7. Console and Power Control Panel 7-2 General Information Console Register Displays Instruction and Communication Registers Instruction State and Operand State Registers Data Interchange Display Status Display Switches and Controls Typewriter 7-2 7-2 Power Control Panel Elapsed Time Meters Storage Protect Switches 7-24 7-24 7-24 APPENDIXES A. B. C. D. E. F. CONTROL DATA 3100, 3200, 3300 Computer Systems Character Set and BCD / ASCII Code Conversions Supplementary Arithmetic Information Programming Reference Tables and Conversion Information Instruction Formats and Notes Multiprogramming and Relocation Supplementary Information Business Data Processing Supplementary Information GLOSSARY, INSTRUCTION TABLES, AND INDEX Rev. C iv 7-2 7-3 7-3 7-4 7-6 7-19 FIGURES 1-1 1-2 1-3 1-4 2-1 2-2 3-1 3-2 3-3 5-1 5-2 5-3 5-4 5-5 5- 6 5- 6. 3300 Modularity Example 1- 2 Computer Word Character Positions and Bit Assignments 1-5 Block Control Scanning Pattern 1-11 Parity Bit Assignments 1-12 3300 Storage Modules 2-2 Optional Protect Scheme 3-2 3300 I/O System I/O Channel Power Panel Principal Signals Between I/O Channel and External Equipment 3 - 3 Word-Addressed Instruction Format 5-4 Character-Addressed Instruction Format 5-4 Business Oriented Instruction 5-6 Format Indexing and Indirect Address5-8 ing Routine Flow Chart Operand Formats and Bit Allocations for MUAQ and DV AQ Instructions 5-64 Operand Formats and Bit Allocations for Floating Point 5-67 Arithmetic Instructions 1 77 Connect Operation 5 - 95.1 5-6.2 5 -7 5- 8 5-9 5-10 5 -11 5-12 5-13 5-14 5-15 5-16 5-17 7 -1 7 -2 7- 3 77 Select Function Operation 73 I/O Operation with Storage 74 I/O Operation with Storage 75 I/O Operation with Storage 76 I/O Operation with Storage 73 I/O Operation with A 74 I/O Operation with A 75 I/O Operation with A 76 I/O Operation with A SRCE Operation SRCN Operation Move Instruction 3300 Console Register Display Area ISR and OSR Display and Binary Entry Switches 7 - 4 Data Interchange Display 7- 5 Status Display 7 - 6 Condition Switches 7-7 Access Keyboard Switches 7-8 Upper Console Switch Panel 7-9 Breakpoint Switch Examples 7 -10 Console Typewriter Control Switches 7 -11 Power Control Panel 5-96,1 5-99 5-101 5-103 5-105 5-106 5-108 5-109 5-111 5-126 5-128 5-139 7-1 7-2 7-3 7-3 7-4 7-7 7-9 7-10 7-17 7-19 7-25 TABLES 1-1 1-2 1- 3 2-1 2-2 2-3 4-0 4-1 4-2 4-3 4-4 4-5 4-6 5-1 Register File Assignments Buffer Groups BCR Conditions Storage Protection Switch Descriptions Storage Protection Switch Settings Optional Storage Protection Example Parity Error Interrupt Codes Trapped Instruction for Non- Executive Mode without a 3310 or 3312 Module System No-Operation Instruction for N on- Executive Mode Interrupt Priority Representative Interrupt Codes Interrupt Mask Register Bit Assignments Condition Register Bit Assignments Instruction Synopsis and Index 1-10 1-11 1-14 2-6 2-7 4-5 4-6 4-6 4-8 4-10 4-11 5-12 v 5-2 Summary of Instruction Execution Times 5-3 Interrupt Mask Register Bit Assignments 5-4 Bit Assignments for Interrupt Sensing Conditions 5-5 Internal Status Sensing Mask 5-6 Pause Sensing Mask 5-7 Interrupt Mask Register Bit Assignments 5-8 Modified I/O Instruction Words 5-9 Block Control Clearing Mask 5-10 Editing Examples 7-1 Data Interchange Indicator Descriptions 7-2 Status Display Indicator Descriptions 7-3 Condition Switches Description 7-4 Access Keyboard Switches 7-5 Console Typewriter Switches and Indicators 7-6 Console Typewriter Codes 5-12 5-84 5-84 5-85 5-87 5-90 5- 93 5-95 5-153 7-4 7-5 7-7 7-10 7-21 7-23 Rev. F FORWARD This manual provides information for the machine language use of the 3300 computer system. Its intention is to describe the capabilities and programming restraints of the hardware. COMPASS mnemonics are used to abbreviate titles of instructions; however, no software systems are used in describing instructions. systems are included in Section 6. Brief descriptions of these software Detailed descriptions for those systems in operation are available in the appropriate software reference manuals. Programming information for most available peripheral equipments is contained in the 3000 Series Peripheral Equipment Reference Manual, Pub. No. 60108800. vii Rev. B CONTROL DATA 3300 COMPUTER SYSTEM 1. GENERAL SYSTEMS DESCRIPTION INTRODUCTION The CONTROL DATA* 3300 is an advanced design general-purpose computing system providing high performance time- sharing with multiprogramming features to satisfy present and future needs of business and scientific users. Advanced design techniques are used throughout the 3300 to provide expedient solutions for scientific, real-time, and business data processing problems. Time- sharing and multiprogramming features of the 3300 enable a user to enter many programs and receive processed results without the delays incurred in single-job batch processing systems. This feature not only reduces turnaround time but also provides a considerable saving in computer usage and personnel time. Multiprocessing of programs further enhances system performance when additional central processors are integrated into a total system. Software systems for the 3300 take full advantage of the time-sharing and multiprogramming capabilities of the hardware and include the MASTER, Real-Time SCOPE, and MSOS operating systems, and the Mass Storage Input/Output (MSIO) system. A synopsis of each of these systems and other software is included in Section 6 of this manual. All existing programs written for CONTROL DATA 3100 and 3200 systems can be processed by a 3300. I/O characteristics for the 3300 are identical to the 3100, 3200, 3400, 3500, 3600, and 3800 line of Control Data computers - a fact which facilitates incorporating the 3300 into a SATELLITE* configuration. Included in the expanded repertoire of 3300 instructions is a complete list of business data processing instructions. These extend the flexibility of the 3300 by performing field searches, moves, compares, tests, conversions, arithmetic operations, and complete COBOL editing while utilizing the time- sharing feature of the 3300. A wide selection of proven peripheral equipment is available for use in a 3300 system including many new and advanced equipments. *Registered trademark of Control Data Corporation 1-1 Rev. C This manual describes the various features of the 3300 and provides programming and operation information. Reference and supplementary information may be found in the Appendixes. COMPUTER MODULARITY A 3300 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 3300 computer. K J I H ® Central Processing Unit (CPU) @ 2-3306 Input/Output (I/O) channels or 1-3307 channel and 1-3306 channel (Channels o and 1) © ® ® 2-3306 I/o channels or 1-3307 channel and 1-3306 channel 2-3306 I/O channels or 1-3307 channel and 1-3306 channel Figure 1-1. BCD A G © ® CD GD ® E F 2-3306 I/O channels or 1-3307 channel and 1-3306 channel Power controls for I/O channels ©@® 3310 Floating Point module 3311 Multiprogramming module Power Control Panel for@ @ 3309- 8K Storage Module 3309- 8K Storage Module 3300 Modularity Example NOTES 1. A minimum 3300 configuration consists of items @ , 2. A 3302 @ , 16K storage module may be substituted for items GD CD, and and Q) . ® . (Cont'd on next page) Rev. A 1-2 ®. 3. Additional storage modules are added to the left of item 4. The 3312 BDP (not shown) is a "stand-alone" cable connected unit. Additional storage modules may also be stand-alone units to conform to installation space. 5. 3307 I/O channels are always designated an even channel number, i. e., 0,2, 4, or 6. Central Processing Unit The Central Processing Unit (CPU) is standard in all 3300 systems and performs the following functions: • • • • • • • • Controls aBd synchronizes most internal operations of the computer. Processes all 24- bit precision fixed point arithmetic. Processes 48-bit precision addition and subtraction. Executes Boolean instructions. Character and word loading and storing. Executes decision instructions. Controls standard search and move operations, external equipment and typewriter I/O, real-time clock referencing, and register file operations. Recognizes and processes all interrupts. If the Business Data Processor (BDP) is present in a system, the CPU relinquishes control to it until the business oriented instructions(s) have been processed. Storage Modules The magnetic core storage (MCS) available for 3300 systems ranges from a minimum of 8,192 (32,768 characters) to 262,144 (1,048,576 characters) words. An MCS system is expanded in 16,384 word increments after two initial 8,192 word storage modules are installed in the system. Up to 131,072 words of MCS may be included in a system without the multiprogramming option present. The following optional storage modules are available: Model 3309 - 8,192 word (32,768 characters) MCS memory module Model 3302 - 16,384 word (65,536 characters) MCS memory module The word "storage" is used synonymously with "memory" in this text and both refer to MCS unless otherwise stated. Additional information pertaining to the 3300 storage system may be found in Section 2. Input/Output Modules Two types of Input/Output (I/O) modules are available for use in 3300 systems. These are the 3306 and 3307 Communication Channels. The 3306 is a bidirectional 12-bit parallel data channel and conforms to the standard I/O specifications for all CONTROL DATA 3000 Computers. A maximum of 1-3 Rev. B eight 3306 channels may be incorporated in a single system with up to eight peripheral controllers connected to each channel. Space is provided for mounting two 3306 channels per module. Figure 1-1 shows the placement of the channels in a maximum I/O channel configuration. The 3307 is a bidirectional 24-bit parallel data channel and also conforms to the Control Data 3000 I/O specification. In each 3307 channel 12-to 24-bit assembly/ disassembly is included. A maximum of four 3307 channels in addition to four 3306 channels may be present in a single system. Additional information pertaining to the 3306 and 3307 I/O channels may be found in Section 3. Floating Point Module The optional 3310 Floating Point Module permits a user to directly execute floating point addition, subtraction, multiplication, and division instructions utilizing 48-bit precision floating point operands. This option also permits direct execution of 48- bit precision multiplication and division instructions. Multiprogramming Module The optional 3311 Multiprogramming Module provides capability to relocate program instructions, data, and I/O in MCS. This option implements the 3300 memory page system and provides inherent memory protection as well as relocation and MCS extension to 262,144 words. If the 3311 is not present in a system, the maximum number of words is 131,072. Refer to Appendix E for additional information. Business Data Processor The optional 3312 Business Data Processor (BDP) provides the capability to directly execute variable field length business data processing instructions. These instructions include field searches, moves, editing operations, compares, arithmetic operations, and binary/BCD/ASCII conversions. Delimiting is provided for appropriate instructions to increase their flexibility. The internal organization of the BDP is further described under Internal Organization in this section. Operator's Console The operators desk console includes: •. Octal register displays • Built- in on-line typewriter • Built-in entry keyboard and control switches • Complete status monitoring system • Operator's chair Rev. A 1-4 A complete description of the console, examples of manual operations, and a picture of the console can be found in Section 7. Power Control Panel A power control panel is provided to control secondary logic power to the CPU, floating point module, and I/O channels 0 and 1. Other modules have their own power control panels. Primary power for the entire computer system is controlled by a group of switch boxes mounted on a nearby wall. INTERNAL ORGANIZATION Central Processing Unit Computer Word Format The standard 3300 computer word consists of 24 binary digits. Each word is divided into four 6- bit characters. In storage, an odd parity bit is genera ted and checked for each of the four characters, lengthening the storage word to 28 bits. Figure 1-2 illustrates the bit assignments of a computer word in storage. 23 I 1817 0 0605 12 II I 2 I 00 3 I \Character \ Designators ! I Figure 1-2. 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: • Most 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. • The A register may be shifted to the right or left separately or in conjunction with the Q register. Right shifting is end-off; the lowest bits are discarded and the sign is extended. Left shifting is end-around; 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. Q Register (Arithmetic): The Q register is an auxiliary accumulator register and is generally used in conjunction with the A register. 1-5 Rev. A 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. E Register (Arithmetic): The optional arithmetic register E is present in a system whenever the 3311 Floating Point option is present in a system. During floating point/ 48- bit precision operations, the E register is divided into two parts, EU'~ and EL'~, 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 holds the lower 48 bits of the dividend; upon completion, holds the remainder. • Floating point multiplication; holds the re sidue of the coefficient of the 48- bit product. • Floating point division; holds the remainder. 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. Bb Registers (Main Control): The three index registers, B1, B2, and B 3 , 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. The index registers may be incremented or decremented. 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. *E U signifies EU pper ; EL signifies EL ower . Rev. A 1-6 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 (Bb) is added to the lower 15 bits of F for word- addressed instructions, or to the lower 17 bits of F for characteraddressed 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. Instruction State Register (Main Control): Instruction State register is a 3- bit register that is referenced under certain conditions when the computer is operating in Executive mode. The (ISR)':' are appended to the (p) in the process of referencing different program address groups. Refer to Appendix E for the different conditions when this register may be used. Operand State Register (Main Control): Operand State register is also a 3-bit register that is referenced under certain conditions when the computer is operating in Executive mode. Appendix E describes the conditions when the OSR is referenced with regard to the operational state of the CPU. Channel Index Register (Main Control): The Channel Index register (CIR) is a 3 -bit register whose contents are logically OR' ed (inclusive OR function) with the channel designator' ch' for the following instructions: • • • • • • • • 73 -76 77.0 77. 1 77.2 77. 2 77. 3 77.3 77.4 I/O instructions Connect Select Function Sense External Status Copy External Status Sense Internal Status Copy Internal Status Sense Interrupt This permits instructions to be written for channel 0 and allows the monitor program to assign the proper channel by altering the (CIR). The (CrR) can be transferred by instruction to the lower 3 bits of the A register and vice versa. A momentary switch is provided on the console for displaying (eIR) in the lowest digit position of the Index register display area. ':'The parentheses, as they are used in this case, are an accepted method for expressing the words "the content(s) of" (in this case "the contents of" the ISR regi ster). 1-7 Rev. A Condition Register (Main Control): Bits in the Condition register (CR) are used as flags to initiate computer action and to record current operating conditions during Executive mode. With the exception of bit 04, the register is not used during non- Executive mode operations. All register bits can be set or cleared with the ACR (77. 634) instruction; selected bits are set or cleared by individual instructions and conditions, Refer to Section 4 for special considerations involving the register during interrupt processing. The register bit assignments are listed below: Bit 00 Boundary Jump Bit 01 Destructive Load A Bit 02 Operands Relocated Using OSR Bit 03 Program State Jump Bit 04 Interrupt System Enabled Bit 05 Program State 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 I/O 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. Interrupt Mask Register (Main Control): The 12- bit Interrupt Mask register allows a user to honor or ignore a group of various interrupts by setting the register bits to "I' s" or "0' s ". Each register bit corresponds to a particular interrupt condition. The mask bits may be set or cleared by executing the SSIM and SCIM instructions, respectively. The specific mask register bit assignments are described in Section 4. S Register (Storage): The S register holds the address of the storage word currently being referenced. 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 is displayed on the Storage Module control panel. Bus Systems 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. Rev. F 1- 8 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 3307 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. Executive Mode The CPU can operate in either the non-Executive mode or Executive mode. non-Executive mode the 3300 operates identically to the 3200. In Depressing the EXECUTIVE MODE switch on the operator's console causes the 3300 to function in the Monitor State of Executive mode. All 3300 instructions may be executed in the Monitor State provided the necessary hardware is present in the system. After executing a Set Boundary Jurpp (SBJP) instruction, the next jump instruction causes the 3300 to advance to the Program State of Executive mode. In Program State, the CPU performs at its highest efficiency by restricting itself to actual computations by not executing I/O or Block Control instructions. If a Halt (00.0) instruction, any of the 71-77 instructions (except SBCD 77.72 and SFPF 77.71), or an inter -register transfer affecting registers 00 through 37 of the register file is attempted while in Program State, the 3300 reverts to the Monitor State of Executive mode. Additional information can be found in Appendix E. Block Control Block Control is an auxiliary control section within a 3300 processor. In conjunction with the register file and program control, it directs the following opera tions : • External equipment I/O • Search/Move • Real- Time clock • Console typewriter I/O • 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 usec. Although the programmer has access to all registers in the file with the interregister transfer (53) instruction, certain registers are reserved for specific purposes (see Table 1-1)~ All reserved registers may be used for temporary storage if their use will not disrupt other operations that are in progress. 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 switch on the keyboard. The contents may be altered by setting the Breakpoint switch, pressing the WRITE STO switch, and entering a new word from the keyboard. 1-9 Rev. A TABLE 1-1. REGISTER FILE ASSIGNMENTS Register Numbers Register Functions 00-07 Modified I/O instruction word containing the current character address (channel 0-7 control) 10-17 Modified I/O instruction word containing the last address ± I, depending on the instruction (channel O-~ control) 20 Search instruction word containing the current character address (search control) 21 Move instruction word containing the source character address (move control) 22 Real-time clock, current time 23 Current character address (typewriter control)* 24-27 Temporary storage 30 Instruction word containing the last character address + 1 (search control) 31 Instruction word containing the destination character address (move control) 32 Real-time clock, interrupt mask 33 Last character address +1 (typewriter control) *~, 34-77 Temporary storage *The contents of register 23 should have the following format: 23 2120 OOE--Bit positions 1716 1<0-7)_ I Must contain the ~Sla~ed area ShOUl~current character address gram state number contain "0' s" **The contents of register 33 should have the following format: 23 Slashed area should c;:tain 1716 00 \ "0' s" Last character address plus one Block Control Priority: Access to Block Control circuits is shared between the computer's main program control and block control buffered functions. Functions within Block Control are divided into three groups (Refer to Table 1-2.) The five scanners that provide the priority access network for the system are the Program/Buffer scanner, the Group scanner, 'and the three inner group scanners. Figure 1-3 illustrates the scanning pattern of the priority network. Rev. C 1-10 The Program/ Buffer scanner alternately checks for Block Control requests from Program Control and any Group requests. Group requests have priority over Program requests and as long as Group requests are present, they will be serviced before a Program request. When all Group requests have been serviced, a Program request can be recognized. 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 of their group before resuming their search. TABLE 1-2. BUFFER GROUPS Group 1 Group 2 Group 3 Channel 0 Control 1 Channel 4 Control Real-time clock control Console typewriter control Register File Display Search/Move Control 2 3 CHANNEL 0 CONTROL 2 3 4 5 6 7 REAL-TIME CLOCK CONTROL CONSOLE TYPEWRITER CONTROL REGISTER FILE SEARCH / MOVE DISPLAY CONT ROL Figure 1-3. 5 6 7 I~ r~ ~~ • GROUP I BUFFER • GROUP 2 • GROUP PROGRAM ~ • • 3 Block Control Scanning Pattern 1-11 Rev. A Real-Time Clock The real-time 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 the 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 is 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 does not affect the clock count. For a special case involving the real-time clock, refer to the Priority Pause (PRP) instruction in Section 5. Parity Parity bits are generated and checked in 3300 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. Storage Parity: A parity bit is generated and checked for each 6-bit character of a storage word. Refer to Figure 1-4. 2726252423 1817 12 II 0605 2 I 00 3 CHAR~CTER DES~NATORS ~ PARITY PARITY PARITY PARITY Figure 1-4. BIT BIT BIT BIT FOR FOR FOR FOR CHARACTER CHARACTER CHARACTER CHARACTER 3 2 I 0 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 and the PARITY STOP switch on console is active, program execution is halted. Master clearing the computer clears the fault condition. If the PARITY INTERRUPT switch is active and an interrupt is recognized, the computer enters a special interrupt routine (see Section 4). ~~16, 777,216 milliseconds equals approximately 4 hours and 40 minutes. Rev. A 1-12 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 3300. 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 is not activated. A complete description of I/O parity generation and checking may be found in Section 3 of this manual. Business Data Processor (BDP) The BDP is an optional processor capable of directly executing the business oriented instructions listed below and on the next page by their mnemonic codes and explained in detail within Section 5. 64.0 64.1 64.2 64.3 67.2 64.4 64.4 65.0 65.2 65:1 65.3 66.0 66.1 66.2 66.3 66.4 66.5 67.0 67.1 67.3 67.4 70.6 70.7 MVE and MVE, DC MVBF MVZF MV ZS and MV ZS, DC ZADM FRMT EDIT SCAN, LR, EQ and SCAN, SCAN, LR, NE and SCAN, SCAN, RL, EQ and SCAN, SCAN, RL, NE and SCAN, CVDB CVBD DTA and DTA, DC ATD and ATD, DC PAK UPAK ADM SBM CMP and CMP, DC TST and TSTN LBR SBR LR, LR, RL, RL, EQ, NE, EQ. NE. DC DC DC DC Upon command from the CPU, the BDP executes the BDP instructions as they occur in the program. These instructions all require three instruction words (referred to as sub-instruction words) and are stored consecutively, i. e., at the current address defined by P, P+ 1, and P+2. Mter executing one of theBDP instructions, the processor relinquishes program control to the CPU for continued program execution. If an interrupt occurs during a BDP instruction, the BDP relinquishes control to the CPU after the current character operation is completed. When the CPU finishes interrupt processing, the instruction that was interrupted is again read from memory. A restart is usually made at the point of interrupt (CVDB and CVBD instructions restart at the beginning - also refer to TIlegal Write interrupt in Section 4). 1-13 Rev. H (B3) is used to indicate at what point in the BDP operation the interrupt occurred. plus arithmetic carry and second pass information: ; = "I" • bit 12 of B3 if a second pass (complementing operation) was in progress. • bit 13 of B3 = "I" if an arithmetic carry was generated on an ADM or SBM instruction during the iteration prior to interrupt. This bit is used for internal machine status to enable recovery from an interrupt and must not be construed to indicate an arithmetic overflow at instruction completion. "I" if floating insertion is set on EDIT. • • bit 14 of B3 "I" if a BCD fault occurred. bits 00 -11 represent the number of characters or words operated on in field C prior to entering the interrupt routine. The BDP Condition register (BCR) is a 2-bit register located in the BDP. This register is set for conditions existing directly after a business data processing operation has occurred. (Refer to Table 1-3.) The (BCR) are sampled by the CPU and a jump may then occur. Refer to the JMP, ZRO; JMP, HI; and JMP, LOW instructions. TABLE 1-3. (BCR)* 00 01 10 2 2 2 *11 2 Significance for Compare (CMP) Instr. BCR CONDITIQ~S Significance for Arithmetic (ADM & SBM) Instructions - Field A = Field C Significance for Other Instructions - Field A > Field C result positive operand positive Field A < Field C result negative operand negative code is unassigned. For BDP instructions containing two fields of variable length, the two fields may be assigned as required in memory. However, care should be taken so that overlapping of processed data from the result field and unprocessed data from the source field does not occur. The results may be unpredictable if overlapping occurs. Additional information can be found with the individual BDP instructions in Section 5 and Appendix F. Rev H 1-14 PERIPHERAL EQUIPMENT A wide variety of peripheral equipment is available for use with the 3300 computer. All peripheral equipment available for 3100, 3200, 3300, 3400, 3600, and 3800 systems may be attached to a 3306 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-15 Rev H 2. STORAGE SYSTEM GENERAL INFORMATION The 3300 Magnetic Core Storage (MCS) system receives and transmits storage words to the CPU (and BDP if it is in the system). Each storage module provides parity checking and visual address and data displays. Each storage (or memory) reference requires 1.25 usec within the storage module referenced. STORAGE MODULES A minimum storage configuration consists of one 3309 8, 192 word Storage Module. An additional 3309 Storage module brings the total storage capacity to 16,384 words. Further storage expansion is provided by adding model 3302 16,384 word Storage modules. If the 3300 is equipped with a 3311 Multiprogramming module, 3302 Storage Modules may be added to bring the total MCS capacity to 262,144 words. If the 3311 is not in the system, the maximum MCS is 131,072 words. The 3309 and 3302 Storage modules are shown in Figure 2-1 along with an enlarged view of their control panels. STORAGE REGISTERS S Register - The S register receives and holds the storage address, enabling address translation for the word currently being referenced. The register consists of 13 bits and 14 bits, respectively, in the 3309 and 3302 storage modules. Z Register - The 28- bit Z register is the storage restoration and modification register. All data that is transferred to or from the storage module passes through Z. 2-1 Rev.F •.• T ••••••• e.1II ." e 3309 8K Storage Module .. .. -• Dual 3309 16K Storage Module .... .. (5;~& .~ .:~~~~~. M N " Dual 3309 Storage Module Control Panel Figure 2 -1. Rev. A 3300 Storage Modules 2-2 3302 Storage Module 3302 Storage Module Control Panel Figure 2-1. 3300 Storage Modules (Cont'd) 2-3 Rev. A STORAGE WORD A storage word is 28 bits in length of which four bits are used for parity checking the remaining 24 bits. The 24 bits, labeled 00 through 23 from right to left, may be a single 24-bit instruction, part of a two or three word instruction, a zero to 24-bit operand, or part of a larger operand. The storage corresponds to the standard computer word and its format as described in Section 1. CHARACTER MODES During a read storage operation, all bits of a word referenced by (S) are read out of core storage into the Z register (in parallel) and are restored without modification at the same address. For a write storage operation, five basic modes exist for modifying (Z) prior to restoration. Any characters not modified are restored unchanged. Write Character Designators from the computer or other access devices specify the type of write operation to be performed. Single-Character Mode New data is entered into anyone of the four characters prior to restoring the word in core, Double-Character Mode New data is entered into any two adjacent characters (character 0 and 1, 1 and 2, or 2 and 3) prior to restoring the word in core. Triple-Character Mode New data is entered into either of the two possible three-character groups (characters 0, 1, and 2, or characters 1, 2, and 3) prior to restoring the word in core. Full-Word Mode New data is entered into characters 0-3 prior to restoring the word in core. Rev. B 2-4 Address Mode New data is entered into the lower 15 bits (word address) or the lower 17 bits (character address) prior to restoring the word in core. ADDRESSING The S bus, as described under Bus Systems in Section 1, carries the address of the memory location being referenced to the proper storage module. During Executive mode, the (ISR)* or (OSR)* are appended to a 15-bit basic address (as displayed in the P register) to form an 18-bit address. The upper 3 bits of address are forced to zero during non-Executive mode to limit storage addressing to 32,768 words. If a storage reference is made for an address contained in a non-existent memory module, a high priority interrupt may be entered. Refer to the Storage Parity Error-No Response Interrupt in Section 4 for details. MULTIPROGRAMMING AND RELOCATION The 3311 Multiprogramming Module permits the instructions of many programs to be sequentially executed and relocated in MCS under the control of a monitor program. The available MCS in a 3300 system is grouped into "memory p3.ges" consisting of 2,048 absolute memory locations. By using a Page Index File and advanced logic circuits, the 3311 makes optimum use of memory pages as they become available during program execution. Appendix E includes detailed information on multiprogramming and relocation concepts as applied to the 3300. STORAGE PROTECTION It is often desirable to protect the contents of certain storage addresses against alteration during the execution of a program. There are four categories of addresses: those that are always protected, those that are protected at the option of the programmer, those that are protected by the multiprogramming and relocation features, and those that are never protected during special sequences. If any attempt is made to write at a protected address during non- Executive mode, the illegally addressed location remains unaltered (Write is changed to a Read), the console illegal Write indicator lights, and program execution continues. The illegal write condition is recorded by setting bit 05 of the internal status sensing networ k. The condition is cleared by a Master Clear, an Internal Clear, or by sensing. * Only the numbers 0, 1, 2 and 3 in the ISR or OSR can be used in the Multiprogramming option is not in the system. 2-5 Rev. F During Executive mode, a protected address remains unaltered (Write is changed to a Read) during all write operations, except those occuring in Monitor State and during Block Control operations. The condition is not recorded on the status line. Refer to the illegal Write int~rrupt discussion in Section 4 for additional information. Permanent Protection The upper 32 memory locations of the existing MCS are reserved for Auto Load and Auto Dump programs when operating in the non-Executive mode. These addresses are always protected against alteration by a special storage protection circuit. The actual protected addresses depend upon the number of MCS locations in a system but always utilize the upper 32 locations in any system. 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 to enter a new Auto Load or Auto Dump program. When operating in Executive mode, the Auto Load and Auto Dump storage areas encompass addresses 003700 8 through 0037778 and a.re protected when refe,:::-enced through Page Index Zero. Refer to Section 3 for additi onal information on the Auto. Load and Auto Dump features. ' Selective Protection 3304-A Central Processor Two different selective protect schemes are available with the 3304- A; one being standard and the other available by option. In the standard protect scheme, 15 three-position toggle switches, corresponding to the basic 15-bit storage address, are set to selectively protect individual addresses or a block of addresses. The switches are located on the power control panel as shown in Section 7. Table 2-1 describes the three switch positions and Table 2- 2 lists examples of switch settings. The switches are automatically disabled during execution of the BDP instructions (64-70). In Executive mode, the switches apply to an address range of which the upper 3 address bits (ISR) or (OSR) are equal to zero. TABLE 2-1. STORAGE PROTECTION SWITCH DESCRIPTIONS Output Switch Position Description "1" Up Each address protected will have a "1" in this bit position. "N" Center "a" Down Each address protected may have either a "1" or a "a" 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. i Each address protected will have a "a" in this bit position. Rev. H 2-6 TABLE 2-2. STORAGE PROTECTION SWITCH SETTINGS Description of Protected Addresses Examples: Settings-Storage Addresses Protected (octal) Protection Switches Single storage address 000 000 000 001 111 00017 Two nonsequential addresses of a group of laS. * 000 000 000 010 aNa 000 000 000 010 N10 00020 & 00022 00022 & 00026 Four nonsequential addresses of a group of laS. * 000 000 000 010 NON 00020, 00024, 00021, 00025, 000 000 000 010 NN1 00021, & 00025 00023, & 00027 Four address block - may be the upper or lower half of a group of lOs·* 000 000 000 100 aNN 000 000 000 100 1NN 00040-00043 00044-00047 laS address block 000 000 000 010 NNN 00020- 0002 7 20S address block 000 000 001 OON NNN 000 000 001 11N NNN 00100-0011 7 00160- 001 77 40S address block - may be the upper or lower half of a group of laOS. * 100 000 000 aNN NNN 100 000 000 1NN NNN 40000-40037 40040-40077 Numerous other groups and combinations of the above groups may also be protected. 000 000 000 NNN 110 00006, 00016, 00026 ... 00076 All XXXX7 addresses All XX1XX addresses (0010000177, 01100all 77, etc.) NNN NNN NNN NNN 111 NNN NNN 001 NNN NNN 'l:The first address of all groups of lOS, 20S, 40S, lOOS etc., must have a lower octal digit of zero. Blocks of laOS, 200s, 400S, lOOOS, 2000S, 4000S, etc., may be protected in the same manner as blocks of laS, 20s, & 40S. The optional protect scheme allows two independent blocks of locations within a designated 32K of storage to be protected during non-Executive or Executive mode. With this feature, protection can be given to the resident monitor program and to another program that may be operating. The area increasing in address from address 00000 may be protected in multiples of 512 10 locations, The area decreasing from address 77777 can similarly be protected. The number of locations protected in an area is determined by setting the six toggle switches associated with that area; each of the 77!l possible settings represents one multiple of 512 locations. The six switches labeled 9 through 14 select the lower protected area; those labeled 0 through 5 select the upper protected area (refer to Figure 7-11). Figure 2-2 illustrates the protection scheme. Table 2-3 gives examples of switch settings and their corresponding protected areas. 2-7 Rev,D Switch settings for both schemes are disabled by pressing the DISABLE STO PROTECT switch on the console. ADD RE 55 77777,------------, PROTECTED BXX (77 7) i - - - - - - - - - - - - i UNPROTECTED CXX (000) f - - - - - - - - - - - - - - 1 PROTECTED ADD R E 5 5 00 0 0 0 1 - - - - - - - - - - - - - - ' Bxx = 6 switches to select upper area address boundary, lower 9 bits of which are always "l's" Cxx = 6 switches to select lower area address boundary, lower 9 bits of which are always "O's" Figure 2- 2. TABLE 2-3. Bxx Setting Rev. D Optional Protect Scheme OPTIONAL STORAGE PROTECTION EXAMPLES Locations Protected (Upper and Lower areas) 76 01000 75 02000 74 03000 8 8 67 8 1000°8 57 20000 40 37000 37 40000 36 41000 8 8 8 8 = 512 = 1,024 = 1,536 = 4,096 = 8, 192 = 15,872 = 16,384 = 16,896 2-8 Cxx Setting 01 02 03 10 20 37 40 41 3304-B Central Processor The basic 3304- B Central Processor contains no standard storage protection. Storage protection is available by option and operates the same as the optional protection which is available on the 3304- A processor. Program Protection When the 3300 is operating in the Program State of Executive mode, the relocation features of the 3311 Multiprogramming module are used by the monitor program to protect certain addresses from being altered. If the exclusion bit of a particular Page Index is a "1" and PL, t PA, t or PPt is a quantity other than zero, P A define s a memory area whe re only reading is permitted. If the exclusion bit is "1" and PL, PA,and PP are all equal to zero, neither reading nor writing is permitted. The monitor program controls the relocation process and uses the paging system to provide efficient use of memory while processing various programs. Appendix E explains in detail the 3300 paging and relocation processes. No Protection Addresses 00002 through 00005, 00010, 00011, 00014, 00015, 00020, and 00021, which are used by the interrupt system, are never protected during the interrupt sequence. STORAGE SHARING Two 3300 computers may share the memory of a storage module. A switch on each storage module control panel allows the opera tor to give exclusive control to the right or left computer. A middle position on this switch actuates a twoposition 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 3300 type storage modules is available for certain installations. The normal 1/0 channel route is bypassed and the customer's special equipment interfaces directly with the storage logic. tRefer to Appendix E for designator descriptions. 2- 9 Rev. D 3. INPUT/OUTPUT SYSTEM GENERAL INFORMATION Data is transferred between the 3300 Central Proces5lor and its associated peripheral equipment via a 3306 or a 3307 Communication Channel. The 3306 utilizes a 12-bit parallel-transfer byte and the 3307 provides a 24-bit byte. A maximum of eight 3306's or four 3307's and four 3306's may be linked to a single system. Both the 3306 and the 3307 are bidirectional and each channel may communicate with a maximum of eight peripheral controllers. A data channel can communicate with only one device at a given time, however. Each peripheral controller in turn may be attached to a number of peripheral devices. Figure 3-1 is a simplified block diagram of a 3300 Communication System. For programming purposes, the eight possible I/O channels are designated by numbers 0 through 7. A 3307 channel will always be an even channel. The total number of channels must always be even. Depending upon the user's needs, any combination of 3306' sand 3307' s may be present provided all the forenamed rules are followed. A basic 3300 system includes two 3306 Communi cation Channels or one 3307 channel and one 3306 channel. Figure 1-1 indicates the location of these channels in a fully expanded system. Channels 0 and 1 derive their operating power from the CPU. Power for all other channels is controlled through the I/O Channel Power Panel shown in Figure 3-2 and as F in Figure 1-1. The two voltage controls should be adjusted to produce 0% reading on the meters when the 400 cycle power circuit breaker is turned ON. 3-1 Rev. B Equipment r--"-----.. Device Data Channel ~ r--------------,~----------__. Block Control 3307 3307 3307 A maximum configuration of data channels. A smaller configuration may be obtained by removing the channels in pairs of odd and even. Any 3307 may be replaced by a 3306, but not vice verSa. Each channel may connect to a maximum of eight equipments. The number of devices connected to an equipment depends upon the equipment. Figure 3-1. 3300 I/O System .. .. ... VOLT METER VOLTAGE CONTROL VOLT METER . _ _ - - - - - VOLTAGE CONTROL -... ... Figure 3-2. Rev. B 400 CYCLE POWER CIRCUT BREAKER I/O Channel Power Panel 3-2 INTERFACE SIGNALS Figure 3-3 shows the interface signals between a data channel and its external equipment. The twelve status lines are active only between the channel and the controller to which it has been connected by a CON (77.0) instruction. Since a Connect instruction causes all controllers on the specified channel to disconnect except the one to which it is directed, only one controller may be connected to a channel at one time.. Thus to check status the program must first Connect the device. There are eight interrupt lines, one to each controller. A controller need not be connected to return an interrupt signal to the data channel. These lines are designated as 0-7 and 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 Input/Output Specifications Manual, Pub. No. 60048800. DATA LINES ( 12 FOR 3306 j 24 FOR 3307 ) PARITY LINES ( I FOR 3306; 2 FOR 3307) CONNECT FUNCTION READ WRITE DATA SIGNAL MASTER CLEAR CLEAR EXTERNAL 3306 OR 3307 COMMUN ICATION CHANNEL CHANNEL INTERRUPT EXTERNAL EQUIPMENT BUSY REPLY CONTROLLER REJECT END OF RECORD EXTERNAL PARITY STATUS ERROR LINES (12) INTERRUPT LINES (8) SUPPRESS ASSEMBLY / DISASSEMBLY WORD MARK SAMPLE STATUS TIME NEGATE CHANNEL INTERRUPT LOCKOUT 24 BIT DEVICE PRESENT (3307 ) COMPUTER RUNNING Figure 3-3. Principal Signals Between I/O Channel and External Equipment 3-3 Rev. C 3306 AND 3307 COMMUNICATION CHANNELS Communication channels provide a buffer between the computation section and various peripheral controllers, thus preventing a tie-up of the computation section while awaiting a response from an external equipment. Since an I/O section contains no manual controls or indicators, all operations must be initiated by program via the computation section of the computer. Prior to actual data exchange the program must execute several instructions which connect the equipment to the channel, specify operating conditions, check status conditions, and initiate the Read orWrite operation. After the Cent ral Processor initiat es the Input or Output operation, a communication channel can exchange data between the peripheral device and core storage independent of the Central Processor. All assembly and disassembly for the 3306 12-bit channel is done by block control, not the 3306. Two memory references are necessary to store or transmit a 24bit word when doing a word addressed I/O instruction with 12- to 24-bit assembly. In contrast, the 3307 contains its own assembly/disassembly feature. The assembly feature allows the channel to receive two 12-bit bytes from an external equipment and assemble them into a 24-bit word before storing in memory. The disassembly feature permits the channel to accept a 24-bit word from storage and transmit it to an external equipment in 12-bit bytes. The 3307 also facilitates a convenient interface with a 24- bit I/O device. The 24-bit transfers between memory and the 3307 reduce to one the number of memory references necessary to execute a word addressed I/O instruction. Thus the 3307 is adapted for use with high-speed 12- and 24-bit I/O devices. When doing character addressed instructions, it acts as a 3306. I/O PARITY Parity Checking With the 3306 The computer checks parity by one method for Connect, Function, and Write operations and by a second method for Read operations. External equipment responds differently to parity errors for a Connect than for a Function, Read, or Write. For details on external equipment responses to parity errors see 3000 Series Peripheral Equipment Reference Manual, Pub. No. 60108800. 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 via the I/O channel. The external equipment generates a parity bit and compares it with the parity bit from the computer. Connect: If a parity error exists in a Connect instruction, the external equipments • • Rev. B do not connect disconnect if already connected 3-4 • do not return an External Parity Error signal • generally light a Parity Error indicator on the external equipment, and • return neither a Reply nor a Reject signal. After 100 usec the computer issues an Internal Reject. Function and Write: If a parity error exists in a Function or Write instruction, the connected external equipment sends an External Parity Error signal back to the 1/ a channel. This signal causes the logic within the channel to provide a "1" on sense line zero. This logic is cleared every time an attempt is made to execute a Connect, Function, Read, or Write operation on this channel; however, these operations do not necessarily clear the logic in the external controller that transmits the External Parity Error signal. Thus to guarantee clearing this sense line the external equipment must also be cleared. Both the I/O channel and the external equipment may 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 both the external equipment and the I/O channel are cleared. A new I/O sequence must be initiated to continue or repeat the I/O operation. 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 "1" on sense line zero. 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 clears the error indication. Parity Checking With the 3307 The computer checks parity with a 3307 in a slightly different manner than with a 3306. Connect, Function, and Write During the Connect, Function, and Write operations the Data Bus circuit in the computation section generates one parity bit for the lower 12ibit byte of data and one parity bit for the upper 12-bit byte. Both parity bits are sent to the external equipment via the 1/ a channel. The external equipment generates parity bits and compares them with the parity bits from the computer. The remainder of the parity checking is identical to that of the 3306 for Connect and for Function and Write. 3-5 Rev. C Read During a Read operation, the external equipment generates two parity bits per data word (one for each 12-bit byte) and sends them to the 3307 with the word. The 3307 holds the parity bits as the data is forwarded to the Data Bus circuit of the computer. Parity is generated in the Data Bus circuit and is sent back to the 1/0- channel where a comparison is made with the parity bits received from the external equipment. If a parity error exists, the channel parity logic is set by an enable from the computation section, thus providing a "1" on sense line zero. Clearing the logic also occurs the same way as it does in the 3306. 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 clears the error indication. TRANSMISSION RATES The rate of transmitting each 12-bit word of I/O information depends upon the number of channels active, interregister transfers, the use of pause instructions to block out main control or the real-time clock, the length of connecting cables, and the use of multiprogramming. The 3000 Series Input/Output Specifications Manual, Pub. No. 60048800, describes in detail the measurement of these transfer rates using a variable-speed channel execiser. The exerciser measures the transfer rate by indicating a Lost Data condition when its speed exceeds that of the data channel. Word addressed I/O instructions with 12- to 24-bit Assembly/Disassembly were used. Assuming a safe maximum transfer rate to the 10 percent slower than the average of the rates at which a Lost Data condition occurred, the following cases serve as examples of realizable transfer rates. Maximum Transfer Rate (12-bit word) Without multiprogramming: 1. 2. Rev. F Using a 3307 on channel 4, doing I/O only, blocking main control and the real-time clock with a Priority Pause instruction. Standard rate, no restrictions on program, channel 0 and 1 active, channel 0 is a 3307, channel 1 is a 3306. 3-6 2.0 usec 8.0 usec (channel 0) 20.0 usec (channell) With mUltiprogramming 1. Using a 3306 on channel O~ doing I/O only, blocking main control and the real-time clock with a Priority Pause. 2. Standard rate, no restrictions on program, channels 0 and 4 active, both are 3306's. 4.2 usec 16.0 usec (channel 0) 16.0 usec (channel 4~ The measured transfer rates when doing relocation were 0.2-.3 usec greater. INPUT/OUTPUT RELOCATION Data may be transmitted to or from several block locations in storage by using relocation. When an I/O instruction is encountered while executing a program in Executive Mode, Program State, an Executive Interrupt returns the computer to Monitor State. When a 3311 is present in the system the relocation of I/O information now occurs in the same manner as the relocation of a program. The monitor recognizes and assigns the appropriate 1/ a channels and devices. Whether or not relocation occurs, the largest block of data which may be transferred by a single I/O instruction is 32K 24-bit words. AUTO LOAD / AUTO DUMP The Auto Load and Auto Dump feature of the computer allows the programmer two groups of continuous storage locations for storing frequently used subroutines. These subroutines may be used whenever it is desirable to call in a particular tape unit or some other function that initiates an operation. By depressing the AUTO LOAD console switch when the computer is stopped and in the non-Executive mode, the computer automatically jumps to address 77740 and executes the instruction stored there. The Auto Load routine is allotted sixteen addresses, 77740 through 77757. Depressing the AUTO DUMP switch under the same conditions as Auto Load causes the computer to jump to address 77760 and execute the instruction stored there. Sixteen addresses, 77760 through 77777. may be used for the Auto Dump routine. Although these storage areas may be used for any routine, the Auto Load area is generally 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 program just called in. The Auto Dump area is most often used to output a block of data to a magnetic tape unit or other peripheral equipment and the last instruction in this routine can be a jump to any storage area within the confines of the system. 3-7 Rev. F When the computer is operating in Executive mode, the Auto Load routine is stored in thirty-two locations encompassing addresses 003700 through 003737. The Auto Dump likewise has thirty-two locations ranging from address 003740 through 003777. The PA and PP designators of the page index associated with Page Index File zero are always zero thus providing a definitive area of storage (page zero) where the Auto Load and Auto Dump routines may be stored. The Auto Load and Auto Dump addresses are always protected in Non-Executive mode. Examples of entering programs into the Auto Load and Auto Dump storage areas are given in Section 7. Rev. B 3-8 4. INTERRUPT SYSTEM GENERAL INFORMATION The Interrupt System of a 3300 Computer can sense for the presence 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 of these conditions exists, and the interrupt system is enabled; execution of the main program halts, the contents of the Program Address register are stored, and an interrupt routine is initiated. This interrupt routine previously 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 seven categories of interrupts in the 3300 Computer: Internal Condition interrupts, II 0 interrupts, Executive interrupt, Parity Error interrupt, Illegal Write interrupt, Trapped Instruction interrupts, and Power Failure interrupt. The store operations required for all types of interrupts occur regardless of the settings of the storage protection switches described in Section 2. An additional programming feature is the MANUAL INTERRUPT switch on the operator's console. This interrupt is not masked since this switch is activated only when it is desirable to interrupt the computer, however, the interrupt system must be first enabled. The manual interrupt condition is automatically cleared ;:lfter the interrupt is recognized. When the 3300 is operating in the Program State of Exec.utive mode, any interrupt that is recognized causes the processor to revert to the Monitor State. An Executive interrupt (described later in this section) also causes the processor to revert to the Monitor State if an attempt is made to execute one of several particular instructions. 4-1 Rev. A INTERRUPT CONDITIONS Internal Condition 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. Exponent Overflow /Underflow Fault During all floating point arithmetic operations, exponential overflow occurs if the exponent exceeds + 17778 or is less than -1777 , The fault is also set if 8 the SFPF (77. 71) instruction is executed. BCD Fault The BCD fault is generated by the BDP module if: 1. The lower 4 bits of any character in field A (except the sign character) exceed 118 during a numeric character operation. 2. The lower 4 bits of the sign character in field A exceed numeric character operation. 3. The upper 2 bits of any character in field A (except the sign character) do not equal 00 during a numeric character operation. 4. An arithmetic carry out of the highest order character of field C occurs during an ADM or SBM instruction. 5. Field length S 1 > S 2 for an ADM or SBM instruction. 6. Field length S 1 ~ S2 for a FRMT instruction, including provision for insertion characters. 7. A carry occurs out of the 14th character position during a CVBD instruction. 8. A field (S 1) of more than 14 BCD characters is specified during a CVDB instruction. 9. Bits 05 and 06 of an ASCII character are both "1' s" or both "0' s" during the execution of an A TD instruction. 128 during a The BCD Fault may also be set by executing the SBCD (77. 72) instruction. Rev. C 4-2 Search/Move Interrupt The Search/Move control may be programmed to generate an interrupt during a 71 or 72 instruction for either of the following conditions: 1. Completion or satisfaction of an equality or inequality search instruction (SRCE or SRCN). 2. Completion of a block move (MOVE instruction). Real-Time Clock Interrupt The Real-Time Clock interrupt is generated when the clock reaches a time previously stored in register 32 of the Register File. Input/Output Interrupts I/O Channel Interrupts Any of the eight possible I/O 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 I/O equipment interrupt is set when an interrupt signal is received from any of eight peripheral equipment controllers connected to any of the eight possible I/O channels (there may be a total of 64 interrupt lines). Associated Processor Interrupt In a system of two or more processors (computers), each processor may interrupt, or be interrupted by, one other processor by executing an IAPR (77.57) instruction. This interrupt is not masked and becomes cleared as soon as it is recognized. Executive Interrupt The Executive Interrupt can only occur when the computer is operating in the Program State of Executive mode. An attempt to execute one of the following instructions then generates an Executive interrupt. 1. Halt instruction (00. 0) 2. Inter-register transfer instructions with the Register File locations 00 through 37, [}3. (4-7) (1-3) (XXOO-XX37[] 4-3 Rev. C 3. Instructions with octal codes 71 through 77 except the 77. 71.8FPF and 77. 72 SECD instructions This interrupt is not masked and has priority over all of the internal condition interrupts. When the Executive interrupt has been recognized and the computer has reverted to the Monitor State, any of the instructions in the three categories above can be executed. Storage Parity Error-No Response Interrupt A Storage Parity Error interrupt has the highest priority of all interrupts and can occur if either a storage parity error is detected or if a storage module does not respond when referenced. The interrupt condition is recognized during the RNI and RADR sequence for an instruction. The PARITY INTERRUPT switch on the console must be active for the interrupt to occur. If the PARITY STOP switch is active, the computer stops when a parity error or no-response condition is detected. The two switches cannot be simultaneously active, and pressing the PARITY STOP switch overrides the Parity Interrupt condition. If Block Control has storage priority at the time of interrupt, the address of the next instruction to be executed is stored in the lower 15 bits of location 00020. The appropriate register file location contains the approximate address where the error occurred. An interrupt during Main Control priority causes the address of the current instruction to be stored in location 00020. If the error condition is detected during any of the RNl's for the BDP instructions, (P) is always stored at location 00020. Detecting the condition during either RNI for the 71 - 76 instruc tions results in either (P), (p + 1), or (p + 2) being stored. A code representing conditions within the processor at the time of interrupt is automatically stored in the lower 12 bits of location 00021. A RNI is then peil'formed at location 00021. The stored address and code enable the interrupt routine to isolate the, storage area where the error occurred and aid in program recovery. Table 4-0 lists the various codes and their interpretations. The instruction in progress when the interrupt is detected may be executed although the results are not necessarily correct. Once the parity error or noresponse condition is detected, additional errors are not recognized until a DINT (77.73) instruction is executed. Rev. F 4-4 TABLE 4-0. Reason for Interrupt PARITY ERROR INTERRUPT CODES Type of Operation or Sequence in Progress Code No- Response Block Control - (73-76) OOXO X= ch Parity Error Block Control - (73-76) 00X2 X= ch No-Response Block Control - 71, 72, or typewriter I/O 01XO (X=O, Srch), (X=l, Move) , (X=3, TWR) Parity Error Block Control - 71, 72, or typewriter I/O 01X2 (X=O, Srch), (X=l, Move) , (X=3, TWR) No-Response Main Control - RNI or RADR 00X1 (X=O, RNI) (X=2, RADR) Parity Error Main Control - RNI or RADR 00X3 (X=O, RNI) (X=2, RADR) No-Response Main Control - ROP or STO 0005 Parity Error Main Control - ROP or STO 0007 Illegal Write Interrupt This interrupt has priority over all interrupts except the Storage Parity Error interrupt. The interrupt condition may result during a RNI, RADR, ROP, or STO sequence; however it is recognized only during RNI or RADR. When the condition is recognized, the interrupt system is disabled, (P) are automatically stored at address 00014, and an RNI is performed at address 00015. The system must be in Program State of Executive mode to recognize the interrupt. The interrupt is disabled during Monitor State and during Search/Move and I/O cycles. The conditions for the interrupt are listed below. (Conditions 3 through 6 apply only if the 3311 Multiprogramming Module is present in the system. ) 1. A Write operation into an area protected by the Storage Protect switches (Program State 0), 2. A Keyboard Write operation into the Executive Auto Load/Auto Dump area (addresses 03700 through 03777). 3. A Read or Write operation when bits 9 and 10 of the original address specify a quarter page equal to or greater than PL, when PL 1- 0, 4. A Read or Write operation if the 'E' designator for any referenced index equals "1" and PA, PL, and PP are equal to zero, 5. A Write operation if the 'E' designator for any referenced index equals "1" and P A, PL, or PP is not equal to zero. 6. A double precision instruction if the first operand is to be read from the last available memory location specified by PL, or if from the last memory location when PL specifies a full page and the next index to be used contains 4000, 4-5 Rev. C Bit 05 of the internal status sensing network is set on an illegal Write interrupt only if the condition occurred during a RNI or RADR sequence. If the condition occurred during a ROP or STO sequence, the interrupt is generated but bit 05 is not set. If one of the 66.0 - 66. 5 instructions is interrupted by an illegal Write, the instruction always restarts at the beginning when the main program resumes. Other BDP instructions restart from the point of interrupt. Trapped Instruction Interrupts If an attempt is made to execute one of the instructions listed in Table 4-1 and the system is not equipped with a 3310 Floating Point module or 3312 BDP, the instruction becomes trapped. Only those instructions preceded by an asterisk (*) are trapped if the 3312 BDP is not present in the system and the 3310 Floating Point module is present. TABLE 4-1. TRAPPED INSTRUCTIONS FOR NON-EXECUTIVE MODE WITHOUT A 3310 OR 3312 MODULE IN SYSTEM (MNEMONIC LISTING) ELQ EUA EAQ QEL AEU AQE MUAQ DVAQ FAD FSB FMU FDV *MVE '~MVE, DC ':'MVBF ':'MVZF ':'MVZS *MVZS, DC *ZADM ':'FRMT ':'EDIT ':'SCAN, LR, EQ "~SCAN, LR, EQ, DC *SCAN, LR, NE ':'SCAN, LR, NE, DC ':'SCAN, R L, EQ ':'SCAN, RL, EQ, DC ':'SCAN,RL, NE ':'SCAN, RL, NE, DC ':'CVDB *CVBD ':'DTA ':'DTA,DC *ATD ':'ATD, DC >:'PAK ':'UPAK ':'ADM ':'SBM ':'CMP ':'CMP, DC ':'TST ':'JMP,HI ':'JMP,LOW ':'JMP,ZRO '~SBR '~LBR Each instruction listed in Table 4- 2 is processed as a no-Operation instruction, (refer to Section 5) if an attempt is made to execute one of them while operating in the non-Executive mode. . TABLE 4-2. NO-OPERATION INSTRUCTIONS FOR NON-EXECUTIVE MODE (MNEMONIC LISTING) ACI AIS AOS APF CIA Rev. C ISA JAA OSA PFA RCR RIS 4-6 ROS SBJP SDL SRA TMAV 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. The address of the next sequential program step, P + 1, is stored in the lower 15 bits of address 00010. 2. The upper 6 bits of the instruction in the F register are stored in the lower 6 bits of the operand stored at address 00011. The upper 18 bits of this operand remain unchanged. 3. Program execution commences at address 00011. EXAMPLE: MUAQ (56) Instruction execution attempt without the Floating Point/Double Precision hardware option in the system. Address P a 30390 Address P + 1 00010 00011 At this point the MUAQ operation may be simulated by software and re-entry to the main program is possible by a jump to the contents of address 00010. Power Failure Interrupt If Source power to the computer system fails, the power failure is detected and the computer program is interrupted. This interrupt is necessary to prepare. a controlled shutdown and prevent the loss of data. The operation requires 16 ms for detection, and up to 4 ms for processing the special Power Failure interrupt routine. The Power Failure interrupt overrides any other interrupt except the Illegal Write and Storage Parity Error interrupts, regardless of the state of 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 a DINT (77.73) instruction. 4-7 Rev. C INTERRUPT CONTROL Through the use of certain instructions, a program can recognize, sense, and clear interrupts, and enable or disable the interrupt system. Enabling or Disabling Interrupt Control Instruction EINT (77.74) enables the interrupt system and the DINT instruction (77. 73) disables it. Mter recognizing an interrupt and entering the interrupt sequence, other interrupts are disabled automatically. When leaving the interrupt subroutine, the interrupt system must again be enabled by the EINT instruction if interrupts that are waiting or subsequent interrupts are to be recognized by the system. Refer to the EINT (77.74) instruction in Section 5 for special conditions regarding the actual interruption of the CPU. 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 (not necessarily the interrupt that initiated the scanning) . 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- 3 lists the order of priority. TABLE 4-3. PRIORITY 1 2 3 4 5 6 7 INTERRUPT PRIORITY TYPE OF INTERRUPT Storage Parity Error illegal Write Power Failure Executive Arithmetic Overflow Divide Fault Exponent Overflow / Underflow PRIORITY 8 9-72 73-80 81 82 83 84 85 TYPE OF INTERRUPT BCD Fault I/O Equipment (External)* I/O Channel** Search/Move Real-time Clock Manual Associated Processor Trapped Instruction ':' 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 over 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. ':0',: A lower numbered I/O channel interrupt has priority over a higher numbered I/O channel interrupt. Rev. C 4-8 Sensing Interrupts The programmer may selectively sense interrupts by using the INTS (77. 4) instruction. Sensing the presence of internal faults automatically clears them. Interrupt lines representing channels not present in the system are sensed as being active. The interrupt system need not be enabled for sensing. Clearing Interrupts Internal condition interrupts are cleared by: • Sensing with an INTS (77. 4) or INS (77. 3), after which interrupts are automatically cleared, • Executing an INCL (77.50) instruction • Executing an IOCL (77.51) instruction - clears only Search/Move interrupt, or • Pressing the MC or INTERNAL CLEAR buttons. I/O channel interrupts are cleared by: • Executing an INCL (77. 50), IOCL (77. 51), or CLCA (77. 512) instruction, or • Pressing the MC or EXTERNAL CLEAR buttons. I/O equipment interrupts are cleared by: • Executing an IOCL (77. 51) instruction, • Reselecting or releasing the interrupt with a SEL (77. 1) instruction, or, • Pressing the MC or EXTERNAL CLEAR buttons. The manual and associated processor interrupts are automatically cleared upon recognition by the computer. INTERRUPT PROCESSING Four conditions must be met before an Internal Condition, Executive, or I/O interrupt can be processed: 1. A bit representing the interrupt condition must be set to "1" in the Interrupt Mask register (except for Manual, Associated Processor, and Executive interrupts) . 2. The interrupt system must have been enabled (except for Executive Interrupt). 3. An interrupt-causing condition must exist. 4-9 Rev. C 4. The interrupt scanning logic (Refer to Table 4-3) 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 or RADR 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-4 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-4. REPRESENTATIVE INTERRUPT CODES Conditions Codes External interrupt I/O channel interrupt Real-Time Clock interrupt Arithmetic overflow fault Divide fault Exponent overflow fault BCD fault Search/move interrupt Manual interrupt Associated processor interrupt Executive Interrupt ':'OOLCh 010Ch 0110 0111 0112 0113 0114 0115 0116 0117 0120 *L = line 0-7 and Ch = channel designator, 0-7 INTERRUPT MASK REGISTER The programmer can choose to honor or ignore an interrupt by means of the Interrupt Mask register. All but three of the normal interrupt conditions are represented by the 12 Interrupt Mask register bits. The Manual, Associated Processor and Executive interrupts are not masked. The mask is selectively set with the SSIM (77. 52) instruction and selectively cleared by the SCIM (77. 53) instruction. See Table 4-5 for Interrupt Mask register bit assignments. The contents of the 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. Rev. C 4-10 TABLE 4-5. Mask Bits INTERRUPT MASK REGISTER BIT ASSIGNMENTS Mask Codes 00 01 02 03 04 05 06 07 08 09 0001 0002 0004 0010 0020 0040 0100 0200 0400 1000 10 11 2000 4000 Interrupt Conditions Represented I/O Channel 0' 1 2 (Includes interrupts 3 > generated within the 4 channel and external 5 equipment interrupts. ) 6 7'. Real-time clock Exponent overflow / underflow and BCD faults Arithmetic overflow and divide faults Search/Move completion INTERRUPTS DURING EXECUTIVE MODE Although all interrupts can be recognized during Executive mode, special consideration must be given to handling these interrupts. During Executive mode, the Condition register records current operating information that must temporarily be stored in the event of interrupt to enable proper recovery. Table 4-6 lists the Condition register bit assignments. TABLE 4-6. Bit CONDITION REGISTER BIT ASSIGNMENTS Condition Represented 00 Boundary Jump - Set by SBJP (77. 62) instruction. 01 Destructive Load A - 02 Operands Relocated Using OSR Program State Jump- 03 04 05 Interrupt System Enabled Program State - Cleared by next jump instruction. Set by SDL (77. 624) instruction. Cleared by next LDA instruction. Set by ROS (55.4) instruction. Cleared by RIS (55.0) instruction. Set by any jump during Program State. Cleared when jumping to Program State. Set by EINT (77. 74) instruction. Cleared by DINT (77.73) instruction. Set when jumping to Program State. To insure the processing of stacked interrupts, it is necessary to transfer these conditions to the A register at the start of the interrupt routine by executing a CRA (77. 63) instruction. At the completion of the interrupt routine, these conditions must be restored by executing a ACR (77. 634) instruction. 4-11 Rev. F Upon interrupt recognition, the interrupt system is automatically disabled and the Central Processor enters the Monitor State. The Condition register and all interrupts, except Trapped Instruction interrupts, are disabled during the intervals between interrupt recognition and CRA instruction execution, and between execution of the ACR instruction and the jump instruction normally used to exit from an interrupt routine. The Condition register is cleared as the transfer to A is completed; the interrupt system remains disabled until a EINT (77. 74) or ACR instruction is executed. Rev.F 4-12 5. INSTRUCTIONS GENERAL INFORMATION A 3300 machine coded instruction word is 24 bits in length and may require up to three sequential words for a particular function. Although there are 24 distinct instruction formats, as illustrated in Appendix D, there are several that are used more frequently than others. These formats (word oriented, character oriented, and business oriented) are shown in the following pages along with their appropriate instruction parameters. Instruction Parameters The following parameters are used in the 3300 instruction list. A capitalized letter generally indicates a modified parameter, however, this is not always the case and the specific instruction should be consulted. Some parameters are general in nature, i. e., specifying a character address, but in some instances may indicate a high order address and in others a low order address. The parameter descriptions listed below each instruction format should be checked for the explicit memory of the parameters for that particular instruction. If an octal number appears in the format of a specific instruction, only that number must be placed in the exact position as indicated. In cases where only a single binary position is involved, a "1" or "0" is used depending upon the instruction. The following parameters are used throughout the 3300 instruction list: A = (1) variable length field of characters designated field A in BDP instructions; usually the transmitting field. (2) A is used in the descriptions for instructions (other than those for BDP) to indicate the A register. a = addressing mode (a = "0" for direct addressing, a = "lit for indirect addressing) B = "1" for backward storage b index register designator 1, 2, or 3. 5-1 Rev. A index register flag for a field in certain BDP instructions. The flag indicates which index register will have its contents added to the unmodified address 1m I. M = m + [Bm] for these instructions only. index register flag for a field in certain BDP instructions where both fields are specified by word addresses. The flag indicates which index register will have its contents added to the unmodifie d addre ss In I. B index register flag for field A in most BDP instructions (refer to individual instruction descriptions). Initial character address of field A is defined: R = r + [ B r ]. If Br = 1 or 3, use (Bl); if Br = 2, use (B2); if Br = 0, no indexing is pe rforme d and R = r. r index register flag for field C in most BDP instructions (refer to individual instruction descriptions). Initial character address of field C is defined: S = s + [Bs] . If Bs = lor 3 use (Bl); if Bs= 2, use (B2); if Bs = 0, no indexing is pe rformed and S = s. C = variable length field of characters designated field C in BDP instructions. Usually the receiving field. ch denotes I/O channel (0 through 7). DC indicates delimiting character position within the instruction word or mnemonic. Generally, a delimiting character of 6 or 8 bits is specified in an instruction and if a character is recognized, during the particular operation, that equals the delimiting character, the operation is terminated. G II 1 II for word count control with the INPC and INPW instructions. H indicates special Assembly/Disassembly operation in certain character oriented I/O instructions. INT "l II for interrupt upon completion in certain I/O instructions. I assembly language designator indicating indirect addressing. i internal parameter (decrement or increment). j Jump designator. k (1) unmodified shift count for SHA, SHQ, and SHAQ instructions. (2) scale factor for SCAQ instruction. K + (Bb) for SHA, SHQ, and SHAQ instructions. (2) residue quantity for SCAQ instruction. (1) modified shift count, K = k field length of data block for MOVE instruction. number of characters in BDP field A (character count). number of characters in BDP field C (character count). Rev. B 5-2 m = unmodified 15-bit storage word address. M = modified 15-bit storage address. same as 'm', but the word address of the second operand for certain I/O instructions. n N b M = m + (B ). = indicates special Assembly/Disassembly operation in certain word oriented I/O instructions. unmodified 17-bit character address. r R = modified 17-bit character address: R = r + (B r ) for BDP instructions. (Refer also to 'Br '. ) R = r + (Bb) for all other instructions. s = same as 'r', but the character address of the second operand for certain I/O instructions. S = (1) modified 17-bit character address of field C for BDP instructions only. S = s + (B s ). (Refer also to 'Bg '. ) (2) also used to denote sign extension for certain instructions. SC = 6-bit comparison scan character used in search instructions. May be used With DC. v = a specific register number (00- 77) within the Register File. 7 - bit Page Index File address. (Refer to APF and PF A instructions and Appendix E for additional information. ) w x = connect code or interrupt mask. y 15-bit operand z 1 7 - bit operand /1111/ = slashing indicates a particular area of an instruction that should be loaded with zeros although the particular area is not used for the instruction. In addition to the instruction parameters, various abbreviations are used in the instruction descriptions that refer to various registers and operations. These abbreviations and their literal meanings are listed here: ISR OSR CIR CR BCR PIF = = Instruction State register Operand State register Channel Index register Condition register BDP Condition register Page Index File contents of the lower 3 bits (00, 01, and 02) of the A register contents of the index register as defined by the value of the Br flag. 5-3 Rev. F mn m>n m.n (m)-n m "less than" n m "greater than" n m "greater than or equal to" n logical product of m and n contents of m, transferred to n Exclusive OR function AND function V 1\ Instruction Word Formats Word oriented instructions are the most common of the instruction formats. Fifteen bits are allocated for an unmodified storage addre ss, operand, or shift count. Indirect addressing is usually available. Figure 5-1 illustrates a word oriented instruction and the significance of the fir st 15 bits when they repre sent an unmodified word addre ss 1m I . ,---"------.. BITS_ 23 IB (6 BITS) 17 16 00 1514 (15 BITS) 1(1 BITlI(2 BITs)1 ~---'V I~~\L-----------------.v'------------------ b a FUNCTION CODE m k y Symbol designators (See Symbol Definitions) Figure 5-1. Word-Addressed Instruction Format Character oriented instructions ailocate 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 5-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 'rl. 18 23 (6 BITS) V FUNCT ION 17 16 00 ( 17 BITS) 1(1 Bini I~\ CODE V b r z Characters in a data word are always specified in the following manner: I , 12 II 1817 23 0 0605 I 2 \ ! 00 3 / character de signators Figure 5- 2. Rev. A Character-Addressed Instruction Format 5-4 Word Addressing/Character Addressing It is aften desirable to. canvert a ward address and character pasitian to. its carrespanding character address ar vice versa. technique used far this purpase. The fallawing pracedure is a To. canvert a ward address to. a character address: • Octally multiply the ward address by faur. (During pragram executian, this aperatian is simulated by a left shift af twa binary places.) • Add the character pasitian to. the praduct. The sum is the character address. EXAMPLE: Given: Ward address 12442, character pasitian 2 Find: Carrespanding character address 1. 12442 x4 52210 +2 52212 = character address 2. To. canvert a character address to. a wo.rd address: • Octally divide the character address by four The quatient is the ward address and the remainder is the character pasitian. No. remainder indicates character zero.. EXAMPLE: Given: Character address 03442 Find: Ward address and character pasitian 00710 .iJ03442 34 4 4 2 = remainder character pasitian 2 NOTE Octal multiplicatian anddivisian tables may be faund in Appendix C af this manual. Instructian word farmats that differ fram ward and character arientatian are described in the instructian listing. Business ariented instructians require three instructian wards to. campletely define an aperatian. These instructians are executed anly by the BDP. These subinstructian wards are always lacated at cansecutive memary lacatians, naminally designated P, P+1, and P+2. 5-5 Rev. A r - " I " FOR DELIMITING WHEN AVAILABLE 18 23 00 16 117 BITS) 16 BITS) P , '------,v FUNCTION 23 P+ I 17 \L---------~vr---------~ CODE 21 20 r OR m 115 BITS) 19 18 17 16 113 BITS) 112 BITS)112 BITS) 00 I (17 BITS) ~~~\~---------------'V~--------------~ SU~Oo~CN Br OR Bm Bs OR Bn PHI S OR m OR n (15 BITS) 12 II 23 00 I I \L------~vr-------,\~------~vr------~' 52 SI OR (6 BITS) V DC OR (8 BITS) \L-----vr----~ OR DC (6 BITS) ' - - - - - vr ---' SC OR (6 BITS) (6 BITS) '------,vr---/lL--~vr-----' SC DC Figure 5- 3. Business Oriented Instruction Format Indexing and Address Modification In some instructions, the execution address 'm' or 'r', or the shift count 'kl may be modified by adding to them the contents of an index register, Bb. The 2- bit designator 'bl specifies which of the three index registers is to be used. Symbols representing the respective modified quantities are M, R, and K. = m + (Bb) R = r + (Bb) the sign of Bb is extended to bit 16 (2 17 _1) M K =k + (Bb) In each case, if b Rev. A = 0, then M = m, 5-6 R = rand K = k. Special index considerations apply to BDP instructions where an index register flag is pre sent. A flag defines which index register is used for indexing: EXAMPLE: If s = 00413, Bs = 2, and (B2 = 00364, then S = s + [BsJ or "the modified address'S' equals the unmodified address's' added to the contents of the index register as defined by Bs". Thus: S S = s + [ BsJ S = 00413 + 00413 + (B2) 00364 S = 00777 Some BDP instructions, i. e. , PAK, CVBD, DTA, etc. utilize both word and character addresses in their formats. Although the first two bits preceding the address are unused and not part of the word address, the lower 15 bits of this word are added to the contents of the specified index register. The lower two bits of the specified index register must be set to "l's" to allow for an endaround carry during the index addition. EXAMPLE: 161514 020100 n ~, ,, V I [Bn] are added to the first 15 bits 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 'k' 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 'm' 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 'm' may be modified (indexed) by adding to it the contents of register Bb, M = m + (BD). 5-7 Rev. B Indirect Address It is possible to use indirect addressing only with instructions that require an execution address 1m I . For applicable instructions, indirect addressing is specified by making I a l 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 I a I 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 5-4 shows the indirect addressing routine. GO TO ADDRESS M. ACQUIRE NEW TERMS 0, b, AND m NO ORIGINAL EXECUTE INSTRUCTION USING ADDRESS M INSTRUCTION POSSIBLY CONTAINING '0' AND/OR 'b' NO ADD THE (Bbl TOm Figure 5-4. Indexing and Indirect Addressing Routine Flow Chart NOTE Unless it is otherwise stated, indirect addressing follows the above routine throughout the list of instructions. Rev. A 5- 8 Indexing and Indirect Addressing 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. EXAMPLE 1: (ADDRESS MODIFICATION - (indexing) ONLY) 1 I P = 00000 202~ t Indicates Direct Address (B2) • 13342 Add this address to (B2) ~ mode and address modification by B2 54430 +13342 20 2 67772 0 or + } Jump if BDP register = 0 5-42 JMP, LOW Jump if BDP register < 0 or - LACH Load A character 5-49 LBR 5-155 LCA, I Load BDP Condition register Load A complement 5-50 LCAQ, I Load AQ complement (double precision) 5-51 LDA, I Load A 5-49 LDAQ, I Load AQ (double precision) 5-50 LDI, I Load index 5-52 LDL, I Load logical 5-50 LDQ, I Load Q 5-51 LPA, I Logical product with A 5-73 LQCH Load Q character 5-52 MEQ Masked equality search 5-75 MOVE,INT Move (S) characters from r to s 5-138 MTH Masked threshold search 5-76 MUA, I Multiply A 5-62 MUAQ, I Multiply AQ 5-63 MVBF Move and blank fill 5-142 MVE Move 5-140 MVE, DC Move, delimiting character possibility 5-141 MVZF Move and zero fill 5-143 MVZS Move and zero suppress 5-144 MVZS,DC Move and zero suppress, delimiting character possibility 5-145 OSA Transmit (OSR) to A 5-37 OTAC, INT Character-addressed output from A 5-109 OTAW, INT Word-addressed output from A 5-110 OUTC, INT, B, H Character-addressed output from storage 5-102 OUTW, INT, B,N Word-addressed output from storage 5-104 PAK Pack 6 bit BCD characters into 4 bit BCD characters 5-121 5-15 Rev. B TABLE 5-1. INSTRUCTION SYNOPSIS AND INDEX (Cont'd) Instruction Mnemonic Page No. PAUS Pause 5-87 PFA Transmit (PFI) to A 5-39 PRP Priority pause 5-88 QEL Transmit (Q) to EL 5-36 QSE Skip next instruction if (Q) 0= Y 5-29 QSE,S Skip next instruction if (Q) 0= y, sign extended 5-29 QSG Skip next instruction if (Q)::: y 5-30 QSG,S Skip next instruction if (Q) ::: y, sign extended 5-30 RAD, I Replace add 5-60 RIS Relocate to instruction state 5-112 ROS Relocate to operand state 5-112 RTJ Return jump 5-47 SACH Store character from A 5-54 SBA, I Subtract from A 5-61 SBAQ, I Subtract from AQ 5-61 SBCD Set BCD fault 5-91 SBJP Set boundary jump 5-112 SBM Subtract field A from fie ld C 5-69 SBR Store BDP Condition register 5-155 SCA, I Selectively complement A 5-72 SCAN, LR, EQ, DC left to right, stop on 0= SCAN, LR, NE, DC stop on I- Scan 1 5-130 5-132 Delimiting character possibility 5-134 right to left, stop on 0= stop on I- 5-136 SCAN, LR, EQ left to right, stop on 0= 5-129 SCAN, LR, NE stop on I- 5-131 SCAN, RL, EQ right to left, stop on 0= 5-133 SCAN, RL, NE stop on I- SCAN, RL, EQ, DC SCAN, RL, NE, DC Scan SCAQ Rev.F Scale AQ 5-13~i 5-59 5-16 TABLE 5-1. INSTRUCTION SYNOPSIS AND INDEX (Cont'd) Instruction Mnemonic Page No. SCHA, I Store 17- bit character address from A 5-56 SCIM Selectively clear interrupt mask 5-90 SDL Set destructive load 5-113 SEL Se lect function 5- 96 SFPF Set floating point fault 5-91 SHA Shift A 5-57 SHAQ Shift AQ 5-59 SHQ Shift Q 5-59 SJ1 Jump if key 1 is set 5-41 SJ2 Jump if key 2 is set 5-41 SJ3 Jump if key 3 is set 5-41 SJ4 Jump if key 4 is set 5-41 SJ5 Jump if key 5 is set 5-41 SJ6 Jump if key 6 is set 5-41 SLS Selective stop 5-24 SQCH Store character from Q 5-55 SRCE,INT Search character equality 5-125 SRCN,INT Search character inequality SSA, I Selectively set A 5-127 5-72 SSH Storage shift 5-57 SSIM Selectively set interrupt mask 5-90 STA, I Store A 5- 53 STAQ, I Store AQ 5-54 STI, I Store index 5-56 STQ, I Store Q 5-55 SWA, I Store 15- bit word address from A 5-56 TAl Transmit (A) to Bb 5-33 TAM 5-34 TIA Transmit (A) to high speed memory b Transmit (B ) to A TIM Transmit (Bb) to high speed memory 5-35 TMA Transmit (high speed memory) to A 5-34 5-17 5-33 Rev. F TABLE 5-1. INSTRUCTION SYNOPSIS AND INDEX (Cont'd) Mnemonic Instruction Page No. TMAV Test memory availability 5- 81 TMI Transmit (high speed memory) to Bb TMQ Transmit (high speed memory) to Q 5-35 5-34 TQM Transmit (Q) to high speed memory 5-34 TST TSTN UCS UJP, I UPAK Test field A for +, -, 0 Test field A for numeric Unconditional Stop Unconditional Jump 5-82 5-82.0 5-24 5-41 5-122 XOA XOA,S XOI XOQ -" Unpack 4 bit BCD characters into 6 bit BCD characters Exclusive OR y and (A) Exclusive OR y and (A), sign extended Exclusive OR y and (Bb) Exclusive OR y and (Q) XOQ,S Exclusive OR y and (Q), sign extended ZADM Zero and add 5-71 5-146 No-Operation Instructions When an attempt is made to execute one of the following instructions at the current execution address, P, the computer recognizes them as No-Operation (NO-OP) instructions and advances to the next execution address, P + 1. In mnemonics a No-Operation instruction is written as: NOP. NO-OPERATION OCTAL CODES 02 14 15 16 17 0 0 0 0 0 During non-Executive mode operation each of the following instructions are recognized "as No-Operation instructions if an attempt is made to execute one of them. Also refer to Trapped Instruction processing, Section 4. ACI AIS AOS APF CIA Rev. E ISA JAA OSA PFA RCR RIS 5-18 ROS SBJP SDL SRA TMAV Instruction Execution Times Except for the 64.0 through 77. 1 instructions, an actual instruction execution time consists of the base execution time listed plus the time for an RNI cycle. If indexing or indirect addressing is used, their execution times must be added to base instruction time. Relocation time is added only if the RNI or RADR cycle preceding the RNI or RADR currently in progress was in a different memory page or if the ROP or STO cycle preceding the ROP or STO in progress was in a different memory page. That is, by programming RNI's and RADR's in the same page and ROP's and STO's in the same page, relocation processing time can be minimized. Table 5-2 is an octal list of all 3300 instructions with their base execution times. During certain multiple cycle instructions, it is possible to execute other instructions concurrently, thus no additional execution time is required. TABLE 5-2. SUMMARY OF INSTRUCTION EXECUTION TIMES, USEC Instruction Processing Operation Time Added to Base Execution Time (usec) hE5. RNI cycle Indexing (address modification) .375 Relocation .250* Indirect addressing . 1. 375 ':'The time added to base execution time is 0.150 usec if the Multiprogramming Module is present and no relocation is performed. 5-19 Rev. H Basic Octal Code Mnemonic Code TABLE 5-2 (Cont'd) Execution Basic Time Octal Mnemonic (usee) Code Code Execution Time (usee) HLT 0.000 17 ANI 0.000 00 SJI-6 0.000 17 ANA 0.000 00 RTJ 1.375 17 ANQ 0.000 01 UJP 0.000 20 LDA 1. 375 02 IJI 0.000 21 LDQ 1. 375 02 IJD 0.000 22 LACH 03 AZJ 0.625 23 LQCH 1.375 AQJ 0.625 24 LCA 1. 375 04 ISE 0.625 25 LDAQ 2.625 04 ASE 0.625 26 LCAQ 2. 625 04 QSE 0.625 27 LDL 1. 375 05 ISG O. 625 30 ADA 1. 375 ASG 0.625 31 SBA 1.375 05 QSG 0.625 32 ADAQ 2.625 06 MEQ 2.375 + 2. 5n 33 SBAQ 2.625 MTH 2.375 + 2. 5n 34 RAD 2.625 35 SSA 00 03 05 07 10 , 1. 375 SSH 2.625 lSI 0.625 36 SCA 1. 375 ISD 0.625 37 LPA 1. 375 ECHA 0.000 40 STA 1. 375 1. 375 .--~--- 10 10 11 SHA O. 000 to 1. 375 41 STQ 1. 375 12 SHQ O. 000 to 1. 375 42 SACH 1. 375 13 SHAQ O. 000 to 1. 375 43 SQCH 1. 375 13 SCAQ 0.875 to 2.250 44 SWA 1. 375 14 ENI 0.000 45 STAQ 2.625 14 ENA 0.000 46 SCHA 1.375 14 ENQ 0.000 47 STI 1. 375 15 INI 0.000 50 MUA 6.875 to 9. 875 15 INA 0.000 51 DVA 10.250 15 INQ 0.000 52 CPR 16 XOI 0.000 53 TIA 1. 375 to 2. 625 O. (:)00 16 XOA 0.000 53 TAl 0.000 16 XOQ 0.000 TMQ O. 625 12 Rev.F '53 I 5-20 TABLE 5-2 (Cont'd) Basic Octal Code Mnemonic Code Execution Time (usee) Basic Octal Code Mnemonic Code Execution Time (usee) 10.7+ O. 9S 53 TQM 0.625 66 UPAK 53 TMA O. 625 67 ADM & SBM 53 TAM O. 625 53 TMI 0.625 67 ZADM 53 TIM O. 625 67 CMP 53 AQA O. 000 67 TST 53 AlA 0.000 09.4 CD 8. 5 + O. 9 S 1 53 IAI O. 000 67 TSTN CD8.5 +0. 9 Sl 54 LDI 1. 375 55 RIS 0.000 56 MUAQ 57 DVAQ 60 FAD 4.850 to 6.250 70 70 70 71 71 72 61 FSB 4.850 to 6.250 73 LBR JMP SBR SRCE SRCN MOVE INPC 62 FMU 16.0 73 INAC :::' 63 FDV 19.0 74 INPW )~ 64 MVE 10.7 + 0.9 S 74 INAW -,--,- 64 MVBF 75 OUTC :}: 64 MVZF 10. 7 + O. 9S 2 12. 9 + O. 9S 2 75 OTAC ::!, 64 MVZS 76 OUTW >:::: 64 FRMT 10.7 + O. 9S 2 10.7 + O. 9S 2 76 OTAW >:::: 64 EDIT 09+3. 1'd+ 0.75 S2 77 CON >!< CD 13+3. 1 'd+1. 65 )2 77 SEL >!< 77 EXS 0.000 COpy 0.000 65 SCAN 66 CVBD 66 CVDB 1 CD 9+3. hH 0.75 S2 CD 13+3. 1'd+ 1. 65 S::: 16.0 to 19.0 25.5 8.5 + O. 9 S2 17,9+ 0,92 [Q' (1+M) + 77 10.7 + O. 9S 2 10.7 + O. 9T 4. 9 1. 44 4. 9 :::< *>::: :0:< f3 M 1 +8N 1 +20N 2 +28N 3 ] 77 INS 0.000 CD 13. 7 + 0, 92 (3N 1 + 6N2 + 8N3) 77 CINS 0.000 77 INTS 0.000 CD 13. 7 + O. 92 (4N 1 + 10N2 + 14N3 - 1) 77 INCL 0.000 77 IOCL 0.000 '77 CILO 0.000 77 CLCA 0.000 77 SSIM 0.000 77 SCIM 0.000 66 DTA 10.7 + 1. 1 S 66 ATD 10.7 + 1. 1 S 66 PAK 10.7+ 0.9 Sl 5-21 Rev.F TABLE 5-2 (Cont'd) Basic Octal Code Mnemonic Code Execution Time (usec) Basic Octal C9 de Execution Time (usec) Mnemonic Code 77 ACI 0.000 77 AOS 0.000 77 CIA 0.000 77 AIS 0.000 77 JAA 0.000 77 OSA 0.000 77 IAPR 0.000 77 ISA 0.000 77 PADS 0.0 to 40 ms 77 SLS 0.000 0.0 to 40 ms 77 SFPF 0.000 1.375 or 6.375 us 77 SBeD 0.000 0.000 77 DINT 0.000 EINT 0.000 77 PRP 77 TMAV 77 SBJP 77 SDL 0.000 77 77 CRA 0.000 77 CTI 77 ACR 0.000 77 CTO -,--,- 77 APF 0.000 77 DCS 0.000 77 PFA 0.000 n number of characters searched 51 number of characters in source field (A) 52 M number of characters in result field (C) M1 number of most significant 4-bit binary groups (in the upper 24 bits to be converted) which have a zero value (see example) N1 number of characters up to and including three in number (For the CVBD instruction, the term character defines a binary group of 4 bits to the right of any consecutive lead groups which are all zero. See example.) N2 number of characters from three, up to and including seven in number. (See example. ) N3 number of characters greater than seven in number (For the CVBD instruction, the term character defines a binary group of 4 bits to the right of any consecutive lead groups which are all zero. See example.) S number of characters in the smaller of fields 51 and 52. O! If all upper 24 bits to be converted are zero, {3 ~:< number of most significant 4-bit binary groups (in the lower 24 bits to be converted) which have a zero value O! = 1; if not O! = O. If one or more of the upper 24 bits to be converted is a "1", {3 = O. = 1, if not f3 T ~:< 'd Rev. F number of characters in the longer of fields 51 and 52' Dependent upon a variable signal response time from an external equipment or internal source; i. e., Block Control. number of 4 character groups in field ~2 . 5-22 CD ® ® o ® ® G) best case (no second pass) worst case (second pass required) be st case (no carry propagation) = worst case (maximum carry propagation) worst case (maximum carry propagation and second pass required) best case (field t= zero) worst case (entire field = zero) SPECIAL PARAMETER EXAMPLES 23 (M) I Ml =2 in this case 20 19 16 0 I 0 15 I 12 11 I 5 08 07 04 03 00 I 6 I 7 3 I ~------------~vr--------------~ N3 =3 N3 23 (M+ 1) I 20 14 16 15 2 I 1 I V 12 11 3 I 1\ N2 04 03 08 07 0 I 4 I 00 5 I v Nl N2 = 4 Nl = 3 Data words are divided into six 4 -bit groups internally by the CPU and are shown here only to illustrate the parameters necessary for determining the instruction execution time. . 5-23 Rev. A Halt and Stop Instructions Operation Field HLT SLS UCS 00 77 77 Address Field Interpreta tion m Halt Selective stop Unconditional stop 23 18 17 00 I 15 14 00 m 0 Instruction Description: Unconditionally halt at this instruction. ing, RNI from address m. Upon restart- 70_ Comments: Indirect addressing and address modification may not be used. 23 I 1817 77 12 II 00 Instruction Description: Program execution halts if the SELECT STOP switch on the console is set. RNI from address P + 1 upon restarting. Comments: Bits 00 through 11 should be loaded with zeros. 23 1817 77 1211 00 7 7 _ Instruction Description: This instruction unconditionally stops the execution of the current program. RNI from address P + 1 upon restarting. Comments: Bits 00 through 11 should be loaded with zeros. Rev. A 5-24 Enter Instructions Address Field Operation Field ENI ENA ENA,S ENQ ENQ, S ECHA ECHA, S 14 14 14 14 14 Interpreta tion y, b Enter Enter Enter Enter Enter Enter Enter Y Y Y y z z 11 11 ENI Enter Index .with y 23 index b with y A with y A with y and extend sign of y Q with y Q with y and extend sign of y A with z A with z and extend sign of z 18 17 16 15 14 14 b = index 00 y 10 I b register designator Instruction Description: Clear index register Bb and enter y directly into it. Comments: If b = 0, ENA Enter A with y this is a no-operation instruction. 23 I 18 17 14 15 14 00 y 6 Instruction Description: Clear the A register and enter y directly into A. ENA,S Enter A withy, Sign Extended 23 18 17 14 15 14 00 y 4 Instruction Description: Same as ENA except the sign of y is extended. ENQ 23 1817 14 Enter Q with y 1514 7 I 00 y Instruction Description: Clear the Q register and enter y directly into Q. ENQ, S 23 Enter Qwifh y, Sign Extended 1817 1514 00 y Instruction Description: Same as ENQ except the sign of y is extended. 5-25 Rev.F ECHA Enter Character Address into A 23 18 17 16 II 101 00 z Instruction Descriftion: Clear A; then enter a 17-bit operand z {usually a character address into A. ECHA,$ Enter Character Address· into A, Sign Extended 23 00 181716 z Instruction Description: Clear A; then enter a 24- bit operand (17-bit z plus 7 bits of sign extension) into A. NOTE If is often desirable to perform operations with the A or Q registers using a negative operand. By using the sign extension feature of certain instructions, 14- bit negative operands become available. This feature eliminates the need, in many instances, to reference prestored operands. The following examples illustrate the use of sign extension in some instructions: EXAMPLE A: To enter negative zero into Q, execute a 14 5 77777. EXAMPLE B: To increase (A) by -17, execute a 15477 7 60 instruction. (A) (end around carry) = 00066667 (arbitrary value) 77777760 00066647 1 00066650 =(A) after instructiGn--execution In all cases of sign extension, bit 14 for 15-bit y operands and bit 16 for 17-bit z operands determines the sign of the quantity. Rev. C 5-26 Increase Instructions Operation Field INI INA INA, S INQ INQ, S Address Field 15 15 15 15 15 Interpreta tion y, b Y y y Y tNI Incr~ase Index by y Increase Increase Increase Increase Increase 23 index by y A by Y A by y, sign extended Q by Y Q by y, sign extended 00 18 1716 1514 y b = index register designator b Instruction Description: Add y to (B ). Comments: If b extended. = 0, this is a no-operation instruction. 23 I 1817 15 Signs of y and Bb are 00 1514 I I 6 y Instruction Description: Add y to (A). INA,S Incr&aseAby y, . . Si$JnExtended 23 I 1817 15 I 00 1514 4 I y Instruction Description: Same as INA except the sign of y is extended. INQ Increase Q by y 23 1817 15 00 1514 7 I y Instruction Description: Add Y to (Q). INQ,S Increase Q by y, Sign Extended 23 1817 15 00 1514 I I 5 y Instruction Description: Same as INQ except the sign of y is extended. 5-27 Rev. A Skip Instructions Address Field Operation Field ISE ASE ASE,S 04 04 04 y, b Y Y QSE QSE,S 04 04 Y Y ISG ASG ASG, S 05 05 05 y,b Y Y QSG QSG,S 05 05 Y Y lSI ISD 10 10 y,b y, b Interpretation b Skip next instruction if (B ) = y Skip next instruction if (A) = y Skip next instruction if (A) = y. Sign of y is extended. Skip next instruction if (Q) = y Skip next instruction if (Q) = y. Sign of Y is extended. b Skip next instruction if (B ) ~ y Skip next instruction if (A) ~ y Skip next instruction if (A) ~ y. Sign of y is extended. Skip next instruction if (Q) ~ y Skip next instruction if (Q) ~ y. Sign of y is extended. Index skip, incremental Index skip, dec rem ental NOTE The SSH (10. 0) instruction, which also uses a Skip exit, is described in the Shift and Scale Instruction group. 23 18 17 16 15 14 00 y b = index b register designator Instruction Description: If (B ) = y, skip to address P+2; if not, RNI from address P+1. Comments: If b Rev. F = 0, Y is compared to zero. 5-28 23 1817 00 1514 y 04 Instruction Description: If (A) dress P+l. = y, skip to address P+2; if not, RNI from ad- Comments: Only the lower 15 bits of A are used for this instruction. ASE,S< 18 17 23 . . . . . . Skip NeiCf . . . . . . . . . . . . . ..•. •. . . . . . •••.. . .il'l~ruction if (A) = Y,Sign.EXte~ded 00 15 14 y 04 Instruction Description: Same as ASE except the sign of y is extended. 24 bits of A are recognized. QSE Skip NeiCt ·lnsti1.(~f;onif (Q) =y 23 1817 04 All 00 15 14 y 7 Instruction Description: If (Q) = y, skip to address P+2; if not, RNI from address P+l. Comments: Only the lower 15 bits of Q are used for this instruction. 18 17 23 04 00 1514 y Instruction Description: Same as QSE except the sign of y is extended. bits of Q are recognized. 5-29 All 24 Rev. A 23 00 18 17 16 15 14 y b = index register designator b Instruction Description: If (B ) are eq:wl to or greater than y, skip to address P+2; if not, RNI from addres s P+ 1. (B) and yare 15 - bit positive numbers. Comments: If b = 0, Y is compared to zero. ASG 23 Skip Next 18 17 fnstroctiQriif(AJ ~.y 00 1514 y 05 Instruction Description: If (A) are equal to or greater than y, skip to address P+2; if not, RNI from address P+1. Only the lower 15 bits of A are used. Comments: (A L15 ) and yare considered 15-bit positive numbers. ASG,$ Skip Next Instruction if (A) ~ 23 18 17 05 y, Sign Extended I 00 1514 y 4 Instruction Description: 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). OSG Skip Next Instroc/ion if (0) 23 1817 05 1514 00 y 7 ~ y Instruction Description: If (Q) are equal to or greater than y, skip to address P+2; if not, RNI from address P+1. Only the lower 15 bits of Q are used. Comments: (QL15) and yare considered 15-bit positive numbers. OSG,S . . . ., . Skip'Next· ... . . . 23 1817 05 1514 5 00 y fnstrvcfion if(CJj;::r.·.·.·Sign.ExteiJded 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). Rev. B 5-30 lSI 23 00 18 1716 1514 Index Skip, Incremental y b = index register designator b Instruction DescriRtion: If (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 later in this section. (storage~hift) instruction, described ISI INSTRUCTION TRANSLATED INCREMENT (Bb) NO YES (B b) = BY I AND RNI ® P+I ISD . Index$kip, ...... ···Decremental Y? CLEAR Bb AND RNI @ 23 P +2 00 1817161514 y b = index register designator Instruction DescriRtion: If (Bb) = y, clear Bb and skip to address P+2; if not, subtract one from (BO) and RNI from address P+1. Comments: When b 0, RNI from P+1 if y f. 0; RNI from P+2 if y = o. ISD INSTRUCTION TRANSLATED DECREMENT (Bb) BY I AND RNI @ P+I YES NO (B b)= 5-31 Y? CLEAR Bb AND RNI @l P +2 Rev. A Inter-Register Transfer Instructions Operation Field AQA AlA !AI TIA TAl TMQ TQM TMA TAM TMI TIM ELQ EUA EAQ QEL AEU AQE AIS ISA AOS OSA ACI CIA APF PFA CRA ACR JAA Address Field 53 53 53 53 53 53 53 53 53 53 53 55 55 55 55 55 55 77 77 77 77 77 77 77 77 77 77 77 Interpreta tion Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer b b b b v v v v v,b v,b w,b w, b AQA (A) + (Q}:-'" A 23 (A) + (Q~ to A (A) + (B ) to A (Bb) + (A) to Bb (Bb) to A (A) to Bb (Register v) to Q (Q) to Register v (Register v) to A (A) to Register v (Register v) to Bb (Bb) to Register v (EL) to Q (EU) to A (EUEL> to AQ (Q) to EL (A) to EU (AQ) to EUEL (AOO-02) to ISR (ISR) to AOO- 02 (AOO-02) to OSR (OSR) to AOO-02 (AOO- 02) to CIR (CIR) to AOO-02 (AOO-ll) to PIF location 'w' (PIF location 'w') to AOO-11 (CR) to AOO-OS (AOO-05) to CR LJA to AOO-14 18 17 53 1 15 14 0 1 12 II 4 00 _ Instruction Description: Add the (A) to the (Q) and transfer the sum to A. Comments: zeros. Rev. F (Q) remain unchanged. Bits 00 through 11 should be loaded with 5-32 AlA 23 1817 161514 (A)+(Bb)~A 53 00 /oIb14_ = index b 12 II register designator Instruction Description: Add the (A) to the (Bb) and transfer the sum to A. Comments: Bits 00 through 11 shoul~ be loaded with zeros. is extended prior to the addition. (B) remain unchanged. 23 The sign of (Bb) is 18171615141211 53 00 !llbI4_ b = index register designator Instruction Description: Add the (A) to the (Bb) and transfer the sum to Bb. Comments: Bits 00 through 11 should be loaded with zeros. The sign of the original (Bb) is extended prior to the addition. The upper 9 bits of the sum are lost when the sum is transferred to the Index register. If b=O, this becomes a N 0- Op instruction. 23 1817 161514 53 = index b Instruction Description: Ioibl 12 II 00 0 _ register designator Transfer the (Bb) to A. Comments: Bits 00 through 11 should be loaded with zeros. No sign extension on Bb. Prior to the transfer, (A) are cleared. If b = 0, zeros are transferred to A. 23 1817161514 53 b Instruction Description: 12 II 00 Illblo_ = index register designator Transfer the (A) to Bb. Comments: Bits 00 through 11 should be loaded with zeros. The (A) remain unchanged. If b = 0, this becomes a no-operation instruction. 5-33 Rev. F 23 18 1716 15 14 53 10~ 12 II I 0605 ~ 00 V v = register file number, 00-77 Instruction Description: 8 Transfer the (v) to Q. Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. TQM (Q)----"'v 23 181716 1514 53 v Instruction Description: 12 II II~ = register 0605 ~ 00 V file number, 00-77 8 Transfer the (Q) to v. Comments: Bits 06 through 11,15 and 16 should be loaded with zeros. TMA 23 18 171615 14 53 v Instruction Description: lo~ = register 12 II 2 0605 ~ 00 V file number, 00-77 8 Transfer the (v) to A. Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. 23 18171615141211 53 v Instruction Description: 11f@ = register 2 0605 ~ 00 V file number, 00-77 8 Transfer the (A) to v. Comments: Bits 06 through 11, 15 and 16 should be loaded with zeros. Rev. A 5-34 TMI (v)--;'8~ 18 17 1615 14 23 I 12 II 00 0605 v 53 b = index register designator v = register file number, 00- 77 8 Instruction Description: Transfer the lower 15 bits of (v) to Bb. Comments: Bits 06 through 11 should be loaded with zeros. becomes a no-operation instruction. 23 18 17 1615 14 53 12" If 'b l 0, this 06 05 Illb 13 ~ 00 V b = index register designator v = register file number, 00-77 Instruction Description: Transfer (Bb) to v. The upper nine bits of 'v' are cleared. Comments: Bits 06 through 11 should ,be loaded with zeros. (v) are cleared. 5-35 8 If 'b l = 0, all of Rev. A 23 18 17 15 14 00 5 5 \ 1 _ Instruction Description: Transfer the (E ) to Q. Bits 00-14 should be loaded L with zeros. 23 18 17 15 14 00 5 5 \ 2 _ Instruction Description: with zeros. Transfer the (E ) to A. Bits 00 - 14 should be loaded U 23 18 17 15 14 00 5 5 \ 3 _ Instruction Description: loaded with zeros. Qft (Q)-: E~ Transfer the (EUE ) to AQ. Bits 00 - 14 should be L 23 18 17 15 14 00 5 5 \ 5 _ Instruction Description: Transfer the (Q) to E . Bits 00 - 14 should be loaded L with zeros. 23 AEU (A)-'" Eu 18 17 15 14 00 5 5 \ 6 _ Instruction Description: Transfer the (A) to EU. Bits 00 - 14 should be loaded with zeros. AQE (AQ)'-4 E 23 18 17 551 15 14 7 00 _ Instruction Description: Transfer the (AQ) to EUEL. Bits 00 - 14 should be loaded with zeros. Rev. A 5-36 23 I Instruction Description: State register. 1817 00 000 Transfer (A bits 00, 01, and 02) to the Instruction 12 II 1817 00 0908 000 67 77 AOS ( Ano-O.)"""'" OSR 09 08 77 23 Instruction Description: 1211 Transfer (ISR) to A(bits 00, 01, and 02)" 1817 23 00 1211 66 77 0000 Instruction Description: Transfer (Abits 00, 01, and 02) to the Operand State register. OSA (OSR)"""'" A(I(}.02 23 18 17 77 12 II 67 00 0000 Instruction Description: Transfer (OSR) to A(bits 00, 01, and 02)" 5-37 Rev. A 23 1817 77 Inst.ruction Description: regIster. Transfer (A bits 00 12 II 00 5 4 _ 01, and 02) to the Channel Index ' Comments: Bits 00 through 11 should be loaded with zeros. This instruction is used to set the CIR to a value from 0 to 7. When referenced, (CIR) are logically OR'ed with the channel designator, ch, in the following instructions: 73 through 76 I/O instructions 77.0 Connect 77. 1 Select Function 77.2 Sense External Status CIA 77.2 77.3 77.3 77.4 23 (OR) ---+ Aoo.oz Instruction Description: Copy External Status Sense Internal Status Copy Internal Status Sense Interrupt 1817 77 1211 Transfer (CIR) to A(bits 00- 02)" Comments: Bits 00 through 11 should be loaded with zeros. Rev. A 5-38 00 5 5 _ APF (Aooll)-+ PIF 23 1817 77 = index b 121110 64 0706 Ilb_ designator, B 2 00 w only Instruction Description: ?~ansfer (Abits 00 through 11) to the 12- bit index at Page Index File address w . Comment$: If bit 11 is a "I", (B2) are used for address modification. Bits 07 through 10 should be loaded with zeros. This instruction is a no-operation instruction if the 3311 Multiprogramming option is not present in the system. 23 PFA (PIF) -+ A OO•11 b 18 17 = index 12 II 10 designator, B 07 06 2 00 only Instruction Description: Transfer the 12-bit index at Page Index File address lW T to· A (bits 00 through 11). Comments: If bit 11 is a "1", (B2) are used for address modification. Bits 07 through 10 should be loaded with zeros. This instruction is a no-operation instruction if the 3311 Multiprogramming option is not present in the system. 5-39 Rev. A .CRA (CR) .....,. Aoo.os 23 1817 77 00 12 II 0000 63 Instruction Description: Transfer the (CR) to the lower 6 bits of A. Condition register is cleared upon completion of the transfer. The Comments: This instruction should be used in interrupt routines during Exec-utive Mode operations. All interrupts are disabled between interrupt recognition and the execution of the instruction. Program conditions represented by the Condition register are listed below: Bit Bit Bit Bit Bit Bit 00 01 02 03 04 05 - Boundary Jump Destructive Load A Operand Relocation Using OSR Program State Jump Interrupt System Enabled Program State 23 I Inst.!:~ction D~script~on: 12 II 18 17 63 77 00 09 08 I I 4 000 Transfer the (A OO - 05 ) to the Condition register. Comments: This instruction should be used at the end of interrupt routines -during Executive mode to restore the Condition register to its original state. All interrupts are disabled between the execution of the ACR instruction and the jump instruction used to exit from interrupt routines. Refer to the CRA instruction for the conditions represented in the Condition register. JAA Jvmp Address""'" A 23 18 17 77 12 II 00 5 6 _ Instruction Description: Transfer the address, P, of the last jump type of instruction occurring m Program State, to A(bits 00 through 14). Comments: The LJA (Last Jump Address) can also be displayed on the console when the LJA switch is depressed and the computer is stopped (refer to Section 7). Bits 00 through 11 should be loaded with zeros. Rev. F 5-40 Jump Instructions Opera tion Field 00 01 70 70 70 02 02 03 03 00 SJ1-6 UJP, I JMP, HI JMP, ZRO JMP, LOW IJI IJD AZJ AQJ RTJ "." ....., Interpreta tion Address Field Jump if appropriate key (1- 6) is set Unconditional jump Jump on Positive result Jump on Zero result Jump on Negative result Index jump; Incremental index Index jump; Decremental index Compare A with zero for Jump condition Compare A with Q for Jump condition Return jump m m, b m m m m, b m, b m m m ..... ..... , " ·····iSil~6 23 18 17 ···>S~/e~f;y~jJmp 15 14 00 J m 00 j = jump key s 1 to 6 m = jump address Instruction Description: Jump to address m if Jump key j is set; otherwise, RNI from addres s P+ 1. Comments: Indirect addressing and address modification may not be used. INSTRUCTION IN F 1 RNI FROM ADDRESS P+I WP. Unconditional lump NO JUMP KEY j SET 23 YES ? JUMP TO ADDRESS m 1817161514 00 m a b m = addressing mode designator = index register designator = storage address; M =m b + (B ) Instruction Description: Unconditionally jump to address M. Comments: Indirect addressing and indexing may be used. 5-41 Rev. E " ::"::": :?.~Y:~":"i\\:;";:t!.;i.':: ~:" " " " " : ": " " . JMft,1RQ· 23 jiJ"fiitf,,~~lt··,p. o· 18 17 I 70 00 15 14 m I 1 m = jump address Instruction Description: Sense the status of the BCR (BDP Condition Register). If the result from the preceding BDP operation was zero, jump to address m. Comments: If the console BDP switch is not active or if the BDP is not present in the system, this instruction is trapped. (Refer to Section 4.) JMP, HI Jump .ilre~ult is 23 + 18 17 I 70 or high = jump m 00 15 14 m 0 address Instruction Description: Sense the status of the BCR (BDP Condition Register). If the result from the preceding BDP operation was positive or greater than zero, jump to address m. Comments: If the console BDP switch is not active or if the BDP is not present in the system, this instruction is trapped. (Refer to Section 4.) 'lAAp;ft[ow 23 Jump if resuJt rS·~ or low 18 17 70 m = jump 00 15 14 2 I m address Instruction Description: Sense the status of the BCR (BDP Condition Register). If the result from the preceding BDP operation was negative or less than zero, jump to address m. Comments: If the BDP is not in the system, or the console BDP switch is not active, this instruction is trapped. (Refer to Section 4.) Rev. B 5-42 18 17 ~ ~14 23 111 00 m Index JUiTlp, Incremental b = index register designator m = jump address Instruction Description: If b = 1, 2, or 3, the respective Index register is examined: b 1. If (B ) = 00000, the jump test condition is not satisfied; RNI from address P+1. b b 2. If (B ) f 00000, the jump test condition is satisfied. One is added to (B ); jump to address m and RNI. 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 oners 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 Bb, the count progresses: 77777, 00001, 00002, etc. In this case, the counter must increment through the entire range of numbers to each positive zero. INSTRUCTION IN RNI FROM ADDRESS P+ I F YES \. b=O? NO YES ( \ (Bb)= O? NO ADD TO ONE (Bb) JUMP TO ADDRESS'm'; RNI 5-43 Rev. A 23 1817161514 00 m 02 b = index register designator m = jump address Instruction Description: If b = 1, 2,or 3, the respective Index register is examined: b 1. If (B ) = 00000, the Jump Test condition is not satisfied; RNI from address P+1. 2. If (B b ) :f 00000, the Jump Test condition is satisfied. One is subtracted from (Bb); jump to address m and RNI. 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. If negative zero (77777) is initially loaded into Bb, the count decrements through the entire range of numbers to reach 00000 before the program will RNI from P+1. INSTRUCTION IN F RNI FROM ADDRESS P+I YES b=O? NO YES (Bb)= O? NO SUBTRACT ONE FROM (Bb) JUMP TO ADDREss'm'; RNI. Rev. A 5-44 23 1817161514 03 101 00 m j = 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 Test Condition (A) = 0 (A) # 0 (A) ;? 0 (A) < 0 0 1 2 3 INSTRUCTION IN F 1 RNI FROM ADDRESS P+I NO IS TEST CONDITION \ YES SATISFIED? J 5-45 JUMP TO ADDRESS Im' j RNI Rev. A 23 1817161514 00 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 EQ 0 1 2 3 NE GE LT Test Condition (A) = (Q) (A) f (Q) (A) ~ (Q) (A) < (Q) INSTRUCTION IN F 1 RNI FROM ADDRESS P+I Rev. A NO IS TEST CONDITION SATISFIED? 5-46 YES JUMP TO ADDRESS RNI 'm; 23 1817 00 00 15 14 7 I m m = jump addre s s Instruction Description: The address portion of m is replaced with the return address, P+l. Jump to location m+l and begin executing instructions at that location. Comments: This instruction should not be used to transfer control from Monitor State to Program State. If an R TJ instruction is executed and the Boundary Jump flag is set (refer to SBJP instruction), the STO cycle is executed in Monitor State, i. e. J address I p I is stored at address 1m I of the monitor program. Indirect addressing and address modification may not be used. An example of an executed RTJ instruction is illustrated on the following page. INSTRUCTION IN F J STORE ADDRESS P+I IN THE ADDRESS PORTION OF (m) 1 BEGIN SUBROUTINE WITH INSTRUCTION AT ADDRESS m + I 1 T RETURN TO m FOR ADDRESS P + I 5-47 Rev. A ,0 CURRENT EXECUTE THIS INSTRUCTION P 00500 00 7 33444 P+ I ~05I::>- MULTIPLY: HOLDS THE LOWER 48 BITS OF A PRODUCT AFTER EXECUTING A MUAQ INSTRUCTION .D~ ::s ~o. o.~ ljo <:'1 ~8 .D~ ...... ::s til UPPER 48 BITS DIVIDE Ul Of A 96-81T III .8 ,,--------------------------------------------------------------------, ::s q-o. ~td ...... .......... ...... () 48-81T DIVISOR DIVIDEND 95 , IWl;\tJifS'!lM!• •:lIfJjlfD: >r'\l;(t.j;:!I:lt1~:5_JUWIBI!'lI. 47 00 00' o~ ::S,..... til,..... 0 () III ..... ...... 0 ::s til 48- BIT MULTIPLICAND. AFTER EXECUTING AN MUAQ INSTRUCTION AQ HOLDS THE UPPER 48 BITS OF THE 96 - BIT PRODUCT ------------------ MULTIPLY 48-81T MULTIPLIER 23 00 1817161514 m a = addressing mode designator b = index register designator m = storage address; M = m + (Bb) Instruction Description: Add the 48-bit operand located in addresses M and M+l to (AQ). The rounded and normalized sum is displayed in AQ. Comments: The higher order bits of E hold the portion of the operand that was shifted out of AQ during exponent equalization. Refer to Figure 5- 6 for operand formats. 23 00 18 17 16 15 14 m a = addressing mode designator b = index register designator IT\ = storage address; M = m + (Bb) Instruction Description: Subtract the 48-bit floating point operand located at storage addresses M and M+l from the floating point operand in AQ. The rounded and normalized difference is displayed in AQ. Comments: The upper order bits of E hold the portion of the operand that was shifted out of AQ during the equalization of exponents. Refer to Figure 5-6 for operand formats. 5-65 Rev. A 23 00 18 17 16 15 14 m a = addressing mode designator b = index register designator m = storage address; M = m + (Bb) Instruction Description: Multiply the 48-bit floating point operand in AQ by the floating point operand located at storage addresses M and M+1. The rounded and normalized product is displayed in AQ. Comments: Bits 12-47 of E hold the lower 36 bits of the 72-bit unnormalized product. Refer to Figure 5-6 for operand formats. 23 00 18 17 161514 m a = addressing mode designator b = index register designator m = storage address; M = m + (Bb) Instruction Description: Divide the floating point operand in AQ by the 48-bit floating point operand located at storage addresses M and M+1. The rounded and normalized quotient is displayed in AQ. The remainder with sign extended appears in the E register. Comments: The sign of the remainder is the same as that of the dividend. Refer to Figure 5-6 for operand formats. NOTE The divisor must be properly normalized or a divide fault will result. Refer to Interrupt conditions, Section 4. Rev. A 5-66 ! THIS BIT RECEIVES ROUNDING WHEN ~;:SONB~~T APPLICABLE \ 47 46 1 I 1 I } dq0 .....,~ o '"l '"l en I-rj'f' g. ..... 0) ! 3635 I 24 23 0100 I 4746 3635 I 1 I 1 1 1 1 1 1 I 1 1 , 1 1 232221 I-rj Lt'lil :\~ f.}REGi!lTI;:t¥ill .;t·~*·'jkl " l;i!;:W . to) !tEGJS§R . 'i: 01 00 00 24 23 1 1 1 , 1 1 1 1 1 232221 1;;Y" :';j] :l~:'L----------36-_-B-'T-C-OErF-=-F-:IC-:IE-=-N-:T---------: ;~:~N:I~T :?- ~"'lMr:L1f~' .("+0 11- BIT EXPONENT II-BIT EXPDNENT 36':: BiT COEFFICIENT 1 1 {SIGN BIT (COMPARED I TO BIT 47 Of E FOR I ROUNDING TEST 1 SIGN BIT 1 <+0 0 ~'Oen 1-' 1<---------------- FP OPERAND (EXPONENT AND FIRST 36 COEFFICIENT BIT RESULTS Of ALL FLOATING POINT OPERATIONS J 1j'"l p.l I-'oi:l o en I 0) ...;j f<--------------- 31 FP OPERAND FROM STORAGE g.o.. ~I-rj '"l 0 I-'o'"l <+8 ::>p.l 8 <+ 1 < - - - - - - - - - - - - - - - - E REG ISTER ,I en rn <+ I-'op.l () i:l I~ Eu 1-10.. ~td <+ 1-'0 '"l <+ ~~ () <+ 1-' 0 EL 36 135 24 23 1 1 1 1 1 1 1 1 'I' 0 o i:l rn ,,' 1 1211 1211 o () 1-" 00, 121" ..... ..... i:l p.l rn <+ ·1 1 1 1 IE--MAGNITUOE BIT (COMPARED Jgu~b~N't,7 ~[s*1 rCR 1 SIGN EXT FOR REMAINDER REMAINDER FOR FDV .11 J LOWER 36 COEFFICIENT BITS FROM FMU OPERATION .1 I-------I 1 1 ' - - - - - - - - - - - THAT PART OF THE OPERAND SHIFTED INTO THE E REGISTER DURING FAD OR FSB EXPONENT EQUALIZATION ~ en <: ~ ;1 MEANINGLESs------I RESULTS FOR F~eDb:iRBAT~~~S --------------->1 P P+1 0 67 23 1 1 00 2120 1918 1716 Ia I I I Br I S BS 00 1211 23 P+2 00 181716 23 51 S2 r = unmodified address of lowest order character in field A. R = r + [ Brl Br = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Br = 0, no indexing s = unmodified address of lowest order character in field C. S = s + [BsJ Bs = index register flag for field C (same bit functions as Br) S1 = 12 - bit character count specifying the length of the A field S2 = 12 - bit character count specifying the length of the C field Instruction Description: Add the BCD contents of field A (addend) to field C (augend) proceeding from right to left. The upper 2 bits of the lowest order character in fields A and C contain the algebraic sign of their respective fields. The sign of the sum is in the upper 2 bits of the lowest order character of field C. This character is in the original address specified by S. Comments: Field A may be shorter than field C as carries can be set into progressively higher order positions of field C. The BDP Condition register indicates a positive sign (00) or negative sign (10) according to the result in field C. A zero result may have either a positive or negative sign. If any character position of either field contains a 118 - 178 code (or the sign character contains a 128 - 178 code), it is converted to zero oefore the add operation. A BCD fault is generated if one of the following conditions occur: 1. An arithmetic carry is attempted out of the upper limit of field C. 2. Sl >S2 3. Zone portion (upper 2 bits) of characters in either field (except sign character) does not equal zero. Numeric portion (lower 4 bits) of characters in either field contains a BCD code greater than 11 8 , except the sign character where a 128 code is legal. The lowest order character (sign character) in either field contains a 728 code. 4. 5. Operation continues despite any BCD fault. Rev. C 5-68 P P+l I H 67 00 23 21 2019 IS 17 16 I 18 5 I Isr I 5 00 12 II 23 P+2 00 IS 17 16 23 SI I S2 r = unmodified address of the lowest order character in field A. R = r + [Brl Br = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Bt = 0, no indexing s = unmodified address of the lowest order character in field C. S = s + [Bsl Bs = index register flag for field C (same bit functions as Br) S 1 = 12- bit character count specifying the length of the A field S2 = 12-bit character count specifying the length of the C field Instruction Description: Subtract the BCD contents of field A (subtrahend) from field C (minuend) proceeding from right to left. The upper two bits of the lowest order character in fields A and C contain the algebraic sign of their respective fields. The sign of the difference is in the upper two bits of the lowest order character of field C. This character is in the original address specified by S. Comments: Sl must be subtraction. S S2 since field C must accommodate the result of the The BDP Condition register indicates a positive sign COO) or a negative sign (IO) according to the result in field C. A zero result may have either a positive or negative sign. If any character position of either field contains a 118 - 178 code (or the sign character contains a 128 - 178 code), it is converted to zero before the subtract operation. The conditions for generating a BCD fault are identical to those for the ADM instruction (see page 5- 68), 5-69 Rev. C Logical Instructions Operation Field Address Field XOI XOA XOA,S 16 16 16 y,b y y XOQ XOQ,S 16 16 Y ANI ANA ANA, S ANQ ANQ, S SSA, I SCA, I LPA, I 17 17 17 17 17 35 36 37 Interpreta tion Exclusive OR of index and y Exclusive OR of A and y Exclusive OR of A and y, sign of yextended Exclusive OR of Q and y Exclusive OR of Q and y, sign of y extended AND of index and y AND of A and y AND of A and y, sign of y extended AND of Q and y AND of Q and y, sign of y extended Selectively set A Selectively complement A Logical product A y y,b Y Y Y y m, b m, b m, b NOTE The LDL(Load A, Logical) instruction may be found in the LOAD INSTRUCTIONS subsection. The following two examples use logical instructions and illustrate the Exclusive OR and AND functions: (Binary Equivalents) EXAMPLE A: (A) = 23456701 Execute: 16 4 50321 = (XOA, S) 010 all 100 101 110 111 000 001 111 111 111 101 000 all 010 001 101 100 all 000 110 100 010 000 Final (A) = (Q) = 23456701 Execute: 17 7 771 70 = 543 0642 a EXAMPLE B: (ANQ) 010 all 100 101 110 111 000 001 000 000 000 111 111 001 111 000 000 000 000 101 110 001 000 000 Final (A) Rev. A = o a 5-70 a 5 6 1 a a 00 23 y b = index register designator Instruction Description: Enter the selective complement (the Exclusive OR function) of y and (Bb) back into the same index register. Comments: If b = 0, this is a no-operation instruction. 23 1817 16 00 1514 I I 6 y Instruction Description: Enter the selective complement (the Exclusive OR function) of y and (A) back into the A register. 23 1817 16 00 1514 4 I y Instruction Description: Same as XOA except the sign of y is extended. 23 I 1817 16 00 1514 I I 7 y Instruction Description: Enter the selective complement (the Exclusive OR function) of y and (Q) back into the Q register. XOQ,S . . . :: :t~~cllJliiv~.OR of Q' and y V"( ... > .... ·S;griExtended 23 1817 16 00 1514 5 I y Instruction Description: Same as XOQ except the sign of y is extended. 5-71 Rev. A 23 00 18 17 16 15 14 m /' a = addressing mode designator b = index register designator b m = storage address; M = m + (B ) Instruction Descri~tion: Selectively set the bits in the A register to "11 S" for all corresponding 11 s If in the quantity at address M. Initial "11 s II in A remain unchanged. EXAMPLE: (A) = 23456710 = 010 011 100 101 110 111 001 000 (M) = 76345242 = 111 110 all 100 101 010 100 010 Final (A) = 111 111 111 101 111 111 101 010 7 775 7 752 23 00 1817161514 m a = addressing mode designator b = index register designator b m = storage address; M = m + (B ) Instruction Description: Selectively complement the bits in the A register that correspond to the "1 II bits in the quantity at address M. EXAMPLE: (A) = 23456710 = 010 all 100 101 110 111 001 000 (M) = 20341573 = 010 000 011 100 001 101 111 011 Final (A) = 000 011111 001111 010 110 011 a 3 7 1 7 2 6 3 J Rev. A 5-72 23 00 18 17 161514 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). EXAMPLE: (A) (M) = 23456710 = 010 = 45210376 all 100 101 110 111 001 000 = 100 101 010 001 000 all 111 110 Final (A) = 000 001 000 001 000 all 001 000 a 101 031 a ANI 23 00 18 1716 15 14 y . ,AND of Bb andy b = index register designator Instruction Description: Enter the logical product (the AND function) of y and (Bb) back into the same index register. Comments: If b = 0, this is a no-operation instruction. 23 1817 17 I 00 1514 6 I y Instruction Description: Enter the logical product (the AND function) of y and (A) back into the A register. ANA,S AND of A andy, Sign Extended 23 1817 17 00 1514 4 I y Instruction Description: Same as ANA except the sign of y is extended. 5-73 Rev.B 23 18 17 17 15 14 I I 7 00 y Instruction Description: Enter the logical product (the AND function) of y and (Q) back into the Q register. 23 I 1817 17 1514 I I 5 00 y Instruction Description: Same as ANQ except the sign of y is extended. Rev. A 5-74 Masked Searches and Compare Instructions Operation Field MEQ MTH CPR, I CMP CMP, DC Address Field 06 07 52 67 67 Interpretation m, i m, i m, b r, B r , Sl> s, B s ,S2 r, B r , s, Bs> S2 Masked equality search Masked threshold search Compare (within limits test) Compare fields Compare fields, with delimiting 23 16 17 06 I 15 14 I i 00 m = interval designator, = storage address i m 0 to 7 Instruction Description: (A) is compared with the logical product of (Q) and (M). This instruction uses index register B1 exclusively. m is modified just prior to step 3 in the test below. Instruction sequence follows: 1. 2. Decrement (B1) by i. (Refer to table below. ) 3. If (B1) changed sign from positive to negative, RNI from P + 1; if not, Test to see if (A) = (Q) • (M). M = m + (B1). 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 always utilizes (B1). Positive zero and negative zero are recognized as equal quantities. DESIGNATOR i I 2 3 4 5 6 7 0 READ MEQ INSTRUCTION AT ADDRESS P DECREMENT INTERVAL ~ I 2 3 DECREMENT (BI) BY "i" 4 5 6 7 8 ~ DID SIGN OF B I YES CHANGE POSITIVE TO NEGATIVE? RNI FROM P+I NO MODIFY: M=m+(B I ) YES NO (A}=(Q)-(M) 5-75 RNI FROM P+2 Rev. B ··M'fH·. ···········.ifh~~~~~~;····· 23 18 17 15 14 00 m 07 i = interval designator, 0 to 7 m = storage address Instruction Descri tion: (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. 2. 3. 4. Decrement (B2) by "i". (Refer to table below.) If (B2) changed sign from positive to negative, RNI from P + 1; if not, Test to see if (A)~ (Q) • (M). M = m + (B2). If (A) ~ (Q) • (M), RNI from P + 2; if not, Repeat the sequence. Comments: i is represented by 3 bits, permitting a decrement interval selection from 1 to 8. Address modification always utilizes (B2). Positive zero and negative zero are recognized as equal quantities. DESIGNATOR i READ MTH INSTRUCTION AT ADDRESS P DECREMENT INTERVAL I I 2 3 4 5 6 7 0 2 3 4 5 6 7 8 DECREMENT (8 2 ) 8Y "i" ~ DID SIGN OF 8 2 CHANGE POSITIVE TO NEGATIVE? \ YES } RNI FROM P+I J NO MODIFY: M =m + (8 2 ) t YES NO ( A ) Rev. B 5-76 ~ (Q) • (M) RNI FROM P+ 2 23 00 18 17 16 15 14 m a = addressing mode designator b = index register designator m = storage address; M=m+(Bb) 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. 2. 3. Subtract (M) from (A). If (M) > (A), RNI from address P + 1; if not, Subtract (Q) from (M). If (Q) > (M), RNI from P + 2; if not, RNI from address P + 3. 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: Jump Address if Test is Satisfied Test Sequence (M) > (A) (Q) > (M) (A) ~ (M) ~ (Q) 5-77 P+1 P + 2 P+3 Rev. A CPR INSTRUCTION IN F SUBTRACT (M) FROM (A) IS (M) >(A) ? YES RNI FROM P+I YES RNI. FROM P+2 NO SUBTRACT ( Q) FROM (M) l IS (Q) >(M) ? NO RNI FROM P+3 CPR FLOW CHART Rev. A 5-78 181716 23 I P 212019181716 23 P+1 I 3 I rI I 8 BS 12 II I I I I 00 s 23 P+2 00 H 67 SJ 00 52 r = unmodified address of the highe st order character in field A R = r + (B r ) Br = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Br = 0, no indexing s = unmodified address of the highest order character in field C. S = s + (Bs) Bs = index register flag for field C (same bit function as B r ) Sl 12 bit character count specifying the length of the A fie ld S2 12 bit character count specifying the length of the C field Instruction Description: Compare characters in field A with field C proceeding from left to right. Terminate the operation when an unequal character comparison occurs and RNI at P + 3. If the comparison condition is not satisfied when one of the fields has been completely examined, the remainder of the other field is examined for blanks (60 codes). If the remaining characters are all blanks, the compare operation is terminated as an equal comparison and the next instruction is read from P + 4. If the remainder of the larger field does not contain all blanks and: If ~1 :> S2' then an A :> C comparison condition exists. If S2 :> S 1, then an A < C comparison condition exists. Comments: The result of the comparison is entered into the BCD condition register as described in the table below. If the fields are unequal, the next instruction is read from P + 3. If the fields are equal, the next instruction is read from P + 4. The count of the characters processed is placed in B3 register upon completion of the instruction. Comparison Condition Contents of BCR A=C 00 2 A>C 01 2 A C 01 2 A ASCII,' Qetirijitet1) .. 23 181716 23 21201918 1716 00 P "''''';''''.' P+l m 23 P+2 18 17 ~ 12 II 00 DC r = unmodified address of the highest order character in BCD field A. R = r + [B r ]. Br = index register flag for field A If Br = 1 or 3, use index register Bl If Br = 2, use index register B2 If Br = 0, no indexing m = unmodified address of the highest order word in ASCII field C. M = m+ [Bm] B = index register flag for field C m (same bit functions as B ). Bits 02-14 of the index regist~r are used for word address indexing (13-bit index- sign extended). Bits 00 and 01 must be set to ones. S 2 = number of characters in ASCII field C DC = 6-bit delimiting character compared against characters in field A. Bits 18 through 23 at P + 2 and 00 and 01 at P + 1 should be loaded with zeros. Instruction Description: Convert a field of up to 4095 6-bit BCD characters in field A into the 8- bit American Standard Code for Information Interchange (ASCIn in field C. The conversion proceeds from left to right. The operation is terminated when the number of characters specified by S2 has been converted or the delimiting character is recognized in field A. A character equa+ to the delimiting character is converted when encountered. Comments: The BCD codes of 12 , 32 , and 528 are not treated as zero for this 8 instruction. The count in the B3 regis~er upon completion equals four times the number of store cycles. The first ASCII character is always placed in this character position of the wore specified by M. \ ~--~20~19~F~IR~S~T-A~S~C~II~~--~~~~~~~0~O Rev. B M CHARACTER M+l THIRD ASCII CHARACTER 5-118 00 FOURTH ASCII CHARACTER 23 181716 I P 66 23 P+1 I 020100 m 101 3 00 I I s IBml Bs I 23 P+2 ~ 212019181716 1211 ~~ 00 S2 m = unmodified word address of the highest order characters in ASCII field A. M=m + B (Refer to diagram below.) m Bm index register flag for field A 1 If B = 1 or 3, use index register B m If B = 2, use index register B2 m If B = 0, no indexing Bitl1Q2-14 of the index register are used for word address indexing (I3-bit index-sign extended>.. Bits 00 and 01 must be set to ones. s = unmodified address of the highest order character in BCD field C. S = [s + Bs] Bs = index register flag for field C (same bit functions as Em) S2 = number of characters in BCD field C Bits 00 and 01 of P and bits 12-23 of P + 2 should be loaded with zeros. Instruction Description: Convert a field of up to 4095 8-bit American Standard Code for Information Interchange (ASCII) characters in field A into 6-bit BCD characters in field C. The conversion proceeds from left to right. The operation is terminated when S2 is exhausted. Comments: A BCD fault is generated if bit positions 05 and 06 for any character contain both "l's" or both "a's" {an illegal character}. An illegal character is set to zero in field C and conversion continues to completion. The B3 register indicates the number of BCD characters stored. The first ASCII character is always located in this character position of the word specified by M. Shaded areas are not used. j 00 M FIRST ASCII CHARACTER SECOND ASCII CHARACTER M + 1 THIRD ASCII CHARACTER FOURTH ASCII CHARACTER 00 I etc. 5-119 etc. Rev. B IS 1716 III 23 I P 66 I 23 P+2 3 Bm s Bs S2 DC 00 s ISmlss I 2019 ~ m ~ 2120 1915 1716 23 P+1 0201 00 m 1211 00 I S2 DC = unmodified word addre ss of the highe st order characters in ASCII field A. (Refer to diagram below. ) M = m + Bm index register flag for field A 1 If B = 1 or 3, use index registzr B m If B = 2, use index register B m = 0, no indexing If B Bitsnb2-14 of the index register are used for word address indexing (13-bit index-sign extended). Bits 00 and 01 must be set to l'l's". = unmodified address of the highest order character in BCD field C. S = [s + BsJ index register flag for field C. (same bit functions as Bm> = number of characters in BCD field C = 8-bit delimiting character compared against characters in field A Bits 20 through 23 at P + 2 and 00 and 01 at P should be loaded with zeros. Instruction Description: Convert a field of up to 4095 8-bit American Standard Code for Information Interchange (ASCrn characters in field A into 6-bit BCD characters in field A. Conversion proceeds from left to right. The operation is terminated when S2 is exhausted or an ASCII character equal to the delimiting character is recognized. A character equal to the delimiting character is converted when encountered. Comments: A BCD fault is generated if bit positions 05 and 06 for any character contain both "l's" or both "O's" (an illegal character>. An illegal character is set to zero in field C and conversion continues to completion. The B3 register indicates the number of BCD characters stored. The first ASCII character is always derived from this character position of the word specified by M. Shaded areas are not used. \ 23 OS 07 20 19 M 00 SECOND ASCII CHARACTER 00 M+1 Rev. B 5-120 THIRD ASCII CHARACTER FOURTH ASCII CHARACTER 23 18 17 16 P 00 I 66 23 02 01 00 212019181716 P+1 ~ m 23 12 00 II P +2 S2 r I = unmodified Br m address of the lowest order character in the A field. R = r + [ Br] index register flag for field A If Br = 1 or 3, use index registzr B1 If Br = 2, use index register B If Br = 0, no indexing unmodified address of the lowest order word in field C., M =m + [~] B index register flag for field C (same bit functions as B ) Bits 02-14 of the index r~gister are used for word address indexing (13- bit index-sign extended), Bits 00 and 01 must be set to "l' S'I. S2 = number of 6-bit characters in field A to pack. m Bits 00 and 01 or P + 1, and bits 12 through 23 of P + 2 should be loaded with zeros. Instruction Description: Convert from right to left, a field of numeric 6-bit BCD characters in field A into 4-bit BCD characters and store the result in field C. The upper 2 bits of all 6-bit characters are removed, Comments: The sign of field A is contained in the upper 2 bits of the lowest order character. This sign is converted into a 4-bit sign character (1010 - positive, 2 1011 - negative) and is placed in the low order character position of field C prior 2 to packing BCD characters. Any A field character with a 12R - 178 code is forced to a zero in field C. A full word store is used. An¥ unf ill e a 4- bit characters in the highest order word are stored as zeros. The B register contains a count equal to four times the number of store cycles. The BDP Condition register is not used. A BCD fault is generated if one of the following conditions occur: 1. 2. 3. Zone portion (upper 2 bits) of any character (except sign character) does not equal zero. Numeric portion (lower 4 bits) of any character in field A contains a BCD code greater than 11 8 , except the sign character where a 128 code is legal. The lowest order character (sign character) is field A contams a 728 code. Operation continues despite any BCD fault. 5-121 Rev. B 23 P 1817 16 I 66 23 P+1 101 ~ 212019181716 00 I I l I 5 23 P+2 020100 m s 8 m Bs 12 II ~ 00 Sz I m = unmodified address of the lowest order word in field A. M = m + [Br] Bm = index register flag for field A 1 If B = 1 or 3, use index register B m = 2, use index register B2 If B m If B = 0, no indexing Bitl!Q2-14 of the index register are used for word address indexing (13-bit indexsign extended). Bits 00 and 01 must be set to "1' sri. s = unmodified address of the lowest order character in field C. 8 = [s + BsJ B = index register flag for field C s (same bit functions as B ) 8 2 = number 0f characters reWulting in field C. Bits 00 and 01 of P and bits 12 through 23 should be loaded with zeros. Instruction Description: Convert a field of numeric 4- bit BCD characters in field A into 6-bit BCD characters and store the result in field C. The upper 2 bits of the new 6-bit characters are all set to "00" except the lowest order character which receives the algebraic sign from the 4-bit sign character (lowest order) in field A. Field C contains one less character than field A due to the elimination of the 4-bit sign character. Comments: The conversion proceeds from right to left commencinw with the sign character of the 4- bit BCD field. If the sign is positive (10 10 ), a' 00" is stored 2 in the upper 2 bits of lowest order 6-bit BCD character; if negative (1011 ), a "10" 2 is stored in the upper 2 bits of this character. Any A field character (otlier than the sign character) containing a 128 -17 code results in a zero in field C. 8 The B3 register indicates the number of 6- bit characters stored. The BDP Condition register is not used. A BCD fault is generated if one of the following conditions occur: 1. 2. The sign character in field A is other than 1010 or 1011 (the sign of 2 2 field C is then set to zero), or Any other character in field A contains a 128 - 17-R code, except the second lowest character where a 128 code is legal~ Operation continues despite any BCD fault. Rev. C 5-122 Character Search Instructions Operation Field SRCE,INT SRCN,INT SCAN. LR, EQ Address Field 71 71 05 SC, r, s SC, r, S r,B r ,S2'SC SCAN, LR, EQ, DC 65 r, B r , S2, SC SCAN. LR, NE 65 r, B r , S2' SC SCAN.LR, NE, DC 65 r, B r , S2. SC SCAN, RL, EQ 65 r, B r , ~, SC SCAN.RL, EQ, DC 65 r, B r , ~J SC SCAN. RL, NE, DC 65 r, B r , S2' SC SCAN. RL, NE, DC r, B r , S2' SC 65 5-123 Interpreta tion Search for character equality Search for character inequality Scan field (left to right) for equal condition Scan field (left to right) for equal condition with delimiting Scan field (left to right) for not equal condition Scan field (left to right) for not equal condition with delimiting Scan field (right to left) for equal condition Scan field (right to left) for equal condition with delimiting Scan field (right to left) for not equal condition Scan field (right to left) for not equal condition with delimiting Rev. B This page intentionally left blank Rev. A 5 -124 SRCE· Search for. Character Equality 23 p I 71 23 p+ 1 I 00 181716 I~ I 181716 sc 10 I s I 00 I INT = "1" for interrupt upon completion s = last character address of the search block, plus one SC = 6-bit BCD scan character r = 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 with the scan character, se. lf Search/ Move control is not busy, the buffered search operation commence s while Main Control performs an RNI at P + 3. Main Control continues executing the main program while the search operation occurs simultaneously. lf Search/ Move control is initially busy, Main Control performs an RNI at P + 2 and the search operation does not occur. As a search progresses, r is incremented until the search terminates when either a comparison occurs between the scan character 'SCI and a character in the storagefield,oruntil r=s. lf 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 of the search block, plus one. Figure 5-15 is a flow chart of steps that occur during a search operation. 5-125 Rev. A Await Search Control Generates Block Control Request Read Up Register 20 (P + 1) Load St'arch Character SC into DBR '10 23 00 181716 P 71 23 I~ I 181716 P+1 sc III 5 00 INT = "1" for interrupt upon completion s = last character address of the search block, plus one SC = 6-bit BCD scan character r = first (current) character address of the search block Instruction Description: This instruction initiates a search through a block of character addresse s in storage looking for inequality with scan character SC. If Search/ Move control is not busy, the buffered search operation occurs simultaneously. If Search/ Move control is initially busy, Main Control performs an RNI at P + 2 and the search operation does not occur. As a search progresses, r is incremented until the search terminates when either an unequal character comparison occurs between the search character SC and a character in. storage, or until r = s. If an unequal character 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 5-16 is a flow chart of steps that occur during a search operation. 5-127 Rev. H Load (P + 1) into Data Bus Register (IJHR) I:r:j ..... aq ~ CD Search Conh'o] 01 Generates HloC'k..---.,r- Read Up Register 20 Control Request (P I ..... 01 .....I + 1) . 0) N CXl Load Sl'arch Ch3racb.'r SC into IlBR :-<0 ·····'$CAN;.J;.R;'''····· ,.i.····S~r?~f;eJq"l~ft . .•••.••. tp Righf f"f'Eqvt1.fi';,r> ". '. , 23 P IS 17 16 I 23 00 10 1 65 2120191S I 00 p + l l o l sr _ 23 P+2 IS 17 sc 12 II 00 ~ r = unmodified address of the highest order character in field A. R = r + [Br] Br = index register flag for field A If Br = 1 or 3, use index register Bl If Br = 2, use index register B2 If Br = 0, no indexing . SC = 6- bit scan character compared against characters in field A S 2 = number of characters to be searched Bits 00 through 18 of P + 1 and bits 12 through 17 of P + 2 should be loaded with zeros. Instruction Description: Search field A from left to right beginning with the 6- bit character at location Rand RNI at P + 4 if a character is found that is equal to the scan character, SC. If a character is not found that equals the SC after the entire field defined by S2 has been searched, RNI at P + 3. Comments: If a character comparison occurs during the search, the number of searched characters is transferred to the lower 12 bits of B3. If an unsuccessful search is made, then (B3) = S2- The upper 3 bits of B3 are of no consequence in this instruction. BCD codes of 12 , 32 , and 528 do not compare equal to 8 8 zero for this instruction. The BDP Condition register is not used. 5-129 Rev. B .·: .·~~~~~~/5:~E~~~•·.•· 23 ··i • .·j!9hfi~i:;fq~~/iMP.'ifuit~ """'." .... ;. ""'" ,",,", '·"w., ...... " ""'.".: ".. ,....".", .... ," P 18 17 16 I 65 23 ,"" p+11 00 III I 21201918 0 00 Ie r_ 23 18 17 P + 2 sc 12 II 00 DC r = unmodified address of the highest order character in field A. R = r + [ Brl Br = index register flag for field A 1 If Br = 1 or 3, use index register B If Br = 2, use index register B2 If Br = 0, no indexing SC = 6- bit scan character compared against characters in field A. S2 = number of characters to be searched. DC = 6- bit delimiting character compared against characters in field A Bits 00 through 18 of P + 1 should be loaded with zeros. Instruction Description: Search field A from left to right beginning with the 6- bit character at location Rand RNI at P + 4 if a character is found that is equal to the scan character, SC. If a character is not found that equals the SC after the entire field defined by S2 has been searched or if a character is found that equals the delimiting character, DC> RNI at P+3. (If SC equals DC and comparison with field A occurs, RNI at P + 4). Comments: If a character comparison is found during the search, the number of characters searched is transferred to the lower 12 bits of B3 . If an unsuccessful search is made, then (B3) = S2. The upper 3-bits of B3 are of no consequence in this instruction. BCD codes of 12 , 32 , and 528 do not compare 8 8 equal to zero for this instruction. The BDP Condition register is not used. Rev. B 5-130 23 18 17 16 P 65 00 101 23 21201918 00 p+11218r~ 23 1817 P+2 sc 12 ~ II 00 r = unmodified address of the highest order character in field A. R = r + [ Br] Br = index register flag for field A 1 If Br = 1 or 3, use index register B If Br = 2, use index register B2 If Br = 0, no indexing SC = scan character which is compared against characters in field A. S 2 = number of characters to be searched Bits 00 through 18 of P + 1 and bits 12 through 17 of P+ 2 should be loaded with zeros. Instruction Description: Search field A from left to right beginning with the 6bit character at location R, and RNI at P + 4 if a character is found that is not equal to the scan character, SC. If a character is not found that is not equal to the SC after the entire field defined by S2 has been searched, RNI at P + 3. Comments: If an unequal character comparison is found during the se~ch, the number of characters searched is transferred to the lower 12 bits of B. If all characters searched are equal to the SC, then (B3) =S2. The upper 3 bits of B3 are of no consequence in this instruction. BCD codes of 12 8 , 328, and 528 do not compare equal to zero for this instruction. The BDP Condition register is not used. 5-131 Rev. B S~>Att;LRl NE,oe ..• ,Se~reh~leld· A.Left to. •~9hfJ()l'biequ(11;ty ~ ·Oelimited ,. . ::. ... ". -:" ". 23 P , I 23 P+1 181716 00 I III 65 21201918 00 121er _ 23 18 17 P + 2 sc 12 I 00 DC r = unmodified address of the highest order character in field A. R = r + [Br] Br = index register flag for field A If Br = 1 or 3, use index register B 1 If Br = 2, use index register B2 If Br = 0, no indexing SC = scan character which is compared against characters in field A. S 2 = number of characters to be searched DC = 6- bit delimiting character compared against the characters in field A Bits 00 through 18 of P + 1 should be loaded with zeros. Instruction Description: Search field A from left to right beginning with the 6- bit character at location R, and RNI at P + 4 if a character is found that is not equal to the scan character, SC. If a character is not found that is not equal to the SC after the entire field defined by S2 has been searched or if a character is found that equals the delimiting character, DC, RNI at P + 3. (If SC equals DC and an unequal comparison with field A occurs, RNI at P + 4). Comments: If an unequal character comparison is found during the search, the number of characters searched is transferred to 1he lower 12 bits of B3. If all characters searched are equal to the SC, then (B ) :: S2. The upper 3 bits of B3 are of no conseque~ce in this instruction. BCD codes of 12 8 , 328 and 528 cause an unequal comparIson to zero. The BDP Condition register is not used. Rev. B 5-132 23 P I 23 P+1 181716 65 00 10 1 21201918 I 00 1118r~ 18 17 23 12 II 00 sc P+2 r = unmodified address of the lowe st order character in field A. R = r + [Br] Br = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Br = 0, no indexing SC scan character which is compared against characters to be searched. S2 = number of characters to be searched Bits 00 through 18 of P + 1 and bits 12 through 17 of P + 2 should be loaded with zeros. Instruction Description: Search field A from right to left beginning with the 6- bit character at location Rand RNI at P + 4 if a character is found that is identical to the scan character, SC. If a character is not found that equals the SC after the entire field defined by S2 has been searched, RNI at P + 3. Comments: If a character comparison is found during the sgarch, the number of characters searched is transferred to the lower 12 bits of B. If an unsuccessful search is made, then (B3) = S. The upper 3 bits of B3 are of no consequence in this instruction. BCD codes 0112 , 32 , and 528 do not compare equal to zerQ. 8 8 The BDP Condition register is set ot the sign of field A (upper 2 bits of 10weR+ order character). 5-133 Rev. B 181716 23 P III I II s r _ I 21201918 23 P+l 00 65 00 1817 23 SC P+2 12 DC 00 52 r = unmodified address of the lowest order character in field A. R = r + [ Brl Br = index register flag for field A If Br = 1 or 3, use index register Bl If Br = 2, use index register B2 If Br = 0, no indexing SC = scan character which is compared against characters in field A. S2 = number of characters to be searched DC = 6- bit delimiting character compared against the characters in field A Bits 00 through 18 of P + 1 should be loaded with zeros. Instruction Description: Search field A from right to left beginning with the 6bit character at locations Rand RNI at P + 4 if a character is found that is equal to the scan character, SC. If a character is not found that equals the SC after the entire field defined by S2 has been searched or if a character is found that equals the delimiting character, DC, RNI at P + 3 (if SC equals DC and an equal comparison with field A occurs, RNI at P + 4). Comments: If a character comparison is found during the search, the number of characters searched is transferred to the lower 12 bits of B3. If an unsuccessful search is made, then (B3) = S 2. The upper 3 bits of B3 are of no consequence in this instruction. BCD codes of 12 , 32 8 , and 528 do not compare equal to zero. 8 The BDP Condition register is set to the sign of field A (upper 2 bits of lowest order character). Rev. B 5-134 23 P 23 P+1 181716 I 65 00 I 101 21 201918 00 131Br~ 23 18 17 P+2 sc 12 II 00 ~ r = unmodified address of the lowe st order character in field A, R = r + [Br] = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Br = 0, no indexing SC = scan character which is compared against characters in field A S2 = number of characters to be searched Br Bits 00 through 18 of P + 1 and bits 12 through 1 7 of P + 2 should be. loaded with zeros, Instruction Description: Search field A from right to left beginning with the 6bit character at location Rand RNI at P + 4 if a character is found that is not equal to the scan character, SC, If a character is not found that is not equal to the SC after the entire field defined by S2 has been searched, RNI at P + 3, Comments: If an unequal character comparison is found during the search, the number of characters searched is transferred to the lower 12 bits of B 3. If all characters searched are equal to the SC, then (B3) = S , The upper 3 bits of B3 are of no consequence in this instruction, BCD codes 12 , 32 , and 528 cause an 8 8 unequal comparison to zero, The BDP Condition register is set to the sign of field A (upper 2 bits of lowest order character), 5-135 Rev. B • .••.. .•. •.,.ii '. "P'S¢~N; $£Jclrth fJe/C;/ ARight · .'. 181716 00 p to left forJrJ~q~ality, .D('jlimif~d 23 P +1 212019 18 00 131ar _ 23 P + 2 18 17 sc 12 II 00 DC r = unmodified address of the lowest order character in field A. R = r + [Brl Br = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Br = 0, no indexing SC = scan character which is compared against character s in field A S 2 = number of characters to be searched DC = 6- bit delimiting character compared against the characters in field A Bits 00 through 18 of P + 1 should be loaded with zeros. Instruction Description: Search field A from right to left beginning with the 6bit character at location Rand RNI at P + 4 if a character is found that is not equal to the scan character, SC. If a character is not found that is not equal to the SC after the entire field defined by S2 has been searched, or if a character is found that equals the delimiting character, DC, RNI at P + 3 (If SC equals DC and an unequal comparison with field A occurs, RNI at P + 4). Comments: If an unequal character comparison is found during the search, the number of characters searched is transferred to the lower 12 bits of B3. If all characters searched are equal to the SC, then (B3) = S2. The upper 3 bits of B3 are of no consequence in this instruction. BCD codes of 12 8 , 32 8 , and 528 cause an unequal comparison to zero. The BCD Condition register is set to the sign of field A (upper 2 bits of lowest order character). Rev. B 5-136 Move Instructions Operation Field Address Field Interpretation Move characters from r to s. MOVE,INT 72 S, r, s MVE 64 Move field MVE, DC 64 r, B r , Sl, s, Bs, S2 r, B r , s, Bs, S2 MVBF 64 Move field and blank fill MVZF 64 MVZS 64 r, B r , Sl, s, Bs, S2 r, B r , Sl' s, Bs' S2 r, B r , Sl, s, Bs, S2 MVZS, DC 64 r~ ZADM 67 r, B r , Sl, s, B s , S2 Move field and add zeros FRMT 64 r, B r , Sl, s, Bs, S2 Move field and format with commas . and decimal point EDIT 64 r, B r , Sl, s, B s , S2 Move field and perform complete COBOL edit Move field with delimiting Move field and zero fill Move field and suppress zeros Move field and suppress zeros with delimiting B r , s, Bs, S2 5-137 Rev. B 23 P 00 181716 72 23 HI 5 17 16 00 S P+1 INT = "1" for interrupt upon completion s = first address of character block destination S = field length of data block, 0-177 8 ':' characters r = first address of character block source Instruction Description: This instruction moves a block of characters from one area of storage to another. If Search/Move control is not busy, the buffered move operation commences while Main Control performs an RNI at P + 3. Main Control continues executing the main program while the move operation occurs simultaneously. If Search/Move control is initially busy, Main Control performs an RNI at P + 2 and the move operation does not occur. As a move operation progresses, rand s are incremented and S (number of characters) is decremented until S = O. 128 characters or 32 words may be moved. When bits 00 and 01 of rand s are zero, and the field length is a multiple of four characters, data is moved word by word. This reduces the 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 5-17 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. A 5-138 ~ ...... oq ~ "1 (1) C1l C1l I I-' I I-' -J CJ.:) CD ~ 0 S 1 = number of characters in field A to be moved S 2 = number of available character positions in field C Instruction Description: Move a field of up to 4095 6- bit BCD numeric characters from field A to field C, left to right. Comments: .If field A is longer than field C, the length of field C, S2. terminates the move operation and the remainder of field A is not moved. If field C is longer than field A, the remainder of field C is filled with zeros. The upper 2 bits of all field A characters are stripped (forced to zero) when moved to field C. Any field A character containing a 128 - 178 code is forced to zero when moved. The sign from field A (upper 2 bits of lowest order character) is always transferred to the BDP Condition register and to the lowest order character in field C (this may be a zero-filled character), even if the A field is longer than the C field. A BCD fault is generated if one of the following conditions occur: 1. 2. 3. Zone portion (upper 2 bits) of any character in field A (except sign character) does not equal zero. Numeric portion (lower 4 bits) of any character in field A contains a BCD code greater than 11 8 , except the sign character where a 128 code is legal. The lowest order character (sign character) contains a 728 code. Operation continues despite any BCD fault. 5-143 Rev. B 23 181716 P 64 23 P+l I 00 0 11 2120191817 16 3 00 S 1 Br 1BS I 23 12 II P+2 SI 00 S2 r = unmodified address of the highest order character in field A. R = r + [Br] Br = index register flag for field A If Br = 1 or 3, use index register Bl If Br = 2, use index register B2 If Br = 0, no indexing s = unmodified addres s of the highest order character in field C. S = s + [ Bs] Bs = index register flag for field C (same bit functions as B r ) S 1 = number of characters in field A to be moved S2 = number of available character position in field C Instruction Description: Move a field of up to 4095 6-bit alphanumeric characters in field A to field C, left to right, and replace all leading zeros occurring in field A with blanks in field C. Comments: If field A is longer than field C, the length of field C, S2' terminates the move operation and the remainder of the A field is not moved. In this case, the sign bits may be invalid (Sign bits are not checked or modified and consist of the upper two bits of the last character moved. ) If field C is longer than field A, the length of field A terminates the move operation and the remainder of field C remains unchanged. The BDP Condition register is set according to the sign of the A field if the sign character is processed. Rev. C 5-144 ·.....\M¥ZS.DP ............... Mov•. F:i~ldAtoFj~I~. . C"nclZ~~o~tlppres~, ... 23 181716 23 212019181716 00 P D~I;l1lltf¥1 00 P+l 5 1817 23 P+2 12 II 00 DC r = unmodified address of the highest order character in field A. R = r + [Br] = index register flag for field A If Br = 1 or 3, use index register Bl If Br = 2, use index register B2 If Br = 0, no indexing s = unmodified address of the highest order character in field C. S = s + [ Bs] Br Bs = index register flag for field C (same bit functions as Br) S 2 = number of available character positions in both field A and field C DC = 6- bit delimiting character compared against the characters in field A Bits 18 through 23 of P + 2 should be loaded with zeros. Instruction Description: Move a field of up to 4095 6-bit alphanumeric characters from field A to field C, left to right, and replace all leading zeros occurring in field A with blanks in field C. Comments: The length of field C, S2' terminates the move operation. If the delimiting character is recognized at any time during the character move, the operation is terminated after the delimit character has been moved. The sign of the newly formed C field may be invalid (Sign bits are not checked or modified and consist of the upper 2 bits of the last character moved. ) The BDP Condition register is always set to a positive sign (002). 5-145 Rev. B 67 101 00 212019181716 23 P+l 00 181716 23 P I I I I 2 Br BS 00 12 II 23 P+2 S SI S2 r = unmodified address of the lowest order character in field A. R = r + [Brl Br = index register flag for field A If Br = 1 or 3, use index register B 1 If Br = 2, use index register B2 If Br = 0, no indexing s unmodified address of the lowest order character in field C. S = s + [ Bsl Bs index register flag for field C (same bit functions as Br) S 1 number of characters in field A to be moved S 2 number of available character positions in field C Instruction Description: Move a field of up to 4095 ters from field A to field C, right to left. 6-bit BCD numeric charac- Comments: If field A is longer than field C, the length of field C, S2, terminates the move operation and the remainder of the A field is not moved. If field C is longer than field A, the remainder of field C is filled with zeros. The algebraic sign of field A is obtained from the upper 2 bits of the lowest order character in field A. A 10 indicates a negative field and 00 2 , 01 2 , or 112 indi2 cates a positive field. This sign is stored in the upper 2 bits of tne lowest order character in field C. The BDP Condition register is also set to the sign of field C, Any field A character with a 128 - 178 code if forced to zero when moved. A BCD fault is generated if one of the following conditions occur: 1. 2. 3. Zone portion (upper 2 bits) of any ter) does not equal zero. Numeric portion (lower 4 bits) of code greater than 11 8 , except the The lowest order character (sign Operation continues despite any BCD fault. Rev. B 5-146 character in field A (except sign characany character in field A contains a BCD sign character where a 128 code is legal. character) contains a 728 code. 00 181716 23 P H I I I I 64 212019181716 23 P+1 4 Br BS 12 II 23 P +2 00 5 SI' 00 Sz r = unmodified addres s of the highest order character in field A. R = r + [Br] Br = index register flag for field A If Br = 1 or 3, use index register B1 If Br = 2, use index register B2 If Br : : 0, no indexing. s = unmodified address of the highest order character in field C. S = s + [Bs] Bs = index register flag for field C {same bit functions as Br> S 1 = number of characters in field A to be edited. (Values must be 2, 5, 108, 138, 168, etc. > S 2 = number of characters in field C. ValuesofS2mustbe 3,6, 12 8, 168, 228, etc. and include decimal point and commas). Instruction Description: Move the numeric characters in field A from left to right into field C, replacing leading zeros with blanks and inserting-a comma after every three characters moved. A decimal point is inserted in the third lowest order position of the C field. Comments: Leading zeros in field A, together with normally inserted commas, are suppressed until the first non-zero character is encountered. Zero suppression terminates with the decimal point if only zeros are encountered. The sign of field A is recorded in the BDP Condition register but does not appear in the resultant C field. A BCD fault is generated if one of the following conditions occur: 1. 2. 3. 4. Zone portion (upper 2 bits) of any character in field A (except sign character) does not equal zero. Numeric portion (lower 4 bits) of any character in field A contains a BCD code greater than 118 except the sign character, where a 128 code is legal. . The lowest order character (sign character) contains a 7.28 (~9de. Incorrect field length specified - a) the two fields are not aligned (Ex: Sl = 2 and S2 = 6), b) illegal count used {Ex: S2 -:{: 3,6,12 8 ,22 8 , etc,). Operation continues despite any BCD fault. 5-147 Rev.H EXAMPLE: \ = 13 8 This character address is specified by 'R' 0/ 0 Field A = 0 0 0 7 6 8 9 3 2 S1 specifies 13 8 characters in field A S specifie s 168 c~aracters (including decimal point and commas) in field C. The count progresses as 1 This character addre ss is specified b 's' i,OllOWS' Field C = 7. 6 ® ® ® (Ii) (Ii) 0 @!)® The leading zeros are removed, leaving six blanks in field C. Rev. A 5-148 8 CD 9 CD CD 3 CD 2 CD I 23 00 18 1716 P III I I I 64 I P+1 00 21 20 19 18 17 16 23 4 Br 5 BS 12 23 I P+2 I S, 00 S2 r ::: unmodified address of the highest order character in field A. R::: r + [Brl Br ::: index register flag for field A If Br ::: 1 or 3, use index register B1 If Br ::: 2, use index register B2 If Br ::: 0, no indexing s ::: unmodified address of the highest order character in field C. S::: S + [Bsl Bs ::: index register flag for field C (same bit functions as B r ) S1 ::: number of characters in field A to be edited S2 ::: number of characters iIi field C Instruction Description: Perform a complete formatted edit from left to right with up to 4095 characters in field C. The editing is performed character for character with respect to the COBOL type editing characters in field C. The resulting edited field is stored in field C. Comments: Programming consideration must be given to aligning the characters in field A with the proper editing characters in field C. The COBOL type editing characters used in field C and applicable to this instruction are listed here with their descriptions. Any other character in the C field is recognized as a 9. The BDP Condition register is set to the sign of field A. The conditions for a BCD fault are the same as for FRMT, with the exception of condition 4. Editing examples are listed following the character descriptions: EDITING CHARACTERS 9 • $ + 0 B CR DB Z ,~ / Direct Characters: 9 When the character 9 appears in the C field, it is replaced by the corresponding character in the A field. 5-149 Rev. C • Insertion Characters: When an insertion character is specified in the C field, it remains in that character position in the edited field. The insertion characters are: $ + - a B CR DB / $ When a single dollar sign is specified as the left-most symbol in a C field, it appears as the left-most character in the edited field. This character is included in the character count (S 2) of the edited field. + When a plus sign is specified as the first or last symbol of a C field, a plus sign is inserted in the indicated character position of the edited data, provided the field of data is positive or is unsigned. If the data is negative, a minus is inserted in the indicated character position. The sign is included in the character count ( S 2) of the edited field. When a minus sign is specified as the first or last symbol of a C field, a minus sign is inserted in the indicated character position of the edited data, provided the field of data is negative. If the data is not negative, a blank is inserted in the indicated character position. The sign or blank is included in the character count ( S 2) of the edited field. (decimal point) This character is used in a C field to represent an actual decimal point as opposed to an assumed decimal point. When used, a decimal point appears in the edited data as a character in the same character position as it appears in the C field and it is included in the character count of the edited field. A picture of a report item can never contain more than one decimal point, actual or assumed. When a comma is used in a C field, a comma is inserted in the corresponding character position of the edited data. It is included in the character count ( S2) of the edited field. Rev. A a (zero) When a zero is used in a C field, a zero is inserted in the corresponding character position in the edited field. It is included in the character count ( S2) of the edited field. B When the character, B, is used in a C field, a blank is inserted in the corresponding character position in the edited field. It is included in the character count (S 2) of the edited fie ld. CR The combined characters (CR) represent a credit in accounting operations and may be specified only at the right end of a C field. The symbol is inserted in the last two character positions of the edited field, provided the value of the data is negative. If the data is positive or unsigned these last two character positions are set to blanks. Since this symbol always results in two characters (CR or blanks) it is included as two characters in the character count (S 2) of the edited field. 5-150 • DB The combined characters (DB) represent a debit and may be specified only at the right end of a C field. It has the same results as the credit symbol, using DB or blanks. / (slash) When a slash (/) is used in a C field, a slash is inserted in the corresponding character position in the edited field. It is included in the character count ( S 2) of the edited field. Replacement Characters: A replacement character in a C field suppresses leading zeros in data and replaces them with other characters in the edited data. The replacement characters are: Z * $ + - Only one replacement character may be used in a picture, although a Z or asterisk (*) may be used with any of the insertion characters including: $ + Z O n e Z character is specified at the left end of a C field for each leading zero in the A field that requires suppression and replacement by a blank in the edited field. Z' s may be preceded by one of the three insertion characters $ + or - and interspersed with the four insertion characters . , 0 or B. Whether these insertion characters affect the result of the editing process depends on the nature of the data. Suppressing leading zeros and inserting blanks ceases when one of the following conditions exists: 1. When the number of suppressed zeros equals the number of Z' s specified in the C field. 2. When the first non-zero digit character in the A field is encountered. 3. When the position in the C field is reached where a decimal point insertion is specified. Zero suppression and blank replacement cannot continue beyond a decimal point, hence, a decimal point is never followed by blanks in an edited field. • • • If either a $ + - is specified before Z I s, the character is inserted in the edited data regardless of leading zero s uppre s sion. If either a comma, B, or 0 is encountered in the edit field before zero suppression has terminated, the character is not inserted in the edited data, but IS suppressed and a blank is inserted. In the special case where the edited data has a value of zero, the entire edited data is replaced by blanks if a 9 does not appear in the edit picture. This special rule overrides the condition that zero suppression terminates when a decimal point is encountered. If one of the three insertion characters $ + - is specified but the value of the edited field is zero, a blank is inserted instead of the insertion character. 5-151 Rev. C * The asterisk (*) is specified in the same way and with the same results as the character Z, except that suppressed characters are replaced by asterisks instead of blanks. The rules for the Z character apply also to the use of the asterisk. $ If one mare dollar sign ($) than the number of leading zeros to be suppressed is specified at the left end of a C field, this dollar sign acts as an insertion character. Each of the other dollar signs corresponds to a leading zero to be suppressed. This use of the dollar sign has the same results as described for the Z character, except that the dollar sign is inserted directly preceding the first non- suppressed character. A dollar sign used in this way as a replacement character is known as a floating dollar sign as it virtually "floats" through all of the suppressed characters. If one- or more floating dollar signs are specified in a C field, the edited data always contains a dollar sign whether or not any suppression occurs since one of the dollar signs is an insertion character. Each dollar sign specified in a picture (including the insertion $) is included in determining the character count (S 2) of the edited field. + When a plus- sign (+) is used as a replacement character, it functions'as a floating plus sign and is specified in the C field one more time than the number of leading zeros to be suppressed. Its fUnction is the same as the floating dollar sign, with the following exception: If the A field data is po sitive or unsigned a plus sign is inserted in the character position directly preceding the first non- suppressed character. If the A field data is negative, a minus sign is inserted in this character position in the edited field. When a minus. sign is used as a replacement character it functions as a floating minus sign and is specified in the C field one more time than the number of leading zeros to be suppressed. Its function is the same as the floating dollar sign and floating plus sign with the following exception: If theA field data is negative a minus sign is inserted in the character position directly preceding the first non- suppressed character. If the value of the A field data is po sitive or unsigned, a blank is inserted in this position in the edited data instead of a minus sign. Rev. A 5-152 TABLE 5-10. Field A Data UPPERMOST CHARACTER POSITIONS >4 8 4 8 EDITING EXAMPLES Field C Editing Data Re sultant Field C Edited Data $99 $ 4 8 $99.99 $ 4 8 4 8 3 4 9,999 4 8 2 9 2 +999 + 2 9 2 ~2 +999 - 2 9 2 9 2 999- 2 9 2 - THE SIGN IS CONTAINED IN THE LOWEST ORDER CHARACTER. ON LY MINUS SIGNS ARE SHOWN HERE 2 3 4 3 4 3 4 THE 6. FIGURE ~/INDICATES A BLANK 9 2 6 999- 2 1 $BB999.99 $ 6 6 1 $00999.99 1 3 4 2 9 2 2 4 3 2 2 4 3 2 1 POSITION 4 3 2 1 $ 0 0 2 4 3 2 1 99.99CR 1 1 C R 1 1 3 4 99.99CR 1 1 3 4 6 6 2 3 4 2 3 7 6" 99.99DB 2 3 7 6 2 3 7 6 99.99DB 2 3 7 6 6 0 0 9 2 3 ZZ999 6 6 9 2 3 0 9 3 ZZZ99 6 6 9 2 0 2 D B 6 3 0 0 0 0 0 0 ZZZZ.ZZ 6 6 6 6 6 6 6 0 0 9 2 $::;0:'*:.99 $ -,--,- * 9 2 0 0 0 8 2 4 $$$$9.99 6 6 6 $ 8 0 0 ---9.99 6 6 - 5 $$$.99 $ 3 2 3 2 5 2 6 5 3 6 5-153 2 4 2 6 3 6 5 Rev. B Field A Data o 0 0 0 1 2 3 4 001 Field C Editing Data $ZZZ,ZZZ.99 234 5 6 Resultant Field C Edited Data $ 6 6 666 1 2 3 4 $ 1 234 5 6 3 4 * 1 234 5 6 $ 1 2 3 456 3 4 >}: o 0 0 0 1 2 -ZZZ,ZZZ 1 2 345 6 2 4 $ZZZ, ZZ9. 99CR $ 1 2 3 456 2 4 $$$$,$$9.99 66$ 1 234 o 0 5 6 D B 001 o o 234 0 0 0 0 000 $$$$,$$$.99 0 0 0 1 2 5 6 ----, ---. 99DB C R 1. Only one replacement character of the set Z ':' $ + and - can be used within a single editing C field even though it may be specified more than once. 2. If one of the replacement characters Z or ':' is used with one of the insertion characters $ + or -, the plus sign or the minus sign may be specified as either the leftmost or rightmost character in the editing C field. 3. A plus sign and a minus sign may not be included in the same editing C field. 4. A leftmost plus sign and a dollar sign may not be included in the same editing C field. 5. A leftmo st minus sign and a dollar sign may not be included in the same editing C field. 6. The character 9 may not be specified to the left of a replacement character. 7. Symbols which may appear only once are: 8. The decimal point may not be the rightmost character in an editing C field. Rev. B 5-154 decimal point, CR, and DB. 1817 23 I 00 1514 m 70 m = storage address. Indexing not permitted. Instruction Description: Load the BCR and set interrupt recovery conditions within the BDP as defined by (m). The 24 bits of (m) have the following significance: POSITION 00 and 01 FUNCTION Contents of the BCR 02 Edit flag indicating a liD" (DB) or IIC II (CR) character detected. 03 Zero suppression operation in progress. 04 05 Edit flag indicating a floating sign ($ + -) operation is in progress. Edit flag indicating a $ sign is forced. 06 Edit flag indicating a + sign is forced. 07 Edit flag indicating an 08 Edit flag indicating a floating character is forced. 09 Operand equals zero. 10 11 Signs of operands unlike for ADM or SBM. or incorrect on EDIT. Interrupt occurred during BDP operation. 12 through 23 * sign is forced. Number of characters or words for Field A already processed. Comments: The LBR instruction should only be used when returning from an interrupt routine. The instruction is trapped if the BDP MODE switch is inactive or if the 3312 (BDP) is not present and the computer is operating in non- Executive mode or in Program State; it is a No-Op under these conditions in Monitor State. 23 I 00 70 m = storage address. m Indexing not permitted. Instruction Description: Store various operating conditions from within the BDP at address f mi. Refer to the LBR instruction for the bit functions of (m). Comments: Execution of this instruction does not clear the operating conditions within the BDP. The instruction is trapped if the BDP MODE switch is inactive or 5-155 Rev H if the 3312 (BDP) is not present and the computer is operating in non- Executive mode or in Program State; it is a No-Op under these conditions in Monitor State. RevG 5-156 6. SOFTWARE SYSTEMS GENERAL INFORMATION Control Data supports its lower 3000 Series Computers with a library of excellent standard software products effectively covering a wide range of computer applications. • Operating Systems exercise supervisory control • Languages are oriented toward programming needs • Utility routines perform tasks for user's programs • Applications systems are specialized programs This section briefly describes available software systems and also references obtainable documents. To obtain these documents, refer to the Literature Distribution Catalog for the correct Publication numbers. OPERATING SYSTEMS Operating systems provided by Control Data make efficient use of various hardware configurations. These operating systems provide automatic job monitoring and supervisory control during compliation, assembly, and execution of user's programs. Systems storage requirements are kept at a minimum and operator intervention reduced significantly by job stacking, automatic accounting and storage allocation, automatic assignment of input/ output functions, and by operator messages produced on the standard output comment unit. Operating systems include the following: • Real-Time SCOPE • MASTER • • MSOS SCOPE Utility Routines 6-1 Rev.C Real-Time SCOPE An operating system which provides backgrounding. stacked job processing. and priority interrupt handling. Time is shared between a background program and the stacked jobs. The standard SCOPE features are included: I/O and status operations. debugging facilities. and library maintenance. Documents General Information Real- Time SCOPE Operator's Manual Real- Time SCOPE Reference MASTER A multiprogramming system that is adaptable to applications involving multiaccess on-line input/output with and without real time calculations as well as to conventional and batch processing applications. MASTER uses mass storage for system storage and temporary storage of user programs. as well as for storage of user files. MASTER allocates tasks to available equipment and handles communication among tasks. The tasks are processed on a priority basis. Documents General Information Reference MSOS Provides utilization of mass storage devices. The operating system. the related software packages and library. and user data areas are allocated to disk or similar storage. Time is shared between a background program and the stacked jobs. Background programs may operate in real time. The system also includes priority interrupt handling. I/O and status operations, debugging facilities. and library maintenance. Documents General Information MSOS Reference MSOS Operator's Manual PRELIB MSOS SCOPE Utility Routines An open- ended peripheral processing package which allows transfer of data between peripheral units and storage media. Documents Reference Rev.C 6-2 LANGUAGES Programmers can choose the language best suited to the needs of their particular problems. Control Data has implemented programming languages which range from machine mnemonics to problem-oriented systems which closely resemble the natural expressions in particular fields of application. The languages include: • • • • • • FORTRAN COBOL ALGOL COMPASS Data Processing Package Report Generator FORTRAN-32 A versatile mathematical compiler. Most programs written in FORTRAN II and FORTRAN IV are compilable with FORTRAN-32. Documents General Information Reference Instant· FORTRAN Library Routines Library Functions Mass Storage FORTRAN Provides all the features of FORTRAN-32 and allows compilation and execution using mass storage devices. Documents General Information Reference FORTRAN/MASTER Instant FORTRAN Library Routines Library Functions COBOL 32 A data processing language based on the specifications set forth in the DOD reference of COBOL-61, Extended. This language provides fast compilation speeds and efficient object code. 6-3 Rev.C Documents General Information Reference Compatible COBOL Version 2.0 Extensions and Revisions Instant COBOL COBOL 33 Provides all the features of COBOL 32 and utilizes the Business Data Processing hardware during execution of the COBOL object programs. Documents Reference Mass Storage COBOL Provides all the features of COBOL 32 and uses mass storage for compilation. Version 2 of Mass Storage COBOL contains mass storage statements and allows object programs to use mass storage. Documents General Information Reference Version 2.0 Extensions and Revisions ALGOL A compiler accepting an algorithmic language defined in the ALGOL- 60 Revised Report in the Communication of the ACM, 1963, Vol. 6. Input/output procedures are those of the IFIP set and the complete ACM set. Documents General Information Reference Instant ALGOL Functional Description ALGOL Compiler Abnormal Object Time Termination Dump COMPASS-32 A comprehensive assembly system, providing mnemonic machine operation codes, symbolic addressing, assembly-directing pseudo instructions, and programmerdefined macro instructions. Rev.C 6-4 Documents General Information Compatible COMPASS Language Reference Manual COMPASS/Tape SCOPE COMPASS/Disk SCOPE Programming Guide Instant COMPASS COMPASS/Real-Time SCOPE. COMPASS/MSOS COMPASS-33 An extension of COMPASS- 32 designed to process coding for the Control Data 3300. Documents Compatible COMPASS Language Reference Manual Instant COMPASS COMPASS/Real- Time SCOPE. COMPASS/MSOS COMPASS/MASTER Data Processing Package Consists of a set of input/ output and file description macro instructions. The set also includes macros to perform certain data manipulation and mathematical functions. Documents General Information Reference Report Generator Facilitates the preparation of programs which produce a variety of reports from an input file. Documents General Information Reference Instant Report INPUT/OUTPUT Input/ output control routines are included in the software library to provide access to a number of different I/O media through efficiently preprogrammed library routines. 6-5 Rev.C I/O control programs include: • RESPOND/MSOS • MSIO • SIPP RESPOND/MSOS A multi-access software package which operates as a background program under MSOS and provides users at remote terminals with the ability to access files of information contained on mass storage at the central computer site. Files may be submitted to the operating system for foreground processing. Records within a file may be added. deleted. modified. or displayed by action of the terminal operator. MSIO A file oriented input/ output system consisting of two sections. One section provides physical I/O features for mass storage files. The other section provides logical record processing facilities such as blocking. deblocking. buffering. updating. inserting. and deleting for files on mass storage. SIPP Enables simultaneous execution of data transfer operations involving several peripheral units. If permitted by the operating system. SIPP can operate as a background program. Documents Reference APPLICATIONS Applications programs are tested working programs which perform specialized jobs in industry. business. and research. Applications programs include: • • • • • • Rev.C PERT/TIME PERT/COST SORT Mass Storage SORT REGINA-I ADAPT 6-6 PERT/TIME Utilizes a time- oriented network structure to provide a variety of reports reflecting the actual and scheduled progress of a project. Documents PERT General Information Reference Version 2.0 Extensions and Revisions PERT/COST Utilizes a cost- oriented breakdown structure to provide a variety of reports on actual and estimated costs over the life of a project. Documents PERT General Information Reference SORT Produces a sequenced file of data records from random input. The internal phase makes use of the replacement selection sorting technique; the external phase may be either a balanced or poly-phase merge. The user has the option to enter owncode subroutines during the program. Documents General Information Reference Mass Storage SORT Similar to the tape SORT except that disk storage is used during intermediate merge processing. The SORT may optionally employ a tag sorting method. Documents General Information Reference REGINA-I A linear programming system; it provides an integer solution to the set of equations. Documents General Information Reference 6-7 Rev.C ADAPT A system that prepares instructions for numerically controlled machine tools. The ADAPT language allows specification of the geometric properties of a part to be machined and the operations involved in producing the part. ADAPT is a subset of the more complex APT system. Documents General Information Reference Rev.C 6-8 7. CONSOLE AND POWER CONTROL PANEL CD Typewriter (]) Typewriter Switches (]) Data Interchange Display CD Index, or LJA, or cm Register CD P Register or Page Index File Address CD A and Q, or E Register (]) Instruction State Register (ISR) CD Operand State Register (OSR) CD F or C Register (iO) Status Display Figure 7-1. 7-1 ISR and OSR Entry Switches Step Rate Control Emergency Off Switch Access Keyboard Switches Console Condition Switches (iO) Breakpoint Switch Assembly (ii) ® ® ® ® 3300 Console Rev. A GENERAL INFORMATION The 3300 desk console shown in Figure 7-1 enables the computer operator to control and observe computer operation. This section describes the operator1s controls and the significance of the visual indicators. Also included in this section is a description of the Power Control Panel. CONSOLE The console provide s an operator with visual displays to monitor the current status of computer, controls for setting certain conditions and performing operations, and a typewriter for direct input and output communications with the computer. Each of these areas are described in the following pages to familiarize the operator with the functions of the console. Register Displays Figure 7-2 shows the display locations of the operational registers described in Section 1. Entering data into the Communication register, Instruction State Register, or Operand State register is described below. Figure 7-2. Register Display Area Instruction and Communication Registers The Instruction register (F register) and Communication register (C register) share the same display area on the console. The F register is displayed when the access keyboard switches are inactive and the computer is not in the,GO mode. The C register is displayed when data is being entered via the access keyboard switche s. Data entered into the A or Q registers 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 depre ssing the numeric keyboard switches. A blue Active Digit indicator light is superimposed on each digit position of the Communicati~n re.gister as digit entry progresses. When data is entered into the B1, B , B~ or P registers, the Active Digit indicator automatically starts at the fifth digit position of the Communication re gister. Rev. A 7-2 Depressing the TRANSFER switch causes the data to be transferred from the Communication register to the designated register. Immediately depressing the TRANSFER switch again results in transferring all zeros to the register. Instruction State and Operand State Registers The contents of the ISR or OSR may be changed by first clearing the register(s) and then depressing binary position switches to form the desired octal number. The switches may be depressed simultaneously or individually. The white register clearing switch and blue binary position switches are shown in Figure 7-3. Figure 7-3. ISR and OSR Display and Binary Entry Switches Data Interchange Display The Data Interchange Display, shown in Figure 7-4, enables the console operator to determine the status of each of the eight I/O channels (0 through 7). Each channel has its own set of Input, Output, Reject, Interrupt,and Parity Error indicators. Transient conditions may not be seen on the display due to the response time of the indicators. Figure 7-4. Data Interchange Display 7-3 Rev. A TABLE 7-1. DATA INTERCHANGE INDICATOR DESCRIPTIONS INDICATOR NAME INPUT FUNCTION Glows when data is being received by the computer on the channel indicated. OUTPUT Glows when data is being transmitted by the computer on the channel indicated. REJECT Glows when a Reject signal is received from a peripheral equipment on the channel indicated. INTERRUPT Glows when an Interrupt is received from a peripheral equipment on the channel indicated. Indicator glows until the interrupting condition is cleared. PARITY ERROR Glows when a transmission parity error has occurred on the channel indicated. Indicator glows until the condition is recognized. Status Display The Status Display provides the operator with visual indications of the internal status of the computer. Ope rating status, fault conditions, and physical malfunctions are the general status areas associated with the Status Display indicators. Figure 7-5 shows the arrangement of the indicators on the Status Display and the function of each indicator is described in Table 7-2. Figure 7- 5. Rev. A Status Display 7-4 TABLE 7-2. STATUS DISPLAY INDICATOR DESCRIPTIONS INDICATOR NAME FUNCTION Indicator is STORAGE ACTIVE Indicates a storage reference is in progress. common to all storage modules. MONITOR STATE Indicates the computer is operating in the Monitor State of Executive mode. PROGRAM STATE Indicates the computer is operating in the Program State of Executive mode. INTERRUPT ENABLED Indicates the interrupt system has been enabled by executing an EINT (77.74) instruction. READ NEXT INSTRUCTION Indicates the computer is reading the next instruction of the program it is currently executing. Usually referred to as the RNI cycle. READ ADDRESS Indicates the computer is reading the lower 18 bits at a storage location to form a new address for indirect addressing. Usually referred to as the RADR cycle. READ OPERAND Indicates the computer is reading a 24-bit operand from storage for use with the instruction being executed. Usually referred to as the ROP cycle. STORE OPERAND Indicates the computer is storing a 24-bit operand that has been previously processed into a selected storage module. Usually referred to as the STO cycle. TEMP WARNING Indicates the temperature within the computer is abnormally high and is at least 80 0 F. ARITHMETIC OVERFLOW DIVIDE FAULT EXPONENT FAULT Indicates the capacity of the adder has been exceeded., Its capacity, including sign, is 24 or 48 bits for 24-bit precision or 48-bit precision, respectively. The divide fault indicates a quotient, including sign, exceeds 24 or 48 bits for 24-bit precision or 48- bit precision, re spectively. Therefore, attempts to divide by too small a number, including positive and negative zero, re sult 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 de scription of normalization. Indicates either an exponent overflow (> + 17778) or an exponent underflow « - 1 7778) has occurred during a floating point arithmetic operation. (Continued) 7-5 Rev. A TABLE 7-2. STATUS DISPLAY INDICATOR DESCRIPTIONS (Cont'd) INDICATOR NAME FUNCTION BCD FAULT Indicates a BCD fault has occurred within the BDP module or a SBeD (77. 72) instruction has been executed. Refer to Section 4, Interrupt System, for additional information. ILLEGAL WRITE Indicates an attempt has been made to write into a protected storage location or read from certain locations while operating in Executive mode. Refer to Section 4, Interrupt System, for additional information. PARITY ERROR Indicate s a parity error occurred during a memory reference. Transmission parity errors do not affect this indicator. TERMINATOR FAULT Indicates that the internal terminator power supplies are not functioning properly. CIRCUIT BREAKER TEMP HIGH Indicates that one or more of the power system circuit breaker s are open. If the TEMP WARNING indicators are glowing and an absolute temperature of 110 0 F is exceeded, the computer automatically shuts off logic power. The TEMP HIG H indicator for the particular computer section continues to glow until the temperature drops below the absolute limit. Secondary power must be manually reapplied before normal operation can resume. Switches and Controls Condition Switches The condition switches are used mainly to set various operating and programming conditions. These 24 switches are located on both sides of the access keyboard switches and are shown in Figure 7-6 and described in Table 7-3. The typewriter control switches, located on the extreme left side of the console are described later in this Section. Rev. A 7-6 Figure 7 - 6. TABLE 7-3. Condition Switches CONDITION SWITCHES DESCRIPTION SWITCH NAME SELECT JUMP (1':'6) FUNCTION Switches are actuated in accordance with programs utilizing the Selective Jump instruction (SJ 1- 6 OOj). SELECT STOP Stops the computer when the SLS (77.70) instruction is read. When the computer enters the GO mode again, the program resumes with the next instruction. PARITY STOP Causes the computer to halt when a storage parity error is detected. PARITY INTERRUPT Causes the computer to process the interrupt subroutine when a storage parity error is detected. Refer to Section 4, Interrupt System, for additional information. EXECUTIVE MODE Permits the computer to operate in the Executive mode. Initial state of Executive mode is always the Monitor State. Reactuating this switch permits the computer to operate in the non-Executive mode. AUTO LOAD If the computer has been Master Cleared and the AUTO LOAD switch is actuated, the computer automatically jumps to address 77740 if in the non-Executive mode or address 003700 in Executive mode and executes the instruction stored there. Refer to Auto Load/Auto Dump in Section 3. AUTO DUMP This switch performs the same function as the AUTO LOAD switch with the exception of jumping to address 77760 if in the non-Executive mode or address 003740 in Executive mode. (Continued) 7-7 Rev. A TABLE 7-3 0 CONDITION SWITCHES DESCRIPTION (Cont ' d) SWITCH NAME BDP MODE (Business Data Processor) AUTO STEP FUNCTION Actuating this switch with the BDP module in the system permits the BDP to directly execute the business- oriented instructions. If the switch is not On, these instructions are trapped. Refer to Section 5, Instructions, for a list of the BDP instructions. Permits instructions to be executed in a slow speed GO mode. The speed (3 to 50 instructions per second) is regulated by a variable Step Rate control on the Upper Console Switch Panel. STORAGE CYCLE STEP Enables the operator to step through an instruction one storage cycle at a time, i. e., RNI, RADR, ROP, or STO. INSTRUCTION STEP Enables the operator to execute a program, instruction by instruction. One instruction is executed each time the switch is pressed. THERMOSTAT BY PASS Allows computation to proceed regardless of abnormal temperatures within the computer. DISABLE STO PROTECT ENTER AUTO PROGRAM LJA (Last Jump Address) CHANNEL INDEX REG (Channel Index Register) Disable s the prote ction feature of the 15 storage prote ct switches. This switch has no effect on the protected Auto Load and Auto Dump or program protected storage areas. Allows the operator to enter the Auto Load and Auto Dump storage areas with different data. Actuating this momentary switch when the conputer is stoppe"d causes the storage address of the last jump instruction to be displayed on the console. Pressing this switch when the computer is stopped causes the contents of the 3 - bit Channel Index register to be displayed. DISABLE ADVANCE P Prevents the P register from being incrementea. When the GO switch on the keyboard is pressed, the same instruction is repeatedly executed. MANUAL INTERRUPT Force s 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 goes into an interrupt routine as soon as the GO switch is pressed. INTERNAL CLEAR Master clears internal conditions and registers. EXTERNAL CLEAR Master clears all external equipments and the I/O channels. Rev. A 7-8 Access Keyboard Figure 7-7 shows the access keyboard switches, used for manually entering and retrieving data from the computer and controlling its operation. Table 7-4 describes the individual keyboard switch functions. Upper Console Switch Panel The upper console switch panel shown in Figure 7-8 is used for: e Selecting Index register Bl, B2, or B3 for display e Operating the Breakpoint switch • Entering data into the ISR or OSR • Adjusting the Step Rate control • Immediately removing computer power in the event of an emergency by depressing the EMERGENCY OFF switch The Index register switches on the access keyboard are used for entering data. To display one of the three index registers, the appropriate upper console index register switchmustbe depressed. A complete de scription of the Breakpoint switch follows the access keyboard switch descriptions. Figure 7-7. Access Keyboard Switches 7-9 Rev. A - "'t'" - -- "" '" -,,02300 _iIlwl_UiM$h,', ~ - ~ " ~ " ~ Figure 7-8. TABLE 7-4. Upper Console Switch Panel ACCESS KEYBOARD SWITCHES SWITCH NAME FUNCTIONS A Cause s 'both A and Q to be displayed, but permits entry only into A. Q Cau se s both A and Q to be displayed, but permits entry only into Q. E Causes EU and EL to be displayed. possible. P Enables an address to be manually entered from the keyboard into the P re gister. B1, B2, or B3 Enable s data to be manually entered into Index registers B1, B2, or B3 from the keyboard. Appropriate Index register switch on the upper console switch panel must be depressed for register display. EN (ENTER) 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 advance s P. ENTER PF SW (SWEEP) SWEEP PF SW/EN CONT (SWEEP / ENTER CONTINUOUS) Rev. A Manual entry is not Permits data to be manually entered into the Page Index File while the computer is stopped. First address of sequence must be previously entered into the lower 7 bits of the P register. Permits unexecuted instructions to be read from consecutive storage locations. First address of sequence must be previously entered into P. Pressing the TRANSFER switch advances P. Permits page indexes to be read from consecutive Page Index File locations. First address-of sequence must be previously entered into the lower 7 bits of"the P register. Enables Sweep or Enter operations to proceed continuously through storage or the Page Index File without pressing the TRANSFER switch. 7-10 TABLE 7-4. SWITCH NAME ACCESS KEYBOARD SWITCHES (Cont'd) FUNCTION Permits keyboard entry into the storage location specified by the thumb-wheel switches. Entry occurs each time the TRANSFER switch is pressed whether the computer is in the GO mode or stopped. WRITE STO (WRITE STORAGE) READ Permits the contents of the storage register location specified by the thumb-wheel switches to be displayed. STO (READ STORAGE) display rate is determined by the Step Rate control. The GO Starts the program execution at the addre ss specified by the P register. Not used for Sweep or Enter operations. STOP Stops the computer at the end of the current instruction. o THROUGH 7 TRANSFER These switches, when pressed one at a time, allow entry of that particular digit into the Communication register. Transfers data in the Communication register to a selected register or storage location. Performs both an internal and external clear. Disabled MC when GO switch is depressed and the computer is in the (MASTER CLEAR) GO mode. KYBD CLR (KEYBOARD CLEAR) KYBD OFF (KEYBOA~D Clears the Communication register. Deactivates all access Keyboard controls. OFF) Breakpoint Switch 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 addre ss specified by the Breakpoint digit switche s. When the selector switch, is set to BPI, the computer stops if these values become equal during an RNI (Read Next Instruction) sequence. When the mode selector switch is set to BPO, the computer stop s if the se value s become equal during an ROP (Read Operand) or STO (Store) sequence. 7-11 Rev. A 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: • Set the mode selector to REG (register file location) or STO (storage). • Set the Breakpoint switch to the desired register number or storage address. • Press the READ STO switch on the keyboard. • Adjust the Step Rate control to vary the display rate. The register or storage contents are repeatedly displayed in the Communication register at the selected- repetition rate until another keyboard button is pressed to release READ STO. To write a word in storage: e Set the mode selector to REG or STO. • Set the Breakpoint switch to the desired register number or storage location. • Press the WRITE STO switch on the keyboard. • Enter data into the Communication register by depre ssing the numeric switche s 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. Emergency Off Switch This red 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. Console Loud;:;peaker Volume Control 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. Sound is produced when one or more of these bits are toggled at an audio frequency. Loudspeaker volume is controlled by rotating the volume control knob. Example s of Keyboard Switch Functions: 1. To enter data into the A register: a. Rev. A Depress the A register switch. 7-12 2. 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. To enter data into the Q register: Depress the Q register switch and repeat steps b through d of example 1. 3. 4. 5. 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. To enter an operand at a specific address:** a. Perform example 3. b. Depress the EN switch. c. Enter all eight digits of the 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. To read an operand from a specific storage addre ss: a. Perform example 3. b. Depress the SW switch. c. Depress the TRANSFER switch. d. The contents of the specified storage address are now displayed in the Communication register. (The Program Addre ss Counter is not incremented when the TRANSFER switch is initially depressed. ) '~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 7-9.) 7-13 Rev. A e. If the TRANSFER switch is again depressed, the Program Addre ss Counter is incremented by one, and the contents of the new address are displayed. f. Depress the KEYBOARD OFF switch when all of the desired memory locations within a successive group have been examined. NOTE Step 5 only permits the operator to examine the contents of specific storage locations. The instructions are not executed during this operation. 6. 7. 8. 9. Rev. A To enter zeros or another operand into all storage locations: a. Depre ss 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. The following procedure is applicable for sweeping storage during certain maintenance routines: a. Depress the SW switch. b. Depress the SW/EN CONT switch. This switch remains engaged until the STOP switch is depressed. c. Depress the STOP switch. d. Depress the KEYBOARD OFF switch. To enter a 12-bit operand into a specific Page Index File (PIF) address: . a. Set P to a specific PIF address (000-177) as outlined in example 3. (Only the lower 7-bits of P are recognized.) b. Depress the ENTER PF switch. c. Enter the lower four digits of the Communication register by depressing the appropriate numeric key switches. d. Depress the TRANSFER switch. e. The PIF address in the Program Address Counter has now incremented by one. If data is to be entered into this PIF 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 PIF locations. To read an index from the PIF: a. Perform step a of example 8. b. Depress the SWEEP PF switch 7-14 c. Depress the TRANSFER switch. d. The specified index of the PIF is now displayed in the lower 12-bits of the Communication register. (The Program Address Counter is not incremented when the TRANSFER switch is initially depressed.) e. If the TRANSFER switch is again depressed, the Program Address Counter is incremented by one and the index of the new PIF address is displayed. f. 10. 11. Depress the KEYBOARD OFF switch when all of the desired indexes within a successive group have been examined. To enter zeros or another operand into all indexes of the PIF: a. Depress the ENTER PF switch b. Enter the lower four digits of the Communication register by depressing the appropriate numeric key switches. c. Depress the SW/EN CONT switch. This switch remains engaged until the STOP switch is depressed. d. Depress the KEYBOARD OFF switch. The following procedure is applicable for sweeping all indexes of the PIF during certain maintenance routine s: a. Depress the SWEEP PF switch b. Depress the SW/EN CONT switch. This switch remains engaged 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 non-Executive mode 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. 7-15 Rev. A i. 2. Depress the KEYBOARD OFF switch. To enter a special routine into the non-Executive mode 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. 4. To execute the Auto Load routine: a. Depress the keyboard Me 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 automatically cleared when the first I/O operation is completed. To execute 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 a 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 STEP RATE display control. d. Depress the AUTO STEP switch again to cancel the function and stop program execution. 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 does not stop. Neither will program execution be affected by depre sSing the STOP switch. The computer continues cycling through memory until the AUTO STEP switch is again depressed, NOTE To load or execute a subroutine in the Auto Load or Auto Dump areas while in Executive mode, perform the same operations as for non-Executive mode except that the addresses for the respective areas will be as follows: Auto Load: 003700 through 003737 Auto Dump: 003740 through 003777 Rev. A 7-16 EXAMPLE A EXAMPLE B 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 addre ss 00413. Figure 7-9. If the WRITE STO switch on the keyboard 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. Breakpoint Switch Examples 7-17 Rev. A EXAMPLE E EXAMPLE F If the WRITE STO switch on the keyboard is depre ssed 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 de signator 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 Step Rate 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 Step Rate control. (Only the lower two digits are of consequence when the REG de signator is displayed. In this case register 22, the real time clock, is being referenced.) Figure 7-9. Rev. A Breakpoint Switch Examples (Cont'd) 7-18 Typewriter The console typewriter is an on-line input/output (I/O) 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. U sed 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 program state number and the initial character address of the block. Register 33 contains the last character address, plus one (refer to Section I, Table 1-1 notes for Registers 23 and 33 operand formats). Because the initial character address is incremented for 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 operations are limited by the operator's typing speed. The console tynewriter control switche s are shown in Figure 7 -1 0 and their functions are described in Table 7-5. Figure 7-10. Console Typewriter Control Switches 7 -19 Rev. A The general order of events when using the console typewriter for an input or output operation is: • Check status • Set registers 23 and 33 of the Register File to the appropriate addresses • Set tabs, margins and spacing; turn on typewriter • • Clear Type out or type in Status Checking The programmer may wish ~o 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 line s. 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. Set Registers 23 and 33 Registers 23 and 33 define the limits of the typewriter I/O operation. These registers are set by instruction or by entering the registers via the Breakpoint switch. 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 beset 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 the typewriter control and sets the typewriter ,to lower case. Rev. A 7-20 TABLE 7-5. SWITCH ENCODE FUNCTION TYPE LOAD TYPE DUMP REPEAT CONSOLE TYPEWRITER SWITCHES AND INDICATORS SWITCH (S) INDICA TOR (I) FUNCTION S/I This switch enables the typewriter to send to storage the special function code s for backspace, tab, carriage return, uppercase shift, and lower-case shift. S/I This switch 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 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 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 doe s not re spond, this light remains on. FINISH S/I CLEAR 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. This switch clears the typewriter controls and sets the typewriter to lower case but does not cancel the ENCODE FUNCTION switch. 7 -21 Rev. A • Clear Channel. Search/Move Control, or Type Control instruction (77.51). This instruction selectively clears a channel. the S/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. Type In and Type Load Executing the CTr (77.75) 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 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 :)peration 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 executes aCTO (77.76) instruction,or when the operator presses the TYPE DUMP switch on the console. 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. Table 7-6 lists the internal BCD codes, typewriter printout and upper-or lowercase 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. Rev. A 7-22 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 has two sets of upper case letters and no lower case letters. This eliminates the need for specifying a case shift. TABLE 7-6. PRINTOUT 0 1 2 3 4 5 6 7 8 9 ± = " : ; ? + A B C D E F G H I (Shift to LC) . ) l @ ! *L CASE L* L L L L L L L L L U* L U U L U U Uor Uor Uor Uor Uor U or U or U or U or CONSOLE TYPEWRITER CODES PRINTOUT INTERNAL BCD CODE - 00 01 02 03 04 05 06 07 10 11 L L L L L L L L L U and L U L U L 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 J K L M N a P Q R o. (degree) $ * # o/c CASE L U or Uor U or U or U or U or U or U or U or U U U U U L L L L L L L L L (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 and L INTERNAL BCD CODE 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 72 73 74 75 76 77 = Lower Case; U = Upper Case 7-23 Rev. A POWER CONTROL PANEL The Power Control Panel module shown in Figure 7-11 controls the logic power supplied to the CPU and the first I/O module. Adjusting the +20 and -20 controls for 0% indication on. their respective meters provides exactly the proper operating power. The following illustration shows which part of the computer the Compute One and Compute Two controls govern. ,..... ., - -- I I FLOATING POINT MODULE CPU I/O I/O MODULE MODULE I I L __ _ ~_----'V,-_---JI\\... _ _ _ _.....V""---_.J POWER CONTROLLED BY COMPUTE 2 POWER CONTROLLED BY COMPUTE The two main circuit breakers must both be On before the system CPU is operative. Refer to the 3300 Customer Engineering manual for detailed maintenance information. 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 Maintenance Time meter to the computer to record the amount of time the computer is used during a maintenance period. Removing the key connects the Operating Time meter to the computer to record normal operating time. Customers renting the computer are often billed according to the time recorded on this meter. The sum of the times recorded on both meters indicates the total computer running time. Only one of the two meters can operate at anyone time. Either meter is active for a minimum of one second when a storage cycle occurs. Storage Protect Switches The 15 Storage protect switches are described in Section 2. Rev. A 7-24 APPENDIX A CONTROL DATA 3100, 3200, 3300 COMPUTER SYSTEMS CHARACTER SET AND BCD/ASCII CODE CONVERSIONS I. CONTROL DATA 3100, 3200, 3300 COMPUTER SYSTEMS CHARACTER SET INTERNAL BCD CODES EXTERNAL BCD CODES CONSOLE TYPEWRITER CHARACTERS (USES INTERNAL BCD ONLY) MAGNETIC TAPE UNIT CHARACTERS PUNCHED CARD CODES 00 12 o (zero) o (zero) 0 01 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 12 (illegal) ± 13 13 14 14 15 15 16 16 ; 17 17 20 9 9 -- 2,8 = # 3, 8 It @ 4, 8 --- 5, 8 - -- 6,8 ? (file mark) 7,8 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 . (period) 34 74 ) - 12, 3, 8 n 12,4, 8 --- 12, 5, 8 35 75 '(apostrophe) 36 76 77- @ --- 12, 6, 8 ! --- 12, 7, 8 37 A-1 (Continued on next page) Rev. A INTERNAL BCD CODES EXTERNAL BDC CODES CONSOLE TYPEWRITER CHARACTERS (USES INTERNAL BCD ONLY) MAGNETIC TAPE UNIT CHARACTERS -(minus) PUNCHED CARD CODES 40 40 -(minus) 41 41 J J 11, 1 42 42 43 K K L L 11,2 11,3 44 M M 11,4 45 N N 46 47 50 46 0 0 47 50 P P 51 51 Q R Q R 11,5 11,6 11, 7 11,8 52 53 54 52 53 55 56 57 55 56 # 0/0 57 (Shift to upper case) 43 44 45 54 o (degree) -0 $ $ * ,~ 11 11,9 ° 11, 11,3,8 ---- --- 11,4,8 11,5,8 11,6,8 11, 7,8 (blank) 60 61 20 (space) (blank) 21 / / 0, 1 62 63 22 23 S S T T 64 24 25 U U V V 0,2 0, 3 0,4 0,5 26 W W 27 30 X X Y Y 31 32 33 Z Z & - -- 65 66 67 70 71 72 73 74 75 76 77 Rev. A 0, 6 0, 7 0,8 0,9 , (comma) , (comma) 0,2,8 0, 3, 8 ( 0/0 0,4,8 0,5,8 0, 6, 8 34 35 36 (tab) --- (backspace) 37 (carriage return) --- -- A-2 0,7,8 BCD/ ASCII CONVERSION TABLE BINARY STATUS OF ASCII CHARACTER (BIT POSITIONS 2 1 4 3 6 5 7* 6-BIT BCD CODE 8-BIT ASCII CHARACTER 00 0 0 0 1 1 0 0 0 0 01 1 0 0 1 1 0 0 0 1 02 2 0 0 1 1 0 0 1 0 03 3 0 0 1 1 0 0 1 1 04 4 0 0 1 1 0 1 0 0 05 5 0 0 1 1 0 1 0 1 06 6 0 0 1 1 0 1 1 0 07 7 0 0 1 1 0 1 1 1 10 8 0 0 1 1 1 0 0 0 11 9 0 0 1 1 1 0 0 1 12 : 0 0 1 1 1 0 1 0 13 = 0 0 1 1 1 1 0 1 14 I 0 0 1 0 0 1 1 1 15 & 0 0 1 0 0 1 1 0 16 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 20 0/0 [ + 0 0 1 0 1 0 1 1 21 A 0 1 0 0 0 0 0 1 22 B 0 1 0 0 0 0 1 0 23 C 0 1 0 0 0 0 1 1 24 D 0 1 0 0 0 1 0 0 25 E 0 1 0 0 0 1 0 1 26 F 0 1 0 0 0 1 1 0 27 G 0 1 0 0 0 1 1 1 30 H 0 1 0 0 1 0 0 0 31 I 0 1 0 0 1 0 0 1 32 < 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 17 33 , 0 34 ) 0 0 1 0 1 0 0 1 35 1\ 0 1 0 1 1 1 1 0 36 " 0 0 1 0 0 0 1 0 37 , 0 0 1 1 1 0 1 1 '~ASCII bit 7 is unassigned and "0" for all codes. A-3 Rev. C BCD/ ASCII CONVERSION TABLE (Cont'd) 6-BIT BCD CODE 8-BIT ASCII CHARACTER BINARY STATUS OF ASCII CHARACTER (BIT POSITIONS 2 1 3 4 5 6 7* 0 40 - 0 0 1 0 1 1 0 1 41 J 0 1 0 0 1 0 1 0 42 K 0 1 0 0 1 0 1 1 43 L 0 1 0 0 1 1 0 0 44 M 0 1 0 0 1 1 0 1 45 N 0 1 0 0 1 1 1 0 46 0 0 1 0 0 1 1 1 1 47 P 0 1 0 1 0 0 0 0 50 Q 0 1 0 1 0 0 0 1 51 R 0 1 0 1 0 0 1 0 52 ! 0 0 1 0 0 0 0 1 53 $ 0 0 1 0 0 1 0 0 54 * 0 0 1 0 1 0 1 0 55 # 0 0 1 0 0 0 1 1 56 \ 0 1 0 0 0 0 0 0 57 > 0 0 1 1 1 1 1 0 60 Blank 0 0 1 0 0 0 0 0 61 / 0 0 1 0 1 1 1 1 62 S 0 1 0 1 0 0 1 1 63 T 0 1 0 1 0 1 0 0 64 U 0 1 0 1 0 1 0 1 65 V 0 1 0 1 0 1 1 0 66 W 0 1 0 1 0 1 1 1 67 X 0 1 0 1 1 0 0 0 70 Y 0 1 0 1 1 0 0 1 71 Z 0 1 0 1 1 0 1 0 72 ] 0 1 0 1 1 1 0 1 73 Comma 0 0 1 0 1 1 0 0 74 ( 0 0 1 0 1 0 0 0 ~ 0 1 0 1 1 1 0 0 75 76 - 0 1 0 1 1 1 1 1 77 ? 0 0 1 1 1 1 1 1 *ASCII bit 7 is unassigned and "0" for all codes. Rev. C A-4 APPENDIX B SUPPLEMENTARY ARITHMETIC INFORMATION 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 10 10 -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 10 2 = 9 x 100 900 +8 x 106 = 8 x 10 80 +4 x 10 = 4 x 1 4 984 10 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: 5 x 10- 1 = 5 x .1 = .5 9 x .01 = .09 +9 x 10- 2 +3 x 10- 3 = 3 x .001 = .003 0.593 10 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: 25 24 23 22 21 20 32 16 8 4 2 1 Binary point B-1 Rev. A The binary number 0 1 1 0 1 0 represents: o x 2 5 = 0 x 32 = 0 +1 x 24 = 1 x 16 = 16 +1 x 2 3 = 1 x 8 = 8 +0 x 22 = 0 x 4 = 0 +1 x 21 = 1 x 2 2 +0 x 2 0 = 0 x 1 = 0 26 10 Fractional binary numbers may be represented by using the symbols as coefficients of ascending negative powers of the base. 2 -1 2 -2 2 -3 2 -4 2 -5 ... Binary Point 1 / 2 1 /4 1 /8 1 /1 6. 1 /3 2 The binary number 0.10 110 may be represented as: 1 x 2 -1 +Ox2 -2 +1x2- 3 +1 x 2 -4 = 1 x 1/2 / =Ox14 =lx1/8 = 1 x 1/16 = 1/2 =0 =1/8 = 1/16 = 8/16 =0 =2/16 = 1/16 iT7T610 Octal Number System The octal number system uses eight discrete symbols, o through 7. eight the positional value is: 82 85 84 83 81 80 32,768 4,096 64 512 8 1 With base The octal number 5138 represents: 5 x 8 2 = 5 x 64 = 320 +1 x 8 1 = 1 x 8 8 +3 x 8 0 = 3 x 1 3 331 10 Fractional octal numbers may be represented by using the symbols as coefficients of ascending negative powers of the base. 8 -1 8- 2 8- 3 8- 4 1/8 1/64 1/512 1/4096 The octal number 0.4520 represents: 4x8 -1 = 4x 1/8 256/512 +5 x 8 - 2 = 5 x 1 / 64 = 40/512 +2 x 8 -3 = 2 x 1 / 512 = 2/512 298/512 = 149/25610 Rev. A ARITHMETIC Addition and Subtraction Binary numbers are added according to the following rules: 0+0 1 a+ 1 + a 1 + 1 a 1 1 a with a carry of 1 The addition of two binary numbers proceeds as follows (the decimal equivalents verify the result): Augend Addend Partial Sum Carry Sum 0111 +0100 0011 (7) +(4) 1 1011 (11) Subtraction may be performed as an addition: 8 (minuend) -6 (subtrahend) 2 (difference) or 8 (minuend) +4 (la's complement of subtrahend) 2 (difference - omit carry) 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 ones' 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 "a's" and "O's" for "l's". The value zero can be represented in one's complement notation in two ways: Positive (+) Zero Negative (-) Zero 0000 - 002 1111 -112 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. B-3 Rev. A 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 (Bb) = 777778. Multiplication Binary multiplication proceeds according to the following rules: ox 0 =0 1 x 0 1 x 1 =0 =1 o x 1 =0 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 Partial Products 1 14 12 28 14 (shifted one place left) 168 10 Product The shift of the second partial product is a shorthand method for writing the true value 140. Binary exam pIe: Multiplicand (14) Multiplier (12) Partial Products { Product (168 10 ) 1110 1100 0000 shift to place 0000 1110 digits in proper columns 1110 1010 1000 2 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 "1 If, the multiplicand is added to the running total and the results are shifted to the right one place. When the multiplier bit is "0 If, 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: Rev. A B-4 14 Divisor 13 f185 13 55 g 3 Quotient Dividend Partial Dividend Remainder The computer performs division in a similar manner (using binary equivalents): ..-::-::-:-:....;;1;,.;:1;,.;:1.,;;:0 1101 110111001 1101 10100 1101 1110 1101 --11 Divisor Q uoti en t (14) Dividend 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-l. RECOMMENDED CONVERSION PROCEDURES (INTEGER AND FRACTIONAL) Recommended Method Conversion Power Addition Power Addition Radix Arithmetic Radix Arithmetic Substitution Substitution Binary to Decimal Octal to Decimal Decimal to Binary Decimal to Octal Binary to Octal Octal to Binary GENERAL RULES r. r~1 > < r f r f r. r} : use Radix Arithmetic, Substitution : use Power Addition, Substitution = Radix of initial system = Radix of final system B-5 Rev. A Power Addition < To convert a number from ri to rf (ri rf) write the number in its expanded r· polynomial form and simplify using rf arithmetic. 1 EXAMPLE 1 010 Binary to Decimal (Integer) 4 1112 = 1(2 ) +0(23) +1( 22) +1(2 1 ) +1(20) 1(16) +0(8) +1(4) +1(2) +1(1) = 16 +0 +4 +2 +1 2310 EXAMPLE 2 Binary to Decimal (Fractional) .0101 = 0(2- 1 ) +1(2-2) +0(2-3) +1(2- 4 ) 2 =° +1/4 +0 +1/16 = 5/16 10 EXAMPLE 3 Octal to Decimal (Integer) 2 3248 3 (8 ) +2(8 1 ) +4(8°) =3(64)+2(8) +4(1) 192 +16 +4 212 10 EXAMPLE 4 Octal to Decimal (Fractional) .44 8 = 4(8- 1 ) +4(8- 2 ) +4/64 = 4/8 36/64 10 9/16 10 Radix Arithmetic To convert a whole number from ri to rf (ri > rf): • Divide ri by rf using ri arithmetic • The remainder is the lowest order bit in the new expression • Divide the integral part from the previous operation by rf • The remainder is the next higher order bit in the new expression • 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 ri to r( • Multiply ri by rf using ri arithmetic • The integral part is the highest order bit in the new expression • Multiply the fractional part from the previous operation by rf • The integral part is the next lower order bit in the new expression • The process continues until sufficient precision is achieved or the process terminates. Rev. A B-6 EXAMPLE 1 45 -;22 -:11 -:5 -;2 -:1 -:Thus: 2 = 22 2 = 11 2 =5 2 =2 2 = 1 2 =a 45 10 Decimal to Binary (Integer) remainder remainder remainder remainder remainder remainder 101101 2 EXAMPLE 2 1; 0; 1; 1; 0; 1; record record record record record record 1 a 1 1 101101 Decimal to Binary (Fractional) a . 25 x 2 = 0.5; record .5 x 2 = 1. 0; record . a x 2 = O. 0; record Thus: .25 10 . 010 2 EXAMPLE 3 1 a . 010 Decimal to Octal (Integer) 273 -:- 8 = 34 remainder 1; record 34 -:-8 = 4 remainder 2; record 4 -:-8 = a remainder 4; record Thus: 273 10 = 4218 EXAMPLE 4 .55 x 8 .4 x 8 .2 x 8 1 a 1 2 4 421 Decimal to Octal (Fractional) 4 4.4; record 3.2; record 1. 6; record 3 1 .431 ... Thus: .55 10 .431. .. 8 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 = 110 000 Octal 6 a EXAMPLE 2 Octal Binary 001 010 1 2 Octal to Binary 6 = 110 5 a 2 2 101 000. 010 010 B-7 7 111 Rev. A FIXED POINT ARITHMETIC 24-Bit Precision Any number may be expressed in the form kBn, 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: a for • The exponent n = all fixed point numbers. • The coefficient, k, occupies the same bit positions within the computer word for all fixed point numbers. • 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 "I", the quantity is negative since negative numbers are represented in onels complement notation; a "0" sign bit signifies a positive coefficient. 23 22 II 00 COEFFICIENT I SIGN BIT 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 b~ represented with sufficient preClSlOn. 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 examRle, 5,100, 0001Q may be expressed as 0.51 x 10 7 , 0.051 x 10 8 , 0.0051 x 10 9 , etc. The scale factors are 7, 8, 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 48 -bit Add, Subtract, Multiply and Divide instructions enable operands to be processed. The Multiply and Divide instructions utilize the E register and Rev. A B-3 therefore are executed as trapped instructions if the applicable arithmetic option is not present in a system. Figure 5-5 in the Instruction Section illustrates the operand formats in 4S-bit precision Multiply and Divide instructions. FLOA TING 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 orfraction 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 E fraction = 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 5-6 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 1/2 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 of 2000S or a true negative exponent and a bias of 17778. This results in a range of biased exponents as shown on the following page. B-9 Rev. A True Positive Exponent True Negative Exponent Biased Exponent -0 -1 -2 2000 2001 2002 +0 +1 +2 -- ---- +1776 +17778 3776 3777 8 -- --- ---- -1776 - 1777 8 Biased Exponent 2000'~ 1776 1775 ------- 0001 00008 00 3635 47 46 EXPONENT (INCLUDING BIAS) L.SIGN COEFFICIENT BIT ':'Minus zero is sensed as positive zero by the computer and is therefore biased by 20008 rather than 17778. The exponent is biased so that floating point operands can be compared with each other in the normal fixed point mode. As an example, compare the unbiased exponents of +528 and +0.02 8 (Example 1). EXAMPLE 1 o Number = +52 8 o 0 000 000 110 (36 bits) Coefficient Exponent Coefficient Sign Number o 1 1 111 = +0.02 8 111 011 Coefficient Exponent Coefficient (36 bits) Sign 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 o Number = +52 8 1 0 000 000 110 (36 bits) Coefficient Exponent Coefficient Sign Number o Coefficient o1 111 = +0.02 8 111 Exponent Sign Rev. A B-10 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 (77 8 ) 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. (47) 23 (A) and (M) (46) 22 (36) 12 (35 ) 11 (24) 00 I ~/~======~y~~~~~~~~~!\======~v~====~ 11- bit oper and exponent including bias Sign of Coefficient Upper 12 bits of operand coefficient 00 23 (Q) and (M + 1) ~--------------------~v~----------------------------~ Lower 24 bits of operand coefficient 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. • 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. B-11 Rev. A • 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 Q without regard to the biased exponent. The coefficient of the 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. TABLE B-2. Arithmetic OPERATION ADD or SUBTRACT ROUNDED CONDITIONS FOLLOWING ARITHMETIC OPERATION Bit 23 of the A Register Bit 47 of the E Register or (Ratio of Residue /Divisor for Divide Onlv) 0':' 0':' 1 ':' 1 ':' 0 1 0 1 Applicable Rounding No Add "I" Subtract '1 No Comments: . Rounding occurs as a result of inequality between the sign bits of AQ and E. MULTIPLY 0 1 0 1 0 0 1 1 No Add "I" Subtract 1 " 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. DIVIDE 0 0 1 1 > 1/2 (absolute) < 1 /2 (absolute) ~ 1/2 (absolute) < 1/2 (absolute) Add "1" No Subtract ITI No Comments: Rounding occurs if the answer resulting from the final residue division is equal to or greater than 1/2. .. ':'Conditlon of bit 23 of the A register immediately after equahzation. to Exponent Equalization on preceeding page). Rev. A B-12 (Refer 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 237 -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: <> + 17778) • Exponent overflow • Exponent underflow < • Division by zero, by too small a number, or by a number that is not in floating point format <- 1777 8 ) These faults have several things in common: • They can be sensed by the INS (77. 3) instruction • Sensing automatically clears them • The program should sense for these faults only after the floating point instructions have had sufficient time to go to completion • They may be used to cause an interrupt FIXED POINT /FLOATING POINT CONVERSIONS Fixed Point To Floating Point • Express the number in binary. • Normalize the number. A normalized number has the most significant 1 positioned immediately to the right of the binary point and is expressed in the range 1/2 k 1. < < • 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. • Assemble the number in floating point. • 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. B-13 Rev. A EXAMPLE 1 • • • Convert +4. 0 to floating point The number is expressed in octal. Normalize 4.0 = 4.0 x 8 0 = O. 100x2 3 Since the sign of the true exponent is positive, add 20008 (bias) to the true exponent. Biased exponent = 2000 + 3. • Assemble number in floating point format. Coefficient = 400 000 000 0008 Biased Exponent = 2003 8 Assembled word = 2003 400 000 000 0008 • 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. EXAMPLE 2 • • • Convert -4.0 to floating point The number is expressed in octal. 3 Normalize -4. a = -4. a x 8 0 = -0. 100 x 2 Since the sign of the true exponent is positive, add 2000 8 (bias) to the true exponent. Biased exponent = 2000 + 3. • Assemble number in floating point format. Coefficient = 400 000 000 0008 Biased Exponent = 2003 8 Assembled word = 2003 400 000 000 000 8 • 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 = 5774 377 777 777 777 , 8 EXA.MPLE 3 • • • Convert 0.510 to floating point Convert to octal 0.5 10 = 0.48 Normalize 0.4 = 0.4 x 8 0 = 0.100 x 20 Since the sign of the true exponent is positive, add 20008 (bias) to the true exponent. Biased exponent 2000 + O. • Assemble number in floating point format. Coefficient = 400 000 000 0008 Biased Exponent = 2000 8 Assembled word = 2000 400 000 000 000 8 • Rev. A SineR the sign of the coefficient is positive, the floating point representation of +0. 5 10 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.O 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 2000 8 , B-14 EXAMPLE 4 • • • Convert 0.048 to floating point The number is expressed in octal. Normalize 0.04 = 0.04 x 8 0 = 0.4 x 8- 1 = 0.100 x 2- 3 . Since the sign of the true exponent is negative, add 17778 (bias) to the true exponent. Biased exponent::: 17778 + (-3) = 17748 • Assemble number in floating point format. Coefficient = 400 000 000 000 8 Bias ed Exponent = 17748 Assembled word::: 1774 400 000 000 0008 • Since the sign of the coefficient is positive, the floating point representation of 0.04 is as shown. If, however, the 8 sign of the coefficient were negative, it would be necessary to complement the entire floating point word. Floating Point to Fixed Point Format • If the floating point number is negative, complement the entire floating point 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 2000 8 , subtract 2000 8 to obtain the true exponent; if less 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 000 8 to fixed octal • The floating point number is positive and remains uncomplemented. • The biased exponent> 2000 8 ; therefore, subtract 2000 8 from the biased exponent to obtain the true exponent of the number. 2003 - 2000 = +3. Coefficient = 400 000 000 000 8 = . 1002' Move binary point to the right three places. Coefficient = 100. O2 , • The sign of the coefficient is positive because the floating point number was not complemented in step one. • • Represent in fixed octal notation. 100.0 x 20 = 4.0 x 8 0 . B-15 Rev. A EXAMPLE 2 Convert floating point number 5774 377 777 777 777 8 to fixed octal • The sign of the coefficient is negative; therefore, complement the floating point number. Complement = 2003 400 000 000 000 8 • The biased exponent (in complemented form) 20008; therefore, subtract 2000 8 from the biased exponent to obtain the true exponent of the number 2003 - 2000 = +3. • Coefficient = 4000 000 000 0008 = O. 1002. Move binary point to the right three places. Coefficient = 100. O2 , • The sig~ of the coefficient will be negative because the floating point number was originally complemented. • Convert to fixed octal. -100. O2 > EXAMPLE 3 = 4.0 8 , Convert floating point number 1774 400 000 000 000 8 to fixed octal • The floating point number is positive and remains uncomplemented. • The biased exponent < 20008; therefore, subtract 17778 from the biased exponent to obtain the true exponent of the number. 1774 8 -1777 8 =-3. • Coefficient = 400 000 000 000 8 = . 100 2 , Move binary point to the left three places. Coefficient = .000100 2 , • The sign of the coefficient is positive because the floating point number was not complemented in step one. • Represent in fixed octal notation . . 000100 2 = .048 , Rev. A B-16 APPENDIX C PROGRAMMING REFERENCE TABLES AND CONVERSION INFORMATION TABLE OF POWERS OF TWO 2- n 2·- 1 2 4 8 0 1 2 3 1.0 0.5 0.25 0.125 16 32 64 128 4 5 6 7 0.062 0.031 0.015 0.007 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 288 16 17 18 19 0.000 0.000 0.000 0.000 015 007 003 001 258 629 814 907 789 394 697 348 062 531 265 632 5 25 625 812 5 1 2 4 8 048 097 194 388 576 152 304 608 20 21 22 23 0.000 000 953 674 0.000000476837 0.000 000 238 418 0.000 000 119 209 316 158 579 289 406 203 101 550 25 125 562 5 781 25 16 33 67 134 777 554 108 217 216 432 864 728 24 25 26 27 0.000 0.000 0.000 0.000 000 000 000 000 059 029 014 007 604 802 901 450 644 322 161 580 775 387 193 596 390 695 847 923 625 312 5 656 25 828 125 268 536 1 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 814 407 703 906 453 226 613 25 125 562 5 281 25 68 137 274 549 719 438 877 755 476 953 906 813 736 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 1 2 4 8 099 199 398 796 511 023 046 093 627 255 511 022 776 552 104 208 40 41 42 43 0.000 000 000 000 909 0.000000000000454 0.000 000 000 000 227 0.000 000 000 000 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 000 000 000 056 0.000 000 000 000 028 0.000 000 000 000 014 0.000000000000007 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 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 000 000 000 000 000 000 000 000 000 000 000 000 003 001 000 000 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 000 000 000 000 222 0.000000000000000 111 0.000000000000000055 0.000 000 000 000 000 027 044 022 511 755 604 302 151 575 925 462 231 615 031 308 084 515654042 257 827 021 628 913 510 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 72 144 288 576 057 115 230 460 594 037 188075 376 151 752 303 927 855 711 423 936 872 744 488 56 57 58 59 0.000 0.000 0.000 0.000 877 938 469 734 787 893 446 723 807 903 951 475 814 907 953 976 295 647 823 411 395 697 848 924 851 925 962 481 135 567 783 391 253 626 813 906 906 953 476 738 152 921 504 606 846 976 60 0000 000 000 000 000 000 867 361 737 988 403 547 205 962 240 695 953 369 140 625 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 013 006 003 001 C-l 456 228 614 807 755 377 188 094 25 125 562 5 281 25 Rev. A DECIMAL/BINARY POSITION TABLE Decimal Digits 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 33 67 134 268 536 073 147 294 589 179 359 719 438 877 755 511 023 046 093 186 372 744 488 Req'd* 1 2 4 8 16 32 65 131 262 524 048 097 194 388 777 554 108 217 435 870 741 483 967 934 869 738 476 953 906 813 627 255 511 022 044 088 177 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 281 474 976 710 655 562 949 953 421 311 1 125 899 906 842 623 2 251 799 813 685 247 4 503 599 627 370 495 9 007 199 254 740 991 18 014 398 509 481 983 36 028 797 018 963 967 72 057 594 037 927 935 144 115 188 075 855 871 288 230 376 151 711 743 576 460 752 303 423 487 1 152 921 504 606 846 975 .. *Larger numbers withIn a digit 1 2 3 4 5 6 7 Number of 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 lb 8 26 27 28 9 10 11 12 13 14 Largest Decimal Fraction Binary Digits 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 .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 843 421 210 605 302 651 325 162 581 790 395 197 098 549 274 137 068 534 767 883 941 970 985 992 996 998 999 999 999 999 999 999 999 999 5 75 875 937 5 468 75 734.375 367 187 683 593 841 796 420 898 710 449 355 244 677 612 838 806 419 403 709 701 354 850 677 425 338 712 169 356 584 678 792 339 896 169 448 034 724 042 362 021 181 010 090 505 545 252 772 626 886 313 943 156 971 578 985 789 992 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 48 .999 999 999 999 996 447 286 321 49 .999 999 999 999 998 223 643 160 15 50 .999 999 999 999 999 111 821 580 51 .999 999 999 999 999 555 910 790 52 .999 999 999 999 999 777 955 395 53 .999 999 999 999 999 888 977 697 16 54 .999 999 999 999 999 944 488 848 55 .999 999 999 999 999 972 244 424 56 .999 999 999 999 999 986 122 212 17 57 .999 999 999 999 999 993 061 106 58 .999 999 999 999 999 996 530 553 59 .999 999 999 999 999 998 265 276 18 60 .999 999 999 999 999 999 132 638 group should be checked for exact number of deCimal b 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 718 359 679 339 169 084 042 521 260 130 565 282 141 5 75 375 687 843 921 960 480 240 620 310 155 577 288 5 75 875 937 468 234 117 058 029 514 757 199 499 070 644 378 599 749 535 322 189 299 874 767 661 094 149 937 383 830 547 074 968 691 915 273 537 484 345 957 636 768 742 172 978 818 384 371 086 489 409 192 185 543 244 704 096 092 771 622 352 048 046 385 811 176 524 023 192 905 588 262 011 596 452 794 . . requued . digits 5 75 375 187 593 296 648 324 5 75 875 437 5 218 75 662 331 665 332 666 833 416 208 604 302 151 075 037 109 054 527 763 381 190 595 297 148 074 037 518 759 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, Rev. A C-2 375 687 343 671 835 917 458 729 864 432 216 608 304 5 75 875 937 968 984 492 746 373 186 093 046 5 75 375 187 093 046 523 261 630 5 75 875 437 5 718 75 859 375 OCTAL ARITHMETIC MATRICES ADDITION-SUBTRACTION 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 2 4 6 10 12 14 16 3 6 11 14 17 22 25 4 10 14 20 24 30 34 5 12 17 24 31 36 43 6 14 22 30 36 44 52 7 16 25 34 43 52 61 C-3 Rev. A CONSTANTS 89793 23846 26433 83279 50 569 1683 59045 23536 599453 94045 68402 63981 03251 82765 00537 -10 94133 85435 11943 radians degrees 36019 e In 2 In 10 IOg10 2 IOg10 e 10glO IOg10 e 10glO 'If 1 degree 1 radian IOglO(5) 3.14159 26535 1.732 050 807 3.162 277 660 2.71828 18284 0.69314 71805 2.30258 50929 0.30102 99956 0.43429 44819 9.63778 43113 0.49714 98726 0.01745 32925 57.29577 95131 0.69897 00043 7! 8! 9! 10! 11 ! 12! 13! 14! 15! 16! 5040 40320 362.880 3.628.800 39.916.800 479.001.600 6.227.020.800 87.178.291.200 1.307.674.368.000 20.922.7P9.888.000 'If V3 VfO ~ 0.01745 32925 19943 29576 92369 07684 9 180 H12 2.4674 01100 27233 96 t~l 3.8757 84585 03747 74 H)4 Hj5 t1)6 ti1 Hj8 7 Hj9 (;t (ft (;}2 ( ;y3 (;t Rev. A 6.0880 68189 62515 20 9.5631 15149 54004 49 15.0217 06149 61413 07 23.5960 40842 00618 62 37.0645 72481 52567 57 58.2208 97135 63712 59 91.4531 71363 36231 143.6543 05651 53 31374 95 225.6516 55645 350 354.4527 91822 91051 556.7731 C-4 43417 624 47 CONSTANTS (Continued) 9.86960 19.73920 29.60881 39.47841 49.34802 59.21762 69.08723 78.95683 88.82643 11"2 211"2 311"2 411"2 511"2 611"2 711"2 811"2 911"2 y2 1 (1 (1 (1 (1 (1 (1 (1 (1 (1 + V2 + y2)2 + y2)4 + V2)6 + \12)8 + \12)10 + \12)12 + \12)14 + \12)16 + \12)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 i5618 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 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 0.99749 49866 04054 0.07073 72016 67708 14.10141 99471 707 C-5 Rev. A OCTAL-DECIMAL INTEGER CONVERSION TABLE 0 0000 0010 0020 0030 0040 0050 0060 0070 0000 0008 0016 0024 0032 0040 0048 0056 1 0001 0009 0017 0025 0033 0041 0049 0057 2 0002 0010 0018 0026 0034 0042 0050 0058 3 0003 0011 0019 0027 0035 0043 0051 0059 4 0004 0012 0020 0028 0036 0044 0052 0060 5 0005 0013 0021 0029 0037 0045 0053 0061 0 1 2 5 6 7 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 0258 0266 0274 0282 0290 0298 0306 0314 0259 0267 0275 0283 0291 0299 0307 0315 0260 0268 0276 0284 0292 0300 0308 0316 0261 0269 0277 0285 0293 0301 0309 0317 0262 0270 0278 0286 0294 0302 0310 0318 0263 0271 0279 0287 0295 0303 0311 0319 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 0390 0398 0406 0414 0422 0430 0438 0446 0391 0399 0407 0415 0423 0431 0439 0447 0454 0462 0470 0478 0466 0494 0502 0510 0455 0463 0471 0479 0487 0495 0503 0511 7 6 0006 0014 0022 0030 0038 0046 0054 0062 3 4 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 012!; 0070 0078 0086 0094 0102 0110 0118 0126 0071 0079 0087 0095 0103 0111 0119 0127 0500 0510 0520 0530 0540 0550 0560 0570 0200 0210 0220 0230 0240 0250 0260 0270 0128 0136 0144 0152 0160 0168 0176 0184 0129 0137 0145 0153 0161 0169 0177 0185 0130 0138 0146 0154 0162 0170 0178 0186 0131 0139 0147 0155 0163 0171 0179 0187 0132 0140 0148 015,6 0164 0172 0180 0188 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 0300 0310 0320 0330 0340 0350 0360 0370 0192 0200 0208 0216 0224 0232 0240 0246 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 0446 0456 0464 0472 0480 0488 0496 0504 0449 0457 0465 0473 0461 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 0465 0493 0501 0509 0 1 2 3 4 5 0 1 2 3 6 7 1000 1010 1020 1030 1040 1050 1060 1070 0512 0520 0528 0536 0544 0552 0560 0568 0513 0521 0529 0537 0545 0553 0561 0569 0514 0522 0530 0538 0546 0554 0562 0570 0515 0523 0531 0539 0547 0555 0563 0571 0516 0524 0532 0540 0548 0556 0564 0572 0517 0525 0533 0541 0549 0557 0565 0573 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 0821i 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 0594 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 13/0 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 Rev. A 6 7 C-6 4 5 0000 to 0777 oono 10ctal) 10ecimal) to 0511 Octal Decimal 10000 - 4096 20000 - 8192 30000 - 12288 40000 - 16384 50000 - 20480 60000 - 24576 70000 - 28672 1000 to 1777 0512 to 1023 (Octal) (Oecimal) OCTAL-DECIMAL INTEGER CONVERSION TABLE (Cont'd) 2000 to 2777 10ctaii Octal 1024 to 1535 lOecimall Decimal 10000 - 4096 20000 - 8192 30000 - 12288 40000 - 16384 50000 - 20480 60000 - 24576 70000 - 28672 3000 1536 to to 3777 10ctaii 2047 lOecimal) 0 1 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 1027 1035 1043 1051 1059 1067 1075 1083 1028 1036 1044 1052 1060 1068 1076 1084 1029 1037 1045 1053 1061 1069 1077 1085 1030 1038 1046 1054 1062 1070 1078 1086 1031 1039 1047 1055 1063 1071 1079 1087 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 2110 2120 2130 2140 2150 2160 2170 1088 1096 1104 1112 1120 1128 1136 1144 1089 1097 1105 1113 1121 1129 1137 1145 1090 1098 1106 1114 1122 1130 i 138 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 1415 1422 1423 1430 A31 1438 1439 1446 1447 1454 1455 1462 1463 1470 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 1226 1234 1242 1250 1258 1266 1274 1219 1227 1235 1243 1251 1259 1267 1275 1220 1228 1236 1244 1252 1260 1268 1276 1221 1229 1237 1245 1253 1261 1269 1277 1222 1230 1238 1246 1254 1262 1270 1278 1223 1231 1239 1247 1255 1263 1271 1279 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 0 1 2 3 4 5 6 7 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 154E 1554 1562 1570 1578 1586 1594 1539 1547 1555 1563 1571 1579 1587 1595 1540 1548 1556 1564 1572 1580 1588 1596 1541 1549 1557 1565 1573 1581 1589 1597 1542 1550 1558 1566 1574 1582 1590 1598 1543 1551 1559 1567 1575 1583 1591 1599 3400 3410 3420 3430 3440 3450 1460 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 1892 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 1929 1937 1945 1953 1961 1969 1977 1922 1930 1938 1946 1954 1962 1970 1978 1923 1931 1939 1947 1955 1963 1971 1979 1924 1932 1940 1948 1956 1964 1972 1980 1925 1933 1941 1949 1957 1965 1973 1981 1926 1934 1942 1950 1958 1966 1974 1982 1927 1935 1943 1951 1959 1967 1975 1983 3300 3310 3320 3330 3340 3350 3360 3370 1728 1736 1744 1752 1760 1768 1776 1784 1729 1737 1745 1753 1761 1769 1777 1785 1730 1738 1746 1754 1762 1770 1778 1786 1731 1739 1747 1755 1763 1771 1779 1787 1732 1740 1748 1756 1764 1772 1780 1788 1733 1741 1749 1757 1765 1773 1781 1789 1734 1742 1750 1758 1766 1774 1782 1790 1735 1743 1751 1759 1767 1775 1783 1791 3700 3710 3720 3730 3740 3750 3760 3770 1984 1992 2000 2008 2016 2024 2032 2040 1985 1993 2001 2009 2017 2025 2033 2041 1986 1994 2002 2010 2018 2026 2034 2042 1987 1995 2003 2011 2019 2027 2035 2043 1988 1996 2004 2012 2020 2028 2036 2044 1989 1997 2005 2013 2021 2029 2037 2045 1990 1998 2006 2014 2022 2030 2038 2046 1991 1999 2007 2015 2023 2031 2039 2047 C-7 1479 1487 1495 1503 1511 1519 1527 1535 7 Hev. B OCTAL-DECIMAL INTEGER CONVERSION TABLE (Cont'd) 0 4000 4010 .020 4030 4040 4050 4060 4070 2048 2056 2064 2072 2080 2088 2096 2104 2049 2057 2065 2073 2081 2089 2097 2105 2 2050 2058 2066 2074 2082 2090 2098 2106 3 2051 2059 2067 2075 2083 2091 2099 2107 6 4 5 2052 2060 2068 2076 2084 2092 2100 2108 2053 2061 2069 2077 2085 2093 2101 2109 2054 2062 2070 2078 2086 2094 2102 2110 7 0 1 2 3 4 5 6 7 2310 2318 2326 2334 2342 2350 2358 2366 2311 2319 2327 2335 2343 2351 2359 2367 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 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 4100 4110 4120 4130 4140 4150 4160 4170 2112 2120 2128 2136 2144 2152 2160 2168 2113 2121 2129 2137 2145 2153 2161 2169 2114 2122 2130 2138 2146 2154 2162 2170 2115 2123 2131 2139 2147 2155 2163 2171 2116 2124 2132 2140 2148 2156 2164 2172 2117 2125 2133 2141 2149 2157 2165 2173 2118 2126 2134 2142 2150 2158 2166 2174 4200 4210 4220 4230 4240 4250 4260 4270 2176 2184 2192 2200 2208 2216 2224 2232 2177 2185 2193 2201 2209 2217 2225 2233 2178 2186 2194 2202 2210 2218 2226 2234 2179 2187 2195 2203 2211 2219 2227 2235 2180 2188 2196 2204 2212 2220 2228 2236 2181 2189 1197 2205 2213 2221 2229 2237 2182 2190 2198 2206 2214 2222 2230 2238 2183 2191 2199 2207 2215 2223 2131 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 n51 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 2: .17 2295 2303 4700 4710 4720 4730 4740 4750 4760 4770 2496 2504 2512 2510 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 1516 2524 2532 2540 2548 2556 2501 2509 2517 2525 2533 2541 2549 2557 2502 2510 2518 2526 2534 2542 2550 2558 2503 2511 2519 2527 2535 2543 2551 2559 1 2 0 1 2 3 4 5 6 7 0 3 4 5 6 7 5000 5010 5020 5030 5040 5050 5060 5070 2560 2568 2576 2584 2592 2600 2608 2616 2561 2569 2577 2585 2593 2601 2609 2617 2562 2570 2578 2586 2594 2602 2610 2618 2563 2571 2579 2587 2595 2603 2611 2619 2564 2572 2580 2588 2596 2604 2612 2620 2565 2573 2581 2589 2597 2605 2613 2621 2566 2574 2582 2590 2598 2606 2614 2622 2567 2575 2583 2591 2599 2607 2615 2623 5400 5410 5420 5430 5440 5450 5460 5470 2816 2824 2832 2840 2848 2856 2864 2872 2817 2825 2833 2841 2849 2857 2865 2873 .2818 2826 2834 2842 2850 2858 2866 2874 2819 2827 2835 2843 2851 2859 2867 2875 2820 2828 2836 2844 2852 2860 2868 1876 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 ~882 2890 2898 2906 2914 2922 2930 2938 2883 2891 2899 2907 2915 2923 2931 2939 1884 2892 2900 1908 2916 1924 1932 1940 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 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 5610 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 1956 2964 1972 2980 2988 2996 3004 2949 2957 2965 2973 5260 5270 2688 2696 2704 2712 2720 2728 2736 2744 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 5~50 Rev. A 1 C-8 ~981 4000 2048 to to 4777 (Oct,ll 2559 10'Clm,l) Octal Decimal 10000 - 4096 20000· 8192 30000 - 12288 40000 - 16384 50000 . 20480 60000 . 24576 70000 - 28672 5000 2560 to to 5777 10ct,II 3071 10'Clm,11 OCTAL-DECIMAL INTEGER CONVERSION TABLE (Cont'd) 0 6000 to 6777 (Octal) 3072 to 3583 meclmal) Octal Decimal 10000 20000 30000 40000 50000 60000 70000 - 4096 - 8192 12288 - 16384 20480 24576 28672 7000 3584 to to 7777 4095 I Octal) (DeCimal) , 2 3 4 5 6 0 , 2 3 5 6 7 6400 6410 6420 6430 6440 6450 6460 6470 3328 3336 3344 3352 3360 3368 3376 3384 3329 3337 3345 3353 3361 3369 3377 3385 3330 3338 3346 3354 3362 3370 3378 3386 3331 3339 3347 3355 3363 3371 3379 3387 3332 3340 3348 3356 3364 3372 3380 3388 3333 3341 3349 3357 3365 3373 3381 3389 3334 3342 3350 3358 3366 3374 3382 3390 3335 3343 3351 3359 3367 3375 3383 3391 7 4 6000 6010 6020 5030 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 311,4 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 3151 3159 3167 3175 3183 3191 3199 6500 6510 6520 6530 6540 6550 6560 6570 3392 3400 3408 3416 3424 3432 3440 3448 3393 3401 3409 3417 3425 3433 3441 3449 3394 3402 3410 3418 3426 3434 3442 3450 3395 3403 3411 3419 3427 3435 3443 3451 3396 3404 3412 3420 3428 3436 3444 3452 3397 3405 3413 3421 3429 3437 3445 3453 3398 3406 3414 3422 3430 3438 3446 3454 3399 3407 3415 3423 3431 3439 3447 3455 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 3120 3228 3136 3244 3152 3260 3205 3213 3221 3229 3237 3245 3253 3261 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 3458 3466 3474 3482 3490 3498 3506 3514 3459 3467 3475 3483 3491 3499 3507 3515 3460 3468 3476 3484 3492 3500 3508 3516 3461 3469 3477 3485 3493 3501 3509 3517 3462 3470 3478 3486 3494 3502 3510 3518 3463 3471 3479 3487 3495 3503 3511 3519 6300 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 3292 3290 3298 3306 3314 3322 3267 3275 3283 3291 3299 3307 3315 3323 3268 3276 3284 3192 3300 3308 3316 3324 3269 3277 3285 3293 3301 3309 3317 3325 3270 3278 3286 3294 3302 3310 3318 3326 3271 3279 3287 3295 3303 3311 3319 3327 6700 6710 6720 6730 6740 6750 6760 6770 3520 3528 3536 3544 3552 3560 3568 3576 3521 3529 3537 3545 3553 3561 3569 3577 3522 3530 3538 3546 3554 3562 3570 3578 3523 3531 3539 3547 3555 3563 3571 3579 3524 3532 3540 3548 3556 3564 3572 358u 3525 3533 3541 3549 3557 3565 3573 3581 3526 3534 3542 3550 3558 3566 3574 3582 3527 3535 3543 3551 3559 3567 3575 3583 0 , 2 3 4 5 6 7 0 , 2 3 4 5 6 7000 7010 7020 7030 7040 7050 7060 7070 3584 3592 3600 3608 3616 3624 3632 3640 3585 3593 3601 3609 3617 3625 3633 3641 3586 3594 3602 3610 3618 3626 3634 3642 3587 3595 3603 3611 3619 3627 3635 3643 3588 3596 3604 3612 3620 3628 3636 3644 3589 3597 3605 3613 3621 3629 3637 3645 3590 3598 3606 3614 3622 3630 3638 3646 3591 3599 3607 3615 3623 3631 3639 3647 7400 7410 7420 7430 7440 7450 7460 7470 3840 3848 3856 3864 3872 3880 3888 3896 3841 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 3847 3855 3863 3871 3879 3887 3895 3903 7100 7110 7120 7130 7140 7150 7160 7170 3648 3656 3664 3672 3680 3688 3696 3704 3649 3657 3665 3673 3681 3689 3697 3705 3650 3658 3666 3674 3682 3690 3698 3706 3651 3659 3667 3675 3683 3691 3699 3707 3652 3660 3668 3676 3684 3692 3700 3708 3653 3661 3669 3677 3685 3693 3701 3709 3654 3662 3670 3678 3686 3694 3702 3710 3655 3663 3671 3679 3687 3695 3703 3711 7500 7510 7520 7530 7540 7550 7560 7570 3904 3912 3920 3928 3936 3944 3952 3960 3905 3913 3921 3929 3937 3945 3953 3961 3906 3914 3922 3930 3938 3946 3954 3962 3907 3915 3923 3931 3939 3947 3955 3963 3908 3916 3924 3932 3940 3948 3956 3964 3909 3917 3925 3933 3941 3949 3957 3965 3910 3918 3926 3934 3942 3950 3958 3966 3911 3919 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 3115 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 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 3620 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 314J 3/'59 C-9 1 7 Rev. F OCTAL-DECIMAL FRACTION CONVERSION TABLE OCTAL DEC. OCTAL OCTAL DEC. OCTAL DEC. 000 .001 .002 .003 .004 005 .006 .007 000000 001953 003906 005859 .007812 .009765 011718 .013671 .100 101 102 103 104 105 106 107 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 .010 011 012 013 014 015 .016 .017 015625 017578 019531 .021484 023437 .025390 027343 029296 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 .020 021 .022 .023 024 .025 .026 .027 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 .419921 .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 .255 256 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 Rev. A DEC. C-lO OCTAL-DECIMAL FRACTION CONVERSION TABLE .. OCTAL DEC. OCTAL DEC. OCTAL DEC. OCTAL DEC. AOO AOl A02 A03 .404 A05 A06 A07 .500000 .501953 .503906 .505859 .507812 .509765 .511718 .513671 .500 .501 .502 .503 .504 .505 .506 .507 .625000 .626953 .628906 .630859 .632812 .634765 .636718 .638671 .600 .601 .602 .603 .604 .605 .606 .607 .750000 .751953 .753906 .755859 .757812 .759765 .761718 .763671 .700 .701 .702 .703 .704 .705 .706 .707 .875000 .876953 .878906 .880859 .882812 .884765 .886718 .888671 Al0 All A12 A13 A14 A15 A16 .417 .515625 .517578 .519531 .521484 .523437 .525390 .527343 .529296 .510 .511 .512 .513 .514 .515 .516 .517 .640625 .642578 .644531 .646484 .648437 .650390 .652343 .654296 .610 .611 .612 .613 __614 .615 .616 .617 .765625 .767578 .769531 .771484 .773437 .775390 .777343 .779296 .710 .711 .712 .713 .714 .715 .716 .717 .890625 .892578 .894531 .896484 .898437 .900390 .902343 .904296 A20 A21 .422 A23 A24 A25 .426 .427 .531250 .533203 .535156 .537109 .539062 .541015 .542968 .544921 .520 .521 .522 .523 .524 .525 .526 .527 .656250 .658203 .660156 .662109 .664062 .666015 .667968 .669921 .620 .621 .622 .623 .624 .625 .626 .627 .781250 .783203 .785156 .787109 .789062 .791015 .792968 .794921 .720 .721 .722 .723 .724 .725 .726 .727 .906250 .908203 .910156 .912109 .914062 .916015 .917968 .919921 A30 A31 A32 A33 A34 A35 A36 A37 .546875 .548828 .550781 .552734 .554687 .556640 .558593 .560546 .530 .531 .532 .533 .534 .535 .536 .537 .671875 ,673828 .675781 .677734 .679687 .681640 .683593 .685546 .630 .631 .632 .633 .634 .635 .636 .637 .796875 .798828 .800781 .802734 .804687 .806640 .808593 .810546 .730 .731 .732 .733 .734 .735 .736 .737 .921875 .923828 .925781 .927734 .929687 .931640 .933593 .935546 A40 .441 A42 A43 A44 A45 A46 .447 .562500 .564453 .566406 .568359 .570312 .572265 .574218 .576171 .540 .541 .542 .543 .544 .545 .546 .547 .687500 .689453 .691406 .693359 .695312 .697265 .699218 .701171 .640 .6.41 .642 .643 .644 .645 .646 .647 .812500 .814453 .816406 .818359 .820312 .822265 .824218 .826171 .740 .741 .742 .743 .744 .745 .746 .747 .937500 .939453 .941406 .943359 .945312 .947265 .949218 .951171 A50 A51 .452 .453 A54 A55 A56 A57 .578125 .580078 .582031 .583984 .585937 .587890 .589843 .591796 .550 .551 .552 .553 .554 .555 .556 .557 .703125 .705078 .707031 .708984 .710937 .712890 .714843 .716796 .650 .651 .652 .653 .654 .655 .656 .657 .828125 .830078 .832031 .833984 .835937 .837890 .839843 .841796 .750 .751 .752 .753 .754 .755 .756 .757 .953125 .955078 .957031 .958984 .960937 .962890 .964843 .966796 A60 A61 A62 .463 A64 A65 .466 .467 .593750 .595703 .597656 .599609 .601562 .603515 .605468 .607421 .560 .561 .562 .563 .564 .565 .566 .567 .718750 .720703 .722656 .724609 .726562 .728515 .730468 .732421 .660 .661 .662 .663 .664 .665 .666 .667 .843750 .845703 .847656 .849609 .851562 .853515 .855468 .857421 .760 .761 .762 .763 .764 .765 .766 .767 .968750 .970703 .972656 .974609 .976562 .978515 .980468 .982421 .470 A71 .472 A73 A74 .475 A76 A77 .609375 .611328 .613281 .615234 .617187 .619140 .621093 .623046 .570 .571 .572 .573 .574 .575 .576 .577 .734375 .736328 .738281 .740234 .642187 .744140 .746093 .748046 .670 .671 .672 .673 .674 .675 .676 .677 .859375 .861328 .863281 .865234 .867187 .869140 .871093 .873046 .770 .771 .772 .773 .774 .775 .776 .777 .984375 .986328 .988281 .990234 .992187 .994140 .996093 .998046 C-ll Rev H 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 Rev H C-12 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 .001069 .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 .001.605 .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 .000.656 .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 .ooor o .001678 .001682 .001686 .001689 .001693 .001697 .001701 .001705 .000770 .000771 .000772 .000773 .000774 .000775 .000776 .000777 .001922 .001926 .001930 .001934 .001'937 .001941 .001945 .001949 .000 71 .000672 :000673 .000674 .000675 .000676 .000677 C-13 RevH APPENDIX D INSTRUCTION FORMATS AND NOTES D. INSTRUCTION FORMATS AND NOTES The formats below correspond to the mnemonic instructions listed in Table D-l. 23 Fl I 23 F3 I 23 F4 I 23 F5 23 I 23 I 23 F9 I 23 FlO I 23 Fll I I I II 1817161514 00 II 1817 12 II I 1817 00 I 1514 12 II 00 I 18 1716 1514 00 1211 I 1817 12 II I 0908 00 I I I 1817 12 1110090807 I I II 00 II II I 1817 12 II 10 0706 II I 181716 1514 12 II 1817 12 II 00 12 II 00 00 I 0605 I 00 I I 23 F12 00 II 23 F8 I 181716 I F6 F7 00 1514 I I 23 F2 1817 I 1817 I D-l 1514 I I I Rev. A F13 F14 F15 F16 { { { { 23 P 23 181716 00 I I I 2120 II 212019181716 I 23 I 181716 1716 I 23 F18 P+l 00 I 00 181716 II 21201918 00 I I 1211 I 23 P 00 II 23 P+2 I 181716 21201918 1716 00 I 12 II 23 00 00 II I I I I I I I I I I I I 00 IIIII I 23 P + 1 00 00 23 P+l 181716 181716 23 P I I II I I II 23 P+l 00 II 23 P F17 181716 23 P+l I II I P+l P 00 181716 23 P 00 P + 2 23 23 F19 P+l I 23 P+2 Rev. A 18 1716 00 II P 00 212019181716 I I I 18 17 D-2 12 II 00 23 1817 16 23 21 20 19 18 17 16 II P F20 020100 00 P+l 23 00 P+2 23 18 17 16 23 21 2019 18 17 16 P F21 020100 I I 00 P+l 23 12 II 00 P+2 23 181716 23 212019181716 II P F22 020100 00 P+l 23 12 II 20 19 00 P+2 23 181716 23 212019181716 II P F23 00 020100 P+l 23 12 II 00 P+2 23 18 17 16 23 21 201918 17 16 II P F24 00 0201 00 P+l 23 18 17 23 1817 12 II 00 P+2 00 P 23 F25 21 20 00 P+l 23 12 II 00 P+2 D-3 Rev. A 23 23 00 21 20 19 18 P+l 23 18 17 P+2 Rev. A 00 II P F26 18 17 16 D-4 12 II 00 TABLE D-l. Mnemonic Code INSTRUCTION FORMATS Basic Octal Code Instruction Format Page No. ACI ACR ADA, I ADAQ, I ADM AEU AlA 77 77 30 32 67 55 F4 F7 F3 F3 F18 F1 5-38 5-40 5-60 5-61 5-68 5-36 53 F6 5-33 AIS ANA 77 17 5-37 5-73 ANA,S ANI 17 17 F7 Fl Fl F3 ANQ 17 Fl 5-74 ANQ, S 17 F1 5-74 AOS 77 F4 5-37 APF 77 F9 5-39 AQA 53 F5 AQE 55 Fl 5-32 5-36 AQJ, EQ 03 F3 5-46 AQJ, GE 03 F3 5-46 AQJ, LT 03 F3 5-46 AQJ, NE 03 F3 5-46 ASE 04 Fl 5-29 ASE,S 04 Fl 5-29 ASG 05 Fl 5-30 ASG, S 05 5-30 ATD 66 F1 F21 5-119 ATD,D 66 F22 5-120 AZJ, EQ 03 F3 5-45 AZJ, GE 03 F3 5-45 AZJ, LT 03 F3 5-45 AZJ, NE 03 F3 CIA 77 F4 5-45 5-38 CILO 77 F8 5- 91 D-5 5-73 5-73 Rev. F TABLE D-l. Mnemonic Code INSTRUCTION FORMATS (Contfd) Basic Octal Code Instruction Format Page No. 77 F5 5-86 77 5-94 67 67 F8 F18 F19 CON COpy 77 F12 5-95 77 CPR, I CRA CTI CTO CVBD CVDB DINT DTA DTA,DC DVA,I DVAQ, I 52 77 77 77 66 66 F5 F3 F4 F4 F4 F20 F23 F4 F23 F24 F3 F3 5-83 5-77 5-40 5-97 5-97 5-116 5-115 5-89 5-117 5-118 5-62 5-63 F1 F2 F2 5-36 5-26 5-26 CINS CLCA CMP CMP, DC 77 66 66 51 57 5-79 5-80 EAQ ECHA ECHA, S 55 EDIT 64 EINT ELQ 77 F18 F4 55 Fl 5-149 5-89 5-36 14 Fl Fl F3 5-25 5-25 5-25 Fl Fl 5-25 5-25 77 Fl F5 5-36 5-83 60 63 F3 F3 5-65 ENA ENA, S ENI ENQ ENQ, S EUA EXS FAD, I FDV, I Rev. F 11 11 14 14 14 14 55 D-6 5-66 TABLE D-1. Mnemonic Code INSTRUCTION FORMATS (Cont'd) Basic Octal Code Instruction Format Page No. FMD, I 62 F3 5-66 FRMT 64 F18 5-147 FSB, I 61 F3 5-65 HLT 00 F1 5-24 IAI 53 F6 5-33 IAPR 77 F4 5-113 IJD 02 F3 5-44 IJI 02 F3 5-43 INA 15 F1 5-27 INA, S 15 F1 5-27 INAC, INT 73 F14 5-106 INAW, INT 74 F14 5-107 INCL 77 F4 5-89 INI INPC, INT, B, H, G 15 F3 5-27 73 F15 5-98 INPW, INT, B, N, G 74 F15 5-100 INQ 15 F1 5-27 INQ, S 15 F1 5-27 INS 77 F5 5-85 INTS 77 F5 5-84 IoeL 77 F4 5- 94 ISA 77 F7 5-37 ISD 10 F3 5-31 ISE 04 F3 5-28 ISG 05 F3 5-30 lSI 10 F3 5-31 JAA 77 F4 5-40 JMP, HI A 70 F1 JMP, LOW A 70 F1 5-42 5-42 JMP, ZRO A 70 F1 LACH 22 F2 5-42 5-49 LBR 70 F1 5-155 D-7 Rev. A TABLE D-l. Mnemonic Code INSTRUCTION FORMATS (Cont'd) Basic 'Jctal Code Ins truction Forma t Page No. LCA,I 24 F3 5-50 LCAQ, I 26 F3 5- 51 LDA,I 20 F3 5-49 LDAQ, I 25 F3 5-50 LDI, I 54 F3 5- 52 LDL, I 27 .F3 5-50 LDQ, I 21 F3 5- 51 LPA, I 37 F3 5-73 LQCH 23 F2 5-52 MEQ 06 F1 5-75 MOVE, INT 72 F16 5-138 MTH 07 Fl 5-76 MUA,I 50 F3 5-62 MUAQ, I 56 F3 5-63 MVBF 64 F18 5-142 MVE 64 F18 5-140 MVE,D 64 F19 5-141 64 F18 5-143 MVZS 64 F18 5-144 MVZS, D 64 F19 5-145 OSA 77 F4 5-37 OTAC, INT 75 F14 5-109 OTAW, INT 76 F14 5-110 OUTC, INT, B, H 75 F15 5-102 OUTW, INT, B, N 76 F15 5-104 PAK 66 F18 5-121 PAUS 77 F11 5-87 PFA 77 F9 5-39 PRP 77 F11 5- 88 QEL 55 F1 5-36 QSE 04 Fl 5-29 QSE, S 04 F1 5-29 MVZF - Rev. A· <. D-8 TABLE D-l. Mnemonic Code INSTRUCTION FORMATS (Cont'd) Basic Octal Code Instruction Format Page No. 5·30 QSG 05 F1 QSG, S 05 F1 5-30 RAD, I 34 F3 5-60 RIS 55 F1 5-112 ROS 55 F1 5-112 RTJ 00 F1 5-47 SACH 42 F2 5-54 SBA, I 31 F3 5-61 SBAQ, I 33 F3 5-61 SBCD 77 F4 5- 91 SBJP 77 F4 5-112 SBM SBR 67 70 F18 F1 5-69 5-155 SCA, I 36 F3 5-72 SCAN,LR,EQ,DC 65 F26 5-130 SCAN, LR, NE, DC 65 F26 5-132 SCAN, RL, EQ, DC 65 F26 5-134 SCAN, RL, NE, DC 65 5-136 SCAN, LR, EQ 65 F26 F26 SCAN, LR, NE 65 F26 5-131 SCAN, RL, EQ 65 F26 5-133 SCAN, RL, NE 65 F26 5-135 SCAQ 13 F3 5-59 SCRA, I 46 F3 5-56 77 F4 5-90 SDL 77 F7 5-113 SEL 77 F12 5-96 SFPF 77 F4 5-91 SHA 12 F3 5-57 SHAQ 13 F3 5-59 SCIM D-9 5-129 Rev. F TABLE D-l, Mnemonic Code INSTRUCTION FORMATS (Cont 'd) Basic Octal Code I nstruction Format Page No. SHQ 12 F3 5-59 SJ1 00 F1 5-41 SJ2 00 F1 5-41 SJ3 00 F1 5-41 SJ4 00 F1 5-41 SJ5 00 F1 5-41 SJ6 00 F1 5-41 SLS 77 F4 5-24 SQCH 43 F2 5-55 SRCE,INT 71 F13 5-125 SRCN,INT 71 F13 5-127 SSA, I 35 F3 5-72 SSH 10 F1 5-57 SSIM 77 F4 5-90 STA, I 40 F3 5-53 STAQ, I 45 F3 5-54 STI, I 47 F3 5-56 STQ, I 41 F3 5-55 SWA, I 44 F3 5-56 TAl 53 F6 5-33 TAM 53 FlO 5-34 TIA 53 F6 5-33 TIM 53 FlO 5-35 TMA 53 FlO 5-34 TMAV 77 F4 5-81 TMI 53 FlO 5-35 TMQ 53 FlO 5-34 TQM 53 FlO 5-34 TST 67 F17 5-82 TSTN 67 F17 5-82.0 UCS 77 F4 5-24 UJP, I 01 F3 5-41 Rev. F D-10 TABLE D-l, Mnemonic Code INSTRUCTION FORMATS (Cont'd) Basic Octal Code Instruction Format Page No. UPAK 66 F18 5-122 XOA 16 Fl 5-71 XOA,S 16 Fl 5-71 XOI 16 F3 5-71 XOQ 16 Fl 5-71 XOQ,S 16 Fl ZADM 67 F18 5-71 5-146 D-ll Rev. A APPENDIX E MULTIPROGRAMMING AND RELOCATION SUPPLEMENTARY INFORMATION E. MULTIPROGRAMMING AND RELOCATION SUPPLEMENTARY INFORMATION Multiprogramming in the 3300 Computer System enables the instructions of many programs to be sequentially executed by controlled time-sharing operations within a processor. With the Control Data Multiprogramming Modules, throughput is very high due to efficient use of hardware and optimum program scheduling. This feature is very desirable at installations where numerous jobs are run and computing time must be kept at a minimum. Systems equipped with the relocation feature can compute many programs on a timeshared basis or be switched into the non-Executive mode and process jobs according to control card job assignments. EXECUTIVE MODE A system equipped with relocation hardware and operating in the Executive Mode functions in either the Monitor State or the Program State. Monitor State The Monitor State is the initial operating state of a master cleared processor. The processor also reverts to this state if interrupted for any condition. All instructions may be executed in the Monitor State. Program State The Program State permits all but the following instructions to be executed: 1. A Halt instruction (00. 0) 2. Any of the instructions with function codes in the 71-77 range including the UCS, except the SFPF (77.71) and SBCD (77.72) instructions. 3. An inter-register transfer instruction that attempts to alter registers 00 through 37 of the register file. E-1 Rev. A If an attempt to execute one of these instructions occurs, an Executive interrupt is generated and operating control is transferred back to the Monitor State. The Executive interrupt is not masked and the interrupt system need not be enabled to recognize the interrupt when it occurs. Upon recognition, the Executive interrupt transfers program control to the Monitor State. The instruction that caused the interrupt is not executed. The following flow chart describes the sequence of events involved when an Executive Interrupt occurs. EXECUTIVE INTERRUPT SEQUENCE Attempt is made to execute an instruction at Address P, that will cause an Executive Interrupt. 1 1 Program control is transferred to the Monitor State. Address P is stored in the lower 15 bits of address 000004 of the Monitor State. ! Interrupt code 0120 is stored in the lower 12 bits of address 000005 of the Monitor State. 1 Instruction at address 000005 of the Monitor State is executed. MULTIPROGRAMMING AND RELOCATION If the 3311 Multiprogramming option is not present in a 3300 system, the maximum number of MCS words is 131,072. The actual address referenced is as follows: 17 BIT ADDRESS I~ __________ rn 0100 (ISR)-[ , ~A~ 14 __________ ~ 00 r-----(-P-)-----, , : OR : 0100, (OSR)--[OJ i; I Upper Bit of ISR ! OR "00" Refer to Table E-"l for conditions when (ISR), (OSR). or zero is appended to address P. or OSR is ignored Rev. A E-2 If the APF (77.64) or PFA (77.65) instructions are executed they become no- operation instructions when the 3311 is not present. The keyboard sweep and enter functions with the Page Index File are also disabled. All other operating conditions are the same whether or not the 3311 is in the system. A 3300 CPU can access up to 262,144 words of core storage when the 3311 Multiprogramming option and appropriate storage modules are present in the system. This is accomplished by augmenting the basic 15-bit address P with a 3-bit state number. The state number,along with a portion of the 15-bit address, becomes the direction path into a relocation path. From the Page Index File the correct page address is obtained for actual memory addressing. Page Structure Each page of memory is assigned 2,048 absolute memory locations. A fully expanded system contains 128 of these pages. Individual pages may be subdivided into four partial pages. A 1/4 page consists of 512 address locations. Programs may be allocated full pages, 3/4 page, 1/2 page or 1/4 page of memory. To facilitiate addressing with the paging scheme, a word organized core matrix is used. This core matrix, called the Page Index File, is referenced by a program during a memory reference to obtain the physical page address or partial page address and provide memory protection. Address Relocation Figure E-l illustrates address bits at various stages of the relocation process. Those portions of the diagram accompanied by circled numbers are further described in the following numbered paragraphs. CD Program Address and Program Address Group Any program executed by a 3300 is processed within the confines of a 15-bit program address structure. These 15 bits define the program or operand address related to the routine or subroutine being processed at a given instant. Figures E-2 and E- 3 illustrate the significance of these bits in the instruction words for both word addressing and character addressing. The 15 bits used in word addressing define an absolute address assignment ranging from 00000 to 77777 8 , Any program or group of programs within this range of addresses which can be compiled and loaded without conflicting addresses can be considered part of a program address group. Figure E-4 is illustrative of a program address group consisting of five non-conflicting programs. E-3 Rev. A 7-BIT PAGE FILE ADDRESS (INPUT) PAGE LENGTH CONTROL ® ILLEGAL WRITE 12 BIT PAGE JNDEX (OUTPUT) PAGE INDEX FILE @ IS-BIT RELOCATED MEMORY ADDRESS PROGRAM ADDRESS (REF TO TEXT FOR ADDITIONAL INFORMATION ON NUMBER AREAS) RELATIVE BIT POSITION Figure E-l. Rev. A Address Relocation Process E-4 A program address group may be considered apart from the physical memory structure since it is a group of sequentially numbered addresses representing one or more programs within 32, 768 words of storage and not a discrete physical device. Many program address groups may be contained in storage; however, eight such groups are used in the 3300 to best optimize the memory system. 18 17 23 I FUNCTION CODE ~ 6 BITS 00 15 14 WORD ADDRESS I I ---*- 3 ~IE 15 BITS I ~I BITS Figure E-2. 00 18 17 16 23 FUNCTION CODE IE-- 6 BITS CHARACTER ADDRESS II ~Ioi!)oj'€ Figure E-3. ® Word Addressing 17 BITS ~I Character Addressing Instruction State Register (ISR) and Operand State Register (OSR) The ISR and OSR define the specific program address group currently being accessed by a processor. The program address group being referenced for instructions and operands can assume anyone of eight discrete values by modifying the contents of these single digit registers. By transferring dissimilar numbers into these registers, instructions and operands may reference different program address groups. The contents of these registers can only be changed by the Executive routine in the Monitor State. The program address group that is currently valid for memory references is selected by the contents of the ISR or OSR. Table E -1 describes the selecting conditions. E-5 Rev. A 00000 ADDRESSES PROGRAM A PROGRAM B PROGRAM C PROGRAM D PROGRAM E 77777 Figure E-4. TABLE E-l. Program Address Group INSTRUCTION AND OPERAND REFERENCING Operational State of the Processor Instructions Referenced With: Operands Referenced With: Initial Monitor State Zero Zero Monitor State and 55.4 {relocate to operand state} instruction executed Zero Contents of OSR Transition from Monitor State to Program State Contents of ISR Contents of ISR* Program State and 55.4 (relocate to operand state) instruction executed Contents of ISR Contents of OSR Program State and 55.0 (relocate to instruction state) instruction executed Contents of ISR Contents of ISR Any interrupt condition to Monitor State Zero Zero '! (A), RNI @ P+! } (Q) (M), RNI @ P+2 (A) ~(M) ~ (Q), RNI @ P+3 b Clear (A),(B ) .... AOO-14 b (AOO-14) .... B 53 TMQ v (v) .... Q 5-34 53 TQM v (Q) -v 5-34 53 TMA v (v) - A 5-34 53 TAM v (A) -v 5-34 Rev. A > Instruction Tables - 4 ->- Q (A) and (Q) are 5-77 unchanged 5-33 5-33 TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont'd) Basic Mnemonic Address Field Octal Code Code 53 TMI v,b 53 TIM v,b 53 AQA 53 AlA b 53 lAI b 54 LDI,I 55 RIS m,b Instruction De scription b (VOO-14) - B b (B ) -+ vOO-14 Page No. . 5-35 5-35 Add (A) to (Q) - A 5-32 Add (A) to (Bb) Add (A) to (B b ) 5- 33 -->- A -->- Bb. Sign of Bb extended prior to addition 5-33 All other combinations of 53 are undefined and will be rejected by the assembler b (MOO-14) _B 5-52 Use (ISR) in address relocation for operands. RELOCATE TO INSTRUCTION STATE 5-112 5-36 EUA ) -Q L (EU) -A 55 EAQ (EUEL) -AQ 5-36 55 ROS Use (OSR) in address relocation for operands. RELOCA TETO OPERAND STATE 5-112 (Q) -E 5-36 55 ELQ 55 (E 5-36 55 QEL 55 AEU L (A) -EU 55 AQE (AQ) -EUEL 5-36 56 MUAQ,I m,b Multiply (AQ) by (M, M + 1) - AQE 5-63 57 DVAQ,I m,b (AQE) ... (M,M + 1) -AQ and remainder with sign extended to E. Divide fault halts operation and program advances to next instruction 5- 63 Floating point addition of (M, M + 1) to (AQ) -AQ 5-65 Floating point subtraction of (M,M + 1) from (AQ) - AQ 5-65 Floating point multiplication of (AQ) and (M,M + 1) -AQ 5- 66 60 FAD,I m,b 61 FSB,I m,b 62 FMU,I m,b 63 FDV,I m,b 64 MVE r, B r , Sl, s, B s , S2 5-36 Floa ting point division of (AQ) by (M, M + 1) - AQ, remainder with sign extended to E 5- 66 Move characters from fld A -fld C according to parameters given 5-140 Instruction Tables - 5 Rev. A TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont'd) Basic Mnemonic Address Octal Code Field Code 64 64 64 64 MVE,DC r ,Br, s, B s , S2 MVBF r,B r , Sl' s, B s ' S2 MVZF MVZS Instruction De scription Page No. Move characters from fld A -+ fld C according to parameters given. Delimiting character possibility 5-141 Move characters from fld A -+ fld C; if fld C fld A, blank fill 5-142 Move characters from fld A -+fld C; if fld C > fld A, zero fill 5-143 Move characters from fld A press leading zeros 5-144 > -+ fld C; sup- 64 MVZS,DC Move characters from fld A -+ fld C; suppress leading zeros. Delimiting character po ssibility 5-145 64 EDIT Fld A -+ fld C with COBOL type of editing specified by picture previously stored in fld C 5-149 Fld A - fld C with editing specified by picture previously stored in fld; limited to specific types of editing to allow processing in a single scan. 5-147 5-129 64 FRMT SCAN, LR,EQ r, B r , S2, SC Scans fld A from left to right, stop on = condition 65 SCAN, LR, EQ, DC r, B r , S2, SC Scans fld A from left to right, stop on = condition. Delimiting character possibility 5-130 65 SCAN, RL,EQ r, B r , S2, SC Scans fld A from right to left, stop on = condition SCAN, RL, EQ, DC r, B r , S2, SC Scans fld A from right to left, stop on = condition. Delimiting character possibility SCAN, LR,NE r, B r , S2, SC Scans fld A from left to right, stop on condition SCAN, LR,NE DC r ,B , Scan fld A from left to right, stop on f. condition. Delimiting character possibility 5-132 65 65 65 65 65 Rev. B SCAN, RL, NE S2,SC, Scans fld A from right to left, stop on condition Instruction Tables - 6 5-133 5-134 =1= 5-131 f. 5-135 TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont ' d) Basic Mnemonic Address Field Octal Code Code 65 SCAN, RL, r,B r , S2,SC, NE.DC 66 CVDB 66 CVBD 66 DTA 66 DTA,DC 66 ATD 66 ATD,DC 66 PAK Page No. Instruction De scription Scans fld A from right to left, stop on::/= condition. Delimiting character possibility Convert BCD fld A to binary fld C r, B r , Sl, m, Bm m, B m , Convert binary fld A to BCD ~ fld C n, Bn --i>- 5-136 5-115 5-116 r, B r , S2, m, Bm r, B r , S2 ,m. Bm m,B m , S2, s, Bs m,B m , S2 , s, Bs Translate BCD fld A to ASCII - fld C 5-117 Translate BCD fld A to ASCII ~ fld C with delimiting character possibility 5-118 Translate ASCII fld A to BCD ~ fld C with delimiting character possibility 5-120 r, Br S2, m, Pack 6-bit BCD fld A into 4-bit BCD fld C 5-121 Translate ASCII fld A to BCD ~ fld C 5-119 Bm 66 UPAK 67 ADM 67 SBM 67 ZADM m,B m , s, B s , S2 r, B r , Sl' s, B s ' S2 r, B r , Sl, s, B s ' S2 r, B r , Sl' s, B s , S2 Unpack 4-bit BCD fld A into 6-bit BCD fld C 5-122 Add fld A to fld C ~fld -+ ~ fld C 5-69 fld C, right justify 5-146 Subtract fld A from fld C Clear fld C; fld A 5-68 C Instruction Tables - 7 Rev. B TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont'd) Basic Mnemonic Address Octal Code Field Code 67 CMP r, B r , S 1, s, E s ' S2 67 CMP, DC Instruction Description Page No. Compares fld A to fld C, exits upon encountering f- characters 5-79 Compares fld A to fld C, exits upon encountering f- characters; delimiting character possibility 5-80 Test fld A, +, -, or 0 5-82 67 TST r, B r , 67 TSTN r, B r , Test fld A for numeric 5-82. 0 70 JMP,HI m Jump if BDP condition register > 0 or + 5-42 70 JMP, ZRO m Jump if BDP condition register = 0 5-42 70 JMP,LOW m Jump if BDP condition register < 0 or - 5-42 70 LBR m Load BCR and restore BDP conditions from data at 'm' 5-155 70 SBR m Store (BCR) and BDP conditions at 'm' for interrupt recovery. 5-155 71 SRCE, INT SC, r, s Search for equality of scan character 'SC-' in a field beginning at location r until an equal character is found, or until character location s is reached; 5-125 S1 h 71 SRCN, INT SC, r, s Same as SRCE except search condition if for inequality 5-127 72 MOVE, INT S, r, s Move (S) characters from r to s 5-138 73 INPC, INT B,H,G ch,r,s A 6- or 12-bit character is read from peripheral device and stored in memory at a given location 5-98 INAC, INT ch (A) is cleared and a 6- bit character is transferred from a peripheral device to the lower 6 bits of A 5-106 INPW, INT, B, N, G 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 5-100 73 74 Rev. E Instruction Tables - 8 TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont'd) Basic Mnemonic Address Octal Code Field Code Instruction Description Page No. 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 5-107 I/O channel) 75 OUTC. INT,B,H ch,r,s Storage words disassembled into 6- or 12bit characters and sent to a peripheral device 5-102 Character from lower 6 bits of A is sent to a peripheral device,(A) retained 5-109 75 OTAC, INT ch 76 OUTW, INT,B,N ch,m,n Words read from storage to a peripheral device 5-104 OTAW, INT ch Word from lower 12 bits or all of A (depending on type of I/O channel) sent to a peripheral device 5-110 If channel ch is busy, reject instruction RNI @ P + 1. If channel ch is not busy, 12bit connect code sent on channel ch with connect enable, RNI @ P + 2 5-95 76 77 CON x,ch 77 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 5-96 77 EXS x, ch Sense external status status lines in any of "1" bits in the mask, comparison, RNI @ P 77 77 COpy INS ch x, ch if "1" bits occur on the same positions as RNI @ P + 1. If no + 2 5-83 External status code from I/O channel ch -lower 12 bits of A, contents of interrupt mask register -upper 12 bits of A; RNI @ P+1 5-83 if "1" bits occur on the same positions as RNI @ P + 1. If no + 2 5-85 Sense internal status status lines in any of "1" bits in the mask, comparison, RNI @ P 77 CINS ch Interrupt mask and internal status to A 5-86 77 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 5-84 Interrupt faults defined by x are cleared 5-89 77 INCL x Instruction Tables - 9 Rev. A TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont'd) 77 77 IOCL CILO x x Page No. Instruction Description Basic Mnemonic Addre s s Octal Code Field Code Clears I/O channel or search/move control as defined by bits 00-07, 08, and 11 of x. 5-94 Lockout external interrupt on masked channels (x). until channel{s) is not busy. 5-91 77 CLCA x Clear the specified channel, but not external equipment. CLEAR CHANNEL ACTIVITY 5-94 77 SSIM x Selectively set interrupt mask register for each "1" bit in x. The corresponding bit in the mask register is set to "1" 5-90 Selectively clear interrupt mask register for each "1" bit in x. The corresponding bit in the mask register is set to "0" 5-90 AOO-02 -<>- CIR A TO CHANNEL INDEX REGISTER 5-38 5-38 77 77 SCIM x ACI 77 CIA Clear A; Channel index register 77 JAA Last executed jump address JUMP ADDRESS TO A 77 IAPR 77 PAUS 77 77 77 77 PRP .TMAV SBJP SDL x ->- ->- AOO-02 A 5-40 Interrupt associated processor 5-113. Sense busy line s. 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 5- 8 7 Same as PAUS except real-time clock cannot increment during the pause PRIORITY PAUSE 5-88 Initiate memory request. If reply occurs within 5 usec, RNI @ P + 2; if not, RNI @ P + 1. Storage address is (B2) with (OSR) or zero appended. TEST MEMORY AVAILABILITY 5-81 Transfers system from Monitor State to Program State when next jump instruction is executed. SET BOUNDARY JUMP 5-112 Causes next LDA instruction to: 1. (M)-<>-A 2. Store 77777777 @ M SET DESTRUCTIVE LOAD 5-113 77 CRA Clear A; Condition register-<>- AOO-05 5-40 77 ACR AOO-05 5-40 Rev. F ->- Condition register Instruction Tables - 10 TABLE 1. OCTAL LISTING OF INSTRUCTIONS (Cont'd) Basic Mnemonic Address Field Octal Code Code 77 77 77 77 77 77 77 APF PFA AOS AIS OSA ISA SLS w,2 w,2 Instruction De scription Page No. AOO -11 to page file A TO PAGE FILE 5-39 Clear A, page file index PAGE FILE TO A ->- AOO-ll 5-39 AOO -0 2 -+ OSR A TO OPERAND STATE REGISTER 5-37 AOO-02 -+ ISR A TO INSTRUCTION STATE REGISTER 5-37 Clear A; OSR - A OO 02 OPERAND STATE REGISTER TO A 5-37 Clear A; ISR -AOO-02 INSTRUCTION STATE REGISTER TO A 5-37 Program stops if Selective Stop switch is on; upon re starting, RNI @ P + 1 5-24 77 SFPF Set floating point fault logic 5-91 77 SBCD Set BCD fault logic 5-91 77 DINT Disables interrupt control 5-89 77 EINT Interrupt control is enabled, allow s one more 5-89 instruction to be executed before interrupt 77 CTI Set Type In Beginning character addre ss must be preset in location 23 of register file and last character addre ss + 1 must be preset in location 33 of the file 77 CTO Set Type Out 77 UCS Unconditional stop. @P + 1 5-97 Upon restarting, RNI Instruction Tables - 11 5-24 Rev. E' TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS Mnemonic Basic Address Octal Field Code Code 77 ACI ACR 77 ADA, I 30 m,b ADAQ, I ADM 32 67 m,b r, B r , SI, s, B s ' S2 AEU 55 AlA 53 AIS 77 Instruction De scription AOO-02 ~ CIR A TO CHANNEL INDEX REGISTER AOO-05 to Condition register Add (M) to (A) ~ A 5-60 Add (M, M + 1) to (AQ) AQ Add fld A to fld C fld C 5-61 5-68 -,>- -,>- (A) b Page No. ->- 5-38 5-40 5-36 EU Add (A) to (Bb) -+ A 5- 33 AOO-02 -ISR A TO INSTRUCTION STATE REGISTER 5-37 ANA 17 Y Y 1\ (A) -A 5-73 ANA,S 17 Y Y 1\ (A) -- A, sign of y extended 5-73 ANI 17 y,b Y 1\ (Bb) _Bb 5-73 ANQ 17 y y 1\ (Q) ANQ,S 17 y y 1\ (Q) -- Q, sign of y extended AOS 77 APF 77 w,2 -+ 5-74 Q 5-74 AOO-02 -OSR A TO OPERAND STATE REGISTER 5-37 A OO - 1I -page file A TO PAGE FILE 5-39 AQA 53 Add (A) to (Q) -- A 5-32 AQE 55 (AQ) -EUEL 5-36 AQJ ,EQ 03 AQJ ,GE AQJ ,LT 03 03 m m m If (A) = (Q), RNI @ m, otherwise RNI @ P+I 5-46 If (A) ?(Q), RNI @ m, otherwise RNI @ P+I 5-46 If (A) «Q), RNI @ m, otherwise RNI @ P+I AQJ ,NE 03 m If (A) 5-46 t (Q), RNI @ m, otherwise RNI @ P+I ASE ASE,S ASG Rev. F 04 04 05 5-46 = (A), RNI @ P + 2, otherwise RNI @ P + 1. Lower 15 bits of A are used. 5-29 = (A), RNI @ P + 2, otherwise RNI @ P + 1, sign of y is extended 5-29 Y If Y Y If y Y If (A) ? y, RNI @ P + 2, otherwise RNI @ P+l Instruction Tables - 12 5-30 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Basic Address Code Octal Field Code ASG.S 05 y Instruction Description Page No. If (A) ?:. y, RNI @ P + 2, otherwise RNI @ P + 1, sign of y is extended 5-30 5-119 ATD 66 Translate ASCII fld A to BCD ATD.DC 66 Translate ASCII fld to BCD - fld C with delimiting character possibility AZJ .EQ AZJ ,GE AZJ, LT AZJ ,NE 03 03 03 03 CIA 77 CILO 77 m m m x If (A) P+1 = 0, If (A) P+1 ?:. 0, If (A) P+1 < 0, If (A) P+1 f 0, RNI ->- fld C 5-120 RNI @ m, otherwise RNI @ 5-45 RNI @ m, otherwise RNI @ 5-45 RNI @ m, otherwise RNI @ 5-45 @ m, otherwise RNI @ 5-45 Clear A; Channel index register ->-AOO-02 5-38 Lockout external interrupt on masked channels (x), until channel(s) is not busy 5-91 CINS 77 ch Interrupt mask and internal status to A 5-86 CLCA 77 x Clear the specified channel, but not external equipment. CLEAR CHANNEL ACTIVITY 5-94 Compares fld A to fld C, exits upon encountering f characters 5-79 CMP CMP.DC 67 67 r, B r , s, Bs S2 CON 77 x,'ch COpy 77 ch CPR,I 52 m,b CRA 77 Compares fld A to fld C, exits upon encountering f characters; delimiting character possibility If channel ch is busy, reject instruction, RNI @ 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 IIO channel ch to lower 12-bits of A, contents of interrupt mask register to upper 12-bits of A RNI @ P+1 (M) (A), RNI @ P+1 }(A) and (Q) are (Q) > (M), RNI @ P + 2 (A) ?:,(M) ?:. (Q), RNI @ P+3 unchanged > Condition register to AOO-05 Instruction Tables - 13 5-80 5-95 5-83 5-77 5-40 Rev. F TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Instruction Description Mnemonic Basic Address Code Octal Field Code Page No. Beginning character address must be preset in location 23 of register 5-97 file and last character addre ss + 1 must be pre set in location 33 of the file CTI 77 Set Type In CTO 77 Set Type Out CVBD 66 Convert binary fld A to BCD -fld C 5-116 CVDB 66 Convert BCD fld A to binary - fld C 5-115 DINT 77 Disable s interrupt control 5-89 DTA 66 Translate BCD fld A to ASCII -fld C 5-117 DTA,DC 66 r,Br, S2, m, Bm r, B r , S2 ,m, Bm Translate BCD fld A to ASCII - fld C with delimiting character possibility 5-118 5-62 m,Bm. Sl, s, Bs ) DVA,I 51 m, b (AQ)+ (M) ...... A, remainder ...... Q DVAQ,I 57 m,b (AQE) + (M,M + 1) ...... AQ and remainder with sign extended to E. Divide fault halts operation and program advances to next instruction 5- 63 EAQ 55 ECHA 11 z Z ...... A, lower 17 bits of A are used 5-26 ECHA,.s 11 z Z A, sign of z extended 5-26 EDIT 64 EINT (EuEL) -AQ 77 -i> 5-36 Fld A -fld C with COBOL type of editing specified by picture previously stored in fld C 5-149 Interrupt control is enabled. Allows one more instruction to be executed before interrupt 5-89 (EL) -Q 5-36 ELQ 55 ENA 14 y Clear A, enter y 5-25 ENA,S 14 Clear A, enter y, sign of y extended 5-25 ENI 14 Y y,b Clear Bb, enter y 5-25 ENQ 14 y Clear Q, enter y 5-25 Rev. H Instruction Tables - 14 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Basic Address Code Octal Field Code ENQ,S 14 y EUA EXS 55 77 x,ch FAD,I 60 m,b Page No. Instruction Description Clear Q, enter y, sign of yextended 5-25 (EU) -A Sense external status if "1" bits occur on status line s in any of the same positions as "1" bits in the mask, R NI @ P+l. If no comparison RNI @ P+2. Floating point addition of (M, M + 1) to (AQ) -- AQ 5-36 5-83 5- 65 FDV,I 63 m,b Floating point division of (AQ) by (M, M + 1) ->- AQ, Remainder with sign extended to E. 5-66 FMU,I 62 m,b Floating point multiplication of (AQ) and (M,M + 1) ~AQ 5-66 Fld A - fld C with editing specified by picture previously stored in fld; limited to specific types of editing to allow processing in a single scan. 5-147 m,b Floating point subtr action of (M, M + 1) from (AQ) -AQ 5-65 m Unconditional halt, RNI @ m upon restarting Add (A) to (Bb) ->- Bb. Sign of Bb extended prior to addition 5- 33 77 Interrupt associated processor 5-113 02 If (B b ) = 0, RNI @ P + 1; if (Bb) - 1 -+Bb; RNI @ m If (Bb) 0, RNI @ P + 1; if (B b ) + 1 ->- B . RNI @ m FRMT FSB,I HLT IAI IAPR IJD IJI 64 61 00 53 02 b m,b m,b b 5-24 f 0, (Bb) 5-44 b f 0, (B ) 5-43 INA 15 y Increase (A) by Y 5-27 INA,S 15 Increase (A) by y, sign of y extended 5-27 INAC, INT 73 Y ch (A) is cleared and a 6-bit character is transferred from a peripheral device to the lower 6 bits of A 5-106 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 I/O channel) 5-107 INCL 77 x INI 15 y,b Interrupt faults defined by x are cleared Increase (B b ) by y, signs of y and Bb extended Instruction Tables - 15 5-89 5-27 Rev. A TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Basic Address Code Octal Field Code Instruction Description Page No. 'INPC, INT,B, H,G 73 INPW, INT,B, N,G 74 ch,m, n Word Address is placed in bits 00-14, 12or 24-bit words are read from a peripheral device and stored in memory 5-100 INQ 15 Y Increase (Q) by y 5-27 INQ,S 15 Increase (Q) by y, sign of y extended 5-27 INS 77 Y x,ch Sense internal status if "1" bits occur on status line s in any of the same positions as "1" bits in the mask, RNI @ P + 1. If no comparison, RNI @ P + 2 5-85 Sense for interrupt condition; if "1" bits occur simultaneously in interrupt line s and in the interrupt mask, RNI @ P + 1; if not, RNI @ P + 2 5-84 Clear s I/O channel or search/ move control as defined by bits 00-07, 08, and 11 of x. 5-94 Clear A, ISR -+AOO-02 INSTRUCTION STATE REGISTER TO A 5-37 y,b If (Bb) = y, clear Bb and RNI @ P + 2; if (Bb) f. y, (Bb) - 1 ....: Bb, RNI @ P + 1 5- 31 Y If y = 0, RNI @ P+2, otherwise RNI @ P + 1 If y = (B b ), RNI @ P + 2, otherwise RNI @P + 1 5-28 If y = 0, RNI @ P + 2, otherwise RNI @ P + 1 5-30 INTS IOCL ISA 77 77 10 ISE 04 ISG ISG lSI JAA c,ch x 77 ISD ISE ch,r,s 04 05 05 10 y,b y y,b y,b 77 A 6- or 12 -bit character is read from a peripheral device and stored in memory at a given location 5-98 5-28 If (Bb) ? y, RNI @ P + 2, otherwise R~l @ P + 1 b ) = y, clear Bb and RNI @ P + 2; if If (B ) f. y, (Bb) + 1 -- Bb, RNI @ P + 1 5- 31 Last executed jump addre ss -- A JUMP ADDRESS TO A 5-40 bE 5-30 JMP,HI 70 m Jump if BDP condition register> 0 or + 5-42 JMP, LOW 70 m Jump if BDP condition register'::::: 0 or - 5-42 JMP, ZRO 70 m Jump if BDP condition register = 0 5-42 Rev. H Instruction Tables - 16 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Basic Address Octal Field Code Code Instruction Description Page No. LACH 22 r, 1 (R) _ A; load lower 6 bits of A 5-49 LBR 70 m 5-155 LCA,I 24 m,b Load BCR and restore BDP conditions from data at 'm' (M) ~A LCAQ,I 26 m,b (M) --A, (M + 1) -Q 5- 51 LDA,I 20 m,b (M) -- A 5-49 LDAQ,I 25 m,b 5-50 LDI,I 54 m,b LDL,I 27 m,b (M) -A, (M + 1) -Q b (M OO - 14 ) -B (M) A (Q) -A LDQ,I 21 m,b (M) .... Q 5- 51 LPA,I 37 m,b (M) A (A) -A 5-73 LQCH 23 r,2 (R) .... Q; load lower 6 bits of Q 5-52 MEQ 06 m,i (B1) - i .... B1; if (B1) negative, RNI @ P + 1; if (B1) positive, test (A) = (Q) 1\ (M); if true, RNI @ P + 2, if false, repeat sequence 5-50 5-52 5-50 MOVE, INT 72 S,r,s Move (S) characters from r to s 5-75 5-138 MTH 07 m) (B2) - i ... B2, if (B2) negative, RNI @ P + 1; if (B2) positive, test (A) ~ (Q) 1\ (M); if true, RNI @ P + 2; if false,repeat sequence 5-76 Multiply (A) by (M) -QA; lowest order bits of product in A 5-62 MUA,I 50 m,b MUAQ,I 56 m,b Multiply (AQ) by (M, M + 1) .... AQE 5-63 MVBF 64 r ,B r , Sl, s, B s ' S2 r, B r , h, s B s ' S'2 r, B r , s, B s ' S2 r, B r , SL s, Bs, S2 Move characters from fld A -- fld C; if fld C >fld A, blank fill 5-142 Move characters from fld A -- fld C according to parameters given 5-140 Move characters from fld A - fld C according to parameters given. Delimiting character possibility 5-141 Move characters from fld A -- fld C; if fld C >fld A, zero fill 5-143 Instruction Tables - 17 Rev. B MVE MVE.DC MVZF 64 64 64 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont 1 d) Mnemonic Basic Address Code Octal Field Code Instruction De scription Page No. Move characters from fld A -- fld C; suppre ss leading zeros 5-144 Move characters from fld A -- fld C; suppress leading zeros. Delimiting character po s sibili ty 5-145 77 Clear A; OSR -- AOO-02 OPERAND STATE REGISTER TO A 5-37 OTAC, INT 75 Character from lower 6 bits of A is sent to peripheral device ,(A) retained 5-109 OTAW, INT 76 Word from lower 12 bits or all of A (depending on type of I/O channel) sent to a peripheral device 5-110 Storage words disassembled into 6 or 12bit characters and sent to a peripheral device 5-102 MVZS MVZS.DC OSA OUTC, INT,B, 64 64 75 ch ch ch,r,s H OUTW, INT .B.::J PAK 76 PAUS 77 66 PFA 77 PRP 77 QEL 55 QSE 04 QSE.S QSG QSG.S Rev. B ch,m,n 04 05 05 x w,2 y y y y Words read from storage to peripheral device Pack 6-bit BCD fld A into 6-bit BCD fld C 5-104 5-121 Sense busy lines. If "1" appears on a line corre sponding 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 5-87 Clear A, page file index -AOO-ll PAGE FILE TO A 5-39 Same as PAUS except real time clock cannot increment during the pause PRIORITY PAUSE 5-88 (Q) -EL 5-36 If y = (Q), RNI @ P + 2, otherwise RNI @ P + 1; lower 15 bits of Q are used 5-29 If y = (Q), RNI @ P + 2, otherwise RNI @ P + 1, sign of y is extended 5-29 If (Q) ?:y ,RNI @ P + 2, otherwise RNI @ P+l 5-30 If (Q) ?:y, RNI @ P + 2, otherwise RNI @ P + 1, sign of y is extended 5-30 Instruction Tables - 18 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Basic Address Code Octal Field Code Page No. Instruction De scription RAD,I 34 RIS 55 Use (ISR) in addre ss relocation for operands RELOCATE TO INSTRUCTION STATE 5-112 ROS 55 Use (OSR) in addre ss relocation for operands. RELOCATE TO OPERAND STATE 5-112 P + 1 -+ M (address portion) RNI @ m + 1, return to m for P + 1 5-47 RTJ 00 m,b m Add (M) to (A) - (M) 5-60 SACH 42 r,2 SBA,I 31 m,b (AOO-05) ->- R (A) minus (M) SBAQ,I 33 m,b (AQ) minus (M, M + 1) ..... AQ 5- 61 SBCD 77 Set BCD fault logic 5- 91 SBJP 77 Transfers system from Monitor State to Program State when next jump instruction is executed. SET BOUNDRY JUMP 5-112 Subtract fld A from fld C 5- 69 SBM 67 SBR 70 SCA, I 36 SCAN, LR, EQ,DC 65 SCAN,LR NE, DC 65 SCAN, RL, EQ,DC 65 SCAN, RL, NE,DC 65 SCAN, LR, EQ 65 SCAN, LR, NE 65 m m,b r, B r , S2, SC 5-54 -+ A 5- 61 -+ fld C Store (BCR) and BDP conditions at 'm I for interrupt recovery 5-115 Where (M) contains a "1" bit, complement the corresponding bit in A 5-72 Scans fld A from left to right, stop on = condition. Delimiting character possibility 5-130 r , B r ,S 2 Scans fld A from left to right, stop on =t SC condition. Delimiting character possibility r, B r , S2, SC r, Br, S2, SC 5-132 Scans fld A from right to left, stop on = condition. Delimiting character possibility 5-134 Scans fld A from right to left, stop on =t condition. Delimiting character possibility 5-136 Scans fld A from left to right, stop on = condition 5-129 Scans fld A from left to right, stop on condition Instruction Tables - 19 =t 5-131 Rev.F TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Basic Address Code Octal Field Code SCAN, RL,EQ 65 SCAN~ 65 RL, NE SCAQ 13 Instruction De scription Page No. Scans fld A from right to left, stop on = condition 5-133 Scans fld A from right to left, stop on condition 5-135 =1= Shift (AQ) left end around until upper 2 bits of A are unequal. Re sigu~ K = k shif~ count. If b = 1, 2, or 3, K - B ; If b = 0, K IS discarded 5-59 5-56 SCHA,I 46 m,b (AOO-16) -(MOO-16) SCIM 77 x Selectively clear Interrupt Mask Register for each" 1" bit in x. The carre sponding bit in 5-90 the mask register is set to "0". SDL 77 SEL 77 SFPF 77 SHA 12 SHAQ SHQ Rev. A 13 12 Causes next LDA instruction to: 1. (M}-A 2. Store 77777777 @ M SET DESTRUCTIVE LOAD x,ch k, b k, b k, b 5-113 If channel ch is busy, read reject instruction from P + 1. If channel ch is not busy, a 12bit function code is sent on channel ch with 5-96 a function enable RNI @ P + 2 Set floating point fault logic 5-91 Shift (A). Shift count K=k + (Bb) (signs of k and Bb extended). If bit 23 of K="I", shift right; complement of lower 6 bits equals shift magnitude. If bit 23 of K = "0", shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off 5-57 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 equals shiftmagnitude. If bit 23 of K = "0", shift left and lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off 5-59 Shift (Q), Shift count K=k + (Bb) (signs of k and Bb extended). If bit 23 of K = "1", shift right, complement of lower 6 bits equals shift magnitude. If bit 2 3 of K = "0", shift left, lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off 5-59 Instruction Tables - 20 TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont 1 d) Mnemonic Basic Address Code Octal Field Code Instruction De scription Page No. SJ1 00 m If jump key 1 is set, jump to m 5-41 SJ2 00 m If jump key 2 is set, jump to m 5-41 SJ3 00 m If jump key 3 is set, jump to m 5-41 SJ4 00 m If jump key 4 is set, jump to m 5-41 SJ5 00 m If jump key 5 is set, jump to m 5-41 SJ6 00 m If jump key 6 is set, jump to m 5-41 SLS 77 SQCH 43 r,l (QOO-05) ..... R 5-55 SRCE. INT 71 SC. r, s Search for equality of scan character SC in a field beginning at location r until an equal character is found, or until characte r location s is reached. 5-125 Same as SRCE except search condition is for inequality 5-127 Where (M) contains a responding bit in A to 5-72 SRCN, INT 71 SSA,I 35 SSH SSIM 10 77 Program stops if Selective Stop switch is on; 5-24 upon re starting RNI @ P + 1 SC,r, s m,b m x 11111 bit, set the cor- 11111 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 5-57 Selectively set interrupt mask register for each 11111 bit in x. The corresponding bit in the mask register is set to 11111 5-90 STA,I 40 m,b (A) - (M) 5-53 STAQ,I 45 m,b (AQ) ..... (M, M + 1) 5-54 STI,I 47 m,b (Bb) - (MOO-14) 5-56 STQ,I 41 m,b (Q) - (M) 5-55 SWA,I 44 m,b 5-56 TAl 53 b TAM 53 v (A OO - 14 ) ..... (MO O-14) (A OO - 1 4) _B b (A) -v 5-34 TIA 53 b Clear (A), (Bb) ..... A OO - 1 4 5-33 TIM 53 v,b 5-35 TMA 53 v (Bb) ..... v OO - 14 (v) -A Instruction Tables - 21 5-33 5-34 Rev.F TABLE 2. ALPHAMNEMONIC LISTING OF INSTRUCTIONS (Cont 1 d) Instruction Description Mnemonic Basic Address Code Octal Field Code TMAV 77 Page No. Initiate memory request. If reply occurs within 5 usec, RNI at P + 2; if not, RNI at P + 1. Storage address is (B2) with (OSR) or zero appended. TEST MEMORY AVAILABILITY 5-81 (vOO-14) - Bb 5- 35 TMI 53 TMQ 53 v (v) ~Q 5-34 TQM 53 v (Q) - v 5- 34 TST 67 r, B r , TSTN ues 67 77 UJP, I UPAK 01 66 XOA 16 TestfldA,+, -, or 0 5-82 Sl r, B r , Sl Test fld A for numeric 5-82.0 Unconditional stop. Upon restarting RNI @ P + 1 5-24 m, b Unconditional jump to M. 5-41 m, B m , Unpack 4-bit BCD fld A into 6-bit BCD s, B s , S2 fld C 5-122 y v (A) -A, y 5-71 XOA,S 16 Y XOI 16 y,b XOQ 16 Y XOQ,S 16 Y ZADM 67 Rev. E y v (A) -A, sign of y extended b y v (Bb) _B y v (Q) ~Q y v (Q) ~ Q, sign of y extended Clear fld C; fld A - fld C, right justify Instruction Tables - 22 5-71 5-71 5-71 5-71 5-146 TABLE 3. Function Arithmetic FUNCTION LISTING OF INSTRUCTIONS Mnemonic Code Instruction De scription Page No. ADA,I Add (M) to (A) -- A 5-60 ADAQ,I Add (M,M + 1) to (AQ) -AQ 5- 61 AlA Add (A) to (Bb) ..... A 5-33 ADM Add fld A to fld C -fld C 5- 68 AQA Add (A) to (Q) -- A 5-32 AQE (AQ) -(EUE L ) (AQ) + (M) ~ A, Remainder 5-36 DVA,I ~ Q 5-62 DVAQ, I (AQE) + (M, M + 1) -+ AQ and remainder with sign ~xtended to E. Divide fault halts operation and program advances to next 5- 63 instruction FAD, I Floating point addition of (M, M + 1) to (AQ) -AQ 5-65 FDV,I Floating point division of (AQ) by (M, M + 1) 5-66 - AQ, remainder with sign extended to E FMU,I Floating point multiplication of (AQ) and (M,M + 1) -AQ 5- 66 FSB,I Floating point subtraction of (M, M + 1) from (AQ) -+ AQ 5- 65 IAI Add (A) to (Bb) ->- Bb. prior to addition 5- 33 Sign of Bb extended INA Increase (A) by y 5-27 INA,S Increase (A) by y, sign extended 5-27 INI Increase (Bb) by y, signs of y and Bb are extended 5-27 INQ Increase (Q) by Y 5-27 INQ,S Increase (Q) by y, sign extended 5-27 MUA,I Multiply (M) by (A) - QA. bits of product in A Lowest order 5-62 MUAQ,I Multiply (AQ) by (M,M + 1) -AQE 5- 63 RAD,I Add (M) to (A) 5-60 SBA,I (A) minus (M) -- A 5- 61 SBAQ,I (AQ) minus (M ,M + 1) -- AQ 5-61 SBM Subtract fld A from fld C -- fld C 5- 69 ->- (M) Instruction Tables - 23 Rev. A TABLE 3. Function Character Operation FUNCTION LISTING OF INSTRUCTIONS (Cont ' d) Mnemonic Code Page No. ATD Translate ASCII fld A to BCD -- fld C 5-119 ATD,DC Translate ASCII fld A to BCD -- fld C with delimiting character possibility 5-120 CMP Compares fld A to fld C, exits upon encountering t- characters 5-79 CMP,DC Compares fld A to fld C, exits upon encountering t- characters; delimiting character possibility 5-80 CVBD Convert binary fld A to BCD -fld C 5-116 CVDB Convert BCD fld A to binary -fld C 5-115 DTA Translate BCD fld A to ASCII -fld C 5-117 DTA,DC Translate BCD fld A to ASCII --... fld C with delimiting character possibility 5-118 ECHA ECHA,S EDIT Rev. B Instruction Description z -AOO- 1 6 z -+ A sign extended 5-26 Fld A -+ fld C with COBOL type of editing specified by picture previously stored in fld C 5-149 5-26 FRMT Fld A -+ fld C with editing specified by picture previously stored in fld; limited to specific types of editing to allow processing in a single scan. 5-147 LACH (R) -- AOO-05 5-49 LQCH (R) -QOO-05 5-52 MVBF Move characters from fld A -fld C; if fld C >fld A, blank fill ~-142 MOVE, INT Move S characters from r to s ~-138 MVE Move char acte r s from fld A -. fld C according to parameters given 5-140 MVE,DC Move characters from fld A -fld C according to parameters given. Delimiting character possibility 5-141 MVZF Move characters from fld A -fld C; if fld C >fld A, zero fill Instruction Tables - 24 5-143 TABLE 3. Function Character Operation (Cont'd) FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code MVZS MVZS.DC PAK Instruction De scription Page No. Move characters from fld A -->-fld C; suppress leading zeros 5-144 Move characters from fld A -->-fld C; suppress leading zeros. Delimiting character possibility 5-145 Pack 6-bit BCD fld A into 4-bit BCD fld C 5-121 5-54 SACH SCAN,LR, EQ,DC Scans fld A from left to right, stop on == condition. Delimiting character possibility 5-130 SCAN,LR, NE, DC Scans fld A from left to right, stop on f condition. Uelimiting character po s sibility 5-132 SCAN,RL, EQ,DC Scans fld A from right to left, stop on == condition. Delimiting character possibility 5-134 SCAN,RL, NE, DC Scans fld A from right to left, stop on f condition. Delimiting character possibility 5-136 SCAN,LR, EQ Scans fld A from left to right, stop on condition. SCAN,LR NE Scans fld A from left to right, stop on f condition SCAN,RL, EQ Scans fld A from right to left, stop on condition == 5-133 SCAN,RL, NE Scans fld A from right to left, stop on f condition 5-135 SCHA,I (A OO-16) -->- (MO O- 1 6) (QOO-05) -->- (R) Unpack 4-bit BCD fld A into 6-bit BCD fld C 5-56 ZADM Clear fld C; fld A -- fld C, right justify 5-146 AQJ.EQ If (A)==(Q),RNI @ m,otherwise RNI@P+l 5-46 AQJ .GE If (A) ~ (Q), RNI@m,otherwise RNI @ P+l 5-46 AQJ,LT If (A)«Q),RNI@m,otherwiseRNI@P+l 5-46 AQJ,NE If (A) SQCH UPAK Decision == 5-129 f (Q), RNI@ m,otherwise RNI@P+l Instruction Tables - 25 5-131 5-55 5-122 5-46 Rev. B TABLE 3. Function Decision (Cont'd) FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code ASE If y = (A), RNI @ P + 2, otherwise RNI @ P + 1. Lower 15 bits of A are used 5-29 ASE.S If y = (A), RNI @ P + 2, otherwise RNI @ P + 1. Sign of y is extended 5-29 ASG If (A) ?:y, RNI @ P + 2, otherwise @ P+ 1 5-30 ASG.S If (A) ?: y, RNI @ P + 2, otherwise RNI @ P + 1. Sign of y is extended 5- 30 AZJ ,EQ If (A) RNI @ m, otherwise RNI @ P+1 5-45 AZJ .GE If (A) ?: 0, RNI @ m, otherwise RNI @ P+1 5-45 AZJ,LT If (A) <0, RNI @ m, otherwise RNI @ P+1 5-45 AZJ,NE If (A) f 0, RNI @ m, otherwise RNI @ P+1 5-45 CPR,I (M) > (M) (Q) > (M) (A) ?: (M) ?: (Q) IJD IJI = 0, RNI @ P + 1} RNI@P+ 2 RNI @P+ 3 (A) & (Q) arE unchanged 5-77 If (Eb) = 0, RNI @ P+1; if (Eb) f 0, (Bb) - 1 -Bb, RNI @ m 5-44 b If (Eb) = 0, RNI @ P+1; if (B ) 1- 0, (Bb) + 1 -+B b , RNI@m 5-43 ISD If (Eb) = y, clear Bb and RNI @ P + 2; if Bb 1-y,(Bb)-1-+Bb ,RNI@P+1 5-31 ISE If y = 0, RNI @ P+2, otherwise RNI @ P +1 5-28 ISE If y = (Bb), RNI @ P+2, otherwise RNI @ P+1 5-28 ISG Ify = 0, RNI @P+2, otherwise RNI @ P+1 5-30 ISG If (Bb) ?: y, RNI @ P+2, otherwise RNI @ P + 1 If {E b ) = y, clear Bb and RNI @ P+2; if (BD) 1- y, (Bb) + 1 -Bb, RNI @ P+1 lSI 5-30 5-31 SRCE,INT Search for equality of scan character SC in a field beginning at location r until equal character is found, or until character 10-: cation s is reached 5-125 SRCN.INT Same as SRCE except search condition is for inequality 5-127 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 5-57 SSH Rev. H Page No. Instruction De scription Instruction Tables - 26 TABLE 3. Function Decision (Cont Id) FUNCTION LISTING OF INSTRUCTIONS (Contld) Instruction De scription Mnemonic Code MEQ MTH PAUS PRP QSE (Bl) - i -- Bl; if (B1) negative, RNI @ P+1; if (B1) positive, test (A) ~ (Q) A (M), if true RNI @ P+2, if false, repeat sequence 5- 75 (B 2 )-i - (B2); if (B2) negative, RNI @ P+1; if (B2) positive, test (A) ~ (Q) 1\ (M); if true, RNI @ P+2; if false, repeat sequence 5-76 Sense busy lines. If IT 111 appears on a line corre sponding to "111 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 5-87 Same as PAUS except real-time clock cannot increment during the pause PRIORITY PAUSE 5- 88 If y = (Q), RNI @ P+2; otherwise RNI @ P+1. QSE,S Executive Mode Page No. Lower 15 bits of Q are used 5-29 If y = (Q), RNI @ P+2; otherwise RNI @ P+1. Sign of y is extended 5-29 QSG If(Q)~y, QSG,S If (Q) ~ y, RNI @ P+2; otherwise RNI @ P+1. Sign of y is extended 5-30 TST Test fld A, +, -, or 0 5-82 ACI AOO-Q2 - CIR ATOCHANNEL INDEX REGISTER 5-38 ACR AIS RNI@P+2; otherwiseRNI@P+1 5-30 AOO-05- CR A TO CONDITION REGISTER AOO-02 - ISR A TO INSTRUCTION STATE REGISTER AOS AOO-02 - OSR A TO OPERAND STATE REGISTER APF AOO-11- page file A TO PAGE FILE Clear A; channel index register - A OO - 02 Clear A; condition register - AOO-05 Clear A; ISR - AOO-02 INSTRUCTION STATE REGISTER TO A Last executed jump address - A JUMP ADDRESS TO A Clear A; OSR- AOO-02 OPERAND STATE REGISTER TO A CIA eRA ISA JAA OSA PFA Clear A, page file index - AOO- 11 PAGE FILE TO A Instruction Tables - 27 5-40 5-37 5-37 5-39 5-38 5-40 5-37 5-40 5-37 5-39 Rev. F TABLE 3. Function FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code Executive Mode (Cont'd) RIS ROS SBJP SDL TMAV Input/ Output CLCA Instruction Description Page No. Use (ISR) in address relocation for operands. RELOCATE TO INSTRUCTION STATE 5-112 Use (OSR) in address relocation for operands. RELOCATE TO OPERAND STATE 5-112 Transfers system from Monitor State to Program State when next jump instruction is executed. SET BOUNDARY JUMP 5-112 Causes next LDA instruction to: 1. (M) -+ A 2. Store 77777777 @ M SET DESTRUCTIVE LOAD 5-113 Initiate memory reque st. If reply occurs within 5 usec, RNI @ P+2; if not, RNI @ P+1. Storage address is (B2) with (OSR) or zero appended TEST MEMORY AVAILABILITY 5-81 Clear the specified channel, but not external equipment. CLEAR CHANNEL ACTIVITY 5-94 CON If channel ch is busy, read reject instruction from P+l. If channel ch is not busy, 12-bit connect code sent on channel ch with connect enable, RNI @ P+2 5-95 COpy External status code from I/O channel ch to lower 12-bits of A, contents of interrup_t mask register to upper 12-bits of A. RNI @ P+l 5-83 CTI Set Type In CTO Set Type Out EXS Sense external status if "1" bits occur on status lines in any of the same positions as "1" bits in the mask, RNI @ P+l. If no comparison, RNI @ P + 2. ... Rev. F Beginning character address must be preset in location 23 of register file and last character address + 1 must be preset in location 33 of the file. 5- 9 7 Instruction Tables - 28 5-83 TABLE 3. Function Input/ Output (Cont'd) FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code INAC,INT Instruction De scription (A) is cleared and a 6-bit character is transferred from a peripheral device to the lower 6 bits of A 5-106 INAW,INT (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 I/O channel) INPC,INT B,H,G Page No. A 6 or 12-bit character is read from peripheral device and stored in memory at a given location 5-107 5-98 INPW,INT, Word address is placed in bits 00-14; 12B,N,G or 24-bit words are read from a peripheral device and stored in memory 5-100 IOCL Clears I/O channel or search/move control as defined by bits 00-03, 08,and 11 of x. Bits 04-07, 09,and 10 are not used 5-94 OTAC,INT Character from lower 6 bits is sent to peripheral device, (A) retained Word from lower 12 bits or all of A (depending on type of I/O channel) sent to a peripheral device 5-110 OUTC, INT,B,H Storage words assembled into 6 or 12-bit characters and sent to a peripheral device 5-102 OUTW, INT.B.N Words read from storage to peripheral device 5-104 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 5-96 Lockout external interrupt on masked channels (x), until channel{s) is not busy. 5-91 CINS Interrupt mask and internal status to A 5-86 DINT Disable interrupt control 5-89 EINT Interrupt control is enabled, allows one more instruction to be executed before interrupt occurs 5-89 IAPR Interrupt associated proce ssor 5-113 INCL Interrupt faults defined by x are cleared 5-89 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. 5-85 OTAW, INT Interrupt 5-109 CILO Instruction Tables - 29 Rev. A TABLE 3. Function Interrupt (Cont'd) Jumps and Stops FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code Sense for interrupt condition; if "I" bits occur simultaneously in interrupt lines and in the interrupt mask, RNI @ P+1; if not, RNI @ P+2 INTS 5-84 LBR Load BCR and restore BDP conditions from 5-155 data at 'm' SBR Store (BCR) and BDP conditions at 'm' for interrupt recovery 5-155 SBCD Set BCD fault logic 5-91 SCIM Selectively clear interrupt mask register for each "I" bit in x. The corresponding bit in the mask register is set to "a". 5-90 SFPF Set floating point fault logic 5-91 SSIM Selectively set Interrupt mask register, for each "I" bit in x. The corre sponding bit 5-90 in the mask register set to "I". HLT Unconditional halt; RNI @ m upon restarting 5-24 JMP ,HI Jump if BDP condition register> a or + 5-42 JMP, LOW Jump if BDP condition register < a or JMP, ZRO Jump if BDP condition re gister == RTJ P+1 -m (address portion), RNI @ m+1, return to m for P+1 5-47 SJ1 If jump key 1 is set, jump to m 5-41 SJ2 If jump key 2 is set, jump to m 5-41 SJ3 If jump key 3 is set, jump to m 5-41 SJ4 If jump key 4 is set, jump to m 5-41 SJ5 If jump key 5 is set, jump to m 5-41 SJ6 If jump key 6 is set, jump to m 5-41 SLS Program stops if Selective Stop switch is on; upon restarting, RNI @ P+l 5-24 Unconditional stop. @ P+l 5-24 UCS UJP,I Rev. B Page No. Instruction Description a 5-42 5- 42 Upon restarting, RNI Unconditional jump to m Instruction Tables - 30 - 5-41 TABLE 3. Function Logical Operations FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code Page No. ANA Y 1\ (A) -- A 5-73 ANA,S Y 1\ (A) -- A, sign of y extended y A (Bb) __ Bb 5-73 5-74 ANQ, S Y A (Q) -- Q y A (Q) -- Q, sign of y extended LDL, I (M) A (Q) -- A 5-50 LPA,I ,(M) A (A) -- A 5-73 SCA,I Where (M) contains a "1", complement the corresponding bit in A 5-72 Where (M) contains a "1" bit, set the corresponding bit in A to "1" 5-72 XOA Y 5-71 XOA,S y v (A) -- A, sign of y -extended XOI y XOQ yV(Q)-+Q 5-71 XOQ,S Y V (Q) 5-71 SCAQ Shift (AQ) left end around until upper 2 bits of A are un~qual. Residue K = k-shift count. If b= 1, 2, or 3, K -+ Bb; if b = 0, K is discarded Shift· (A). Shift count K=k+(B b ) (signs of k and Bb extended). If bit 23 of K= "1", shift right; complement of lower 6 bits e:1uals shift magnitude. If bit 23 of K = "0', shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off 5-57 SHAQ Shift (AQ) as one register.:. Shift count K = k + (Bb) (signs of k and B U extended). If bit 23 of K = "1", shift right; complement of lower 6 bits equals shift magnitude. If bit 23 of K = "a", shift left; lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off 5 - 59 SHQ Shift (Q). Shift count K = k + (Bb) (signs of k and Bb extended). If bit 23 ofK = "1", shift right; complement of lower 6 bits equals shift magnitude. If bit 23 of K = "a", shift left;lower 6 bits equal shift magnitude. Left shifts end around; right shifts end off 5- 5 9 ANI ANQ SSA, I Shifts Instruction Description SHA V (A) -- A v (Eb)-+ Bb -+ Q, sign of y exten0ed Instruction Tables - 31 5-73 5-74 5-71 5-71 5-59 Rev. A TABLE 3. Function Shifts (Cont'd) Transfers FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code Instruction Description 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 5-57 AEU (A) - 5-36 EAQ (E ELQ (E L ) - SSH EU ) - AQ 5-36 Q 5-36 ENA Clear A, enter y 5-25 ENA,S 5-25 ENI Clear A, enter y, sign extended Clear B b , enter y ENQ Clear Q, enter y 5-25 ENQ,S Clear Q, enter y, sign extended 5-25 EUA (EU) - A 5-36 LCA,1':' (M) - A 5-50 U E L - 5-25 LCAQ,1':' (M) - A, (M + 1)- Q 5-51 LDA,I (M) - A 5-49 LDAQ, I (M) - A, (M + 1) - Q b (M OO - 14 ) - B (M) - Q 5-50 5-52 MOVE, INT Move S characters from r to s 5-138 QEL (Q) - EL 5-36 STA, I (A) - (M) 5-53 STAQ, I (AQ) - (M, M + 1) (B b ) - (M OO - 14 ) (Q) - (M) LDI, I LDQ, I STI, I STQ, I SWA, I 5-51 5-54 5-56 5-55 (A OO - 14 ) - (M OO - 14 ) (A OO - 14 ) - Bb 5-56 TAM (A) - 5-34 TIA Clear (A), (Bb) - AOO-14 b (B ) - vOO-14 TAl TIM v ':' Requires additional operation prior to transfer. Rev. A Page No. Instruction Tables - 32 5-33 5-33 5-35 TABLE 3. Function Transfers (Cont'd) FUNCTION LISTING OF INSTRUCTIONS (Cont'd) Mnemonic Code TMA TMI Instruction Description (v) -+ A TMQ (vOO-14) (v) -+ Q TQM (Q) -+ Page No. 5-34 -+ B b v instruction Tables - 33 5-35 5-34 5-34 Rev. A INDEX C register, 1-6 display, 7-1, 7-2 CR, see Condition register Central Processor Unit (CPU), 1-3 internal organization, 1- 5 operation in Executive Mode, 1- 9 module location, 1- 2 Channel, see Input / Output Channel Index register, 1-7, 5-3 Character addressing, 5-4, 5-5 designators, 1-5 modes, 2-4, 2-5 set, A-I CIR, see Channel Index register COBOL, 1-1, 6-3, 6-4 Coefficient, B- 8 COMPASS, 6-3, 6-4, 6-5 Condition register, 5-3 Connect, 3-4, 3-5, 5-95.0, 5-95.1 Console, 1-4, 7-1 Constants, C-4, C-5 Conversion tables, BCD / ASCII, A - 3 Octal-Decimal Integer, C-6 Octal-Decimal Fraction, C-I0 Conversions, address, 5-5 Fixed Point/Floating Point, B-13 procedure, B-5 A register, 1-5 display, 7-1, 7-2 manual entry, 7 - 12 Access keyboard, 7-2, 7-9, 7-10 Accummulator, see A register Active Digit indicator, 7-2 Adapt, 6-6, 6-8 Address modification, 5-6 examples, 5-9 Addressing, 2-5 character, 5-4, 5-5 conversion, 5-5 Direct, 5-7 Indirect, 5-8, 5-9 modes 2-4 2-5 5-7 relocation, 'E-3 ' word, 5-4, 5-5 see also Indexing, Address Modification ALGOL, 6-3 Applications software, 6-6 Arithmetic, BCD, F-4 functions, F-4 interrupt, 4-2, 4-8 Overflow fault, 4-2 Reference information, B-1 register, see A register ASCII, F-3 conversion table, A- 3 Associated Processor interrupt, 4-3, 4-7, 4-8 Auto Dump, 3-7, 4-4 address protection, 2-6 execution, 7 - 16 switch description, 7-7 Auto Load, 3-7, 4-4 addres s protection, 2 - 6 execution, 7-16 switch description, 7-7 B~ckgrounding, 6- 2 registers, 1-6, 5-6 display, 7-1, 7-2 BCD, F-3 conversion table, A-3 fault, 4-2 internal, external codes , A-I word and character format, F-5 BCR, see Business Data Processor Condition register Binary number system, B-1 Block control, 1-9, 2-8, 7-19 priority, 1-10 s canning pattern, 1-11 Breakpoint switch, 1- 9, 7-11 examples, 7-17, 7-18 Business Data Processor, Condition register, 1-14, 5-3 description, 1-4 instruction format, 5-6 instruction list, 1-13 Mode switch, 7-8 trapped instructions, 4- 6 B Index-l DC, see delimiting character Data, bus, 1-8, 7-19, 7-22 Bus register, 1-8 entry, 7-2 Interchange Display, 7-4 processing, F-l Processing Package, 6-3, 6-5 Decimal/Binary position table, C-2 Decimal/Octal conversion, procedures, B-5 table, C-6 Delimiting, 1-4, F-l character, 5-2, 5-6 Divide fault, 4- 2 interrupt code, 4-10 priority, 4-8 Division, binary, B-4 Floating Point, B- 9 Double Precision Arithmetic, B-8 E Bit, see Exclusion bit E register, 1-6, 4-2, 7-10 Emergency Off switch, 7-1, 7-9, 7-12 Exclusion bit, 4-4, E-I0 Executive Mode, 1-7 addressing, 2-5 description, 1- 9 interrupt, 4-1, 4-3 Rev. C Monitor State, E-l, E-6 Program State, E-l, E- 6 switch, 7-7 Exponent, Fault, 4-2, 4-8, 4-10, B-13 floating point, B- 9 Trapped, 5-11 Interface signals, 3-3, 7-8 parity, 1-13 Internal organization, 1-5 Interrupt, clearing, 4-9 codes, 4-10 conditions, 4- 2 lines, 3-3 Mask register, 4-10, 4-11 priority, 4-8 processing, 4-9, 4-10 sensing, 4- 9 system information, 4-1 F register, 1-7, 1-9 display, 7-1, 7-2 Fixed Point Arithmetic, B- 8 Floating Point, arithmetic, B- 9 fault, 4-2, 4-8, 4-10, B-13 module, 1-4 E register, 1-6 FORTRAN, 6-3 Function, 3-4, 3-5, 5-96.0, 5-96.1 codes, see instruction Jump, switches, 7-7 see instructions ISR, see Instruction State register illegal Write, 2-5 indicator, 7 - 6 interrupt, 4-1, 4-4, 4-5, 4-6, E-I0 Indexing, "examples, 5-9 see address modification Index registers, 1-6, 1-14, 5-2, 5-6, 5-7 Indirect Addressing, parameters, 5-1 also see addressing Input/Output, ' channels, 3-1, 3-4 disk, 6-2 interface signals, 3-3 interrupts, 4-1, 4-3 modules, 1-3 parity, 1-12, 1-13, 3-4 software, 6-5 system description, 3-1, 3-2 Instruction State register, 1-7, 2-5 display, 7 -1, 7 - 3 Instructions, 5-1 Arithmetic, 5- 60 Character Search, 5-124 Condition Test, 5-81 Conversion, 5 -114 Enter, 5-25 execution times, 5-19 formats, 5-4, 5-6, D-l Halt and Stop, 5-24 Increase, 5-27 Input/Output, 5-92 Inter-Register Transfer, 5-32 Interrupt, 5-89 Jump, 5-41 list (BDP), 1-13 Load, 5-49 Logical, 5-70 Masked Search and Compare, 5-75 Move, 5-137 Multiprocessing Control, 5 -113 No- Operation, 5-18 parameters, 5-1 Pause, 5-87 Relocation Control, 5 -112 Sensing, 5-83 Shift and Scale, 5-57 Skip, 5-28 Store, 5-53 synopsis and index, 5-12 Rev. C Languages, 6-3, 6-4, 6-5 Last Jump Address switch, 7-8 Library tape, 6-1, 6-2 Loudspeaker, 7-12 MCS, see storage MSIO, I-I, 6-6 MSOS, 6-1, 6-2 Main Control, 1- 6, 2 - 8 Manual interrupt, 4-1 Mass Storage COBOL, 6-3, 6-4 Mass Storage SORT, 6-6, 6-7 MASTER, I-I, 6-1, 6-2 Meters, elapsed time, 7-24 storage control, 2-3 Modules, 1-2, 1-3, 2-5 Modulus, B-1 Monitor State, 1- 9, 4-1, 4-4, 4-5, E-l indicator, 7-5 Multiplication, binary, B-4 fixed point, B-8 floating point, B-9 Multiprogramming, 1-1 module, 1-2, 1-4, 2-5, E-l No-Operation instructions, 4-6, 5-18 Non-Executive Mode, 1-9, 2-5, 3-7, 4-4 description, 1- 9 trapped instructions, 4-5 Normalizing, B-13 Number Systems, B-1 OSR, see Operand State register Octal arithmetic matrices, C-3 Octal number system, B- 2 Operand State register, 1-7 application, E-2, E-4, E-5 display, 7 - 3 Operating systems, 6-1, 6-2 Overflow fault, 4-2, B-13 P register, 1-6, 2-5 display, 7-1, 7-2 PIF, see Page Index File Page, Index File, E-7 Index-2 S register, 1-8, 2-1 Index registers, E-7 Length (PL), E-12 memory, 2-5, E-3 Partial (PP) , E-12 structure, E-3 Zero, E-14 Parameters, see instructions Parity, 1-12 Error indicator, 7-4, 7-6 Error interrupt, 4-1, 4-4, 4-5, 4-6 Error signal, 3-5 Interrupt switch, 7-7 I/O, 1-13, 3-4, 3-5, 3-6 storage, 1-12, 2-4 Stop switch, 7-7 Peripheral equipment, 1-14 PERT, 6-6, 6-7 Power Control Panel, 1-5 Powerfail interrupt, 4-1, 4-7 Program, Address Group, E-3 protection, 2-7 State, see Monitor State SCOPE Real-Time, 6-1, 6-2 Utility Routines, 6-1, 6-2 Search, F-3 Search/Move interrupt, 4- 3 codes, 4-10 priority, 4-8 SIPP, 6-6 Software, 6- 1 SORT, 6-6 Stacked jobs, 6- 2 Status, display, 7-1, 7-4 Storage, 2-1 access switches, 7 -11 addressing, 2- 5 Control panel, 2 - 2 modules, 1-3, 2-1 module photographs, 2-2, 2-3 parity, 1-12 parity error, 4- 4 protection, 2- 5 registers, 1-8, 2-1 sharing, 2 - 8 word, 2-4 Switches, see console Q register, 1-5 display, 7 -1, 7 - 2 REGINA-I, 6-6, 6-7 Radix, B-1 Read next instruction (RND, 5-11 Real-Time Clock, 1-10, 1-11, 1-12 interrupt, 4-3, 4-8, 4-10 Real-Time SCOPE, 6-1, 6-2 Register File, 7-19 Assignments, 1-10 breakpoint operation, 7 -12, 7 -17 des cri ption, 1- 9 Registers, abbreviations, 5-3 description, 1-5 Relocation, 2-5, 3-7, E-1 Report Generator, 6-3, 6-5 RESPOND/MSOS, 6-6 Rounding, B-12 Time-Sharing, 1-1, 6-2, E-1 Trapped instructions, 4-6, 5-11 interrupts, 4-6, 4-7 Typewriter, 7-1, 7-19 codes, 7-23 control switches, 7-19, 7-21 Underflow fault, 4-2, B-13 Word Addressing, see Addressing Word format, 1-5 Write, 3-4, 3-5 Z register, 1-8, 2-1 S bus, 1-8, 2-5 Index- 3 Rev. F COMMENT SHEET CONTROL DATA 3300 COMPUTER SYSTEM REFERENCE MANUAL Pub. No. 60157000 FROM NAME: _____________________________________________________________ BUSINESS __________________________________________________________ ADDRESS: COMMENTS: (DESCRIBE ERRORS, SUGGESTED ADDITION OR DELETION AND INCLUDE PAGE NUMBER, ETC.) w Z .J (!) Z o .J
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 Create Date : 2003:02:17 19:03:20Z Creator Tool : g4pdf Modify Date : 2018:05:07 15:19:54-07:00 Metadata Date : 2018:05:07 15:19:54-07:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Format : application/pdf Document ID : uuid:17904a13-3ed0-ab44-b548-81211b05c585 Instance ID : uuid:46e78c0d-35d8-1e41-bd5b-613613f4b983 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 374 Creator : g4pdfEXIF Metadata provided by EXIF.tools