Digital PDFs
Documents
Guest
Register
Log In
DEC-09-I2AA-D
July 1968
90 pages
Original
2.9MB
view
download
Document:
KE09A
Order Number:
DEC-09-I2AA-D
Revision:
Pages:
90
Original Filename:
http://bitsavers.org/pdf/dec/pdp9/DEC-09-I2AA-D_KE09A_Jul68.pdf
OCR Text
INSTRUCTION MANUAL EXTENDED ARITHMETIC ELEMENT KE08A DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASSACHUSETTS D EC-09-I2AA-D INSTRUCTION MANUAL KE08A EXTENDED ARITHMETIC ELEMENT July 1968 DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASSACHUSETTS Copyright 1968 by Digital Equipment Corporation CONTENTS CHAPTER 1 INTRODUCTION 1.1 Purpose 1-1 1.2 Related Documents 1-1 1.3 Power Requirements 1-1 1.4 Engineering Drawings and References 1-1 1.5 Spec i fi cat ions 1-2 1.5. 1 Functional Characteristics 1-2 1.5.2 Operating Characteristics 1-2 CHAPTER 2 INSTALLATION AND OPERATION 2. 1 Installation 2-1 2.2 Manual Controls and Indicators 2-1 2.3 Programming Considerations 2-1 CHAPTER 3 PRINCIPLES OF OPERATION 3. 1 Instruction Fetch and Op Code Decoding 3-1 3.2 EAE Command Decoding 3-1 3.3 Timing and Flow 3-2 3.4 Setup Instructions 3-2 3.5 Shift Instructions 3-9 3.6 Normal ize Instructions 3-21 3.7 Multiply Instructions 3-24 3.8 Divide Instructions 3-33 3.8. 1 DIV(S) Instructions 3-34 3.8.2 IDIV(S) Instruction 3-45 3.8.3 FRDIV(S) Insi'ruction 3-46 3.8.4 Divide Overf'-low 3-46 3.9 EAE Instruction Development 3-48 iii CONTENTS (Cont) Page CHAPTER 4 MAINTENANCE 4. 1 General Maintenance 4-1 4.2 Maintenance Program Tapes 4-1 4.3 Replaceable Parts 4-1 CHAPTER 5 ENGINEERING DRAWINGS 5. 1 Signal Mnemonic Index 5-1 5.2 Drawing List 5-2 ILLUSTRATIONS 3-1 EAE Timing 3-3 3-2 LRS, LRSS Register Manipulation (One Position) 3-13 3-3 LLS, LLSS Register Manipulation (Two Positions) 3-19 3-4 ALS, ALSS Register Manipulation (Three Positions) 3-20 TABLES 2-1 Operating Controls and Indicators 2-1 2-2 EAE Instructions 2-2 2-3 EAE Operation Times 2-5 3-1 EAE SETUP Instruction Format 3-4 3-2 OSC Functions 3-4 3-3 OMQ Functions 3-5 3-4 CMQ Functions 3-6 3-5 LACS Functions 3-6 3-6 LACQ Functions 3-7 3-7 ABS Funct ions 3-7 3-8 C LQ Funct ions 3-8 3-9 LMQ Funct ions 3-8 3-10 GSM Functions 3-9 3-11 EAE Sh ift Instruction Format 3-10 3-12 LRSS Functions 3-11 3-13 LLSS Functions 3-14 iv TABLES (Cont) Page 3-14 ALSS Functions 3-16 3-15 EAE NORM Instruction Format 3-21 3-16 EAE MUL Instruction Format 3-24 3-17 MULS Functions 3-26 3-18 MULS Arithmetic 3-31 3-19 MULS Functions 3-32 3-20 MULS Functions 3-32 3-21 MULS Functions 3-33 3-22 EAE DIV Instruction Format 3-34 3-23 DIVS Functions 3-36 3-24 DIVS Arithmetic 3-43 3-25 DIVS Functions 3-44 3-26 DIVS Functions 3-44 3-27 DIVS Functions 3-45 3-28 DIV OV Functions 3-47 3-29 EAE Microinstructions 3-48 4-1 EAE Modu Ie Complement 4-1 v CHAPTER 1 INTRODUCTION This manual contains operation and maintenance information for the KE09A Extended Arithmetic Element (EAE) of the Programmed Data Processor PDP-9, manufactured by Digital Equipment Corporation, Maynard, Massachusetts. For a complete understanding of the option and its relation to the basic PDP-9 system, the user must be thoroughly familiar with the contents of the PDP-9 Maintenance Manual, F-97. 1. 1 PURPOSE The EAE option facilitates high-speed multiplication, division, shifting, normalizing, and register manipulation. Installation of the EAE adds an 18-bit multiplier-quotient register (MQ) and a 6-bit step counter (SC) to the basic PDP-9 system. The option logic occupies space in the central processor wing of the basic PDP-9 system, as indicated in the CP UML drawing KC8. All logic module locations have been prewired into the system. The contents of the MQ can be selected by the REGISTER DISPLAY switch on the PDP-9 I s operator console for display in the REGISTER indicator. The EAE operates asynchronously with the basic system, permitting computations to be performed in the shortest possible time. Furthermore, instructions can be mi crocoded so that several nonconflicting EAE operations can be performed by one instruction, thereby simplifying arithmetic programming. Maximum multiplication and division time is 12 tJS. 1 .2 RELATED DOCUMENTS The PDP-9 library offers a complete package of single- and multiple-precision programming routines for use with the EAE. These and other related documents and tapes are listed in Chapter 1 of the PDP-9 Maintenance Manual. 1.3 POWER REQUIREMENTS The EAE needs no source of primary or dc power other than that already furnished with the basic PDP-9 system. All necessary power is prewired to the module locations. 1 .4 ENGINEERING DRAWINGS AND REFERENCES Throughout this manual all references to EAE option drawings and basic PDP-9 system drawings are abbreviated as in the PDP-9 Maintenance Manual. Refer to Chapter 1 of the Maintenance Manual for abbreviation codes. As an aid to understanding the EAE, a simplified version of L1NC Control drawing KC15 along with a portion of EAE logic appears on an illustration at the end of this manual. 1-1 Chapter 5 of this option manual contains a complete set of EAE option drawings indexed by their full drawing number codes, along with all module circuit schematics. 1.5 SPECIFICA nONS 1 .5. 1 Functional Characteristics The EAE enables fast, flexible, hardware execution of the following signed or unsigned functions. a. Sh ifting the contents of the primary arithmetic registers (AC, MQ) right or left, requires 4 to 18 flS. b. Normalizes the quantity in the primary arithmetic registers, i.e., shifts the contents left to remove leading binary Os for the purpose of preserving as many significant bits as possible. The time required is 4 to 18 flS. c. Multiplication is performed in 5 to 12 flS. d. Division inc luding integer divide and fraction divide require 5 to 12 flS. Divide overflow indication is furnished by the LINK when signed division produces a quotient exceeding ± 3777778 in magnitude, or unsigned division produces a quotient exceeding 7777778 in magnitude. e. Basic setup instructions to manipulate the data in the registers preparatory to execution of the above instructions requires 2 flS. 1 .5.2 Operating Characteristics Heat Dissipation 108 BTU/hr Power Dissipation 0.032 kW 1-2 CHAPTER 2 INSTALLATION AND OPERATION 2.1 INSTALLATION Complete installation of the EAE option merely involves plugging the logic modules into their assigned locations in the central processor wing I and ascertain ing that certain jumpers are removed. The following jumpers are in place to allow FORTRAN programming without the EAE. They must be removed for EAE operations (refer to drawing KC27). 2.2 a. ACO ~ LINK from E04R to E04B. b. ADRL(B) from B03D to B03N. c. MQI(l )/EAE OR ARO from D22P to D23J. d. TEMPl(l) from B03C to B03T. e. SCO(l) from B31 C to B31 P. MANUAL CONTROLS AND INDICATORS The EAE option contains no manual controls and indicators other than those prewired into the PDP-9 operator's console. Table 2-1 lists and describes these controls and indicators. Refer to the PDP-9 Maintenance Manual for details. Table 2-1 Operating Controls and Indicators Con tro I/Indi cator Function REGISTER DISPLAY switch and REGISTER indicator MQ position displays contents of the MQ register in the REGISTER indicator when the computer is in a stop condition. 2.3 EAE position is presently not used (not wired). PROGRAMMING CONSIDERATIONS The EAE option adds the instructions listed in Table 2-2 to the basic PDP-9 instruction reper- toire. See Table 2-3 for execution times. 2-1 Table 2-2 EAE Instructions' Octal Code Mnemonic Operation 640000 EAE Basic EAE instruction. Acts as a NOP instruction. 64000T OSC Inc lusive-OR the SC with the AC. The contents of the AC are inc lusive-ORed with the contents of the 6-bit SC on a bit-for-bit basis, and the results are left in AC12 through 17. If corresponding SC and AC bits are 0, the result is O. If corresponding bits are 1 or differ, the result is 1. The previous contents of the AC are lost, the LINK and the SC remain unchanged. 640002 OMQ Inc lusive-OR the MQ with the AC. The contents of the AC are inclusive-ORed with the contents of the MQ on a bit-for-bit basis, and the results are left.in the AC. If corresponding MQ and AC bits are 0, th e resu It is O. If correspond ing bits are 1 or differ, the resu It is 1. The previous contents of the AC are lost, the LINK and the MQ remain unchanged. 640004 CMQ Complement the MQ. The previous contents of the MQ are lost, the LINK and the AC remain unchanged. 641001 LACS Load AC12 through 17 with the contents of the SC. The previous con ten ts of AC 12 through 17 are lost, the LI N K and the SC remain unchanged. 641002 LACQ Load the AC with the contents of the MQ. The previous contents of the AC are lost, the LI~·H~ and the MQ remain unchanged. 644000 ABS Get the absolute value of the AC. If the sign (ACOO) of the contents of the AC is negative, the contents are 1s complemented. The LIN K remains unchanged. 650000 CLQ Clear the MQ. The previous contents of the MQ are lost, the LINK and the AC remain unchanged. 652000 LMQ Load the MQ with the contents of the AC. The previous contents of the MQ are lost, the LIN K and the AC remain unchanged. 664000 GSM Get the sign and magnitude of the AC. Places the sign (ACOO) of the AC contents in the LINK, and if negative, 1s complements the contents. 6405XX LRS Long Right Shift. Shifts the contents of the LINK, AC, and MQ right the number of positions indicated in bits XX. The LINK is usually initialized to 0 and shifted unchanged on each step. 6605XX LRSS Long Right Shift, Signed. Shifts the contents of the LINK, AC and MQ riQht the number of positions indicated in bits XX. ACOO is initially stored in the LINK, then shifted unchanged on each step. 2-2 Table 2-2 (cont) EAE Instructions Octal Code Operation Mnemonic 6406XX LLS Long Left Shift. Shifts the contents of the LINK, AC and MQ left the number of positions indicated in bits XX. The LIN K is u~(Jally in itialized to 0 and sh ifted unchanged on each step. 6606XX LLSS Long Left Shift, Signed. Shifts the contents of the LINK, AC and MQ left the number of positions indicated in bits XX. ACOO is initially stored in the LINK, then 'shifted unchanged on each step. 6407XX ALS Accumulator Left Shift. Shifts the contents of the LINK and AC left the number of positions indicated in bits XX. The LINK is usually initialized to 0 and shifted unchanged on each step. 6607XX ALSS Accumulator Left Shift, Signed. Shifts the contents of the LINK and AC left the number of positions indicated in bits XX. ACOO is initially stored in the LINK, then shifted unchanged on each step. 640444 NORM Normalize. Shifts the contents of the LINK, AC and MQ left until ACOO and AC01 differ or until the maximum of 36 shifts (44g) occur. The LINK is usually initialized to 0 and shifted unchanged on each step. 660444 NORMS Normalize, Signed. Shifts the contents of the LINK, AC and MQ left until ACOO and AC01 differ or until the maximum of 36 shifts (44g) occur. ACOO is initially stored in the LINK and then shifted unchanged on each step. 6531XX MUL Multiply. Multiplies the number in the AC (multiplier) by the number in the next core memory location {multiplicand} to form a product in the AC and MQ. MUL transfers the multiplier to the MQ, clears the AC, and fetches the mu Iti pli cand from memory. Bits XX command the desired precision of the product (228 or 18 10 steps for maximum 36-bit prec ision). The LIN K must be cleared previously and remains unchanged. 6571XX MULS Multiply, Signed. Multiplies the number in the AC (multiplier) by the number in the next core memory location (absolute value multiplicand) to form a signed product in the AC and MQ. ACOO and AC01 receive the product sign. A previous LAC/GSM/DAC CAND sequence places the multiplicand sign in the LINK and the absolute value in memory. MULS transfers the multiplier to the MQ, performs 1s complements of the multiplier if its sign is negative, fetches the absolute value multiplicand from memory, and clears the LIN K. Bits XX command the desired precision of the product (228 or 18 10 steps for maximum 36-bit prec ision). 2-3 Table 2-2 (cont) EAE Instructions Octal Code Mnemonic Operation 6403XX DIV Divide. Divides the number in the AC and MQ (dividend) by the number in the next core memory location (divisor) to form a quotient in the MQ and remainder in the AC. DIV fetches the divisor from memory. Bits XX command the desired precision of the quotient and remainder (238 or 1910 steps for maximum 36-bit precision). The LINK must be cleared previously and remains unchanged un less divide overflow occurs. Overflow occurs if the divisor is not numerically greater than the AC portion of the dividend. 6443XX DIVS Divide, Signed. Divides the number in the AC and MQ (36-bit double-signed dividend) by the number in the next core memory location (absolute value divisor) to form a signed quotient in the MQ and remainder in the AC. MQOO receives the sign of the quotient and ACOO receives the original sign of the dividend. A previous LAC/GSM/OAC sequence places the divisor sign in the LINK and the absolute value in the memory. DIVS fetches the absolute value divisor, 1s complements the MQ portion of the dividend if the dividend sign is negative, and clears the LINK. Bits XX command the desired prec ision of the quotient and remainder (238 or 1910 steps for maximum 36-bit precision). The LINK remains cleared unless divide overflow occurs. Divide overflow occurs if the divisor is not numerically greater than the AC portion of the dividend. 6533XX IDIV Integer Divide. Divides the number in the AC (integer dividend) by the number in the next core memory location (divisor) to form a quotient in the MQ and remainder in the AC. IDIV fetches the divisor from memory, transfers the contents of the AC to the MQ, then clears the AC. Bits XX command the desired precision of the quotient and remainder (238 or 19 10 steps for maximum 36-bit precision). The LINK must be previously cleared and remains unchanged unless divide overflow occurs. Overflow occurs on Iy if the divisor is O. 6573XX IDIVS Integer Divide, Signed. Divides the number in the AC (signed integer dividend) by the number in the next core memory location {absolute value divisor} to form a signed quotient in the MQ and remainder in the AC. MQOO receives the sign of the quotient and ACOO receives the original sign of the dividend. A previous LAC/ GSM/DAC sequence places the sign of the divisor in the LINK and the absolute value in memory. IDIVS fetches the absolute value divisor, transfers the contents of the AC to the MQ, 1s complements them if the dividend sign is negative, and clears the AC and LINK. Bits XX command the desired precision of the quotient and remainder (238 or 1910 steps for maximum 36-bit precision). The LINK remains cleared unless divide overflow occurs. Overflow occurs on Iy if the divisor is O. 2-4 Table 2-2 (cont) EAE Instructions Octal Code Mnemonic 6503XX FRDIV Fraction Divide. Divides the number in the AC (fraction dividend) by the number in the next core memory location (divisor) to form a quotient in the MQ and remainder in the AC. The binary point is assumed to be at the left of ACOO. FRDIV fetches the divisor from memory and clears the MQ. Bits XX command the desired precision of the quotient and remainder (238 or 19 10 steps for maximum 36-bit precision). The LIN K must be previously cleared and remains unchanged un less divide overflow occurs. Overflow occurs if the divisor is not numerically greater than the dividend. 6543XX FRDIVS Fraction Divide, Signed. Divides the number in the AC (signed fraction dividend) by the number in the next core memory location (absolute value divisor) to form a signed quotient in the MQ and remainder in the AC. The binary point is assumed at the left of ACOl . MQOO receives the sign of the quotient and ACOO receives the original sign of the dividend. A previous LAC/GSM/DAC sequence places the sign of the divisor in the LINK and the absolute value in memory. FRDIVS fetches the absolute value divisor, clears the MQ and LIN K, and 1s complements the contents of the AC if the dividend is negative. Bits XX command the desired precision of the quotient and remainder (238 or 19 10 steps for maximum 36-bit prec ision). The LINK remains cleared unless divide overflow occurs. Overflowoccurs if the divisor is not numerically greater than the dividend. Operation Table 2-3 EAE Operation Times Number of Shifts* SETUP ,SHIFT, NORM Instructions MUL, DIV Instructions 5*** 2** 0 5 1 4 5 6 2,3,4 7 6 5,6,7 8 7 8,9,10 8 10 11,12,13 10 11 14,15,16 12 17,18,19 11 12 20,21,22 13 23,24,25 14 26,27,28 16 29,30,31 17 32,33,34 18 35,36 *Initial step count. **SETUP Instructions. ***DIV OV causes divide operation to stop here. MUL and DIV instructions containing initialized step count of stop here with no arithmetic operations undertaken. ° 2-5 CHAPTER 3 PRINCIPLES OF OPERATION Th is chapter describes the EAE option in terms of its instruction repertoire and the logic that implements those instructions. The discussions include references to the logic drawings in Chapter 5 and to pertinent drawings of the basic PDP-9 system. 3.1 INSTRUCTION FETCH AND OP CODE DECODING EAE instructions are fetched from core memory through the fetch cyc Ie processes as are all PDP-9 instructions. The PDP-9 Maintenance Manual explains the fetch cycle processes in detail. Briefly, the BGN process word (10) which concludes a previous execute cycle transfers the current address held in the PC to the MB and starts the next core memory and control memory read operations. MA JAM transfers the current address from the MB to the MA, the core memory cycle starts, and the fetch entry process word (21) is extracted from control memory. Process word 21 increments the address in the MB and transfers it to the PC for the next following fetch cyc Ie (MBO, + 1, PCI). The next CM process word(12) occurs while the core memory reads the addressed memory word into the sense amplifiers. Processes evolved from process word 12 transfer this (instruction) word from the sense amplifiers to the MB, and also gate the op code portion into the IR (SAO, MBI, IRI). The contents of the AC are gated into the AR (ACO, ARI). The next process word address held in the address portion (CMAOO through 05) of process word 12 is 24. On drawing KC 12, the op code detection circuits decode the op code bits IROO, IR01, IR03. These bits, all in the 1 state for an EAE op code of 64 , produce the REP signal. REP allows the IR bits 8 to modify the control memory address on drawing KC17, boosting this next CM address from 24 to 75. This is the third and last process word extracted during the normal, l-~s fetch cycle. All EAE operations start from th is II EAE execute entry" process word. 3.2 EAE COMMAND DECODING The EAE option contains an instruction register (see drawing KE4) wh ich accepts bits SA09 through 11 of the instruction word during process 12. These bits contain the code for a particular EAE instruction class, and are fed directly from the register EIR09-11 into the Binary-to-Octal Decoder S151-H02. The S151 module decodes the octal class code to supply an output command level denoting one of the following seven EAE instruction classes. 0 8 SETUP instructions 1 MUL (Multiply) instructions 3-1 2 Not used 3 DIV (Divide) instructions 4 NORM (Normalize) instructions 5 LRS (Long Right Shift) instructions 6 LLS (Long Left Sh ift) instructions 7 ALS (Accumulator Left Shift) instructions The pertinent command level remains on throughout the succeeding EAE execution processes to determine the particular execute operation, starting with process word 75. The paragraphs that follow discuss each instruction c lass in detai I. 3.3 TIMING AND FLOW Figure 3-1 is a composite timing diagram for all EAE instruction classes, showing machine cycle time versus process word branching for the various classes. The diagram can be correlated with the operation times listed in Table 2-3 and the flow diagrams KE5 and KE6. Examination of Figure 3-1 reveals the following general features on operating times. a. All SETUP instructions require two mach ine cyc les, progressing toward the BGN process word (10) that starts the next instruction fetch cyc Ie. b. All SHIFT instructions, including NORM, branch to process word 50 and continue in accordance with the number of sh ifts (steps) programmed in bits 12 through 17 of the sh ift instruction word. c. All MUL and DIV instructions branch to process word 51 and continue in accordance with the number of sh ifts (steps) programmed in bits 12 through 17 of the instruction word. Important features not apparent in Figure 3-1 are: for/all instructions other than MUL or DIV I core memory is idle after the initial instruction fetch; for MUL and DIV instructions a core memory cycle occurs during process word 51 in which a multiplicand or divisor is fetched. Thereafter, core memory is not needed by the EAE during the execute cycles, and may be accessed by the DMA channel as a timesaving feature. Ordinarily, the last process (¥ord in the fetch cyc Ie contains an SM (start memory) bit in order to read an operand from memory during the execute cycle. In process word 75 this SM bit is absent (0) I leaving the memory idle. In process word 51, the SM bit is present (1) to start a memory cycle for MUL or DIV. 3.4 SETUP INSTRUCTIONS Nine 2-cycle SETUP instructions manipulate the data in the prime arithmetic registers (AC, MQ) in preparation for execution of the arithmetic operations commanded by succeeding MUL and DIV instructions. Table 3-1 shows the instruction format. Table 3-2 through 3-10 Iist the logic functions that implement the instructions, referencing the appropriate logic drawings. 3-2 o 3 4 6 7 8 9 0 2 4567890 ns I HUNDREDS) 2 NEXT FETCH II SHIFT) SHIFT 12,3,4 SHIFTS) 15,6,7 SHIFTS) 6 56----157--.j40 8 "110 -\.. 150--\42--155 --153 - \ 5 6 - \ 5 7 1 4 0 - . . j 1 0 50 --142 --.155 -1-1- NExT FETCH 18,9,10 SHIFTS) .NEXT FETCH 111,12,13 SHIFTS) SHIFT 114,15,16 S H IF TS ) 10 o 4 5 6 8 9 0 67890 4 ns I HUNDREDS) 117,18,19) 120,21.22) 56 ----\57140 14 -----.J 1-----.------------ NE XT FETC H 123.24.25) 1 0 - - - - - \ _.... -I. 50-142-155-153--156--157140----110 =t=t NEXT FETCH (26.27.28) 5 0 - - l 4 2 - - - j 5 5 - 1 - SHIFT --1 10 55--153-156--157-j40 16 50 --142 --155--153~56-157140 NEXT FE.CH (29,30.31l SHIFT 50 40 18 -110 _1_ NEXT FETCH 132,33.34) 50~42-155-\53-156-157-.j40---------1~"'10-----~11-I.1-- NEXT FETCH (36 SHIFTS) Figure 3-1 EAE Timing 3-3 Table 3-1 EAE SETUP Instruction Format Op Code 64 8 0 1 2 3 4 5 SETUP 0 8 6 7 8 9 10 11 Not Used 12 13 14 15 16 17 6 4 0 0 0 1 OSC 6 4 0 0 0 2 OMQ 6 4- 0 0 0 4 CMQ 6 4 1 0 0 1 LACS 6 4 1 0 0 2 LACQ 6 4 4 0 0 0 ABS 6 5 0 0 0 0 CLQ 6 5 2 0 0 0 LMQ 6 6 4 0 0 0 GSM Table 3-2 OSC Functions 640001 Inclusive-OR the SC with the AC Process Function 75 (ACO ,ARI,EAE, LI,CONT ,CMA43) ACO(l) = ACOO-17 -.. A BUSOD-17 A BUSOO-17 ... ADROO-17 NOSH = ADROO-17 -.. 0 BUSOO-17 ARI(l) = 0 BUSOO-17 ... AROD-17 LI(l) = ADRL = LINK ... LAR L1(l) = ADRL = LINK ... TEMP3 SA09(O)ASA 1O(O)ASA 11 (0) = SETUP ~~~~W~:~~I~)S~~~ ,(~~bV2,FIRST ,EAE RUN ,EAE SIGN ,MQ SIGN SU1 (1)AMB05(0) = EAE OR MQO CM STROBEACONT(1) = GO TO 43 43 (ACl,EAE,CONT ,CMA41) Drawing No. KC18 KC20 KC21 KC20 KC20 KC15 KE3 KE4 KE3 KE2-3 KE3 KC16 KC18 CM STROBEAEAE OR MQO =MQO(1) MQO(l) = MQOD-17 ... A BUSOO-17 A BUSOD-17 ... ADROO-17 NOSH =ADROD-17 ... 0 BUSOO-17 ACI(1) =0 BUSOO-17 ... ACOD-17 LI(O) = LAR ... LINK CM STROBEACONT(l) = GO TO 41 3-4 KC19 KC20 KC21 KC20 KC20 KC15 KC16 Table 3-2 (cont) OSC Functions 640001 Inclusive-OR the SC with the AC Process Fun~tion 41 (ACO ,MQI,EAE,CONT ,CMA54) KC18 ACO(1) = ACOO-17 ... A BUSOO-17 A BUSOO-17 -+ ADROO-17 NOSH = ADROO-17'" 0 BUSOO-17 MQI(1) = 0 BUSOO-17 -+ MQOO-17 EAE(1)/\MQI(1)/\SETUP = SU3(l) SU3(1) = SCOV(l) SU3(1) = SCOV2(l} MQI(l)/\MB08(O)/\EAE(1) = EAE OR ARO CM STROBE/\CONT(1) = GO TO 54 54 (ACI, EAE-R, CONT ,CMA40) (EAE, DONE, CMA 10) KC19 KE2 KC20 KC21 KC20 KC22 KC20 KE3 KC16 KC18 CLK(B) + 670 ns /\ EAE(l)/\DONE(l) = INPUT 10 RESTART INPUT 10 RESTART = 10 REST ART 10 RESTART = GO TO 10 10 KC20 KC21 KC20 KC20 KE3 KE3 KE3 KE3 KC16 KC18 CM STROBE/\EAE OR ARO = ARO(l) EAE-R(l)/\MB17(l)/\SETUP = SCO ARO(l) = AROO-17 -+ A BUSOO-17 A BUSOO-17 -+ ADROO-17 NOSH = ADROO-17 ... 0 BUSOO-17 SCO = SC 12-17 -+ 0 BUS 12-17 ACI(l) = 0 BUSOO-17 -+ ACOO-17 EAE-R(1) = 0 BUS L -+ TEMP2 CM STROBE/\CONT(l) = GO TO 40 40 Drawing No. (PCO ,SM,CMA21) KD3(3) KD3(3) KC16 KC18 BGN next fetch Table 3-3 OMQ Functions 640002 Inc lusive-OR the MQ with the AC Process Function Drawing No. 75 Same as OSC 43 Same as OSC 41 Same as OSC plus SU3(l)/\MB16(1) = EAE OR MQO KE3 (ACI,EAE-R,CONT ,CMA40) KC18 54 CM STROBE/\EAE OR ARO = ARO(l) CM STROBE/\EAE OR MQO = MQO(l) 3-5 KC19 KC19 Table 3-3 (cont) OMQ Functions 640002 Inclusive-OR the MQ with the AC (cont) Process Function 54 (cont) ARO(l) = AROO-l7:..... A BUSOO-17 MQO(l)= MQOO-17 ..... A BUSOO-17 A BUSOO-17-+ADROO-17 NOSH = ADROO-17 ..... 0 BUSOO-17 ACI(l) =0 BUSOO-17 ..... ACOO-17 EAE-R(1) = 0 BUS L-+TEMP2 CM STROBEACONT(1) = GO TO 40 40 Same as OSC 10 Same as OSC Drawing No. KC20 KC20 KC21 KC20 KC20 KE3 KC16 Table ~-4 CMQ Functions 640004 Complement the MQ Process Functions 75 Same as OSC 43 Same as OSC 41 Same as OSC plus: SU3(1)AMB15(1) = CMPL CMPL = ADROO-17 ..... 0 BUSOO-17 54 Drawing No. KE3 KC20 Same as OSC except: MB17(0) = SCO 40 Same as OSC 10 Same as OSC Table 3-5 LACS Functions 641001 Load the AC with the SC Process Function 75 Same as OSC 43 Same as OSC 41 Same as OSC except: MQI(l )AMB08(l )AEAE(l) = EAE OR ARO 3-6 Drawing No. Table 3-5 (cont) LACS Functions 641001 Load the AC wi th the SC Process Functions 54 Drawing No. Same as OSC except: CM STROBE"EAE OR ARO = ARO(O) 40 Same as OSC 10 Same as OSC Table 3-6 LACQ Functions 641002 Load the AC with the MQ Process Function 75 Same as OSC 43 Same as OSC 41 Same as OSC plus: 54 MQI(l )"MB08(l )"EAE(l) = EAE OR ARO SU3(1 )"MB 16(1) = EAE or MQO (ACI, EAE-R, CONT, CMA40) Same as OSC 10 Same as OSC KE3 KC18 CM STROBE"EAE OR MQO = MQO(l) MQO(l) = MQOO-17 .... A BUSOO-17 A BUSOO-17 .... ADROO-17 NOSH = ADROO-17 .... 0 BUSOO-17 ACI(l) = 0 BUSOO-17 .... ACOO-17 EAE-R(l) = 0 BUS L.... TEMP2 CONT(l)"CM STROBE = GO TO 40 40 Drawing No. KC19 KC20 KC21 KC20 KC20 KE3 KC16 Table 3-7 ABS Functions 644000 Get Absolute Value of AC Process Function 75 Drawing No. Same as OSC plus: If ACOO = 1, then SU1 (l)"MB06(l)"MB07(0)"ACOO(l) = CMPL CMPL = ADROO-17 .... 0 BUSOO-17 43 Same as OSC 41 Same as OSC 3-7 KE3 KC20 Table 3-7 (cont) ABS Functions 644000 Get Absolute Value of AC Process Function 54 Drawing No. Same as OSC except: MB17(0) = SCO 40 Same as OSC 10 Same as OSC Table 3-8 C LQ Functions 650000 Clear the MQ Process Function 75 Drawing No. Same as OSC except: MB05(l) = EAE OR MQO 43 Same as OSC except: CM STROBEI\EAE OR MQO = MQO(O) MQO(O) = 0 ..... A BUSOO-17 41 Same as OSC 54 Same as OSC except: MB 17(0) = SCO 40 Same as OSC 10 Same as OSC Table 3-9 LMQ Functions 652000 Load the MQ with the AC Process Function 75 43 Drawing No. Same as OSC except: MB05(l) = EAE OR MQO MB07(l) = EAE OR ARO KE3 (ACI, EAE, CONT, CMA4l) KC18 CM STROBEI\EAE OR ARO = ARO(l) ARO(l) = AROO-17 ..... A BUSOO-17 A BUSOO-17 ..... ADROO-17 NOSH = ADROO-17 ..... 0 BUSOO-17 ACI(l) = 0 BUSOO-17 ..... ACOO-17 LI(O) = LAR ..... LINK CM STROBEI\CONT(l) = GO TO 41 3-8 KC19 KC20 KC21 KC20 KC20 KC15 KC16 Table 3-9 (cont) LMQ Functions 652000 Load the MQ with the AC Process Function 41 Same as OSC 54 Same as OSC except: Drawing No. MB 17(0) = SCO 40 Same as OSC 10 Same as OSC Table 3-10 GSM Functions 664000 Get Sign and Magnitude of AC Process Function 75 Drawing No. Same as OSC except: If ACOO = 1, then SU1 (l)I\M B06(l)I\M B07(0)I\ACOO(l ) = CMPL CMPL = ADROO-17 --. 0 BUSOO-17 SU1 (l )I\MB04(l)I\ACOO(l) = A BUS LINK A BUS LINK = ADRL SHIFT = ADRL --. 0 BUS L LI(l) = 0 BUS L --. LAR(l) 43 Same as OSC 41 Same as OSC 54 Same as OSC except: KE3 KC20 KE3 KC15 KC15 KC15 MB17(0) = SCO 40 Same as OSC 10 Same as OSC 3.5 SHIFT INSTRUCTIONS Long left, long right, and accumulator- left sh ift instructions inc lude a step count in bits 12 through 17 which commands the number of bit positions to be shifted. Preliminary operations governed by the early sh ift entry process words transfer the 2s complement of the step count into the step counter SC12 through 17 in the EAE logic, drawing KE2. The SC, then, be~omes binary up-counter which steps toward 0 with each shift process. When the SC reaches 0, it sets a pair of overflow flip-flops SCOV and SCOV2, in turn, which shut off the shift processes and cause the computer to branch to the BGN next fetch process word. 3-9 The data to be shifted may be signed or unsigned. For signed data shifts, an early process word (43) transfers the sign (ACOO) into the LINK, and the LINK is shifted thereafter unchanged. For unsigned data shifts, the LINK is usually initialized to 0 and shifted thereafter unchanged. Table 3-11 shows the SHIFT instruction format. Bit 04 of the instruction commands the signed or unsigned operation. Table 3-11 EAE Sh ift Instruction Format Op Code. 64 8 0 1 2 3 4 5 Shift Code 6 7 8 9 10 Commands Number of Sh ifts 11 12 13 14 15 16 17 6 4 0* 5 X X LRS 6 6 0* 5 X X LRSS 6 4 0* 6 X X LLS 6 6 0* 6 X X LLSS 6 4 0* 7 X X ALS 6 6 0* 7 X X ALSS * May be used for same functions as EAE SETUP. Bits 12 through 17 can contain step codes of up to 448 for long register sh ifts of up to 36 bit positions. For accumulator left sh ifts (ALS, ALSS) bits 12 through 17 can contain step codes of up to 228 for AC left shifts of up to 18 bit positions. Table 3-12 through 3-14 and Figures 3-2 through 3-4 illustrate the operations involved for LRSS, LLSS, and ALSS instructions calling for one, two, and three shift steps, respectively. A comparison of the three reveals the pattern for shifting the data and terminating the instruction. While the NOSH level generated Qn drawing KC13 commands direct bit-for-bit transfers between registers, the shift operations make use of the SHLl and SHR1 levels on the same drawing to shift a bit one position left or right into the receiving register. Register input/output gating and data flow is as usual from output register to A bus to ADR to 0 bus to input register. These functions are abbreviated in the tables for conven ience. 3-10 Table 3-12 LRSS Functions 660501 Long Right Shift Signed (One Position) Process Function 75 (ACO, ARI, EAE, LI, CONT ,CMA43) ACO(l )AARI(1)ANOSH = AC -. AR SA09(1 )ASA 1O(O)ASA 11 (1) = LRS EAE(l )AARI(l) = SU1 (1) SU1(1) = 0 -. SCOV,SCOV2,FIRST,EAE RUN,EAE SIGN,MQ SIGN SU1 (1)ASETUP = SC CLR SC CLR = 0 -. SC SU1 (1)AMB05(0) = EAE OR MQO If ACOO = 1, then SU1 (l)AMB04(l)AACOO(l) = A BUS LINK A BUS LINK -. ADRL LI(1) = ADRL -. LAR LI(l) = ADRL -. TEMP3 CM STROBEACONT(1) = GO TO 43 43 i 1s Comp to SC ~ 41 (ACI, EAE, CONT ,CMA41) 1 2s Comp to SC ! 50 KC18 KC20-21 KE4 KE3 KE2-3 KE2 KE2 KE3 KE3 KC15 KC15 KE3 KC16 KC18 CM STROBEAEAE OR MQO == MQO(l) MQO(l )ANOSHAACI(l) = MQ -. AC EAE(l )AACI(l )ASETUP = SU2(1) SU2(1) = MB12-17 = 111110 - t SC LI(O) = LAR - t LIN K CM STROBEACONT(1) = GO TO 41 (ACO ,MQI, EAE,CONT ,CMA54) KC19 KC20-21 KE3 KE2 KC15 KC16 KC18 ACO(l)ANOSHAMQI(1) = AC - t MQ MQI(l )AMB08(0) = EAE OR ARO CM STROBEACONT(1) = GO TO 54 54 Drawing No. (ACI, EAE-R,CONT ,CMA40) KC20-21 KE3 KC16 KC18 CM STROBEAEAE OR ARO == ARO(l) ARO(l)ANOSHAACI(l) = AR - t AC EAE-R(l)ASCOV(O) = R-PULSE R-PULSE = 111111 -. SC = SC FULL EAE-R(1)ASCOV2(0) = ADDR 10 EAE-R(1) = 0 BUS L = LIN K - t TEMP2 (not used) CMA40AADDR 10 = CMA50 CM STROBEACONT(l) = GO TO 50 (MQO ,ARI, EAE-P ,CONT ,CMA42) MQO(l)ANOSHAARI(l) = MQ -. AR EAE-P(l)AEAE RUN(O) = FIRST(l) EAE-P(1)ASCOV2(0) = EAE RUN(l) EAE-P(l) = 0 BUS L = LINK - t TEMP1 (not used) EAE-P(l) = TEMP2 = LINK -. END BITOO (not used) EAE-P(l) = TEMP3 = LINK - t END BIT17 (not used) CM STROBEACONT(1) = GO TO 42 3-11 KC19 KC20-21 KE2 KE2 KE3 KE3 KC17 KC16 KC18 KC20-21 KE3 KE3 KE3 KC15 KC15 KC16 Table 3-12 (cont) LRSS Functions Process 42 J~ Shift 1 \ II 55 'V 53 Function (ACO ,MQI, EAE-R,CONT ,CMA55) EAE-R(1)ASCOV(O) = R-PULSE R-PULSE = 000000 --t SC EAE-R(1)ASC FULL = SCOV(l) EAE-R(1)ASCOV2(0)AEAE RUN(1 )AEIR 1O(O)AEIR 11 (1) = IN SHR 1 IN SHRl = SHRl AC0(1)ASHR1AMQI(1) = ACn --t MQn+l SHRl = ADR17 .... 0 BUS L EAE-R(1) = 0 BUS L .... TEMP2 EAE-R(1) = ADRL .... END BITOO EAE-R(1) = TEMPl = LIN K .... END BIT17 (not used) MQI(l)ASHRl = END BITOO .... MQOO CM STROBEACONT(1) = GO TO 55 (ARO ,ACI, EAE-P ,CONT ,CMA53 EAE-P(1)AEAE RUN(1) = FIRST(O) FIRST(0)ASCOV2(0)AEAE RUN(1)AEIR10(0)AEIRll(1} = IN SHRl ,IN SHRl = SHRl AR0(1)ASHR1AACI(1) = ARn .... ACn+l SHRl = ADR17 .... 0 BUS L EAE-P(l) = 0 BUS L .... TEMPl (not used) EAE-P(l) = TEMP2 .... END BITOO EAE-P(1) = TEMP3 .... END BIT17 (not used) SHRl = END BITOO .... ACOO CM STROBEACONT(l)= GO TO 53 (MQO,ARI,EAE-R,CONT ,CMA56) EAE-R(l )ASCOV(1) = SCOV2(l) SCOV2(1) = IN SHR 1 SCOV(l) = R-PULSE MQO(1)ANOSHAARI(1) = MQ .... AR CM STROBEACONT(1) = GO TO 56 56 (ACO ,MQI, EAE-P ,CONT ,eNlA57) ACO(1)ANOSHAMQI(l) = AC .... MQ CM STROBEACONT(1) = GO TO 57 57 (ARO, ACI, EAE-R, CONT ,CMA40) EAE-R(1)ASCOV2(1) = EAE RUN(O) EAE RUN(0)ASCOV2(1) = ADDR 10 ARO(1 )ANOSHAACI(l) = AR .... AC CM STROBE CONT(l) = GO TO 40 40 (EAE,DONE,CMA10) KC18 KE2 KE2 KE2 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KC16 KC18 KE3 KE4 KC13 KC20-2l KC15 KE3 KC15 KC15 KC20 KC16 KC18 KE2 KE4 KE2 KC20-21 KC18 KC20-21 KC16 KC18 KE3 KE3 KC20-21 KC16 KC18 CLK(B)+670 nsAEAE(1)ADONE(1) = INPUT 10 RESTART INPUT 10 REST ART = 16 RESTART 10 RESTART = GO TO 10 10 Drawing No .• (PCO ,SM,CMA21) KD3(3) KD3(3) KC16 KC18 BGN next fetch 3-12 NOTE CML 42 Set SCOV, CML 53 Set SCOV2, and CML 57 reset EAE RUN which inhibited the generation of AD DR 10. If the shift process has not reset EAE RUN when CML 40 is pointed to, it will go back through CML's 50, 42, 55, 53, 56, 57, and then to 40. LINK ~" ~e 6 L ~ L AC MO AR Acee -17 Moee -17 Acee -17 Moee -17 MOee-17 ~ Acee-17 f MOflJe -17 "2 ~~ I L lAC . . - 16 1 L LOST ~31 ~61 ~71 L L L I ACI7 I MOIIIJ- 16 1 I I AC 1 7 I I Moee - 16 I L I ACelJ - 16 1 f f I I I L I ACflJlJ - 16 1 I I f f AC171 MOfIJe- 16 1 f I L I Acee- t6 1 f I ACI71 Moell- 16 1 I L I Acee - 16 1 I I I I L Acee - 16 1 "II DONE Figure 3-2 LRS, LRSS Register Manipulation (One Position) 3-13 Table 3-13 LLSS Functions 660602 Long Left Shift, Signed (Two Positions) Process Function 75 Same as LRSS except: SA09(l )/\SA 1O( 1)/\SA 11 (0) == L LS 43 Drawing No. KE4 Same as LRSS except: SU2(l) == 111101-+ SC 41 Same as LRSS 54 Same as LRSS except: R-PULSE== 111110-+SC 50 Shi ft 1 42 (MQO ,ARI, EAE-P, CONT, CMA42) EAE-P( 1)/\EAE RUN (0) == FIRST (1) EAE-P(l )/\SCOV2(0) == EAE RUN (l) EAE-P(1)/\SCOV(0)/\EIR09(l)/\EIRl1(0)== IN SHL 1 IN SHL 1 == SHL 1 MQO (1 )/\SHL 1/\ARI (l) = MQn -+ ARn-1 SHL 1 = ADROO .... 0 BUS L EAE-P(l) = 0 BUS L-+TEMP1 EAE-P(l) =TEMP2 ..... END BITOO EAE-P(l) = TEMP3-+END BIT17 SHL 1 = END BIT 17 -+ AR 17 CM STROBE/\CONT(l) == GO TO 42 (ACO, MQI, EAE-R, CONT, CMA55) EAE-R(l )/\SCOV(O) == R-PULSE R-PULSE == 111111 ..... SC = SC FULL EAE-R(l}\ SCOV2(O)/\EAE RUN (l)/\EIR09(1 )/\LRS = IN SHL 1 IN SHL 1= SHL 1 ACO ( l)/\SHL 1/\MQI (1) = ACn -+ MQn-1 SHL 1 = ADROO ..... O BUS L EAE-R(l)= 0 BUS L ..... TEMP2 (lost) EAE-R(l)= TEMP1 ..... END BIT17 SHL1= END BIT17-+MQ17 CM STROBE/\CONT(l) = GO TO 55 55 Shift 2 (ARO ,ACI, EAE-P, CONT ,CMA53) EAE-P(l)/\EAE RUN(l) == FIRST(O) EAE-P(1}'\SCOV(0)/\EIR09(l)/\EIRll (0) = IN SHL 1 IN SHL 1 = SHL 1 ARO(l)/\SHL l/\ACI(l) = ARn ..... ACn-1 SHL 1 = ADROO-+O BUS L EAE-P(l)= 0 BUS L ..... TEMP1 EAE-P(l)= TEMP2-+END BITOO (lost) EAE-P(l)= TEMP3-+END BIT17 SHL 1 = END BIT17 -+AC 17 CM STROBEACONT(l)= GO TO 53 3-14 KC18 KE3 KE3 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KC16 KC18 KE2 KE2 KE4 KC13 KC20-21 KC15 KE3 KC15 KC20 KC16 KC18 KE3 KE4 KC13 KC20 KC15 KE3 KC15 KC15 KC20 Table 3-13 (cont) LLSS Functions 660602 Long Left Sh ift, Signed (Two Positions) Process Function 53 I Shift 2 1 56 (MQO, ARI, EAE-R, CONT, CMA56) EAE-R(l) I\SCOV(O) = R-PULSE R-PULSE = 000000 ..... sc R-PULSE I\SC FULL = SCOV(l) EAE-R(l) I\SCOV2(0) 1\ EAE RUN(l) I\EIR09(l) 1\ LRS = IN SHU MQO(1) I\SHL1I\ARI(1) = MQn ..... ARn-l SHU = ADROO ..... 0 BUS L EAE-R(l) = 0 BUS L ..... TEMP2 {lost) EAE-R(l) = TEMP1 ..... END BIT17 SHU = END B1T17 ..... AR17 CM STROBE I\CONT(l) = GO TO 56 (ACO ,MQI., EAE-P ,CONT ,CMA57) SCOV(l) = IN SHLl ACO(l)I\NOSHI\MQI(l) = AC ..... MQ CM STROBEI\CONT(l) = GO TO 57 57 (ARO ,ACI, EAE-R,CONT ,CMA40) EAE-R(l )I\SCOV(l) = SCOV2(1) SCOV(1) = R-PULSE SCOV2(l) = IN SH Ll ARO(l)I\NOSHI\ACI = AR ..... AC EAE-R(l)I\EAE RUN(1) = APDR 10 CMA40MDDR 10 = CMA50 CM STROBEI\CONT(1) = GO TO 50 50 (MQO ,ARI,EAE-P ,CONT ,CMA42) SCOV(1) = IN SHLl MQO(l )I\NOSHI\ARI(1) = MQ ..... AR CM STROBEI\CONT(l) = GO TO 42 42 (ACO ,MQI, EAE-R,CONT ,CMA55) EAE-R(l )I\SCOV2(1) = EAE RUN(O) SCOV2(l) = IN SH Ll ACO(l )I\NOSHI\MQI(l) = AC ..... MQ CM STROBEI\CONT(l) = GO TO 55 55 (ARO ,ACI, EAE-P ,CONT ,CMA53) SCOV(l) = IN SH Ll ARO(1 )I\NOSHI\ACI(l) = AR ..... AC CM STROBEI\CONT(l) = GO TO 53 53 (MQO ,ARI, EAE-R,CONT ,CMA56) SCOV2(l) = IN SH Ll MQO(l)I\NOSHI\ARI(l) = MQ ..... AR CM STROBEI\CONT(1) = GO TO 56 3-15 Drawing No. KC18 KE2 KE2 KE2 KE4 KC20 KC15 KE3 KC15 KC20 KC16 KC18 KE4 KC20-21 KC16 KC18 KE2 KE2 KE4 KC20-21 KE3 KC17 KC16 KC18 KE4 KC20-21 KC16 KC18 KE3 KE4 KC20-21 KC16 KCl8. KE4 KC20-21 KC16 KC18 KE4 KC20-21 KC16 Table 3-13 (cont) LLSS Functions 660602 Long Left Shift, Signed (Two Positions) Process Function 56 Drawing No. (ACO, MOl, EAE-P ,CONT, CMA57) KC18 SCOV(l) = IN SHLl ACO(l)/\NOSHI\MOI(l) = AC .... MO CM STROBE/\CONT(l) = GO TO 57 57 KE4 KC20-21 KC16 (ARO,ACI,EAE-R,CONT ,CMA40) KC18 SCOV2(1) = IN SHL 1 ARO(l)/\NOSHMCI(l) = AR .... AC EAE RUN(0)/\SCOV2(1) = ADDR 10 CM STROBE/\CONT(l) = GO TO 40 40 KE4 KC20-21 KE3 KC16 (EAE,DONE,CMA 10) KC18 CLK(B)+670 ns/\EAE(l)/\DONE(l) = INPUT 10 RESTART INPUT 10 RESTART = 10 RESTART 10 RESTART = GO TO 10 10 (PC 0, SM, C MA21 ) KD3(3) KD3(3) KC16 KC18 BG N next fetch Table 3-14 ALSS Functions 660703 Accumu lator Left Shift Signed (Three Positions) Process Function 75 , J Same as LRSS except: SA09(1)/\SA 1O(1)/\SA 11 (1) = ALS 43 Drawing No. KE4 Same as LRSS except: SU2 (1) = 1111 00 .... SC 41 Same as LRSS 54 Same as LRSS except: KE2 R-PULSE = 1111 01 .... SC KE2 50 Same as LRSS 42 (ACO ,MOl, EAE-R,CONT ,CMA55) EAE-R(l )/\SCOV(O) = R-PULSE R-PULSE = 11111 0 .... SC EAE-R(1)/\SCOV2(0)/\EAE RUN (l)/\EIR09(l )/\LRS = IN SH Ll IN SHLl = SHLl ACO(1)/\SH Ll /\MOI(1) = ACn .... MOn-1 SHLl = ADROO .... 0 BUS L 3-16 KC18 KE2 KE2 KE4 KC13 KC20-21 KC15 Table 3-14 (cont) ALSS Functions 660703 Accumulator Left Shift I Signed (Three Positions) Process Function 42(cont) 55 EAE-R(1) = 0 BUS L --+ TEMP2 EAE-R(1) = TEMP 1 --+ END BIT17 SHU = END BIT17--+ MQ17 CM STROBEACONT(l) = GO TO 55 (ARO,AC I,EAE-P ,CONT ,CMA53) EAE-P(1)AEAE RUN(l) = FIRST(O) ARO(1)ANOSHMCI(l) = AR --+ AC EIRll (1) = IN SHL 1 SHIFT = ADRL --+ 0 BUS L EAE-P(1) = 0 BUS L --+ TEMPl EAE-P(1) = TEMP2 --+ END BITOO (lost) EAE-P(1) = TEMP3 --+ END BIT17 (not used) CM STROBEACONT(l) = GO TO 53 53 I Shift 2 1 56 (MQO ,ARI,EAE-R,CONT ,CMA56) EAE-R(l )ASCOV(O) = R-PULSE R-PULSE = 111111 --+ SC = SC FULL EAE-R(l )ASCOV2(0)AEAE RUN(l )AEIR09(l )ALRS = IN SH L 1 IN SHLl = SHLl MQO(1)ASHL1AARI(1) = MQn --+ ARn-1 SHLl = ADROO --+ 0 BUS L EAE-R(1) = 0 BUS L --+ TEMP2 EAE-R(1) = TEMP1 --+ END BIT17 SHLl = END BIT17 --+ AR17 CM STROBEACONT(l) = GO TO 56 (ACO ,MQI,EAE-P ,CONT ,CMA57) EIR 11 (1) = IN SH Ll ACO(l)ANOSHAMQI(1) = AC --+ MQ SHIFT = ADR L--+ 0 BUS L EAE-P(l) = 0 BUS L --+ TEMPl EAE-P{l) = TEMP2 --+ END BITOO (lost) EAE-P(l) = TEMP3 --+ END BIT17 (not used) CM STROBEACONT(l) = GO TO 57 57 I~ Sh ift 3 I (ARO ,ACI, EAE-R,CONT ,CMA40) EAE-R(l )ASCOV(O) = R-PULSE R-PULSE = 000000 --+ SC R-PULSEASC FULL = SCOV(l) EAE-R(l)ASCOV2(0)AEAE RUN(l)AEIR09(l)ALRS = IN SHLl IN SHLl = SHLl ARO(l)ASHL 1AACI(l) = ARn -+ ACn-l SHLl = ADROO --+ 0 BUS L EAE-R(l) = 0 BUS L --+ TEMP2 (lost) EAE-R(l) = TEMP1 ..... END BIT17 3-17 Drawing No. KE3 KC15 KC20 KC16 KC18 KE3 KC20-21 KE4 KC15 KE3 KC15 KC15 KC16 KE18 KE2 KE2 KE4 KC13 KC20-21 KC15 KE3 KC15 KC20 KC16 KC18 KE4 KC20-21 KC15 KE3 KC15 KC15 KC16 KC18 KE2 KE2 KE2 KE4 KC13 KC20-21 KC15 KE3 KC15 Table 3-14 (cont) ALSS Functions 660703 Accumulator Left Shift, Signed (Three Positions) Process Function 57(cont) 1 50 SHLl = END BIT17 -+ AC17 EAE-R(l)J\EAE RUN(l) !:; ADDR 10 CMA40J\ADDR 10 = CMA50 CM STROBEJ\CONT(l) = GO TO 50 (MQO ,ARI, EAE-P ,CONT ,CMA42) SCOV(l) = IN SHL 1 MQO(l)J\NOSHMRI(l) = MQ -+ AR CM STROBEJ\CONT(l) = GO TO 42 42 (ACO,MQI,EAE-R,CONT ,CMA55) EAE-R(l )J\SCOV(l) = SCOV2(1) SCOV(l) = R-PULSE SCOV2(1) = IN SH Ll ACO(l)J\NOSHJ\MQI(l) = AC -+ MQ CM STROBEJ\CONT(1) = GO TO 55 55 (ARO ,ACI, EAE-P ,CONT ,CMA53) SCOV(l) = IN SHLl ARO(1 )J\NOSHJ\ACI(l) = AR -+ AC CM STROBEJ\CONT(1) = GO TO 53 53 (MQO ,ARI, EAE-R,CONT ,CMA56) EAE-R(l)J\SCOV2(1) = EAE RUN (0) SCOV2(1) = IN SH L1 MQO(l)J\NOSHMRI(l) = MQ -+ AR CM STROBEJ\CONT(l) = GO TO 56 56 (ACO,MQI, EAE-P ,CONT ,CMA57) SCOV(l) = IN SHLl ACO(l)J\NOSHJ\MQI(l) = AC -+ MQ CM STROBEJ\CONT(1) = GO TO 57 57 (ARO ,ACI, EAE-R,CONT ,CMA40) SCOV2(l) = IN SH Ll ARO(l )J\NOSHJ\ACI(l) = AR -+ AC EAE RUN (0)J\SCOV2(1) = ADDR 10 CM STROBEJ\CONT(l) = GO TO 40 40 (EAE,DONE,CMA10) KC20 KE3 KC17 KC16 KC18 KE4 KC20-21 KC16 KC18 KE2 KE2 KE4 KC20-21 KC16 KC18 KE4 KC20-21 KC16 KC18 KE3 KE4 KC20-21 KC16 KC18 KE4 KC20-21 KC16 KC18 KE4 KC20-21 KE3 KC16 KC18 CLK(B)+670 nsJ\EAE(1)J\DONE(l) = INPUT 10 RESTART INPUT 10 RESTART = 10 RESTART 10 RESTART = GO TO 10 10 Drawing No. (PCO ,SM,CMA21) KD3(3) KD3(3) KC16 KC18 BGN next fetch 3-18 LINK n~ 1 L I AC H TEMP MO AR MQ(JQI -17 AR01-17 31 I I I I 1 5 41 L ACII -17 f 50 AC(lI-17 L 1 421 L 551 L 531 L 1 MOill - 17 I L I 1ACQll - 17 I MOI(l 1 1 MOl2 - I 7 I L I L I LOST 56 1 L I MQ(J2 - 17 1 L 1 L I 571 L 5e 1 L I I MO~2 - 17 1 L 1 L 1 L L 1 ACe2 - 17 1 Moel -.,1 I I AC.,Z - 17 1 MOtll-'1 I I MQeZ - 17 1 L 1 L 56 1 1 571 L L 1 MOQlZ- 17 f I AC.Z - 17 1 MOtif-II I 1L I L f f f 1 M0I2- 17 1 L 1 L IMOIZ- 17 1 L 1L I I I ACtl2- 17 1 1 MOl2 - 171 I AC(l2 - 17 1 MOIl -II I f I ACeZ - 17 1MOIl-II I f f I MOe2- 17 1 L 1 L I L I f f I I MOeZ - 17 1 L 1 L I f 53 I MOCIIZ - 17 1 L 1 L 1MOlll2 -17 1 L 1 L I 551 I f f f I .. 21 I ACIII2 - 17 1MoeCB -II 1MOllltl-ll I [ f I I I f f L L I MOIZ - 17 1 L 1 L I I I AC.2 - 17 1 MOle-II I f f 1 ACI2 - 17 1MOil-II I I LLS, LLSS Register Manipulation (Two Positions) 3-19 I I ACtlZ - 17 1 MOIl -e 1 I ... DONE Figure 3-3 I AC MQ AC00 - 17 MQ00 - 17 LINK 541 AR 1 ~ AC00 -17 50 AC00 - 17 ~ MQ00 - 17 MQ00 - 17 f 421 L MQ00-17 55 IAC01-171 MQ00 -17 L f 531 MQ00 - 17 L 56 MQH - 17 1 AC02 - 1 7 1 L MOfl0 - 17 '---___3 I L MQQl0 -17 LOST 51 L=-cJ 421 L 1 ACI3 - 17 1 L L 1 ACI3 - 171 [ 551 I I I L 1 L 1 L " MQ(le - 17 L MOle -17 L f I 'ACOf" I L1 1 AC.3 - 17 1 L 1L 1L 1 AC'3- 17 1 L I I I f 53 1 561 L MOIl - 17 I MOH -17 L MoeQl-17 MO'.- 17 « L L L I AC.3- 17 f 1 L L I I L MOlD. -17 1 AC'3 - 17 1 L 1 ACI3 - 171 L MOH-17 1 Moel -17 f 571 I L L I I L 1 L f I I I L Ace3-1 71 I L L I I L 4(11 DONE Figure 3-4 ALS, ALSS Register Man ipulation (Three Positions) 3-20 L I 3.6 NORMALIZE INSTRUCTIONS The NORM and NORMS instructions, Table 3-15, are commonly used within a subroutine to convert an integer into a fraction and exponent for use in floating-point arithmetic. The algorithm for normalize is to shift the contents of the AC and MQ left until ACOO differs with AC01. For signed, normalized positive numbers this results in ACOO(O) and AC01 (1). For signed, normalized negative numbers the result is ACOO(l) and AC01 (0). For signed normalized numbers the sign (ACOO) is first duplicated in the LIN K. For unsigned numbers the LIN K is usually initialized to O. In both cases the content of MQOO enters AC 17, the content sh ifted out of ACOO is lost, and the content of the LIN K enters MQ17, on each shift. When shifting halts, the contents of the SC reflect the number of shifts executed to reach the normalized condition. The SC contents are avai lable through the use of the EAE OSC or EAE LACS instruction. Table 3-15 EAE NORM Instruction Format Op Code 64 8 0 1 2 3 NORM Not Used 4 5 6 7 Number of Shifts 48 8 9 10 11 12 13 14 15 16 17 6 4 0 4 4 4 NORM 6 6 0 4 4 4 NORMS For normalized numbers, the binary point is assumed to be between ACOO and AC01, the mantissa of the fraction extends from AC01 to MQ 17, the sign is in ACOO, and the value of the exponent is in the SC. The number in the SC after normal ize is actually the sum of the pre-established characteristic and the exponent (n) in 2s complement form. The characteristic is a number equivalent to the or 44 . The NORM(S) instruction contains this 10 8 number in bits 12 through 17 and loads it into the SC in 2s complement to establish the exponent in ex35 0 cess 44 code. This means that the exponential range of the fraction when normalized is 2 to 2 , or total number of bi t positions in the AC and MQ, 36 -44 + n. 8 For example, if the integer +3 is stored in the MQ (MQ16, MQ17 are 1s) and it is desired to convert this to a fraction and exponent, the following program sequence is required. NORM(S) DAC LACQ DAC LACS TAD (44 DAC /NORMALIZE CONTENTS OF AC, MQ /DEPOSIT AC IN MEMORY /MOVE MQ TO AC /DEPOSIT MQ IN MEMORY /MOVE SC TO AC /SUBTRACT CHARACTERISTIC FROM STEP COUNT /DEPOSIT RESULT (EXPONENT) IN MEMORY 3-21 In the process of normalizing, a total of 33 shifts is required to shift MQ 16(1) into AC01. This leaves the SC with a step count of: 011100 100001 1111 01 initialized step count plus 33 steps final step count Since the step count is in 2s complement, the TAD (448 instruction (2s complement add) in effect subtracts the characteristic from the final step count to arrive at the exponent: 111101 100100 100001 final step count TAD characteristic exponent The NORM(S) logic functions are very similar to the LLS(S) functions. Table 3-13 lists the functions for a two-position LLSS instruction. The functions for a NORMS instruction requiring only two shifts to normalize can be correlated with those of Table 3-13. In the NORMS case, any positive integer whose most-significant 1 bit is located in AC03 requires two shifts to normalize. Likewise, any negative integer whose most-significant 0 bit is in AC03 requires two shifts to normalize. Substituting the positive-integer NORMS case in the listings of Table 3-13, the following NORMS functions become apparent. 75 SA09(l)ASA 1O(O)ASA 11 (0) = NORM KE4 43 SU2(l) = 011 011 .... SC KE2 41 Same 54 R-PULSE = 011100 - t SC 50 Same, first sh ift 42 Same, first shift, plus: KE2 R-PULSE = 011101 ..... SC EAE STROBE DLYDAEAE-R(1)ANORMAO BUSOOAO BUSOl = SCOV(l) 55 Same, second sh ift 53 Same, second shift, plus: KE2 KE2 R-PULSE = 011110 .... SC EAE STROBE DLYDAEAE-R(l)ANORMAOBUSOOAO BUS01 = SCOV(1) KE2 56,57,50,42,55,53,56,57,40,10 Same Although the execution of a NORM(S) instruction cannot be interrupted by a program interrupt (PI) or an automatic priority interrupt (API) request, the central processor can grant such a request before the executed NORM(S) resu Its can be extracted from the EAE registers and processed. Therefore, if interrupt-accessed subroutines are to make use of the EAE, the following instruction sequences are suggested to preserve the register contents during the interrupt and to restore them to the EAE upon completion of the interrupt service routine. 3-22 /SAVE EAE REGISTERS DURING INTERRUPT JMS SUBENTR o SUBENTR, DAC ACSAVE LACQ DAC MQSAVE LACS DAC SCSAVE LAC SCSAVE XOR (77 TAD (640402 AND (640477 DAC.+1 HLT* LAC MQSAVE LMQ LAC ACSAVE DBR JMP I SUBENTR /SAVE AC CONTENTS /MOVE MQ TO AC /SAVE MQ CONTENTS /MOVE SC TO AC /SAVE SC CONTE NTS /COMPLEMENT STEP COUNT /DEVELOP PSEUDO NORM /DELETE POSSIBLE STEP COUNT OVERFLOW /PLACE NORM IN SEQUENCE /STEP COUNT TO SC / /LOAD THE MQ /LOAD THE AC /RESTORE PC,LINK,ETC Restoration of the step count to the SC requires that the 2s complemented quantity, taken from the SC at the time of interrupt, be complemented, then combined with the pseudo NORM instruction. The step count following TAD ,AND is one less (l s complement) than the actual value produced by the previous normalization (2s complement). Execution of the pseudo NORM instruction, then, 2s complements this step count into the SC, and in shifting the AC and MQ left one bit position adds the necessary 1 to the SC to produce the correctly restored step count (the 6404XX present in the AC from TAD, AND shifts to become 501XXX). From the previous two-shift NORM(S) sample: 6404 8 64048 64048 NORM 011110 111111 100001 000010 100011 111111 100011 LAC ACSAVE XOR (77 011100 011101 011110 1s complement -. SC 2s complement -. SC shift once, step SC TAD (640402 AND (640477 DEPOSIT IN HLT* = 640443 = NORM The DBR instruction preceding the JMP I subroutine termination primes the computer for restoration of the interrupted program. This restoration occurs during JMP I. During th is time, the PC and *Good programming practices dictate that instructions to be developed at "run" time be represented by HLT instructions in the source program. If the development does not occur, the HLT will facilitate debugging the program. 3-23 LINK are restored to the contents existing at the time of interrupt., The memory protect arid extended memory options, if in the system, are restored to their on or off status. Refer to the PDP-9 Maintenance Manual and option manuals for details. 3;7 MULTIPLY INSTRUCTIONS The MUL(S) instruction, Table 3-16, multiplies the contents of the AC (multiplier) by the contents of the next sequentiat core memory location (multiplicand) to form a product in the AC and MQ. Bits 12 through 17 in the instruction are usually programmed for a step count of 228 (18 ), repre10 senting the multiplication of one 18-bit quantity (sign bit and 17 magnitude bits for MULS) by another to produce a 36-bit product. When such prec ision is not required, the microprogrammed step count can be decreased by subtracting the appropriate number lin II from the instruction code • The product is always scaled 18-n from MQ17. If II nil is programmed in the instruction, the 18-n lower order bits in the long register are meaningless. Table 3-16 EAE MUL Instruction Format Op Code 64 8 0 1 2 3 4 5 MUL Commands Product Precision 18 6 7 8 9 10 11 12 13 14 15 16 17 6 5 3 1 X X MUL 6 5 7 1 X X MULS For a MUL instruction the LINK must previously have been ini~ialized to 0 and remains O. During the preparatory phase the multiplier is transferred from the AC to the MQ, the AC is cleared, and f"he SC is set to the 2s complement of the. step count in bits 12 through 17 of the i!1struction. A core memory cyc Ie takes place to read the multiplicand into the MB. The arithmetic phase, executed as multiplication of one unsigned quantity by another (binary point of no consequence), halts when the SC counts up to O. For a MULS instruction a previous LAC/GSM/DAC CAND sequence stores the absolute value of the multiplicand in memory and places the original sign of the multiplicand in the LINK. During the preparatory phase of MULS, a core memory cycle reads· the absolute value multiplicand into the MB, transfers the LINK content to a TEMPorary storage flip-flop in the EAE, and resets the LINK. The multiplier is transferred to the MQ and is 1s complemented if negative, the AC is cleared to 0, and the SC is initialized to the 2s complement of the step count in ·bits 12 through 17 of the instruction. The arithmetic phase, executed as multiplication of one signed quantity by another (sign bit plus 17 magnitude .3-24 bits, binary point of no consequence), holts when the SC counts up to O. Bits ACOO and AC01 each receive the sign of the product; the remaining AC and MQ bits represent the magnitude. From the above description of MULS, it can be seen that the arithmetic phase always starts with positive, like-signed quantities in the MQ (mu Itiplier) and the M B (mu Itiplicand). The TEMPorary storage flip-flop which receives the original sign of the multiplicand (TEMP3, drawing KE3) acts upon the MQ SIGN and EAE SIGN flip-flops which perform certain complementary functions during the arithmetic phase to arrive at the correctly signed product. Thus, the complementary functions govern the four signed multiply situations as follows. + x + =+ . (behaves as simple unsigned· multiply, no complementing of the final product) . - +x-=- (negative multiplier is first complemented in preparatory phase, final product complemented after arithmetic phase) -x+=- (EAE GSM sets LINK, complements multiplicand; MULS complements final product after arithmetic phase) -x-=+ (EAE GSM sets LINK, complements multiplicand; MULS complements multiplier in preparatory phas~; no corriplementing of final product) The algorithm for multiplication using the EAE is sample, add, and shift right. Each bit of the'multiplier is sampled, starting with the least significant bit. ~f the sampled bit is a 1, the multiplicand is added to the partial product. The partial product and the multiplier are then shifted right one positi'on for the next !1lultiplier bit sampling. If the sampled bit is a 0, zeros are added to the partial product. With each shift the content of the least significant bit is lost. Multiplication ends when the SC, up-counted with each shift, reaches O. A sample program for signed.multiplication of two positive numbers, 28 x 58 follows. The logic functions that perform the MULS operations are tabulated in Table 3-17. Table 3-18 is a listing of the arithmetic operations by process word functions .*. The sample program and the microprogrammed bits 12 through 17 in the MULS i~struction reflect an initial step count of 04 , resulting in a product 8 pr~cision of eight bits. The MULS instruction is used here to explain EAE SlGN operations; actually, the sample program can be modified for ~UL by eliminating the GSM sequence if dealing with unsigned numbers. Tables 3-19,3-20, and 3-21 list the ramifications of Table 3-17 for different sign situations. /MULTIPLY 28 x 58 ST, 0200 0201 200100 100500 LAC CAND JMS MPY 0202 0203 200101 LAC PLIER /LOAD MULTIPLICAND INTO AC /STORE MAIN PROGRAM ADDRESS IN 0500 lAND JUMP TO MPY SUBROUTINE ILOAD MULTIPLIER INTO AC /MAIN PROGRAM RE-ENTRY *Table 3-18 utilizes 4-bit binary numbers for simplicity. The actual result obtained in multiplying 28 x 58 is 000000 in the AC and 500000 in the MQ. Fourteen more shifts to the right would align 8 8 tHe answer as 128 (MQ0000128). . 3-25 MPY CAND 0500 0501 000202 664000 PC GSM 0502 0503 0504 040505 420500 657122 DAC .+3 XCT I MPY MULS /MAIN PROGRAM ADDRESS /STORE CAND SIGN IN LINK AND / ABSO LUTE VALUE IN AC /DEPOSIT CAND IN 0505 /LOAD MULTIPLIER INTO AC /FETCH CAND AND MU LTIPLY 0505 0506 0507 000002 440500 620500 ISZ PC JMP I 500 /INCREMENT MAIN PROGRAM ADDRESS /JUMP TO MAIN PROGRAM 0100 0101 000002 000005 MULTIPLICAND MULTIPLIER Table 3-17 MULS Functions x 0010 0101 657104 Mu Itiply, Signed (Four Steps) 28 x 58 Process Function Drawing No. 75 (ACO ,ARI, EAE, LI,CONT ,CMA43) ACO(l )ANOSHAARI(l) = AC .... AR SA09(0)ASA 1O(O)ASA 11 (1) = MUL EAE(1)AARI(1) = SUl (1) SU1(1) = 0 .... SCOV,SCOV2,FIRST,EAE RUN,EAE SIGN,MQ SIGN SU1 (l)ASETUP = SC CLR SC CLR = 0 .... SC SU1 (l )AMB07(1) = EAE OR ARO LI(l) = ADRL .... LAR(O) LI(l) = ADRL .... TEMP3(0) EAE(1) = 0 .... EN CMPL TEMP3(0) = condition MQ SIGN MUL = condition MQ SIGN CM STROBEACONT(1) = GO TO 43 43 KC19 KC20-21 KE3 KE2 KC15 KC16 KC18 (ACO ,MQI,EAE,CONT ,CMA54) ACO(1)ANOSHAMQI(l) = AC .... MQ CM STROBEACONT(l) = GO TO 54 54 KC20-21 KE4 KE3 KE2-3 KE2 KE2 KE3 KC15 KE3 KE3 KE3 KC16 KC18 (ACI, EAE,CONT ,CMA41) CM STROBEAEAE OR ARO = ARO(l) ARO(1 )ANOSHAACI(l) = AR .... AC EAE(1)AACI(1)ASETUP = SU2(1) SU2(l) = MB12-17 .... SC = 111011 LI(O) = LAR(O) .... LINK(O) CM STROBEACONT(l) = GO TO 41 41 KC18 KC20-21 KC16 KC18 (ACI, EAE-R,CONT ,CMA40) ACI(1) = 0 .... AC EAE-R(1 )ASCOV(O) = R-PULSE R-PULSE = 111100 -+ SC EAE-R(l) = 0 BUS L = LINK .... TEMP2(0) EAE(O)A TEMP3(0) = MQ SIGN(1) 3-26 KC20 KE2 KE2 KE3 KE3 Table 3-17 (cont) MULS Functions 657104 Mul tipl y, Signed (Four Steps) Process Function 54(cont) 51 I Drawing No. MQ SIGN(1) = condition EAE SIGN EAE-R(1)(\SCOV2(0) = ADDR 10 EAE-R(l)I\EIR09(0)ASCOV2(0)AEAE RUN(O) = ODD ADDR CM STROBEACONT(1)ACMA40AADDR 10AODD ADDR = GO TO 51 (PeO ,SM,MBI,CMA52) KC18 PCO(l)ANOSHAMBI(l) = PC -+MB (CAND ADDRESS) SM(l)ACLK = FETCH CAND SM(l)ACLK = CM STROBE CM STROBE = GO TO 52 52 (MBO, +1, PC I, LI,CMA50) J~ Sample 1 42 J~ ADD, Shift 1 KC20-21 MC2 KC16 KC17 KC18 +1 (1) = CIl7 MBO(l)ANOSHACIl7 APCI(1) = MB (CAND ADDRESS) +1 -+ PC +1 (1) = A BUS LINK -+ ADRL LI(l)=ADRL-+LAR(O) L1(1) = ADRL -+TEMP3(0) LI(l)ACONT = EAE CLR RQ EAE CLR RQ = IN CLR, CLR IN CLR = CLR 1= 0 -+ PCI, MBO C LR = 0 -+ +1, 1 -+ SAO IN CLR = 1 -+ MBI SAO(l) = A BUS LINK -+ ADRL (Since +1 is cleared by CLR, SAO(l) inhibits erroneous setting of LAR) SAO(l)ANOSHAMBI(l) = SA(CAND) -+ MB MEM STROBE = GO TO 50 50 KE3 KE3 KE3 KC16 (MQO ,ARI, EAE-P ,CONT ,CMA42) EAE-P(l )AEAE RUN (0) = FIRST(l) EAE-P(l )ASCOV2(0) = EAE RUN(l) FIRST(l)AEAE RUN(l)AMQ SIGN(1 )=CMPL EAE SIGN=EAE SIGN(1) FIRST(l)AMUL = MQ SIGN (1) MQ SIGN(l) = condition EAE SIGN MQO(l )I.\NOSHAARI(l) = MQ -+ AR EAE-P(lfAMULASCOV(O)AO BUS17(1) = EAE OR MBO EAE-P(l) = 0 BUS L = LINK = ADRL -+ TEMP1 (not used) LI(O) = LAR(O) -+ L1NK(O) CM STROBEACONT(l) = GO TO 42 (ACO ,MQI,EAE-R,CONT ,CMA55) EAE-R(1)ASCOV(O) = R-PULSE R-PULSE = 111101 -+ SC CM STROBEAEAE OR MBO = MBO(l) EAE-R(1)ASCOV2(0)AEAE RUN(1)AEIR1 O(O)AEIRll (1) = IN SHR1 IN SHR1 = SHR1 ACO(1)ASHR1AMQI(1) = ACn -+ MQn+1 MBO(1)ASHR 1AMQI(1) = MBn -+ MQn+1 3-27 KC14 KC20-21 KC15 KC15 KE3 KC16 KC19 KC19 KC19 KC15 KC20-21 KC16 KC18 KE3 KE3 KE3 KE3 KC20-21 KE3 KE3 KC15 KC16 KC18 KE2 KE2 KC19 KE4 KC13 KC20-21 KC20-21 Table 3-17 (cont) MULS Functions 657104 Multiply I Signed (Four Steps) Process Function 42 (cont) 55 r Shift 1, Sample 1 53 r Shift 2, Add Zeros l 56 r Shift 2, Sample 1 EAE-R(l) = ADRL -+ END BITOO (COOO=O) SHR 1 = END BITOO -+ MQOO SHRl = ADR17 -+ 0 BUS L EAE-R(1) = 0 BUS L -+ TEMP2 EAE-R(1) == TEMPl = LINK -+ END BIT17 {lost) CM STROBE/\CONT(l) = GO TO 55 (ARO ,ACI, EAE-P ,CONT ,CMA53) EAE-P(l)/\EAE RUN (l) = FIRST(O) EAE-P{l )/\FIRST (0)/\SCOV2 (O)/\EAE RUN (l )/\EIR 1O(O)/\EIR 11 (1) = IN SHR1 IN SHR1 = SHR1 ARO(l)/\SHR1/\ACI(l) = ARn -+ ACn+1 EAE-P(l)/\MUL/\SCOV (0)/\0 BUS 17(0) = EAE OR MBO SHR1 = ADR17 -+ 0 BUS L EAE-P(l) = 0 BUS L-+ TEMP1 (lost) EAE-P(l) = TEMP2 -+ END BITOO SHR 1 = END BITOO -+ ACOO CM STROBE/\CONT(l) = GO TO 53 (MQO,ARI,EAE-R,CONT ,CMA56) EAE-R(l)/\SCOV(O) = R-PULSE R-PULSE = 111110 -+ SC EAE-R (l )/\SCOV2(0)/\EAE RUN (1 )/\EIR 1O(O)/\EIR 11 (1) = IN SHR 1 IN SHRl = SHRl MQO(l)/\SHR l/\ARI(l) = MQn -+ ARn+1 EAE-R(l) = ADRL -+ END BITOO SHR 1 = END BITOO -+ AROO SHR1 = ADR17 -+ 0 BUS L EAE-R(l) = 0 BUS L -+ TEMP2 CM STROBE/\CONT(l) ~ GO TO 56 (ACO ,MQI, EAE-P ,CONT ,CMA57) Drawing No. KC18 KC20 KC15 KE3 KC15 KC16 KC18 KE3 KE4 KC13 KC20-21 KE3 KC15 KE3 KC15 KC20 KC16 KC18 KE2 KE2 KE4 KC13 KC20-21 KC15 KC20 KC15 KE3 KC16 KC18 E.AE-P{l )/\FIRST (0)/\SCOV2 (O)/\EAE RUN (l )/\EIR 1O(O)/\EIR 11 (l) = IN SHR1 IN SHR1 = SHR1 ACO(l)/\SHR1/\MQI(l) = ACn -+ MQn+1 EAE-P(1)/\MUL/\SCOV(O)/\O BUS17(1) = EAE OR MBO SHR1 = ADR17 -+ 0 BUS L EAE-P{l) == 0 BUS L .... TEMP1 (lost) EAE-P(l) = TEMP2 .... END BITOO SHR1 = END BITOO .... MQOO CM STROBE/\CONT(l) = GO TO 57 KE4 KC13 KC20-21 KE3 KC15 KE3 KC15 KC20 KC16 .,j 3-28 Table 3-17 (cont) MULS Functions 657104 Multiply, Signed (Four Steps) Process Function 57 1 Add, Shift 3 " 50 r Shift 3, Sample 1 Shift 4, Add Zeros 1 (ARO,ACI,EAE-R,CONT ,CMA40) EAE-R(l)/\SCOV(O) = R-PULSE R-PULSE = 111111 -. SC = SC FULL EAE-R(l )/\SCOV2(0)/\EAE RUN(l)/\E IR 1O(O)/\EIR 11 (1) = SHR 1 IN SHR1 = SHR1 CM STROBE/\EAE OR MBO = MBO(l) ARO(1)/\SHR1/\ACI(1) = ARn -. ACn+1 MBO(1)/\SHR1/\ACI(l) = MBn -. ACn+1 EAE-R(l) = ADRL -. END BITOO (COOO -+ 0) SHR1 = END BITOO -. ACOO SHRl = ADR17 -. 0 BUS L EAE-R(l) = 0 BUS L -. TEMP2 EAE-R(l) = TEMP1 -. END BIT17 (lost) EAE-R( 1)/\SCOV2(0) = ADDR 10 CM STROBE/\CONT(l)/\CMA40/\ADDR 10 = GO TO 50 (MQO ,ARI, EAE-P ,CONT ,CMA42) EAE-P(l )/\FIRST(0)/\SCOV2(0)/\EAE RUN (l )/\EIR 1O(O)/\EIR 11 (l) = IN SHRl INS H RI = SHR1 MQO(l)/\SHR l/\ARI(l) = MQn -. ARn+1 EAE-P(l )/\MUL/\SCOV (0)/\0 BUS 17(0) = '='"EA~E:--O:-:R::--:--:M-=-BO: SHR1 = ADR17 -. 0 BUS L EAE-P(l) = 0 BUS L -. TEMP1 (lost) EAE-P(l) = TEMP2 ~ END BITOO SHRl = END BITOO -. AROO CM STROBE/\CONT(l) = GO TO 42 (ACO ,MQI, EAE-R,CONT ,CMA55) EAE-R(l)/\SCOV(O) = R-PULSE R-PULSE = 000000 ~ SC EAE-R(l)/\SC FULL = SCOV(.l) EAE-R(l)/\SCOV2(0)/\EAE RUN (l )/\EIR 1O(O)/\EIR 11 (1) = IN SHR 1 IN SHR1 = SHRl ACO(l)/\SHR1/\MQI(l) = ACn -. MQn+1 EAE-R(l) = ADRL -. END BITOO SHR 1 = END BITOO -. MQOO SHR1 = ADR17 -. 0 BUS L EAE-R(l) = 0 BUS L -. TEMP2 EAE-R(l) = TEMP1 -. END BIT17 (lost) CM STROBE/\CONT(1) = GO TO 55 3-29 Drawing No. KC18 KE2 KE2 KE4 KC13 KC19 KC20-21 KC20-21 KC15 KC20 KC15 KE3 KC15 KE3 KC16 KC18 KE4 KC13 KC20-21 KE3 KC15 KE3 KC15 KC20 KC16 KC18 KE2 KE2 KE2 KE4 KC13 KC20-21 KC15 KC20 KC15 KC15 KC15 KC16 Table 3-17 (cont) MULS Functions 657104 Multiply, Signed (Four Steps) Process Function 55 I Shift 4 No Sample ,~ 53 (ARO, ACI, EAE-P, CO NT ,CMA53) EAE-P{l )/\FIRST(0)/\SCOV2(O)/\EAE RUN (1 )/\EIR 1O(O)/\EIR 11 (l) = IN SHR1 IN SHR1 = SHR1 AR0(1)/\SHR1/\ACI(1) = ARn .... ACn+1 EAE-P(1)/\MUL/\sCOV(l) = EAE OR MBO SHR1 = ADR17 .... 0 BUS L EAE-P{l) = 0 BUS L .... TEMP1 (lost) EAE-P{l) = TEMP2 .... END BITOO SHR1 = END BITOO .... ACOO CM STROBE/\CONT(l) = GO TO 53 (MQO ,ARI, EAE-R,CONT ,CMA56) EAE-R(l )/\SCOV (1) = R-PULSE EAE-R(l)/\SCOV{l) = SCOV2(1) SCOV2(1) = IN SHR 1 MQO(l)/\NOSH/\ARI(l) = MQ .... AR CM STROBE/\CONT(l) = GO TO 56 56 (ACO ,MQI,EAE-P ,CONT ,CMA57) SCOV2(1) = IN SHR 1 EAE-P{l )/\ACO{l )/\MQI{l )/\EIR09(0)/\SCOV2{l) = EN CMPL(1) EN CMPL(l)/\MUL/\MQ SIGN(l)=CMPL EAE SIGN=EAE SIGN(O) EAE SIGN(O) = CMPL ACO(1)/\NOSH/\MQI(l)/\CMPL = AC .... MQ CM STROBE/\CONT(l) = GO TO 57 57 (ARO ,ACI, EAE-R,CONT ,CMA40) SCOV2(1) = IN SHR 1 EAE-R(1 )/\SCOV2(1) = RUN(O) EAE-R(l)ASCOV2(1)/\RUN (0) = ADDR 10 EN CMPL/\EAE SIGN (0) = CMPL ARO(l)/\NOSH/\ACI(1)/\CMPL= AR .... AC CM STROBE/\CONT(l)/\ADDR 10= GO TO 40 40 (EAE, DONE,CMA 10) KC18 KE4 KC13 KC20-21 KE3 KC15 KE3 KC15 KC20 KC16 KC18 KE2 KE3 KE4 KC20-21 KC16 KC18 KE4 KE3 KE3 KE3 KC20-21 KC16 KC18 KE4 KE3 KE3 KE3 KC20-21 KC16 KC18 CLK(B) DLYD/\EAE(l)/\DONE(l) = INPUT 10 RESTART 10 RESTART = GO TO 10 10 Drawing No. (PC 0 , SM, C MA21) KD3 KC16 KC18 BGN next fetch 3-30 Table 3-18 MULS Arithmetic 28 x 58 L MQ AC AR ~sample 50 0 0000 42 0 0010 CRYE-0010 I 55 0 I L 0101 CAND SHR1 :> 0101 PLIER ;.. 0001 0101 0001 SHRl 0101 ~ ~Iost 0010-, 53 0 0010 56 0 0010 57 0 ~OO11 r 0001 SHRl ... 1001 SHRl ~sample 0000 0010 1001 CRY~ SHRl 50 0 >0000 I ~Iost 0001 ~sample t 1001 SHRl 0010-, CAND ~loo l:'lost sample t ;.. 0000 0100 1010~ 0000 SHRl ,0100 0 1010 0000 ;> 0000 56 0 1010 :> 1010 0000 57 0 OOOO~ 1010 ,0000 42 0 0001 55 0 I 53 1< SHRl ~Iost ~ answer 12 8 3-31 Table 3-19 MULS Functions 657104 Multiply, Signed (Four Steps) Process Function 75 TEMP3(0) = condition MQ SIGN MUL = condition MQ SIGN ACOO(l) = condition EAE SIGN EAE(1) = 0 -+ EN CMPL 43 SU2(1)AMB06(1)AAC00(1) = EAE SIGN (1) SU2(1)AEIR09(0)AEAE SIGN(l )AEIR 11 (1) = CMPL CMPL = AR -+ AC 41 AC -+ MQ 54 EAE(0)ATEMP3(0) = MQ SIGN(1) MQ SIGN(l) = condition EAE SIGN 0-+ AC 51 CAND fetch 52 MB+1 -+ PC 50 FIRST(l)AEAE RUN(l)Nv\Q SIGN(l)AEAE SIGN (1) = EAE SIGN(O) FIRST(l)AMUL = MQ SIGN(l) 42,55,53 same as M ULS 28 x 58 56 EAE-P(1)ASCOV2(1)AMQI(1)AEIR09(0)AAC0(1) = EN CMPL(1) MULAEN CMPLAMQ SIGN(l)AEAE SIGN (0) = EAE SIGN(1) EN CMPL(l)AEAE SIGN(1) = CMPL CMPL = AC -+ MQ 57 EN CMPLAEAE SIGN (1) = CMPL CMPL = AR -to AC Table 3-20 MULS Functions 657104 Multipl)(., Signed (Four Steps) Process Function 75 TEMP3(l) = no conditioning of MQ SIGN ACOO(O) = no conditioning of EAE SIGN EAE(1) = 0 MUL = condition MQ SIGN EN CMPL 43 AR -+ AC 41 AC -+ MQ 54 o -+ AC 51 CAND fetch 52 MB+1 -+ PC 50 FIRST(l)AMUL = MQ SIGN (1) FIRST(1)AEAE RUN(1) = no effect on EAE SIGN 3-32 Table 3-20 (cont) MULS Functions 657104 Multiply, Signed (Four Steps) Process Function 42,55,53 same as MULS 28 x 58 56 EAE-P(1)/\SCOV2(1)/\MQI(1)/\EIR09(0)/\ACO(1) = EN CMPL(l) EN CMPL(1)/\MUL/\MQ SIGN(l)/\EAE SIGN (0) = EAE SIGN (1) EN CMPL(1)/\EAE SIGN (1) = CMPL CMPL ='AL ...... MQ 57 EN CMPL/\EAE SIGN (1) = CMPL CMPL = AR ...... AC Table 3-21 MULS Functions 657104 Multiply, Signed (Four Steps) Process Function 75 TEMP3(1) = no conditioning of MQ SIGN ACOO(l) = condition EAE SIGN MUL = condition MQ SIGN EAE(1) = 0 ...... EN CMPL 43 41 SU2(1)/\MB06(1)/\ACOO(1) = EAE SIGN (1) SU2(1)/\EIR09(0)/\EAE SIGN(l)/\EIR11 (1) = CMPL CMPL = AR ...... AC AC ...... MQ 54 0 ...... AC 51 CAND fetch 52 MB+1 ...... PC 50 FIRST(l )/\MUL = MQ SIGN(l) FIRST(l)/\EAE RUN(l) = no effect on EAE SIGN 42,55,53 same as MULS 28 x 58 56 EAE-P(l)/\SCOV2(l)/\MQI(1 )/\EIR09(0)/\ACO(1) = EN CMPL(l) EN CMPL(l)Nv\UL/\MQ SIGN(1)/\EAE SIGN (1) = EAE SIGN (0) EN CMPL(1)/\EAE SIGN(O) = CMPL AC ...... MQ 57 EN CMPL(l)/\EAE SIGN(O) = CMPL AR ...... AC 3.8 -2 x-5 8 8 DIVIDE INSTRUCTIONS Six divide instructions inc luding integer divide and fraction divide, Table 3-22, divide the contents of the AC and MQ (integer dividend, fraction dividend, long register dividend) by the contents 3-33 of the next sequential core memory location (divisor) to form a quotient in the MQ and remainder in the AC. Bits 12 through 17 in the instruction are usually programmed for a step count of 238 (19 10), representing division of a 36-bit dividend (actual or implied) by an 18-bit divisor. When such precision is not required, the microprogrammed step count can be decreased by subtracting the appropriate number II nil from the instruction code. The quotient is always right-justified in the MQ and the remainder right- justified in the AC. If "-n" is programmed in the instruction, the n high-order bits in the MQ and AC are meaningless. Table 3-22 EAE DIV Instruction Format DIV 3 8 op Code 64 8 0 1 2 3 4 5 6 7 8 9 10 Commands Prec ision of QUaT/Remainder 11 12 13 14 15 16 17 6 4 • 0 3 X X DIV 6 4 4 3 X X DIVS 6 5 3 3 X X IDIV 6 5 7 3 X X IDIVS 6 5 0 3 X X FRDIV 6 5 4 3 X X FRDIVS Instructions may be programmed for division of signed or unsigned quantities. Divide overflow occurs if the quotient exceeds the capacity of the MQ (777777 , unsigned; ±377777 , signed). 8 8 The LINK sets to indicate an overflow, divide execution ends in 5 computer cycles, and the register contents are meaningless. The computer goes on to the next instruction. 3.8. 1 DIV (S) Instruction The DIV(S) instruction divides the contents of the AC and MQ {long register dividend) by the contents of the next sequential core memory location to form a quotient in the MQ and remainder in the AC. For a DIV instruction the LINK must previously have been set to 0 and remains 0 unless divide overflow occurs (Section 3.8.4). During the preparatory phase, the SC is set to the 2s complement of the step count in bits 12 through 17 of the instruction. A core memory cyc Ie takes place to read the divisor into the MB. The arithmetic phase, executed as the division of one unsigned quantity by another (binary point of no consequence), halts when the SC counts up to O. For a DIVS instruction, a previous LAC/GSM/DAC DIVR sequence stores the absolute value of the divisor in memory and places the original sign of the divisor in the LINK. During the preparatory phase of DIVS, a core memory cyc Ie reads the absolute value divisor into the MB, transfers the LINK 3-34 content to the temporary storage register TEMP3 in the EAE, and resets the LINK. The SC is set to the 2s complement of the step count in bits 12 through 17 of the instruction. The arithmetic phase, executed as the division of one signed quantity by another (binary point of no consequence), halts when the SC counts up to O. The dividend contains a double sign in bits ACOO and AC01. MQOO receives the sign of the quotient, and ACOO receives the original sign of the dividend. As with the execution of MULS, the arithmetic phase of DIVS starts with positive, like-signed quantities in the divisor and dividend. TEMP3, MQ SIGN, and EAE SIGN flip-flops act to 1s complement the MQ portion of a negative dividend during the preparatory phase and to perform other complementary functions during the arithmetic phase to arrive at the correctly signed quotient as follows. + ++=+ (behaves as simple unsigned divide, final quotient complemented after arithmetic phase) ++- =- (EAE GSM sets LINK, complements divisor; final quotient not complemented) - + + =- (MQ portion of dividend complemented during preparatory phase; quotient not complemented; remainder complemented after arithmetic phase) - + - = + (EAE GSM sets LINK, complements divisor; MQ portion of dividend complemented during preparatory phase, quotient complemented after arithmetic phase). The algorithm for divide using the EAE is sample, add or subtract, and shift left. The divisor is first subtracted from the AC portion of the dividend, and the result is shifted left. The LINK and TEMP3 receive the most significant bit of the result for sampling. If the result is a negative number, the divisor is added to the quotient; if the result is a positive number, the divisor is subtracted from the quotient. The result is then shifted left one position for the next sampling. If in the first subtraction the divisor is not greater than the AC portion of the dividend, divide overflow occurs, stopping divide operations (Section 3.8.4). The subtract operation takes the form of a 2s complement add. Following is a sample program for the signed division of two positive numbers, 128 + 58. The logic functions that perform the DIVS operations are listed in Table 3-23. Table 3-24 is a listing of the arithmetic operations by process word functions. The sample program and the microprogrammed bits 12 through 17 in the DIVS instruction reflect an in itial step count of 05 , resulting in a four-bit prec ision 8 of the quotient and remainder. The DNS instruction is used here for purposes of explanation of the EAE SIGN operations; actually, the sample program can be modified for DIV by eliminating the GSM sequence)f dealing with unsigned numbers. Tables 3-25,3-26, and 3-27 list the ramifications of Table 3-23 for different sign situations. /DIVIDE 128 + 58 ST, 0500 0501 200100 100200 LAC DIVR JMS DIV /LOAD DIVISOR INTO AC /STORE PROGRAM ADDRESS IN 0200 AND / JUMP TO DIV SUBROUTINE /MAIN PROGRAM RE-ENTRY 0502 3-35 DIV DIVR 0200 0201 000502 664000 PC GSM '0202 0203 0204 0205 0206 0207 0210 040207 200101 652000 200102 644323 000005 620200 DAC. +5 LAC DIVDl LMQ LAC DIVD2 DIVS /PROGRAM ADDRESS /STORE DIVR SIGN IN LINK AND ABSOLUTE /VALUE IN AC /DEPOSIT DIVR IN 0207 /LOAD HALF DIVIDEND INTO AC /MOVE TO MQ /LOAD HALF DIVIDEND INTO AC /FETCH DIVR AND DIVIDE JMP I 200 /RETURN TO MAIN PROGRAM 0100 0101 0102 000005 000012 000000 DIVISOR DIVIDEND (LEAST SIGNIFICANT) DIVIDEND (MOST SIGNIFICANT) NOTE: The following discussion of a divide signed operation is using a 4bit divisor and Sbit dividend instead of lSand 36. References toa given register bit 17 are referring to the least significant bit of the applicable register. Table 3-23 DIVS Functions 644305 Divide, Signed (Five Steps) Process Function 75 01 (ACO ,ARI,EAE, LI,CONT ,CMA43) ACO(1)ANOSHAARI(1) = AC .... AR SA09(0)ASA 1O(1)ASA 11 (1) = DIV EAE(1)MRI(l) = SUl (1) SU1(l) = 0 .... SCOV,SCOV2,FIRST,EAE RUN,MQ SIGN,EAE SIGN SUl (1)ASETUP = SC CLR SC CLR = 0 .... SC SUl(1)AMB05(0) = EAE OR MQO LI(l) = 0 BUS L = ADRL .... LAR(O) LI(l) = ADRL = LINK .... TEMP3(0) TEMP3(0) = condition MQ SIGN EAE(l) = 0 ..... EN CMPL.,. ACOO(O) = no conditioning of EAE SIGN CM STROBEACONT(l) = GO TO 43 43 (ACI, EAE,CONT ,CMA41) 12S + 5 S Drawing No. KC1S KC20-21 KE4 KE3 KE2-3 KE2 KE2 KE3 KC15 KE3 KE3 KE3 KE3 KC16 KC1S EAE(l)AACI(1)ASETUP = SU2(l) SU2(l) = MB12-17 = 111010 ..... SC SU2(l)AMB06(1)MCOO(0) = no effect on EAE SIGN (EAE SIGN 0) CM STROBEAEAE OR MQO = MQO(l) MQO(1)ANOSHAACI(l) = MQ .... AC U(O) = LAR(O) .... LINK(O) CM STROBEACONT(l) = GO TO 41 41 ol} 0000 101 0 (MQI,ACO, EAE ,CONT ,CMA54) KE3 KE2 KE3 KC19 KC20-21 KC15 KC16 KC1S ACO(1)ANOSHAMQI(1) = AC .... MQ MQI(1)AMB08(0) = EAE OR ARO CM STROBEACONT(l) = GO TO 54 3-36 KC20-21 KE3 KC16 Table 3-23 (cont) DIVS Functions 644305 Divide, Signed (Five Steps) Process Function 54 (ACI, EAE-R,CONT ,CMA40) KC18 CM STROBE/\EAE OR ARO = ARO(l) ARO(l )/\NOSH/\ACI(l) = AR -+ AC EAE-R(l )/\SCOV (0) = R-PULSE R-PULSE = 111 011 -+ SC EAE-R(l )/\SCOV2(0) = AD DR 10 EAE-R(l )/\EIR09(0)/\SCOV2(0)/\EAE RUN(O) = ODD ADDR EAE(0)/\TEMP3(0) = MQ SIGN(1) MQ SIGN(1) = condition EAE SIGN EAE-R(l) = 0 BUS L = LINK -+ TEMP2(0) CM STROBE/\CONT(1)/\CMA40/\ADDR 10/\ODD ADDR = GO TO 51 51 I~ Shift 1, Sample 1 KC20-21 MC2 KC16 KC16 KC18 (MBO , + 1, PCI, LI, CMA50) +1(1)=CI17 MBO(l)/\NOSH/\CI17/\PCI(l) = MB (DIVR ADDRESS) +1 -+ PC +1 (1) = A BUS LINK -+ ADRL LI(1) = ADRL -+ LAR(O) LI(l)/\CONT(O) = EAE CLR RQ LI(l)AADRL = TEMP3(0) EAE CLR RQ = IN CLR, CLR IN CLR = CLR 1= 0 -+ PCI, MBO CLR=O-++l,l-+SAO IN CLR = 1 -+ MBI SAO(1) = A BUS LINK ...... ApRL SAO(l)/\NOSH/\MBI(l) = SA (DIVR) ...... MB MEM STROBE = GO TO 50 50 KC19 KC20-21 KE2 KE2 KE3 KE3 KE3 KE3 KE3 KC16 KC18 (PCO ,SM,MBI,CMA52) PCO.(l )/\NOSH/\MBI(l) = PC -+ MB (DIVR ADDRESS) SM(1)/\CLK = FETCH DIVR SM(l )/\CLK = CM STROBE CM STROBE = GO TO 52 52 Drawing No. (MQO ,ARI, EAE-P ,CONT ,CMA42) EAE-P(l)/\SCOV2(0) = EAE RUN(1) EAE-P(l )/\EAE RUN(O) = FIRST(l) FIRST(l)/\EAE RUN(l)/\MQ SIGN(l)=CMPL EAE SIGN=EAE SIGN(l} EAE-P(l )/\SCOV2(0)/\DIV = IN SH L1 IN SHLl = SHLl MQO(l)/\SHLl/\ARI(l) = MQn ...... ARn-1 SH Ll = ADROO = MQOO(1) -+ 0 BUS L EAE-P{l) = 0 BUS L ...... TEMP1 (1) EAE-P(l) = TEMP2(0) -+ END BITOO (lost) EAE-P(1) = TEMP3(0) ...... END BIT17 SH L1 = END BIT17 -+ AR 17(0) LI(O) = LAR(O) ...... LINK(O) 3-37 KC14 KC20-21 KC15 KC15 KE3 KE3 KC16 KC19 KC19 KC19 KC15 KC20-21 KC16 KC18 KE3 KE3 KE3 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KC15 Table 3-23 (cont) DIVS Functions 644305 Divide, Signed (Five Steps) Process Function 50 (cont) 42 I~ Sub, Sh ift 1 ~ 55 I~ Shift 2, Sample 1V 53 1 Add, Shift 2 EAE-P(l )ASCOV(O)A TEMP3(0)AD IV = EAE OR SUB EAE-P(l)ASCOV2(0)ADIV = EAE OR LI CM STROBEACONT(l) = GO TO 42 (ACO ,MQI,EAE-R,CONT ,CMA55) CM STROBEAEAE OR SUB = SUB(l) CM STROBEAEAE OR LI = LI(1) EAE-R(l )ASCOV(O) = R-PULSE R-PULSE = 111100 ..... SC EAE-R(l)ASCOV(O)AEAE RUN(1)ADIV = IN SHLl IN SHLl = SH Ll EAE-R(l )ASUB(l) = CI17 SUB(l)ASHLlACIl7AMQI(1) = MB+1 ..... MQn-1 ACO(l)ASHLlAMQI(l) = ACn ..... MQn-l SHLl = ADROO(l) ..... 0 BUS L EAE-R(1) = 0 BUS L ..... TEMP2(1) LI(l) = 0 BUS L ..... LAR(l) EAE-R(l) = TEMP1 (1) ..... END BIT17 SHL1 = EN D BIT17 ..... MQ17(l) LINK(O)AS UB(l)AEAE R(l) = A BUS LINK A BUS LINKACC500 = ADRL LI(1) = ADRL ..... TEMP3(l) CM STROBEACONT(1) = GO TO 55 (ARO,ACI, EAE-P ,CONT ,CMA53) EAE-P(1)ASCOV2(0)ADIV = IN SHLl IN SHLl = SHLl EAE-P(l)AEAE RUN (1) = FIRST (0) ARO(1)ASHLlAACI(l) =ARn ..... ACn-1 SHLl = ADROO(O) ..... 0 BUS L EAE-P(l) = 0 BUS L ..... TEMP1 (0) EAE-P(l) = TEMP2(1) ..... END BITOO (lost) EAE-P(l) = TEMP3(1) ..... END BIT17 SHLl = END BITl7 ..... AC17(l) EAE-P(l)ASCOV2(0)AEAE OR SUBAO BUS 17ADIV = EAE OR MBO LI(O) = LAR(l) ..... LINK(l) EAE-P(1)ASCOV2(0)ADIV == EAE OR LI CM STROBEACONT(l) = GO TO 53 (MQO ,ARI,EAE-R,CONT ,CMA56) CM STROBEAEAE OR MBO = MBO(1) CM STROBEAEAE OR LI = LI(1) EAE-R(l)ASCOV(O) = R-PULSE R-PULSE = 111101 ..... SC EAE-R(l)ASCOV(O)AEAE RUN(l)ADIV = IN SHLl IN SHLl = SHLl MQO(1)ASHLlAARI(1) = MQn ..... ARn-1 3-38 Drawing No. KE3 KE3 KC16 KC18 KC19 KC19 KE2 KE2 KE4 KC13 KE3 KC20-21 KC20-21 KC15 KE3 KC15 KC15 KC20 KC15 KC15 KE3 KC16 KC18 KE4 KC13 KE3 KC20-21 KC15 KE3 KC15 KC15 KC20 KE3 KC15 KE3 KC16 KC18 KC19 KC19 KE2 KE2 KE4 KC13 KC20-21 Table 3-23 (cont) D IVS Functions 644305 Divide, Signed (Five Steps) Process Function 53 (cont) MBO(l)ASHL1AARI(l) = MBn -+ ARn-1 SKU '="ADROO(l) -+ 0 BUS L EAE-R(l) = 0 BUS L -+ TEMP2(l) LI(l) = 0 BUS L -+ LAR(1) \V 56 1 Shift 3, Sample V 57 1\ Add, Shift 3 ,~ LI(l) = ADRl-+ TEMP3(1) EAE-R(l) = TEMPl (0) -+ EN D BIT17 SHL1 = END BIT17 -+ AR17(0) LIN K(l )ASUB = A BUS LIN K A BUS LINIQ\COOO = ADRL CM STROBEACONT(l) = GO TO 56 (ACO,MQI,EAE-P ,CONT ,CMA57) EAE-P(1)ASCOV2(l)ADIV = IN SHLl IN SHLl = SHLl ACO(l)ASH Ll AMQ I(l) = ACn -+ MQn-l SH Ll = ADROO(l) -+ 0 BUS L EAE-P(l) = 0 BUS L -+ TEMP1 (1) EAE-P(1) = TEMP2(1) -+ END BITOO (lost) EAE-P(1) = TEMP3(l) -+ END BIT17 SH Ll = END BIT17 -+ MQ 17(1) EAE-P(l)ASCOV2(0)AEAE OR SUBAO BUS 17ADIV = EAE OR MBO LI(O) = LAR(1) -+ LINK(1) EAE-P(l )ASCOV2(O)ADIV = EAE OR LI CM STROBEACONT(l) = GO TO 57 (ARO ,ACI,EAE-R,CONT ,CMA40) CM STROBEAEAE OR MBO = MBO(l) CM STROBEAEAE OR LI = LI(1) EAE-R(1 )ASCOV(O) = R-PULSE R-PULSE = 111110 - t SC EAE-R(l)ASCOV(O)AEAE RUN(l)ADIV = IN SHLl IN SHLl = SHLl ARO(l)ASHLlAACI(l) = ARn -+ ACn-l MBO(l )ASH LlAACI(l) = MBn -+ ACn-1 SHLl = ADROO(1) -+ 0 BUS L EAE-R(l) = 0 BUS L -+ TEMP2(1) EAE-R(l) = TEMP1 (1) -+ END BIT17 SHL1 = END BIT17 -+ ACll(l) LI(l) = 0 BUS L .... LAR(l) LINK (1 )AS UB = A BUS LINK A BUS LINKACOOO = ADRL LI(l) = ADRL -+ TEMP3(1) EAE-R(1)ASCOV2(0) = ADDR 10 CM STROBEACONT(1)ACMA40AADDR 10 = GO TO 50 3-39 Drawing No. KC20-21 KC15 KE3 KC15 KE3 KC15 KC20 KC15 KC15 KC16 KC18 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KE3 KC15 KE3 KC16 KC18 KC19 KC19 KE2 KE2 KE4 Kt13 KC20-21 KC20-21 KC15 KE3 KC15 KC20 KC15 KC15 KC15 KC15 KE3 KC16 Table 3-23 (cont) DIVS Functions 644305 Divide, Signed (Five Steps) Process Function 50 I Shift 4, Sample ,~ 42 " Add, Shift 4 ,J 55 I Shift 5, Sample , I (MQO ,ARI, EAE-P ,CONT ,CMA42) EAE-P(1)ASCOV2(0)ADIV = IN SHL 1 IN SHLl = SHL1 MQO(1)ASHL1AARI(1) = MQn -. ARn-1 SHLl = ADROO(O) -+ 0 BUS L EAE-P(l) = 0 BUS L -. TEMP1 (0) EAE-P(l) = TEMP2(1) -. END BIlOO (lost) EAE-P(l) = TEMP3(1) -. END BIT17 SHLl = END BIT17-. AR17(1) LI(O) = LAR(l) -. LINK(l) EAE-P(l)ASCOV2(0)AEAEOR SUBAO BUS 17ADIV. = EAE OR MBO EAE-P(l )ASCOV2(0)AD IV = EAE OR LI CM STROBEACONT(l) = GO TO 42 (ACO, MQI, EAE-R,CONT ,CMA55) CM STROBEAEAE OR MBO = MBO(l) CM STROBEAEAE OR LI ;: LI(l) EAE-R(l)ASCOV(O) = R-PULSE R-PULSE = 111111 -. SC = SC FULL EAE-R(l)ASCOV(O)AEAE RUN(l)ADIV = SHL 1 IN SHLl = SHLl ACO(l)ASHLlAMQI(l) = ACn -. MQn-1 MBO(l)ASHLlAMQI(l) = MBn -. MQn-1 SHL 1 = AD ROO(O) -. 0 BUS L EAE-R(l) = 0 BUS L -+ TEMP2(0) U(1) = 0 BUS L ..... LAR(O) EAE-R(l) = TEMPl (0) ..... END BIll 7 SHLJ = END BIll 7 -. MQ17(0) LINK(l)ASUB = A BUS LINK A BUS LINKACOOO =,A.DRL LI(l) = ADRL -. TEMP3(0) CM STROBEACONT(l) = GO TO 55 (ARO ,ACI, EAE-P ,CONT ,CMA53) EAE-P(l )ASCOV2(0)ADIV = IN SH L1 IN SHLl = SHLl ARO(l)ASH L1MCI(l) = ARn ..... ACn-l SH Ll = ADROO(O) -. 0 BUS L EAE-P(l) = 0 BUS L ..... TEMPl (0) EAE-P{l) = TEMP2(0) ..... END BITOO (lost) EAE-P(l) = TEMP3(0) --- END BI1l7 SH Ll = END BIll 7 ..... AC 17(0) EAE-P(l )ASCOV2(0)ADIV = EAE OR LI EAE-P(l)ASCOV(0)ATEMP3(0)ADIV = EAE OR SUB LI(O) = LAR(O) .... LINK(O) CM STROBEACONT(l) = GO TO 53 3-40 Drawing No. KC18 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KC15 KE3 KE3 KC16 KC18 KC19 KC19 KE2 KE2 KE4 KC13 KC20-21 KC20-21 KC15 KE3 KC15 KC15 KC20 KC15 KC15 KE3 KC16 KC18 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KE3 KE3 KC15 KC16 Table 3-23 (cont) DIVS Functions 644305 Divide, Signed (Five Steps) Process Function 53 Sub 56 Shift 5, Sample 57 Add (MQO ,ARI, EAE-R,CONT ,CMA56) CM STROBEAEAE OR SUB = SUB{l) CM STROBEJ\EAE OR LI = LI(1) EAE-R(l) = R-PULSE R-PULSE = 000000 -+ SC R-PULSEJ\SC FULL = SCOV{l) SCOV{l) = IN SHL 1 SUB{l)AEAE-R{l) = CIl7 SUB(l)ANOSHACIl7AARI91) = MB+l -+ AR MQO(l)ANOSHAARI{l) = MQ -+ AR SUB{l)AEAE-R{l)ALINK{O) = A BUS LINK A BUS LINKA'C'OOO = ADRL SHIFT= ADRL -+ 0 BUS L EAE-R{l) = 0 BUS L .-. TEMP2(1) LI{l) = 0 BUS L .-. LAR{l) LI{l) = ADRL ..... TEMP3(1) CM STROBEACONT{l) = GO TO 56 (ACO,MQI,EAE-P ,CONT ,CMA57) EAE-P{l )ASCOV2{0)A DIV = IN SH L1 IN SHLl = SHLl ACO(1)ASHLlAMQI(l) = ACn -+ MQn-1 SH Ll = ADROO(1) ..... 0 BUS L EAE-P{l) = 0 BUS L -+ TEMP1 (1) EAE-P(1) = TEMP2{l) ..... END BITOO (lost) EAE-P{l) = TEMP3(1) ..... END BIT17 SH Ll = END BIT17 -+ MQ 17(1) EAE-P{l )ASCOV2{0)AEAE OR SUBAO BUS 17ADIV = EAE OR MBO EAE-P{l)J\SCOV2{1)ADIV = EAE OR LI LI{O) = LAR{l) ..... LINK(l) CM STROBEACONT(1) = GO TO 57 (ARO ,ACI, EAE-R,CONT ,CMA40) CM STROBEAEAE OR MBO = MBO{l) CM STROBEAEAE OR LI = LI(1) EAE-R{l)ASCOV(1) = SCOV2(1) SCOV{l) = IN SHLl ARO{l )ANOSHAACI(1) = AR ..... AC MBO{l)ANOSHAACI(l) = MB -+ AC A BUS LINKACOOO = ADRL SHIFT = ADRL -+ 0 BUS L EAE-R{l) = 0 BUS L -+ TEMP2{O) LI(l) = 0 BUS L -+ LAR{O) LI(l) = ADRL ..... TEMP3(0) EAE-R{l)ARUN(1) = ADDR 10 CM STROBEACONT(1)ACMA4Q1\ADDR 10 = GO TO 50 3-41 Drawing No. KC18 KC19 KC19 KE2 KE2 KE2 KE4 KE3 KC20-21 KC20-21 KC15 KC15 KE3 KC15 KE3 KC16 KC18 KE4 KC13 KC20-21 KC15 KE3 KC15 KC15 KC20 KE3 KE3 KC15 KC16 KC18 KC19 KC19 KE2 KE4 KC20-21 KC20-21 KC15 KC15 KE3 KC15 KE3 KE3 KC16 Table 3-23 (cont) DIVS Functions Divide, Signed (Five Steps) 644305 Process 50 Function (MQO ,ARI, EAE-P ,CONT ,CMA42) SCOV2(1) = IN SHL 1 SCOV2(1) = EAE OR MBO, EAE OR SUB, EAE OR LI MQO(1 )ANOSHAARI(1) = MQ ... AR LI(O) = LAR(O) ... LINK(O) LINK(O) = ADRL SHIFT = ADRL'" 0 BUS L EAE-P(1) = 0 BUS L ... TEMP1 (0) EAE-P(1) = TEMP2(0) ... END BITOO (lost) EAE-P(1) = TEMP3(0) ... END BIT 17 CM STROBEACONT(1) ... GO TO 42 42 (ACO,MQI,EAE-R,CONT,CMA55) EAE-R(1)ASCOV2(1) = EAE RUN(Q) ACO(1)ANOSHAMQI(1) = AC ... MQ CM STROBEACONT(1) = GO TO 55 55 (ARO ,ACI, EAE-P ,CONT ,CMA53) ARO(l )ANOSHAACI(l) = AR ... AC CM STROBEACONT(l) = GO TO 53 53 (MQO ,ARI ,EAE-R,CONT ,CMA56) MQO(1 )ANOSHAARI(l) = MQ ... AR CM STROBEACONT(1) = GO TO 56 56 (ACO ,MQI,EAE-P ,CONT ,CMA57) EAE-P(l)AMQI(l)AACO(l)AEIR09(0)ASCOV2(l) = EN CMPL(l) EN CMPL(l)AEAE SIGN(1) = CMPL ACO(l )ANOSHAMQI(l )ACMPL = AC ... MQ CM STROBEACONT(l) = GO TO 57 57 (ARO ,ACI, EAE-R,CONT ,CMA40) Drawing No. KC18 KE4 KE3 KC20-21 KC15 KC15 KC15 KE3 KC15 KC15 KC16 KC18 KE3 KC20-21 KC16 KC18 KC20-21 KC16 KC18 KC20-21 KC16 KC18 KE3 KE3 KC20-21 KC16 KC18 EAE-R(1)ADIV AEN CMPLAMQ SIGN(1)AEAE SIGN(1) = EAE SIGN(O) KE3 EAE SIGN (0) = CMPL KE3 ARO(l)ANOSHAACI(l)ACMPL = AR ... AC KC20-21 EAE-R(l )ASCOV2(l )ARUN(O) = ADDR 10 KE3 CM STROBEACONT(l) = GO TO 40 KC16 40 (EAE, DONE, CMA 10) KC18 CLK(B) DL YDAEAE(1)ADONE(l) = INPUT 10 RESTART 10 RESTART = GO TO 10 10 (PCO,SM,CMA21) KD3 KC16 KC18 BG N next fetc h 3-42 Table 3-24 DIVS Arithmetic 128 + 58 , MQ AC L TEMP3 I 0000 MB 1010-E-CI17 -AR 0 0 42 0 1~CRY-l011 55 ~1 100 53 1 1E 56 \i1 f 1 1001-SHLl 0111 MB 0101 LW-l100 r-sample 311001 1~ 'JSHLl 1011 0011 57 50 V 1 42 , r. SHLl I I 55 t0 0 111 53 0 1~ 1110 1 1110 -SHL1 56 ~ 1 I 'Ii 57 ~~SHLl L 0100 SHL1~:00~ 1000 MB 0101 11 01 CRY 1011 MB 0101 O~CRY-l OOOO-SHLl r-sample I 0011 :> SH L1---=--0 11 T ~ >0000 0111 0000 1010-C1l7 MB CRY-lOll rsample :.110 0 0000 E 1101 L ~ 1011 1011 MB 0101 CRY- 1 OOOO~ I ~ 0 0000 1101 11 01 42 0 0 0000 ~OOOO 1101 55 0 0 1101 co 0000 11 01 53 0 0 1101 0000 >0000 56 0 0 11 01 >0010 0000 57 0 0 0000 E 0010 0000 r answer >1 28 3-43 > sample 0111 50 CMPL :>sample 0100 sample 1001 I > 0111 SHL1 < OH)~ SHLl 1010 50 Table 3-25 DIVS Functions Process Function 75 TEMP3(1) = no conditioning of MQ SIGN ACOO(O) = no conditioning of EAE SIGN EAE(1) = 0 -+ EN CMPL 43 MQ -+ AC 41 AC .... MQ 54 EAE(O)/\ TEMP3(l) = no effect on MQ SIGN 51 through last 53 same as DIVS 128 + 58 56 EN CMPL(1)/\EAE SIGN(O) = CMPL AC -+ MQ 57 CMPL = AR -+ AC Table 3-26 DIVS Functions Process Function 75 TEMP3(0) = condition MQ SIGN ACOO(l) = condition EAE SIGN EAE(l) = 0 .... EN CMPL 43 MB06(l)/\sU2(1) = EAE SIGN(l) SU2(l)/\EAE SIGN(l) = CMPL CMPL = MQ .... AC 41 AC .... MQ 54 EAE(0)/\TEMP3(0) = MQ SIGN(l) MQ SIGN(l) = condition EAE SIGN 51,52 same as DIVS 128 + 58 50 FIRST(l)/\EAE RUN(l)/\MQ SIGN(l)/\EAE SIGN(l) = EAE SIGN(O) 42 through last 53 same as DNS 128 + 58 56 EN CMPL(1 )/\EAE SIGN (0) = CMPL AC .... MQ 57 EAE-R(l)/\EN CMPL(l)/\OIV/\MQ SIGN(l)/\EAE SIGN(O) = EAE SIGN(l) EAE SIGN(l)/\EN CMPL(l) = CMPL CMPL = AR .... AC 3-44 Table 3-27 DIVS Functions -12 8 Process 8 Function 75 TEMP3(l) = no conditioning of MQ SIGN ACOO(l) = condition EAE SIGN EAE(l) = 0 ..... EN CMPL 43 MB06(l )ASU2(1) = EAE SIGN (1) SU2(1)AEAE SIGN(l) = CMPL CMPL = MQ ..... AC 41 AC ..... MQ 54 EAE(O)A TEMP3(l) = no effect on MQ SIGN 51 through last 53 same as 128 + 58 56 EN CMPL(l)AEAE SIGN(l) = CMPL CMPL = AC ..... MQ 57 EAE-R(l)AEN CMPL(l)ADIVAMQ SIGN(O) = no effect on EAE SIGN(l) EAE SIGN(1)AEN CMPL(l) = CMPL AR ..... AC 3.8.2 +-5 IDIV (S) Instruction The IDIV(S) instruction divides the contents of the AC (integer dividend) by the contents of the next sequential core memory location to form a quotient in the MQ and a remainder in the AC. The arithmetic phase of the instruction (s) is identical to that of DIV(S). The preparatory phase transfers the contents of the AC to the MQ and clears the AC. Thereafter the arithmetic phase in reality performs the division on the long register dividend just as for DIV. The exception here is that the most significant portion of the dividend (AC) is at O. Therefore, the DIV(S) functions of Table 3-23 hold true for IDIV(S) with the following preparatory exceptions. 75) SU1 (l)AMB07(l) = EAE OR ARO AC ..... AR (same) 43) AR ..... AC 41) MB08(l) = EAE OR ARO AC ..... MQ (same) 54) ACI(l) = 0 ..... AC The rule for divide overflow, Section 3.8.4 is the same. In the IDIV(S) case overflow occurs only if the computer attempts to divide by 0, since this is the only quantity not larger than the AC portion of the dividend. The sample divide in Table 3-23, although performed by a DIVS instruction, could in fact be used as a sample IDIVS operation since the arithmetic phase also starts with a zero quantity in the AC. 3-45 3.8.3 FRDIV (S) Instruction The FRDIV(S) instruction divides the contents of the AC (fraction dividend) by the contents of the next sequential core memory location to form a quotient in the MQ and a remainder in the AC. The arithmetic phase of the instruction(s) is identical to that of DIV(S). The preparatory phase clears the MQ. The arithmetic phase thereafter is in reality a division of the long register with the MQ at O. For FRDIV the binary point is assumed at the left of ACOO. For FRDIVS the binary point is assumed between ACOO and AC01. The divide overflow rule, Section 3.8.4, is the same. The DIV(S) functions of Table 3-23 hold true for FRDIV(S) therefore, with the following exception~ • 75) SUl(l)I\MB05(1) = EAE OR MQO SU1 (l)I\MB07(0) = EAE OR ARO AC ~ AR (same) 43) ACI(l) = 0 ~ AC 41) AC ~ MQ (same) 54) AR ~ AC (same) 3.8.4 Divide Overflow For all divide instructions the first subtract operation of the arithmetic phase checks for a divide overflow situation. Divide overflow exists when the computer attempts to divide a dividend by a divisor which is not numerically greater than the most significant portion (AC) of the dividend. If the divide operations were carried out, the result would exceed the capac ity of the 18-bit MQ register, 18 and the MQ contents would be erroneous. For unsigned division, the capacity of the MQ is 2 _1, or 17 777777 , For signed division the capacity is +2 _1, or +377777 , 8 8 For all divide instructions process word 52 during the divisor fetch from memory blocks the recirculation of the LINK into the LAR; process word 50 transfers the LAR content(O) into the LINK and .. starts the arithmetic phase of the instruction. The arithmetic phase therefore always starts with the LINK in the reset state. The LINK returns to the reset state at the end of all valid divide instructions. If, however, the EAE logic encounters the divide overflow situation, the LIN K sets and the instruction execution is halted after five machine cycles as a time-saving feature. The computer will then go on to the next instruction, which is usually an instruction which tests the status of the LINK (OPR SZL, OPR SNL, etc.). Table 3-28 lists the functions that provide the overflow indication to the LINK and stop the divide operations. The listing starts with process word 50, at which point the preparatory phase has been completed, the divisor is in the MB, and the dividend is correctly placed in the AC and MQ. The operation attempts to divide 32 by 2 for a quotient of 16 using a 4-bit MQ register, resulting in 10 10 overflow since the register capacity is 15 for unsigned divide. 3-46 Note from Table 2-3 that a valid five-step arithmetic divide operation requires seven machine cycles for completion, whereas divide overflow stops the operation after the first step and five cyc les. For the overflow situation the step count in the SC does not matter since the DIV OV flip-flop controls the SCOV, SCOV2, and RUN functions. Table 3-28 DIV OV Functions 640305 Divide, Unsigned (Five Steps) Process Function 50 (MQO ,ARI,EAE-P ,CONT ,CMA42) EAE-P(l)AEAE RUN (0) = FIRST(l) EAE-P(l)ASCOV2(O) = EAE RUN(l) EAE-P(l) etc. = SHLl FIRST(1)AEAE RUN(l)AMQ SIGN(l)AEAE SIGN(O) = EAE SIGN(l) LI(O) = LAR(O) ..... LINK(l) EAE-P(l)ASCOV(O)ATEMP3(O)ADIV = EAE OR SUB EAE-P(l )ASCOV2(O)ADIV = EAE OR LI MQO(l}ASHLlAARI(l) = MQn ..... ARn-1 SH Ll = ADROO(O) ..... 0 BUS L EAE-P(l) = 0 BUS L ..... TEMP1 (0) EAE-P(l} = TEMP2 ..... END BITOO (lost) EAE-P(l) = TEMP3(O) ..... END BITl7 SHLl = END BIT1T ..... AR 17(0) CM STROBEACONT(l) = GO TO 42 42 (ACO ,MQI, EAE-R,CONT ,CMA55) CM STROBEAEAE OR SUB = SUB(l) EAE-R(l)ASUB(l) = CI17 CM STROBE EAE OR LI = LI(l) EAE-R(l), etc. = SHLl ACO(l )ASH LlAMQI(l) = ACn ..... MQn-1 SUB(l)ASH LlAMQI(l)ACI 17 == MB+ 1 ..... MQn-1 EAE -R (l )AS UB( l)A LIN K(0) = A BUS LI N K A BUS LINKACOOO = ADRL ADRL = ADRL(B) EAE-R(l}AFIRST(l )AADRL(B)ADIV = DIV OV (l) SH L1 = ADROO(O) ..... 0 BUS L EAE-R(l) = 0 BUS L ..... TEMP2(O) EAE-R(l) = TEMPl (0) ..... END BIT1? SHLl = END BITl7 ..... MQ17(O) LI(l) = DIV OV(l) ..... LAR(l) LI(l) = ADRL ..... TEMP3(O) CM STROBEACONT(l) = GO TO 55 55 (ARO ,ACI, EAE-P ,CONT ,CMA53) EAE-P(l)ARUN(l} = FIRST(O) EAE-P(l)ADIV OV(l) = DIY NO GO DIV NO GO = SCOV(l),SCOV2(1),EAE RUN(O) 3-47 Drawing No. KC18 KE3 KE3 KE4 KE3 KC15 KE3 KE3 KC20-21 KC15 KE3 KC15 KC15 KC20 KC16 KC18 KC19 KE3 KC19 KE4 KC20-21 KC20-21 KC15 KC15 KC15 KE3 KC15 KE3 KC15 KC20 KC15 KE3 KC16 KC18 KE3 KE2 KE2-3 Table 3-28(cont) DIV OV Functions 640305 Divide, Unsigned (Five Steps) Process Function 55 (cont) 53 Drawing No. LI(O) = LAR(l) -. LINK(l) SCOV2(1) = IN SH L1 ARO(1 )/\NOSH/\ACI(l) = AR -. AC CM STROBE/\CONT(l) = GO TO 53 KC15 KE4 KC20-21 KC16 KC18 (MQO ,ARI, EAE-R,CONT ,CMA56) MQO(1)/\NOSH/\ARI(1) = MQ -. AR CM STROBE/\CONT(l) = GO TO 56 56 KC20-21 KC16 KC18 (ACO,MQI,EAE-P ,CONT ,CMA57) ACO(l)/\NOSH/\MQI(1)/\CMPL = AC -. MA CM STROBE/\CONT(l) = GO TO 57 57 KC18 (ARO, ACI, EAE-R, CONT, CMA40) ARO(l )/\NOSH/\ACI(l) = AR - t AC EAE-R(1 )/\SCOV2(1 )/\EAE RUN(O) = ADDR 10 CM STROBE/\CONT(l )/\CMA40/\ADDR 10 = GO TO 40 40 KC20-21 KE3 KC16 KC18 (EAE, DONE,CMA 10) CLK(B) DL YD EAE(l) DONE(l) = INPUT 10 RESTART 10 RESTART = GO TO 10 10 KC20-21 KC16 KD3 KC16 KC18 (PC 0 , SM, C MA21 ) BGN next fet ch 3.9 EAE INSTRUCTION DEVELOPMENT The addition of n8 bits to the basic EAE op code 648 converts the basic instruction to a micro- coded instruction to accomplish a setup, shift, or arithmetic operation not already in the instruction repertoire. Refer to Table 3-29 for descriptions of the functional use of the individual bits. The sole restriction for development of II nil is that the microcoded operations must not occur during the same process word if they logically conflict. Table 3-29 EAE Microinstructions Bit Binary Code Function 4 1 Enters ACOO into the LINK for signed operations. 5 1 Clears the MQ. 3-48 Table 3-29 {cont} EAE Microinstructions Bit Binary Code Function 6 1 Reads ACOO into the EAE SIGN register prior to a signed multiply or divide operation. 6,7 10 Takes the absolute value of the AC after the ACOO bit is read into the EAE SIGN register. 7 1 Inclusive-ORs the AC with the MQ and places the result in the MQ. 8 1 Clears the AC. 9,10,11 000 SETUP instruction code. Accompanies code in bits 15,16,17. 9,10,11 001 MUL instruction code. 9,10,11 010 Unused instruction code. 9,10,11 011 DIV instruction code. 9,10,11 101 LONG RIGHT SHIFT instruction code. 9,10,11 110 LON G LEFT SHIFT instructions code. 9,10,11 100 NORMALIZE instruction code. 9,10,11 111 ACCUMULATOR LEFT SHIFT instruction code. 12-17 Specifies the step count for all EAE codes (9-11) except SETUP. 15 1 For SETUP instruction code on Iy, complements the MQ contents. 16 1 For SETUP instruction code only, inclusive-ORs the MQ with the AC and places the result in the AC. 17 1 For SETUP instruction code on Iy, inc lusive-ORs the AC with the SC and places the result in the AC. 3-49 CHAPTER 4 MAINTENANCE 4.1 GENERAL MAINTENANCE The general maintenance practices described in the PDP-9 Maintenance Manual also apply to the EAE option. 4.2 MAINTENANCE PROGRAM TAPES Chapter 1 of the PDP-9 Maintenance Manual lists the diagnostic tapes and documents for use with the EAE. 4.3 REPLACEABLE PARTS Table 4-1 lists all logic modules used in the EAE option by DEC type and quantity. The CP UML drawing KC8 shows the module locations in the central processor wing of the PDP-9 frame. DEC has avai lable a spare modules kit, SP09A, for use with the basic PDP-9 system and inc luding spares for the EAE option. If the kit is not on hand, it is recommended that one spare module of each logic type be stocked to reduce equipment down-time while repairing faulty modules. Table 4-1 EAE Module Complement DEC Type Module Type Quantity B105 Inverter 1 B133 Inverter 1 B213 Flip-Flop 15 R002 Diode Network 8 Rll1 NAND/NOR Gate 11 S151 Binary-to-Octal Decoder 1 S181 DC Carry Chain 1 S206 Flip-Flop 6 W005 Clamped Load 1 4-1 CHAPTER 5 ENGINEERING DRAWINGS This chapter contains a complete set of engineering drawings pertaining to the EAE option along with circuit schematics of arr logic modules. DEC engineering drawings are encoded as to type, major assembly, and series. Drawing number codes and signal conventions are explained in Chapter 5 of the PDP-9 Maintenance Manual. 5.1 SIGNAL MNEMONIC INDEX Arr signals originating on the EAE logic drawings are listed below in alphanumeric order. The Origin column locates the source of the signals to the specific logic drawing, using the abbreviated drawing number system. Signal Origin A BUS LINK KE3 Enter ACOO into LIN K ACO .... LINK KE3 Recirculate LINK via LAR ADDR 10 KE3 Add 10 to next Control Memory address ALS KE4 Accumulator Left Shift command CMPL KE3 Complement the register contents in transfer CIl7 KE3 Initiate a carry into the Adder DIV KE4 Divide command DIV NO GO KE2 Stop divide operations DIV OV KE3 Divide Overflow EAE CLR RO KE3 Clear CM gating bi ts for argument fetch EAE OR ARO KE3 Set ARO bit on next CM STROBE EAE OR LI KE3 Set LI bit on next CM STROBE EAE OR MBO KE3 Set MBO bit on next CM STROBE EAE OR MOO KE3 Set MOO bit on next CM STROBE EAE OR SUB KE3 Set SUB bit on next CM STROBE EAE PWR CLR KE3 Clear flip-flops on power turn-on EAE RUN KE3 Start EAE instruction execution EAE SIGN KE3 Store ACOO EIR09-11 KE4 EAE instruction regi ster EN CMPL KE3 Enable complement function FIRST KE3 Start first arithmetic operation Description 5-1 Signal Origin Description IN SHLl KE4 Enable Sh ift Left Function IN SHR1 KE4 Enable Sh ift Right function LLS KE4 Long Left Shift command LRS KE4 Long Right Shift command MQ SIGN KE3 Store divisor or multiplicand sign MUL KE4 Multiply command NORM KE4 Normal ize command ODD ADDR KE3 Add 1 to next CM address o BUS17(B) KE3 END Bit shifted into next register R-PULSE KE2 Up-date the Step Count SC12-17 KE2 Step Counter register SC CLR KE2 Clear the Step Counter SC FULL KE2 Step Counter up-dated to 778 SCO KE2 Step Counter output gate SCOV KE2 SCOV(l) KE2 Step Counter up-dated to 00 8 Set SCOV on normalize condition SCOV2 KE2 SETUP KE4 Step Counter up-dated to 00 8 Setup command SUl-3 KE3 Setup or preparatory instruction phase TEMPl-3 KE3 Te"!porary LINK and END Bit storage 5.2 DRAWING LIST Below is a list of all drawings included in this chapter. Other related EAE logic is included in the Chapter 5 drawings of the PDP-9 Mdtntenance Manual as part of the prewired, basic system. Drawing Number Title Revision Page ~ B-CS-B105-0-1 Inverter B1 05, Circuit Schematic E 5-4 B-CS-B133-0-1 Inverter B133, Circuit Schematic B 5-4 B-CS-B213-0-1 Flip-Flop B213, Circuit Schematic F 5-5 B-CS-ROO2-0-1 Diode Network R002, Circuit Schematic A 5-5 B-CS-R 111-0-1 NAND/NOR Gate R111, Circuit Schematic F 5-6 B-CS-S 151-0-1 Binary-to-Octal Decoder 5151, Circuit Schematic C 5-6 B-CS-S181-0-1 DC Carry Chain 5181, Circuit Schematic A 5-7 B-CS-S206-0-1 Flip-Flop 5206, Circuit Schematic B 5-7 5-2 Drawing Number Title Revision Page B-CS-WOO5-0-1 Clamped Load W005, Circuit Schematic A 5-8 D-BS-KE09-A-2 EAE Step Counter and Control, Block Schematic E 5-9 D-BS-KE09-A-3 EAE Operand Fetch Gating, Block Schematic K 5-11 D-BS-KE09-A-4 EAE Execution Gating, Block Schematic B 5-13 D-BS-KE09-A-5 EAE Data Flow, Flow Diagram A 5-15 D-BS-KE09-A-6 EAE Flow, Flow Diagram (Sheet1) B 5-17 D-BS-KE09-A-6 EAE Flow, Flow Diagram(Sheet2) B 5-19 Link Control for EAE Instructions 5-3 5-21 r:T~~~E-i .. r-----------.-----------~----------_.----------_.------------~ ,----~.---OB-15V RII I,eo!) v ------------~------__~~+4~--~~--~C C2 CI 58 58 C3 C4 58 " RI2 100 10'110 eND Q4 D 0-......""""......-+1 U UNLESS OTIERWISE INDICATED' RESISTORS ARE 114W; S'II. CAPIIICITORS ME IIIIFD TRANSISTORS ARE DEC 2894-IB 1::::::-::::;;::::::-1 B-CS-B105-0-1 Inverter B105, Circuit Schematic r---------------------~~--------------------~~--------------------~~----_o~A' r-------------~--------t_------------~--------~------------~--------t_------------~--------~----~~-~v '"7,500 RIO 7,500 D7 D.... DIT DIe Dtt o-eez 0 .... r------, t-----------------------~~~------------------~----~-------4~2~--+-.-<)C DIS I D-IIII DII o-e. DII o-eel DIO D-eu U-'Ol OntElIWI. MlDICATED' _IISTO,. ARE ,,...; 5'110 TIIMIIITOIII ME 2N41111 DIODE. ME 0-1. . 1 -3V I..STRATE _____ .J USE THE ETCH BOARD OF THE BII; I::::::;:::;;:;;~i-I B-CS-B133-0-1 Inverter B133, Circuit Schematic CI .01 WI) Mm qR r---------------~._------------------------------~----------------~--------------------_oA +IOV S ( M GNO ~~--_r----+_--------------~----_r--__. )H ~--~----+_--~----------------~----+_--~~------_+~ GH ~~ 022 "013 ~ ,,~015 ~ RII 1125 [on, 1,000 411'""21...-:-:; 1,000 f-t: CIO -3V UL l1i MFa "024 ~Q14 ... RI8 100 100/. R20 6,800 R23 6,800 R24 ~ "~:2 100 10% ,..-- ":~2 - .... C7 10 MMFO ,~ g~:2 -3.5V R22 470 10% ~ RI 1.500 R2 750 RI5 RI4 1,!lOO R3 7,500 1,500 RI6 750 RI7 7,500 C8 R27 27 100.1 MMFa 10"1 1 ~~~!:~9B ~~~ ? R28 1,500 - R29 750 R30 750 ~--_r----+_--_+--------+_~ ~--~~---.----------------------------*_--------*_--~~--_4~--------------------------_.----~--~~18 UNLESS OTHERWISE INOICATEO; RESISTORS ARE 114W;!I'" DIODES ARE 0664TRANSISTORS ARE OEC30098 -I5V I::::::::~:::::::::I B-CS-B213-0-1 Flip-Flop B213 I Circuit Schematic :: 010 ~ 0664 05 .1 0664 J OF 09 ~: :: ~ 0664 OK 04 ~ 0664 08 .1 0664 03 ~ 0664 t-- ON 07 .1 PO 0664 OS 02 RO :: .1 0664 06 ~ 0664 OV 01 0664 "" 1::::::::::::::::::1 B-CS-R002-0-1 Diode Network R002 I Circuit Schematic 5-5 r------l 1----1 r-- ItZ I I I I 100,0001 I I 6' I I g~...ez: • 011 I o-eez. g~iM I• :• L4 III 11S,oo0 I CI .01 MFO 8!.\ez 01 0-184 DIS D-M4 • I 011 0-884 010 0-884 T ;;-i Il'1o l OIlS O-eM 1t1 To ISOO • I I I ~~ez : g~ezl It I• I I o----1.....HI'--or I . GNO ~:lSz ! QII DEC 3639 I 04 I 0,,"2: . 10+ 10VlAi IIS,OOO • 2 I B-IISV :L. _____________ EXAMPLE OGL2 ..J: -3V • LS!~~~ __ J II". UNLESS OTHERWISE INDICATED: RESISTORS ARE 114W; PRINTED CIRCUIT REV. FOR OGL BOARD IS SIB B-CS-Rll1-Q-l NAND/NOR Gate Rlll, Circuit Schematic r---------~----------._--------_.-----------._--------~--------_.----------._------------------O~A'IOV~} R2 RI 100,000 R3 R!! 100,000 R4 100,000 100,000 100,000 R8 R7 100,000 100,000 R8 100,000 I 1(': ~O ..-- A~25 ~17 ~OOO ~'047 '~46 0-862 0-662 ~, R9 115,000 RIO g~66:oo0 ~...---, ... U " ._.0_-_66...,2 . . .--t...--, RII D 34 15,000 ~~I A~2 ~~3 ~~4 ~~15 8 RI2 " g~6~poo RI! g~62111poo .--......---, A~7 ·~B ~~9 4~10 ~~II 12 " 037 RI4 15P00 ~, J---<~2 RI5 038 111,000 8 0- 1:4 " RI6 ... 039 11S,000 0-662 " g~o ~~ A~13 ~~14 A~I5_~~16 A~I~1~~~~~20 ~~21 A~224~23124 ~FF~~o--+__-r__~__~__~____-;__-+__~__+-__+-______~-+__~__+-__~____-r__+-~ 21 FF:~o--r__~______+-~~____-4__________+-________~~~______+-~ ~~F~~o-~~__________+-________~________~ USE THE ETCH BOARD OF THE RISI 1:;-;;-;;:-;;;;;;;; 1 B-CS-S151-0-1 Bi nary-to-Octa I Decoder S151 , Circuit Schematic 5-6 UNLESS OTHERWISE INDICATED: RESISTORS ARE 1/4 W; 5 ". TRANSISTORS ARE DEC 3639 B DIODES ARE 0-664 - - - - - - - < 0 A +IOV RI R2 R3 R4 R7 R6 R!I ~~-_-<> C GNO CI _ > - - - - - 0 B -1!lV ~4--+-r---~-+--r-4-------~~4--+--+--;------~~-r-;--+-----oK __.--+--+--0 F ~4---------+--+--------+-~----------~-;--------------+--+--4------------~-+----~H ___----~M L--------------------oD ~----------+-----------~------------~---------------~~r-------------- B-CS-S1BI-0-1 DC Carry Chain SlB1, Circuit Schematic ~ ~01l3 ~ ~01l4 ~~D!l7 4~D1I9 ~~O!l8 "lOtlI N A+IOV ~L R4 100,000 ~~03 ~ ~D8 * ~ CI '1\ .. ~g:82 ,g:u .. 1 ... •... 1 0 07 ~ E ~ O.!,O ~II ~ .... _ 04 ... ,.... ~ ~:82 . ' ,013 0882 .... ~ '027 ~ '030 C4 82 1\ ,\ .. , .... ... 10 Ii' ,....... '!,311 .. 034 RIO 1112 7,1100 7,1100 RI3 RI4 Rill 7,1100 7,1100 7,1100 RI7 1,500 ,.... ,.... ~ C6 82 ~~~~2 :: ::~&I MFO ,\ * ---...L P ~048 C GNO O!,I ~ O!II ~ ~ '0411 ~ ~g::2 ~ ~g:~2 ,03 0882 ,032 ~ 0882 oii ~T R20 100,000 '!.29 028 019 R7 R8 1,1100 7,Il00 RI8 100,000 * * ~ C3 82 I 012 . RI R2 R3 RII 7,1100 7,1100 7,Il00 1,1100 ~u ~'021 ~ ~024 ~~ 2,.11 ~ ~K R8 100,000 ;H .. ~~g~ C7 :::: .01 MFO~ .. 0~3 ~~18 ,Il00 RI9 7,Il00 ~g~2 ~,g::2 R22 R24 7,1100 7,800 8-11IY. o~ ." I -. -. R9 7,1100 7,1100 UNLESS OTHERWISE INDICATED: RESISTORS ARE 114W; 11'110 CAPACITORS ARE MMFO DIODES ARE 0884 TRANSISTORS ARE 2N4313 O! -. H ~ *0511 C2 ~ O~ o~ .. t I .. ... ~,~ .n 7,1100 ,...... 042 .. CII 040 039 _M Oll8 S *060 B-CS-S206-0-1 FI ip-Flop S206, Circuit Schematic 5-7 ..... ~~ ,\ R211 1,Il00 0,!7 , .. '--- 048 ,... V *082 r---------~~------~--------~------~~------~~------~~------~--------~--------~~----~----OB-I~ CII .01 M'D I IL..STRATE _____ .JI UNLESS DT"E"'''E INDICATED: RESlBTORS ARE V.W'. II.. DIODES ARE D-I" I ::::;;:::;ii;;;~:~ I 8-CS-W005-0-1 Clamped Load W005, Circuit Schematic 5-8 DIV NO (;0 1SO.R. SU;) (I) -\SV E :.~ J suI 0) ....;,...-D--"r.sL.!=r!L.--------te~~T.J ~AE- R(I) -=-D<::l'.:><I-__~_d'XJ H SCaVO) SC FllLL p s S NIB 13(¢) MB 14(0) I M8 110 (0) t.'\8 15 (0) M8 17(¢) T 5 u ~------------~?(r-------------~~r-------------~?(r--------------4j\~------------~~ r-______________-I~J81 5C17(1) SCI"'(/) N 81 HI~ Sl81 HI~ 1-____________---1Hlibr-____________---1HI0 SC 15(!) R ~118J SC 14(1) SC 13(1) SC IE (I) W0(1S u 1'""7 r;-;---+S~T.:-o S Co C L R ~ seQ n-;----::> DIV NO GO seo ON OV(t) EAE-PO) T,V EAE:-RO) ;-:-;,---------.--:,.,.---<:> 5COV (I) N K L EAE-R(J) NQRM SETUP IV1SI7(1) F,:r M,P F K s y o sus ~i2l .--~-::> R-PULSE EflE STROBE P DLYD C. BUS "I N o BUSf/JaI T D-BS-KE09-A-2 EAE Step Counter and Control, Block Schematic 5-9 rOT N EA rOT PWR R CLR P N P l,oSZI?' O'1 ¢ ; F _ EAE r-~" ..1. J¢4 1 EPIll'<! CI..R S OIY OV eP-E-R(I) T ADR L.(B] U V N ACrel) SETUP 1 :-¥sl I U,V EflE:(I) EAE OR 1..1: eMPL B CII7 F¢3 IH ~UI(IJ ~ MB¢6(1) ~ rv/\ Rill \:)¢ro EM~ OR I:>-RO F J tilE. ¢7 (¢) r AC¢~(I) ~Vv-"""_~ 0 BUS II (6) M,P N ADDRI¢ M,P E.t>..E CLR scov Z:(lI'I EAE RUN(I) RQ 1..1 (I) EI\E '5IGN (I) SCOY z-(¢) H EAE RUN(¢) J CONT (¢) EIR 11(1) EIIE (I) ......:..:cH.....'""-'-''-r--'-''''~ [I//::-P-PULSE ~COV2 0) 10041- -J.w - 4 /YIQr (I) K E IR '/)9/1) fiCO (I) F £AE-R(IJ u SCOV i!(I) L EI'IE RUN(I) K PWR CLR POS UIE -P H /\ R'¢¢c. (il --"":"";":::1 f3", D-BS-KE09-A-3 EAE Operand Fetch Gating, Block Schematic 5-11 F" D~E. SETUP ------------------------~- ~ SETuP BI05 F"{ll3 ~~---------~~------------~,__----------~~--~TN SHL I EAE-R(i) •• N ~""_--4 DIY MUL L~ ,-----------------------------=.0 ,-oJ r-<> MUL F,:r 13105 I i F03 i K '=>COV(0) EAE RUN(/) Bf r-----------------~p ~ DIV tV. DIV 01i2l5 FI2iS: ERE: RoN(IJ L H_~ NORM N NORIYI ,--_________ ~. .-------------.-'------<:> IN SH R / EAE RUN(I) FIR~T(f/;) v sCOve(0) IOIRI0(f/)) R N p s D-BS-KE09-A-4 EAE Execution Gating, Block Schematic 5-13 L.f::,S ,MUL ALS,NOP.M,LLS J:V ITE~t II ALS: NO SHIFT I (LOST) ~--- EAE-P EAE-P EAE-P (LOST) \ " -T "T 0J (LOST) I I SGL ~ l T I AO'i=\L I EAE-i=\ EAE-i=\ EAE-R D-8S-KE09-A-5 EAE Data Flow I Flow Diagram 5-15 SU 1 • MB .1l4( 1) SU 1 , Me :15(.8) 41 ACO, 1101, Elf CONT : SU 2 EAE • IIQ 10 SETUP : SU 3 SU 2 • (MUL V DIY) -EAE SIGN(I) : CMPL SU 3 • liB 15(1) SU 3 SU 3 • liB IE( 1) : CIIPL : I-SCOV 2 : EAE DR MOO : f):AE OR ARO : I~COY : AC as~l1NK EAE ·OR MQO 1101 • liB ,118(8) SU 3 EAE SU 1. liB .1l7( I) : OR ARO SU l' lIB ·S6(1)· liB 87(t) AC .BIl( 1) : CIIPL SU 1 : II SCOY, SCay 2 SU 1. SETuP : II SC LI : AOR L TEMP 3 SU I . B FIRST B EAE RUN II EAE SIGN II MO SIGN 54 43 ACI, EAE (ARO,IIOO) CONT 41 EAE • At I • 'SeTuP SU 2- :IIB 12-17 : AC B8-.EAE SIGN SU 2.118 BS(I} EAE-R • SCDY(Il) EAE-R{EAE RUN(1) V SCOY 2(.8») SC EAE-R : lINK-.TEilP 2 IF NORMALI ZED : I .... SCOy TEMP 3(0) 'EAE-,C\1:)): I .... MQ SIGN r--~ L: AE_R-EIR ,B9(.8)·SCOY 2(8). HE ~UN(,I ) 51 ODD ADDR -15211180, +1. PCI, LI CLK. 511 : START """ MEMORT AND CTl IIEIIORY II • CONT ISIII -I CtR : EAE CLR RO LI • ADRL ;;6 -+TEMP3 O-BS-KE09-A-6 EAE Flow, Flow Diagram (Sheet 1) 5-17 AC TRANSFER Yo, TRANSFER '~O: 11110, AR I, EAE-P CaNT: 42 f--------------------<·~14~2.L!TA~c~0,~MIl.~I_!.,...!E~A~E-~R_~c~a~NT!J!~5~51:_--------1 EAE-P( 1)' SCOVeD) (NCRI Y llS) , SHl SCOV EAE RUN( 1) • FIRST (0) • (LRS v IlUl) . SHR EAE-P(I).SCOV 2(B).DIV SHl t="IRST(I)'EAE RJN(r)'rv'G S:GNW:C\1PL EAE SIGN 2m NORM; LINK ~ 110 17 Man -'>MOn-1 110 jij!_ TEMP 1 1+ NORMALlZED:I-+SCOY llS: SAlE AS NORM AC 17-.110 .BI! Man ..... MOn+l 110 11 -.. TEIIP 1 (NOT USED) MUl : PAR PROD 17 -7 IotO o~ EAE-P • SeOY(O) EAE • IlUl • 0 BUS 17 : OR IIBO liOn ..... UOn +1 IIPlRI I-HEII.P 1 (NOT USED) 0 - 1.10 17 !~Eii~s'1~~V ~ ,~:iBO . E AE 0 IV SCOV(~).TE'P 3(n) ; OR SUB EAE-P.DIV • SCDV 2(0) EAE OR II SAME AS NORN LRS; II NK-,> AC 011 ACn ~ACn+l AC 17_TElrlP 2 UUL; ·0 CRY-l>AC OS PAR PRODn -+ AGn+l PAR PROD 17-+TEIIP 2 OR IIBO IIBO (ADO NUL T I Pl 'CAND TO AC) DIV: 110 liS -AC 17 •.«:rrn. DIY OV 'EAE pm : DIV IDE NO 60 Dlv IDE NO 60; ~ .... EAE RUN DIV II S; ACn->ACn-l ACOS ...... TEIIP 2, liNK Il.n~TEMP 3 OR MBO NBO (ADO DIVISOR TO AC) OR SUB SUB (ADD ~'S CMPL OF nlVISOR TO AC) SUB II (XFER AC :OO .... LINK; ACn-l'O CRV-+TEMP 3) SUB . C1 17 EAE R(I). FIRST(I) l-DIV OV MOn ->1I0n-l 110 liD -+TEIIP 1 EAE-P • lINK-+AC 17 ACn -+ACn'-l II ~!K--- AG-17 AC Oil ~ TEMP 2 (NOT USED) NORM: NQ 1I0 ...... AC 17 ACn ...... ACn-l AC OS -7 TEIIP 2 (NOT USED) lRS; DIV; EAE RUN(1)' (lRSVIIUl): SHR HE-R( I) • SCOV(S) 'EAE RUN(1) • DIV SHL AlS; IIOn-;UQn llN~ TEMP 1 NOTE, 1. TEMP 3 GONH I NS THE LINK I F NOT 1100 I FI EO YI A EAE OPERAT: ONS. 2 END Bns IS INPUT TO HII?H ORDER BIT OF RECIEVING REGISTER. 3, END 81T 17 IS INPUT TO lOW ORDER BIT OF RECIEV:NG REGI STER. 4. All REFERENCES TO TRANSFERS ARE LOGICAL REGISTERS ONLY. 5. SUBseR I PT H REFERS TO BITS NOT DESCR I BED OTHERW I SE. 55 o o AlS; j EAE-R'S COV(0) :+I .... SC EAE-Rl SC FUll : I -+SCOV EAE-R • SCOY( 1) 'I_SCOV 2 EAE-R' scav 2( 1) ~EAE RU~I EAE-R o BUS L_TE~P 2 ADRl - - END BITO TEMP 1 -+ENO BIT 17 EAE-R( 1) • SCDV 2(9)' EAE RUN( ~) (AlS V NORII V lLS) : SHl EAE-R( I) • Scay 2(Z) EAE-P' scav 2(9) : I-.EAE RUN EAE-P' HE RUN(S) ;I-.FIRST EAE-P • HE RUN( 1) ; B~F I RST EAE-P: BUS l --> TEMP 1 TEMP 2 ~ENO BiT D TEMP 3 ~ENO BIT 17 FIRST(I)' scovel) : I--+SCOY 2 ovm ;1- '-INK :I~SCOV 1-> SCOv 2 ~iI!RO,AGI,EAE-P eONT 53 1100. AR I EAE-R, 53 CONT 56 SAllE AS ABOVE EXCEPT READ: SAME AS ABOVE EXCEPT READ; 56 IIQ FOR AC AR FOR UO Ae FOR AR AR FOR Mq ~IACO,IIQI.EAE~i_==~CO~N~T=r'~57~---------------------------------;~5~7[A~R~O~,A~C~I~,E~A~E-~Rc===§CO~N~T~~~---------------------------J~---;~~~8EAUE~,DmOmNEE(~CrnON~Tl)----~~ SAllE AS ABOYE EXCEPT RoAD; AC FOR YO IIQ FOR AR SAllE AS ABOVE EXCEPT READ; AR FOR AC AG FOR Ma Et~c~V 2(8) V EAE RUN( 1)]. EAE-P, Mal' ACO EIR 99(0)- SCOV 2(1) EN c: l? l - EAE SIGN (1) EN C~Pl CMP l EN elm· EAE SIGN (I) EAE· DONE· CONT· Clk DlYO EAE -~; 0 -t EN CMPL RESTART eli TIUJING ADD AD DR 1D . CliP!. D-BS-KE09-A-6 EAE Flow, Flow Diagram (Sheet 2) 5-19 CML COM A BUS LINK SUB tel SUB(U EAE-R(t) r------IIItl._-J UI1l LI(e) EAE-P (1) EAE-R(1I END BIT 0 ADRL(f)) TEMP 2 (1) EAE-P(I) EAE-P(01 SHU AXS(01 ADR00 SHRI INSHRI ADR17 INSHLI END BIT 17 DIV OV(IJ TElF3(1) TEMPI (1) EAE-R(1J EAE-R(e) Link Control for EAE Instructions DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASSACHUSETTS Printed in U.S.A.
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies