AL39 0_MULTICS_Processor_Manual__Oct75 0 MULTICS Processor Manual Oct75
AL39-0_MULTICS_Processor_Manual__Oct75 manual pdf -FilePursuit
AL39-0_MULTICS_Processor_Manual__Oct75 AL39-0_MULTICS_Processor_Manual__Oct75
User Manual: AL39-0_MULTICS_Processor_Manual__Oct75
Open the PDF directly: View PDF .
Page Count: 405
Download | |
Open PDF In Browser | View PDF |
Honeywell HONEYW ELL INFORMATION SYSTE MS Multics Processor Manual SUBJECT. Description and Use of the "uttlc'S Processor. SOFT'WARE SUPPORTED. All Multlcs Software Releases DATE. October, 1975 ORDER NU"BERI Al39, Rev. 0 PREfACE This document describes the Processor used in the Kultlcs system. It _s assumed that the reader is familiar with the overall modular or9~nlzatlon of the Hultlcs system and with the philosophy of asynchronous operation. In additlo~. this manual presents a thorough discussion of virtual memory addressing conc.pt~ including segll.entation and paging. ' . The manual Is Intended for use by system programme~s responsible for writing software to interface with the special virtual memo~y hardware an~ "lth the fault and lnterruJ)t portions of the hardware. It should also prove "a"ua~l. to programmers w~o must use machine instructions (particularly language iranslator i.plementors) and to those persons responsible for analyzing cra~h conditions in System Dumps. c 197~ Honeywell Information Svstems9 Inc. REVIEW DRAfT SUBJECT TO CHANGE October. 1975 il AL39 CONTENTS Page Section I Introduction To Processor • • • • • • • • • • • • • • • • features of the Hultics Processor • • • • • • • • • • Seg.entat 1 on and Pag Ing. • • • • • • • • •. •• • • Address Modification and Aadress Appending • • • • Faults and Interrupts • • • • • • • • • Summary of Processor Features. • • •• • • • • • • Processor Hodes of Operation • • • • • • • Instruction Hodes. • •••••• Normal Hode • • • • • • • • • • • • • • • • • • Privileged Hode • • •••••• • ••••• Addressing Modes • • • • • • • • • • • • • • • • • Absolute Hode • • • • • • • •• • • • • • • Append Hode • • •••• Bar ~ode. • • • • • • • • • • • • • Processor Unit Functions. • • •••• • ••••• Appending Unit • • • • • • • • • • • • Associative Hemory Assemblies • • • • • Control Unit • • • • • • • •••• Operation UnIt • • • • • • • • • • • • • • • • • • Decimal Unit • • • • • • • • • • • •• • • • • • • · ..... ·· ..... . . . . .. ..... ·· ..... ··· ... ... ... ... ... Sedtlon II Machine Instructions. • • • • • • • • • • • • ••• Instruction Repertoire • • • • • • • • • • • • • • • • Bas lc Operat1ions • .'. • • • • • • • • • • • • • • Extended Instruction Set (EIS) Operations • • • • • EIS Single-Word Operations • • • • • • • • • • • EIS Hulti-Word Operations • • • • • • • • • • • Format of Instruction DescriptIon • • • • • • • • • • Definitions of Notation and Symbols • • • • • • • • • Hain Store Addresses • • • • • • • • • • • • • • • Index Values • • • • • • • • • • • • • • • • • • • Abbreviations and Symbols • • • • • • • • • • • • • Register POSitions and Contents • • • • • • • • • • Other Symbols • • • • • • • • • • • • • • • • • • • Arrangement of Instructions • • • • • • • • • • • • • Common Attributes of Instructions • • • • • • • • • • Illegal ModificatIon • • • • • • • • • • • • • • • Parity Indicator • • • • • • • • • • • • • • • • • Instruction Word Formats. • • • • • • • • • ••• BaSic and EIS Single-Word Instructions • • • • • • Indirect Words • • • • • • • • • • • • • • • • • • 1-1 1-1 1-1 1-2 1-2 1-2 1-3 1-3 1-3 1-1t I-It I-It I-It 1-1t 1-5 1-5 1-5 1-6 1-6 1-6 2-1 2-1 2-1 2-1 2-1 2-2 2-2 2-1t 2-1t 2-1t 2-1t 2-5 2-6 2-6 2-6 2-6 2-6 2-7 2-7 2-8 • EIS "ulti-Word Instructions • • • • • • • • • • EIS "oalfication Fielas (HF) • • • • • • • • • • • EIS Operand Descriptors ana Indirect ~ointers • • • Operand Descriptor Indirect Pointe- For.at • • • AJphanumeric Operand Descriptor Fo-mat • • • • • Numeric Operand Descriptor Format • • • •• Bit String Operand Descriptor Format • • • • • • Fixed' Point Arithmetic Instructions • • • • • • • • • Data Hovement Load Instructions. • •••••• Data Movement Store Instructions • • • • • • • • • REVIEW DRAFT SU8JECT TO CHANGE October, 1975 Iii 2-9 2-9 2-11 2-11 2-12 2-11t 2-15 2-16 2-16 2-25 AL39 CON TENTS (Conti Page Data Mo~e.ent Shift Instructions • • • • • • Addition Inst~uctions • • • • • • • • • • • • • Subtraction Instructions • • • • • • • • • • • • • Multiplication Instructions • • • • • • • • • • • • Division Inst~uctions • • • • • • • • • • ! • • • Negate Instructions • • • • • • • • • • • • • • • ComparIson Instructions • • • • • • • • • • • • • Miscellaneous Instructions • • • • • • • • • • Boolean Operation InstructIons • • • • • • • • • • AND Instructions. • • • • • • •• • • • • OR.Instructions • • • • • • • • • • • • • • • • Exclusive OR Instructions • • • • • • • • • • • • • Comparative AND Instructions ••••••••• COMparative NOT Instructions ••••••••• Floating Point A~ithmetic Instructions • • • • • • • • Data Hovement load Instructions • • • • • • • • • • Data Hovement Store Instructions • • • • • • • AdditIon Instructions. • • • • •••••••• Subtraction Instructions • • • • • • • • • • MultIplication Instructions • • • • • • • • • • • • Division Instructions • • • • • • • • • • • • • • Negate Instructions. • • •••••••••• NormalIze InstructIons. • •••••••••• Round Instructions. • • • • • • • • • • ••• Compare Instructions • • • • • • • • • • • • • • • HI scellaneous Instruct ions • • • • • • • • • • • • Transfer Instructions • • • • • • • • • • • • • • • • Pointer RegIster InstructIons • • • • • • • • • • • • Data Movement load Instructions. • • • • • • • • • Data Movement Store Instructions Address Arith~etic Instructions. Miscellaneous Instructions • • • Miscellaneous Instructions • • • • . • • •• Calendar Clock Instruction. •• Derail Instruction. • • • • • ••••• Execute Instructions • • • • • • • • • • • • • • • Master Hode Entry Instructions • • • • • • • • • • No Operation Instructions. • • • • • • • •• Repeat Instructions • • • • • • • • • • • • • • • • RIng Alarm Register Instruction • • • • • • • • • • Store Base Address Register InstructIon • • • • • • Translation Instructions • • • • • • • • • • • • • Privileged Instructions. • • • • •••••••• Register Load Instructions • • • • • • • • • Register Store Instructions • • • • • • • • • • • • Clear Associative Memory Instructions • • • • • • • Configuration and Status Instructions • • • • • • • System Control InstructIons• • • • • • • • • • • • Hiscellaneous Instructions • • • • • • • • • • • • · · · ·· ·· · ·· · . . . . . . .. ·· ....... ....... . · . . · . . . . . ... 2-3" 2-40 2-48 2-55 2-57 2-60 2·61 2-66 2-61 2-67 2-70 2-73 2-76 2-78 2-80 2-80 2-81 2-84 2-87 2-90 2-93 2-97 2-98 2-99 2-101 2-103 2-105 2-117 2-117 2-1212-12" 2-125 2-126 2-126 2-127 2-128 2-130 2-133 2-115 2-14" 2-1"5 2-146 2-14' 2-148 2-155 2-162 2-164 2-167 2-111 • Extended Ins~ructlon Set (EIS) • • • • • • • • • • • • Address Register Loae Instructions • • • • • • • • Address ~egister Store Instructions • • • • • • • • Address Register Special Arithmetic InstructIons. Alphanumeric Compare Instructions • • • • • • • • • Alphanumeric Hove Instructions • • • • • • • • • • Numeric Compare Instruction • • • • • • • • • • • • Numeric Hove Instructions • • • • • • • • • • • • • Bit String Combine Instructions • • • • • • • • • • Bit String Compare Instructions • • • • • • • • • • REVIEW DRAFT SUBJECT TO CHANGE October. 1975 iv 2-172 2-172 2-175 2-178 2-186 2-197 2-205 2-208 2-213 2-217 AL39 CONTENTS (Cont) Page Bit String Set Indicators Instructions • • • • • • Data Conversion Instructions • • • • • • • • • • • Decimal Addition Instructions • • • • • • • • • • • Decimal Subtraction Instructions • • • • • • • • • Decimal Multiplication Instructions. • • ••• Decimal Division Instructions • • • • • • • • • • • Micro Operations for Edit Instructions • • • • • • • • Micro Operation SeQuence ••••••••••• Edit Insertion Table • • • • • • • • • • • • • • • EdIt Flags • • • • • • • • • • • • • • • • • • • • Terminating Micro Operations • • • • • • • • • • • "VNE and HVE Differences • • • • • • • • • • • • • Numeric Edit • • • • • • • • • • • • • • • • • • Alphanumeric EdIt ••••••••••••• Micro Operators. • • • •••••••••••• Micro Operation Code Assignment Map • • • • • • • • Sect ion III Section tv / Data Representation • • • • • • • • • • • • • • • • • • • Information OrganIzation. • • •••••• POSitIon Nu_bering • • • • • • • • • • • • • • • • • • Number Syslem • • • • • • • • • • • • • • • • • • • • Information Formats • • • • • • • • • • • • • • • • • Data Parity • • • • • • • • • • • • • • • • • • • • • Representation of Data. • •••••••••••• Numeric Data • • • • • • • • • • • • • • • • • • • Fixed Point Binary Data • • • • • • • • • • • • Fixed Point BInary Integers. • • • • • • • • FiKed Point Binary Fractions • • • • • • • • • Floating Point Binary Data. • • ••••• Over length Registers • • • • • • • • • • • • Normallzed Numbers • • • • • • • • • • • • • Decimal Data. • • • • • • • • • • • • • • • • • Decimal Data Values • • • • • • • • • • • • • Decimal Zero • • • • • • • • ••••• Alphanumeric Data • • • • • • • • • • • • • • • • • Character String Data • • • • • • • • • • • • • Bit String Data • • • • • • • • • • • • • • • • 3-1 3-1 3-1 3-1 3-2 3-1t 3-5 3-5 3-5 3-5 3-& 3-8 3-9 3-9 3-11 3-13 3-14 3-11t 3-1" 3-15 4-1 • • ··• · • • • • "-2 · ·· • • • • ·• ·• • • • • • • "-3 · · · • • • • • • • • • • · · · • • • • · · ·· •• •• ·• ·· •• •• •• •• ·• •• ·• •• "-5 • • · • • • • • • • • • Program Accessible R.egisters • • Accumulator Reglster (A). • • Quotient Register (Q) • • • Accumulator-Quotient Register EKponent Register (E) • • • Exponent-Accumu I ator-Quot ient IndeK Registers (Xn). • Indicator Register (IR) • • Base Address Register (BAR) • • • • • • • • • • • • • • • (AQ) • Register (EAQ). Timer Register (TR) • • • • • • • • • •• • •••• Ring Alarm Register (RALR) • • • • • • • • • • • • • • POinter Registers (P~n) • • • • • • • • • • • • • • • Procedure Pointer Register (PPR) • • • • • • • • • • • Temporary POinter R.egister (TPR). • • •••••• Desiriptor Segment Base Register (DSBR.DBR) • • • • • Segment Descriptor Word ASSOCiative Hemo~y (SDMAH) • • Page Table Word Associative Hemory (PTWA~). • •• Fault Register. • • • • • • • • • • • • • • •••• Hode Register 'HR). • • •••••••••••• REVIEW DRAft SUBJECT TO CHANGE October, 1915 2-219 2-221 2-225 2-231 2-23" 2-237 2-2"0 2-2"0 2-2 ..1 2-2"1 2-2 .. 2 2-2lt2 2-242 2-242 2-21t3 2-250 v 1t-2 ..-It It ..... It-S 1t-9 ·"-9 1t-10 1t-11 1t-13 "-15 1t-16 1t-18 1t-21 1t-23 1t-25 AL39 CONTENTS (Cont) Cache Hode Register (CHR) • • • • • • • • • • •• Control Unit (CU) Hlstory Registers. • • • •• Operations Unit (OU) History Registers • • • • • • • • Decimal Unit (OU) History Registers • • • • • • • • • Appending Unit (AU) History RegIsters • • • • • • • • Configuration Switch Data • • • • • • • • • • • • • • Contro I Uni t Data •••••••••••••••• Decimal Unit Data • • • • • • • • • • • • • • • • • • Section V Section VI -- · ·• •• ·• ·• ·• •• •• · · · · • · ·• ·• · · · · • • • • • · · · · · · · · · . • • . . . . ·· · · · · · · ·· · · · ·· · ·· .-• •• •• • • • · ., · · ·· · · ·· ·· · · ·· ·· •• ·... • • • • • · ·· ·· ·• • • • ·• •• •• ·· ····• ·• • AddressiQg Segmentation and Pag Ing. • Address ing Hodes. • • Absolute Hode. • • • Append Mode. • • • • • Segment at Ion. • • • • Paging. • • • Changing Addressing Hodes • • • Address Apl?endi ng • • Address Appendlng Sequences. • • Appending Unl t Data Word Forllats. Segllent Descriptor Word (SOW) Format Page Ta,b' e Word (PTW) Format • Effective Address Formation • • • • • • • • • • • • • • • Definition of Effective Address • • • • • • • • • • • Types of Effective Address Formation. • ••••• Effective Address Formation Description • • • • • • • Effective Address Formation Involving Offset Only • • The Address Modifier (TAG) Field • • • • • • • • • General Tvpes of Offset Modification. • • •• Effective Address Formation Flowcharts • • • • • • Register (R) Modi f icat ion • • • • • • • • • • • • • Register Then Indirect CRr) Modification ••• Indirect Then Register (IR) Modification • • • • • Indirect Then Tally (IT) Modification • • • • • • • Effective Address Formation Involving Both Segment Number and Offset • • • • • • • • • • • • • The Use of Bit 29 of the Instruction Word • • • • • Special MOdifiers • • • • • • • • • • • • • • • • • Indirect to Pointer Citp) Modification • • • • • Indirect to Segment (Its) Modification • • • • • Effective Segment Number Generation • • • • • • • • Effective Address Formation for Extended Instruction Set • • • • • • • • • • • • • • • • • • Character- and Bit-String Addressing. • •• Character- and Bit-String Address Arithmetic Algorithms • • • • • • • • • • • • • • • • • • • 9-Bit Character String Address Arithmetic • • • 1t-28 1t-29 1t~32 1t-31t 1t-37 1t-39 1t-40 it-itS 5-1 S-1 5-1 5-2 5-2 5-3 5-6 5-7 5-7 5-10 5-io 5-11 6-1 6-1 6-1 6-2 6-2 6-2 6-2 6-4 6-,. 6-6 6-8 6-9 6-15 6-16 6-16 6-17 6-18 6-19 6-21 6-23 6-23 6-24 • 6-81t Character String Address Arlthlletic • • • 4-Blt Character String Address Arithmetic • • • Bit String Address Arithmetic • • • • • • • • • Section VII REVIEW DRIFT TO CHANGE October, 1915 · ·· · · ·• ·· ·· ·· ·· ·· ·· ·• ·· ·• ·· ·• ·• · ·· · · · · · · • · ·• ·· ·· ·· ·• ·· ·· ·· ·• ···· ····• ···• ·• Faults and Interrupts. Faul t Cycle Sequence. Faul t Priority. F au' t Recogni t1 on • Faul t Oescr ip ti ons. 7-1 7-1 7-2 1-3 7-4 SUB~ECT vi AL3CJ , CONTENTS (Cont) Page Group 1 Faults ••••• Group 2 Faults. • • • • • •• Group 3 Fau.ts • • • • •••• Group 4 Faults •••••••••• Group 5 Faults •••••••••• Group 6 Faults •••••••••• Group 7 Faults. • • • •••• PrograM Interrupts and External Faults • • Execute Interrupt Sampling. • Execute Interrupt Cycle SeQuence • • • Sec t ion VIII . Section IX · •• ·· •• ·• · ·• ·· ·• .'• • • • • • • • • · ·•• ·•• •• ·• ·• ·• • • • • • • • • • • • • • • • • • 7-It 7-It 7-5 7-5 7-6 7-7 1-7 7-8 7-8 7-CJ Ring Implementation. • • • ••••• Ring Protection Philosophy • • • • • • • • • • • • • • Ring Protection in Multics. • • • • • • ••••• Ring Protection In the Mu.tics ProceSsor • • • • • • • Appending Unit Operation with Ring Hechanlsm • • • • • 8-1 1-1 8-1 1-2 Cache Store Operation. • • • • • • • •••••••• Philosophy of Cache Store • • • • • • • • • • • • • • Cache Store Organization. • • •••••••• Cache Store/Hain Store Happing • • • • • • • • • • Cache Store Addressing • • • • • • • • • • • • • • Cache Store Control • • • • • • • • • • • • • • • • • Enabling and DisablIng Cache Store • • • • • • • • Cache Store Control in Segment Descrlptor Words • • Loading the Cache Store. • •••••••••• General C I ear • • • • • • • • • • • • • • • • • Selective Clear. • • • •••••• Dumping the Cache Store • • • • • • • • • • • • • • 9-1 9-1 9-1 9-2 Hard~are REVIEW DRAFT SUBJECT TO CHANGE October. 1975 vii 8-1t 9-1t C)-It g-It 9-5 9-6 9-6 9-7 9-7 Al3CJ CONTENTS' (Cont) Page ·.... ·.. ·.·. • • • • • • · .. · .. . . . .. .. .. . . . . . .. Appendix A Operation Code Hap • • • • • • A-l e Alphabetic Operation Code List B-1 Address Modifiers. C-l Appendix Appendix C ILLUSTRATIONS Figure 2-1 2-2 Figure 2-3 Figure 2-4 Figure 2-5 Figure 2-6 Figure 2-1 Figure 2-8 Figure 2-9 Figure 2-10 Figure 2-11 Figure 2-12 F~gure Figure 2-13 Fig"re 2-14 Figure 2-15 Figure 2-16 Figure 2-17 Figure 2-18 Figure 2-19 Figure 2-20 FIgure 2-21 Figure 2-22 Figure 2-23 Flgure 2-2" Figure 2-25 Figure 2-26 · · · · · · ·· · · · · · · · · ··· ·· ·· ·· ·· · · ·· ··· · ····· · · · · ··· · ·· ···· · ·· · ·· Basic and EIS Sin11e-Hord Instruction For-mat • • • Indirect Word Format • • • • • • • • • • EIS Hulti-Hord Ins truct I on Format. • • • • • • • • EIS Modification Field (MF) Format • • • • Operand DescrIptor IndIrect Pointer Format • • • • Alphanumeric Operand DescrIptor Format • • • • • Numeric Operand Descriptor Format. • • • • • • • Operand Descriptor Bit String Format • • Repeat Double (RPD) Instruction Word Format. • • • Repeat LInk (RPL) Instruct ion Word Format. • • • • Repeat (RPT) Instruction Hord Format • • • • • • • EIS Addre.ss Register Special ArithmetiC Instruction Format. • • • • • • • Compare Alphanumeric Strings (CHPC) EIS Multi-Word Instruction Format. • • • • • • Scan Characters Double (SCD) EIS Multi-Word Ins truct ion Format. • • • • • • • • • • • • Scan with MaSk ( SCM) EIS Multi-Woro Instruction Format • Test Character and Translate (TCn EIS Multi-Word Ins truc t 1 on Format. • • • • • • • • • • • Move Alphanumeric Left to Right CHLR) EIS MJ.tl-Word Ins truc t 1 on Format. • • • • • • • • Move Alphanumeric Ed Hed (MVE) EIS Multi-Word I nstruc t ion Format. • • • Move Alphanumeric with Translation (MVT) EIS Mu I t i-Word Instruction Format. • • • • • • • • • • Compare Numeric (C MPN) EIS Multi-Word InstrJctlon For.at Hove Numeric (HVN) EIS Mu I ti-Woro Instruction Format • Move Numeric Edi te d (HVNE) EIS Hulti-Hord I~struction Format. • • • • • • • • • Combine Bit Strings left (CSL) EIS Hult i-Word Instruction Format. • • • • • • • • Compare Bit Strings (CHPB) EIS Multi-Word I~struction Format. • • • • • Binary to Decimal Con"ert rBTo) EIS Hut t i-W!)rd Instruction Format. • • • • • • • • • • Oeci mal to Binary Convert (OrB) EIS Hulti-Word ·· ···· ·· · · ·· · ·· ·· ·· · ·· ·· · · · ··· · · ···· ·· ··· ·· · ····· · · · · ··· · ·· · · ·· · · · ·· · · · ···· · ··· · ···· ·· ··· ·· · ··· · 2-1 2-8 2-9 2-10 2-12 2-12 2-1" 2-15 2-13'1 2-138 2-1"1 2-118 2-186 2-188 2-191 2-19" 2-197 2-200 2-202 2-205 2-208 2-211 2-213 2-217 2-221 • Figure 2-27 Figure 2-28 Figure Figure Figure Figure Figure 2-29 3-1 3-2 3-3 3-" REVIEW DRAFT SUBJECT TO CHANGE October. 1975 Instruction' Forllat • • • • • • • • • • • • • • • • • • Add Using 2 Decimal Operands (A020) EIS Hulti-Word Instruction Format • • • • • • • • • • • • • • • • • • Add Using 3 Decimal Operands (A03D) EIS Hulti-Word Instruction Format • • • • • • • • • • • • • • • • • • Micro Operation (~OP) Character Format • • • • • • • • • Unstructured Machine Word Format • • • • • • • • • • • • Unstructured Word Pair Format. • • • • • ••••• unstructured ~-bit Character Format • • • • • • • • • • • Unstructured E)-bit Characte'r Format • • • • • • • • • • • viiI 2-223 2-225 2-228 2-240 3-2 3-3 3-3 3-3 AL39 CON TENTS CCont» Page Figure 3-5 Figure 3-6 Figure 3-1 Figure 3-8 Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure F 19ure Figure Figure Figure Figure Figure 3-9 3-10 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 "-9 4-10 4-11 4-12 4-13 4-14 4-15 Figure Fig",re Figure Figure FIgure Figure Figure Figure FIgure Figure Figure FIgure Figure FIgure Figure Figure Figure Flgur-e Figur-e Figure Figure Figure Figure F 19ure Figure 4-16 4-11 4-18 4-19 4-20 4-21 "-22 4-23 4-24 4-25 5-1 5-2 5-3 5-1t 5-5 5-6 6-1 6-2 Figure Figure Figure Figure 6-10 6-11 8-1 9-1 6-3 6-1t 6-5 &-6 6-7 6-8 6-9 REVIEW DRAFT SUBJECT TO CHANGE October, 1915 • · · · · · · • ·· ·· ···· · · · · · · · · ··· · ···· · · · · •• • · · ·· ·· ·· · · ·· · · • · · · · · · · · · · · •• · · ·· · ·· ·· ·· · ·· •• • · · · ·· ·· ·· · · ··· ·· · ·· · ·· · · · · ·· ·· ·· · · · •• · · · · · •• · · · · · · · · · · · · · · · · · · ·· •• · ·· · · ·· · ·· · ·· · ·· •• · · · · · ·· ·· ·· •• · ·· · · ·• · • · · · · · • · · · ·· · ·· · ·· · ·· · · ·· ·· ··· •• · · · · · · · · •• · ·· · ·· · · · · ·· ·· •• · · ·· ·· · · ·· ·· •• • · · ···· ·· ·· ·· •• • ·· · · · ·· · · · · ·· · · · ·• • Unstructured 9-bit Character- Format. • • • • • • • unstructured 18-bl t Half Wor-d Format • • • • • Upper l8-bit Half Word Floating Point Binary Operand Format. • • • • • • • lower 18-bit Half Word F I oat ing PoInt Binary Operand For-mat. • • • • • • • • • • Single Pr-ecision Ftoating Foint Binar-v Operand Format. Doub Ie Pr-ecislon Floating POit"!t 8inar-y Operand Format. Accu mu I at or Register- CA) For-mat. • • • • Quotient Register (Q) Format • • • • • Accumulator-Quotient Register (AQ) Forl'llat •.• • Exponent RegIster (El For-mat • • Exponent-Accumulator--Quotlent Register- (EAQ) Format. • Index Register (Xn) Format • • Indicator Regis ter- ( IR) Format • • Base Addr-ess Register (BAR) Forllat • • • Timer Register (TR) Format • • • • • Ring Alarm Register (RAlR) Format. • • • Pointer Regi ster (PRn) Format. Procedur-e Pointer Register (PPR) For-mat. • • • • Temporarv POinter Register (TPR) Format. • • • • Descriptor Segment Base Register (OSBR,DBR) Forllat Segment Descriptor Wor-d Associative Mellory ( SDWAH) For-mat. • • • Page Table Word Associative Memory (PTWAH) Format. • Fault Register Format. • • • • • Hode Register (HR) For-ma,t. • • • • • • • Cache Hode Register- (CHR) Forlllat • • • • Control Unit leU) Histor-y Register- Forllat. • • Oper-ations Unit (OU) History Regis ter Format • Appending Unit (AU) History Register Format. • • • Configur-ation Switch Data Formats. • • • Cont ro' Unit Data format • • • • Deci ma 1 Unit Data Format • • • FInal Address Gener-ation for- an Unpaged Segaent. • EKamples of Page Number FormatIon. '. • Final Address Generation for an Paged Segment. • • • • Appending Un! t Operation Flowchar-t • • • Segment Descriptor Word (SOH) Format • • Page Table Word (PTW) Format • • • • • Address Hodif ier ( TAG) Field Format. • • • • • Common Effective Address Formation Flowchar-t • • • Register Modification Flowchart. • • • • • • Register- Then Ind! rect Modification Flowchart. • • • Indirect Then Register- Modification Flowchart. • • Indirect Then TaJ Iy Hodification Flowchart • • • Format of Instruction Word ADDRESS When Bit 29 = 1 •• • ITP Pointer Pair For-Illat. • • • ITS Pointer- Pair For-mat. • • • • • • • Effective Segment Number Generation Flowchart • • • EIS Effective Addr-ess Formation Flowchart • • • • • Complete Appending Unit Operation Flowchart. Cache Store/Hain Store Mapping • • • • • • • • • • ix ·· .. .. ·· .. .. 3-1t 3-4 3-8 3-8 3-9 3-9 1t-2 1t-2 "-3 It-It It-It 4-5 1t-5 4-9 4-9 1t-10 4-11 4-13 It-IS 4-16 1t-18 "-21 4-23 4-25 1t-28 "-29 4-32 1t-31 4-39 1t-.. 1 ft-46 5-3 5-1t 5-6 5-9 5-10 5-11 6-2 6-4 6-6 6-1 6-9 6-15 6-16 ~1a 6-19 6-20 6-22 a-It 9-3 Al39 CONTENTS CCont. Page TABLES Table Table Table Table Table Table 2-1 2-2 2-3 2-4 2-5 2-6 Table 2-7 Table Taule 'Table Table Table Table Table Table Table Table Table Table Table Table Tabl. Table 2-8 2-9 3-1 3-2 3-3 3-4 3-5 3-6 "-1 It-2 5-1 6-1 6-2 6-3 6-1t 7-1 R-type Hodifie~s fo~ REG Fields • • • • • • • • • • • • • Alphanumeric Character Number (CN) Codes • • • • • • • • Alphanumeric Data Type (TA) Code~ • • • • • • • • • • • • Sign and Decimal Type (S) Codes • • • • • • • • • • • • • Relation Between Data Bits and Indlcato~s • • • • • • • • Control Relations for store Character Instructions (Nine Bit) • • • • • • • • • • • • • • • • • • • • • Control Relations for Store Character Instr~etlons (Six BIt) • • • • • • • • • • • • • • • • ••••• Default Edit Inse~tIon Table Characters • • • • • • • • • Micro Operation Code ASSignment Map • • • • • • • • • • • Fixed Point Binarv Integer Values • • • • • • • • • • • • Fixed Point BInary Fraction Values • • • • • • • • • • • Floating Point Binary Operand Values • • • • • • • • • • Decimal Sign C~aracter Interpretation • • • • • • • • • • Decimal Data Values • • • • • • • • • • • • • • • • • • • Character String Data length Lim1ts • • • • • • • • • • • Processor RegIsters • • • • • • • • • • • • • • • • • • • System Controller Illegal Action Codes • • • • • • • • • Appending Unit Cycle Definitions • • • • • • • • • • • • General Offset Modification Types.. • • • • • • • • • Register ModificatIon Decode • • • • • • • • • • • • • • Variations of Indirect Then Tally ModIfication • • • • • Special Append Hode Address Modifiers. • • • • • • • • • list of Faults • • • • • • • • • • • • • • • • • • • • • REVIEW DRAfT SUBJECT TO CHANGE October, 1975 .. 2-10 2-13 2-13 2-1,. 2-21 2-28 2-30 2-2lt1 2-251 3-6 3-7 3-10 3-12 3-13 3-1" 1t-1 1t-25 5-8 6-3 6-5 6-10 6-17 7-3 AL39 SECTION I INTROOUCTION TO PROCESSOR The -Processor~ described iri this reference manual Is a hardware module designed for use with the HUL!iplexed Information and komputing ~ervlce (Multics). The many distinctive features and functions of H~ltics are enhanced by the powerful hardware features of the Processor. The add-essing features. In particular, are designed to permit the Hultics software to compute relative and absolute addresses, locate data and programs in different devices. and retrieve such data and program as necessarv. The Multics Processor contains the following general featuresl ~1. Storage protectIon to place access restrictions on speclfied seg.ents. 2. Capability to interrupt a process In execution In response to an external Signal (e.g., tlO terminatIon) at the end of any evenlodd Instruction pair (mid-instruction interrupts are permitted for 50.e instructions), to save Processor status, and to restore the status at a .ater time without loss of continuity of the process. 3. CapabilIty to fetch instruction pairs and to buffer two instructions (up to four instructions, depending on certai~ main store overlap conditions) including the one currently in execution. 4. Overlapping -lnstructlon-execution~. address preparation, and instruction fetch. While an instruction is being executed, address preparation for the next operand (or even the operand following it) or the next instruction pair is taking place. The operations unit can be executing instruction N; instruction N+l can be buffered in the operations unit (with its operand buffered in a maIn store port); and the control unit can be executing instructlons N+2 or N+3 (if such execution does not involve the main store port or registers of lnstructions N or N+1), or preparing the address to fetch instructions N+4 and N+5. 5. Capabilltv to detect ma1n store instructions that alter the contents of buffered instructions. Ability to delay preprocessing of an address using register modification if the instruction currently In .execution changes the register to be used In that .odification. &. Interlacing capability to direct maIn store system controller module. 7. Intermediate storage of address and control information In registers addressable by content (Associative Hemo~y). accesses to the proper high-speed REVIEW DRAFT SUBJECT TO CHANGE October, 1975 1-1 AL3CJ 8. Intermediate storage of base address and control Information pOinter registers which are loaded by the executing prograa. 9. Absolute address computation at execution time. In SPECIAL-'AfAaILll1E~ The Processor also includes several unique capabllties, such as hardMare implemented segmeniation and paging, address modfication, address appending, and detection of faults and external Interrupts. These features are sum.arlzed In this section and described in detail respectively in Sections V, VI, and VII. -Segmentatlon-an~lD~~ A segment Is a collection of data or instructions that Is assigned a symbolic name and addressed symbolically by the user. Paging is at the discretion of the software; the user need not be aware of the existence of pages. User visible address preparation is concerned with the calculation of a segment effective address relative to the origin of the segment; the Processor hardware completes address preparation by translatIng the final seg_ent effective address into an absol~te main store address. The ~ser may view each of his segments as residing in an independent maIn store unit. Each segment has its own origin which can be addressed as location %er~. The size of each segment varies without affec~lng the addressing of the other segments. Each segment can be addressed like a conventional maIn sto~e image startIng at Joca$ion zero. Maximum -segment-size~ is 262,1~4 words. When viewed from the Processor, main store consists of blocks or pages, each of which is defined as "page-size" words in length. eThe page size used by Muftlcs Is 1024 words.) Each page begins at an absolute address Mhlch is zero modulo the page size. Any page of a segment can be placed i~ any available .ain store block. These pages may be addressed as jf they we~e contiguous even though they are in widely scattered absolute locations. Only currently referenced pages need be in main store. If a segment is not paged, the coaplete segment Is located In contiguous blocks of main store. In the current Hultics Implementation, all user segments are paged. Address HodlficatioD Prior to take placel 1. ~!gdre$s Appending each main store access, -Address-modification~ by two major phases of address preparation Register or Indirect Word content, If specified by the Instruction Word or Indirect Word. -Address-appending@, in which a segment effectIve translated Into an absolute address-to access main store. Although the above two types of modification are combined in _ost operations, they are described separately in sections V and VI. The address modification procedure can go on indefinitely, with one type of modification leading to repetitions of the same type or to other types of modification prior REVIEW DRAFT SUBJECT TO CHANGE October, 1915 1-2 AL39 to a main store access for an operand. However, to simplify the descriptions In this manual, each type of address modificatIon Is described as if it were the first (and usuallY the only) modification prior to a maIn st~re access. fay1J$ and lntecrypts The Processor detects certain il legal procedures; fault, COMmunication with the ma 1 n store; programmed f aul ts; cert ai n external events; and ari thllet ic faults. Many of the Processor fault conditions are deliberately or inadvertently caused by the software and do not necessa~llv invo've error. condl t Ions. Similarlv, the Processor co~~unicates with the other system modules by setting and answering external interrupts. When a fault or interrupt Is recognized, a trap results. This causes the forced execution of a pair of l~s~ructions in a main store location, unique to the fault o~ Interrupt, known as the fault or interrupt vector. The first of the forced instructions ~ay ;cause safe storage of the Processor status. The second inst~uction in a fault vector shoul d be a transfer, or the f au' t lng program wIll be resumed "1 thout the fault having been processed. -Faults-and-lnterruptsa are described in Section VII. Interrupts and certain low priority faults are recognized only at specific times during the execution of an instruction pair. If, at these tll1es. the Processor detects the presence of bit 28 In the Inst~uction Word, the trap Is inhibited and program executIon continues. The interrupt or fault signa' 15 save~ for future recognition and Is reset only "hen the trap occurs. PROCESSQR HODES Qf OPERATION There are three -modes of maIn store addresslnga 'Abs~lute Hode, ApDend Hode, and BAR Hode), and two lIodes of instruction execution (Normal Hode and Privileged "Dd~). These modes of operatIon and the functions performed .~e su •• ar!zed in table 1-1. Iostryctign Hodes NORHAL HODE • Host instructions can be executed In the -Normal-Hodea of operation. Certain Instructions,c~as~_t!~ as prIvileged. cannot be execu1ed in Normal. Hode. These are Identified in-The "Indlvidual instruction descriptions. An attempt to execute prIvileged instructions while in the Normal Hode results in an Illegal Procedure Fault. In· the Normal Hode. various restrictIons are indicated In Segment Descriptor Words and Page Table Wores, which are explained in Section V. Address Preparat jon- usest he appending phaSe. The Processor· executes in Normal Mode when the access bits of the Seg~ent Descriptor Word specIfy a nonprlvlteged procedure. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 1-3 ALJ9 PRIVILEGED HOOE In Privileged Hode, all Instructions can be executed. Address Preparation uses the appending phase. The Processor executes in -Privileged-Hode~ when· the access bits of the Segment Descriptor Hord specif, a privilegeo procedure and the execution ring is eQual to zero. Refer to· Sections V and VIII for .ore detailed information. A~resslQg U~ ABSOLUTE MODE All instructions can be executed In the -Absolute-Ho~e; and unrestrIcted is permitted to privileged hardware features. Address Preparation for instructIon fetches does ~ use the appending phase. Ourlng instruction fetches, ~he Procedure Pointer Register is ignored. acc~ss The Processor enters Absolute Hode immediately after a fau.t or Interrupt and remains in Abs~lute Hode until it executes a transfer instruction whose operand Is obtained via explicit use of the appending mechanism, that Is, via explicit reference to one of the Pointer Register bV the ~se of bit 29 of the Instruction Word (See.Append Mode beJo~). APPEND HOOE The -Append-Hode" Is the most common I y used lIaln store address 1ng 110 de. this mode the final effective segment address Is either added to the Procedure Pointer Register, or it Is added to one of the eight Pointer Registers. If bit 29 of the Instruction Word contains a 0, then the Proeedure Pointer Register is selected; otherwise, the Pointer Register given by bits 0-2 of the instruction word is selected. In BAR "ODE In -SAR-(Base-Address-Reglster»-Hodea, the l8-blt BAR is used. The 8AR contains a·O modulo 512 address bound In bit posItions 9-17 and a 0 modulo 512 base address in bit positions 0-8. All addresses are rel3cated by adding the effectIve segment address to the base address in bits 0-8. The relocated addr.ss then becomes the fInal segment efre~tIve address as In Append "od~ and Is added to the Procedure Pointer Register. A process 15 kept within certain maIn store lImIts bv subtracting the unrelocated effective address fro. the • address bcund in bits 9-17. If the result Is zero or negative, address would be out of range, and a store Fault oceurs. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 the relocat.'d AL39 Table 1-1. "odes of Operation NORMAL £RIYILEGEp A8S0LUTE Execute privileged instructions. No Yes Yes No Main store address for instruction fetch. Append Append Absolute Procedure Pointer Reg ister p I us BAR base address. Haln store addrass for for operand fetch. Append· Append Append 1f bit 29 = 1, else Absolute. Procedure Pointer Register plus BAR base address. None Total fUNCTIONS Restriction of access to other seg.ents. So .. e PROCESSOR UNIT fUNCTIONS ~"aJor functions of each principal logic ele.ent are listed below and are, described In subsequent sections of this aanual. Controls data input/output to main store. 'erfor.s main store selectIon and interlace. Does address appending. Controls fault recognitIon. This assemblv conSists of sixteen 72-blt Page Table Word Associative Hellory and sixteen 108-bit Segment Oescripto~ Word Associative Memorv -(SDWAH)-"eglsterscil These registers are used to hold pointers to lIost -CPTWAH)-regi~ters~ • recently used segments (SOWs) and pages CPTWs.. This unit oDviates the need for possiblel'uttlple main store accesses before obtaining an absolute aaln store address of ari operand. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 1-5 AL39 Performs all Processor control functions. Perfcrms address modification. Controls mode of operation (Privileged, Normal, etc ••• Per f arms interrupt recagnl t ion. Decodes Instruction Words and Indirect Words. Performs Timer Register loading and decrementing. Does fixed and floating blnarv arithmetic. Does shifting and Boolean operations. Does decimal arithmetic. Does character- and bIt-string operations. RlVIEW URlfT SUBJECT TO CHANGE October, 1915 1-6 AL39 SECTION II HACHINE INSTRUCTtONS This section describes the cOllprehensive set Of -macnine-instructionsil for the Hultics Processor. The presentation assumes that the reader is familiar with the general structure of the Processor, the representation of informatIon. the data formats, and the method of address preparation. Additional information on these subjects appear$ near the beginning of this section and in Sections III through VI. INSTRUCTION REeER1D1&~ The Processor interprets a 10 bit field of tl;\e Instru:tlon ; Word as the Operation Code. ThiS fieJd size vields an instruction universe of) 1021t of ...,ICh 547 are implemented. The instruction population Is divided ~nto 1t56 Basic Operations and 91 Extended Instruction Set lEIS) Operations. Arrangment of IostructiQDS Instructions In thls section are presented alphabeticaJly bv their mneaonlc codes within fUnctional categories. However, an overal' alpnabetic listing of Instruction codes aod their names appears in Appendix 3 to aid the use~ in locatIng specific Instructions via that code. aasic ODera~ The 1t56 -basic-operatlonsil in the Processor al. reQui~e exactlv one machine word and are further subdivided Into the following tiPesl 181 85 31t 36 Fixed Point Binary Arithmetic 800lean Opera~ions floating Point Binary Arithmetic Transfer of Control 75 17 28 36-blt Pointer Register Hi see II an'eOJS Privileged The 91 -Extended-Instruction-Set-(EIS)-Operatjonsil are. futher subdivided into 62 EIS Single-Word Instructions and 29 EIS Multi-Word I~structlons. REVIEW DRAfT SUBJECT TO CHANGE OctOber, 1975 2-1 AL39 EIS SINGLE-WORD OPERATIONS The &2 -EIS-Single-Word-Instructlons~ load, store, and perform specIal arithmetic on the Address Registers (ARn) used to access bit- and character-string operands, and safe-store Decimal Unit (DU) control informatIon required to service a Processor fault. Like the Basic Operations, EIS Single-Word Instructions require exactlv one J& bit Machine Word. EIS MULTI-WORD OPERATIONS The 29 -EIS-MuJti-Word-Instructions~ perform DecImal and character-string operations. Thev require 3 or depending on individual Operand Descriptor requirements. and blt3&-blt Machine Words A~ithmetlc ~ Each Instruction in the repertoire is described in the followIng pa9BS this sectlon. The descriptions are presented in the format shown below_ INSTRUCTION NAME MNEMONIC ~FORHATI OP CODE (OCTAL) Figure or Figure reference SUMMARYI Text and/or bit transfer MODIFICATIONS: Text INDICATORSI Text and/or logic statements NOTESI Text Line 11 ~~C. of INSTRU~!InN-~ equ~tlons OP COPE (OCTAL) This line has three parts that contain the followingl 1. Mnemonic -- The -mnemonic-codew for the Operation field of the assembler statement. The HuStics assembler, ALH, recognizes this value and maps it into t~e appropriate binary pattern when generating the actual object code. 2. Instruction Name -- The name of the machine instruction from which the Mnemonic was deri~ed. 3. Op Code (Octal) -- The octal value of the operation code for the instruction. A zero or a one in parentheses fo.lowing an octal code indicates whether bit 27 COP Code extensIon bit) ~f the instruction REVIEW OR~fT SUBJECT TO CHANGE OctOber, 1915 2-2 AL39 word is OfF or ON. Line za filB.11A.I The layout and definition of the subflelds of the instr~ctlon· word or words is given here either as a Figure or as a reference to a Flgu-e. Line 31 SWit1A.lU The change in t~e state of the processor affected by tHe execution of the instruction is described in a short and general IV symbolic fo~m. If reference is made to "the state of an indicator in the SUMHARY, it is the state of the indicator before the instruction is executed. Those modifiers that cannot be used with the inst~uction are listed exp I ici t I y as except ions ei the,.. because they are not perm! tted or because th·e lr effect cannot be predicted from the general address modification procedure. (See -Effective Address Formation- in Section VI.) ~ Line 5 I l.tiD.l.kA.IQRS. Only those indicators a,..e listed whose state can be chan~ed by the execution of the instruction. In most cases, a condition fo,.. setting ON· as well as one for setting OFF is stated. If only one of the two is stated, then the indicator remains unchanged if the condition is not Bet. Unless stated otherwise, the conditions refer to the contents of regl~ters existing after instruction execution. Refer also t~ ·Common Attributes of Instructions H , tater in this section. Line &1 lWIES This part of the description exists only In those cases where the SUMMARY is not sufficient for in depth understanding of the operatio~. REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-.3 AL39 Y = the V-pair =a Y-blockn =a 18 low order bits of the final 24 bit main store address of the instruction operand after all addresS preparat i on ~ s comp Ie tee symbol denoting that Y designates a pair of maIn store locations with successive addresses, the smaller address be Ing even. When t he mal n store address is even, It designates the pair Y(even), Y+l; and when it is odd. the pair Y-1, Y(odd). The main store location with the . smalJer (even) address contains the most significant part of a double-word operand or the first of a pair of instructions. symbol denoting that Y designates a block of main store locations of ~-, 8-, or 16-word extent. Fer a block of a-word extent, the Processor assumes that Y-blockO is a 0 modulo 0 address and performs address incrementing through the block ac:ording'y, stopolng when the ajdress next reaches a vaJ~e 0 modulo n. Note the difference between V-block addressing and V-pair addressjn~ that forces the address to be 0 modu'o Z. =a symbol denoting that Y designates a character or string of characters in main store of character size D bits as described by the ~th Operand Descriptor. n is specIfied by the data type field of Operand Descriptor h and may have values ~, 5, or 9. See Section VI, Effective Address Formation, for details of Operand Descriptors. Y-bl t11 =a symbol denoting that Y deSignates a bit or string of bits in main store as described by the ~th Operand Descriptor. See Section VI. Effective Address Formation. for details of Operand Descriptors. When reference Is made to the elements 01 a string of characters or bits in main store, the notation shown In Register POSition and Contents belo ... Is used. The index used to sho ... traversing a string of extent n may take any of the values in the interval (1,0) unless noted otherwise. The elements of a main store block are traversed explicitly by USing the index as an addend to the given block address, e.g, Y-block8+m and Y-block~+Zm.l. A ARn AQ BAR REVIEW DRAFT SUBJECT TO CHANGE Oc t ober, 1 CJ 75 Accumulator Register Address Register n (n = 0, 1, 2 •••• , 7) (consists ofl PRn.WORONOJ:PRn.CHARIIPRn.BITNO) Combinec Accumulator-Quotient Register Base Address Register 2-4 AL39 CO CA OSSR DSSR.AODR DSBR.8NO OSBR.STACK DSBR.U E EA EAQ ERN ESN IC IR PPR PPR.PRR PPR.PSR PPR.IC PPR.P PRn PRn.RNR PRn.SNR PRn.WORDNO PRn.CHAR PRn.BITNO Q PTWAtt SOMAM RAlR TPR TPR.CA TPR.TRR TPR. TSR TPR.TBR TR Xn Z "Contents 0'" Computed Address Descriptor Segment Base Register Descriptor Segment Base Address Register of DS8R Descriptor Segment Bound Reister of DSSR Stack Base Register of DSBR Unpaged Flag of DSBR Exponent Register Combined Exponent and Accumulator Registers Combined Exponent-Accumulator-Quotlent Register Effective Ring Number Effective Segment Number Instruction Counter Indicator Register Procedure Pointer Register Procedure Ring Register or PPR Procedure Segment Register of PPR Instruction Counter Register of PPR Privilege Flag of PPR POinter Register n en 0, 1, 2, •••• 7) Ring Number Register of PRn Segment Number Register of PRn Word Address Register PRn Character Address Register of PRn Bit Offset Register of PRn Quotient Register Page Table Word Associative Memory Segment Desriptor Word Associative "emort Ring Alarm ~egister Temporarv Pointer Register Computed Address Register of 'PR Temporary Ring Register of TPR Temporarv Segment Register of TPR Temporary Bit Register of TPR T lmer Register Index Register n (n = 0, 1, 2 •••• , 7) Temporary pseudo-result of a nonstore cowparative operation = 0' ReqisterPQ$ltlo~Lk.stD.1m1s (-R- standing for any of the registers listed above as well as for Main store .. ords. Nord-pal rs, word-b' ocks, and character str lngs. Ri the ith bit pOSition of R RU) the Ith register of a set of n registers, R the bit pOSitions 1 through J of R CrR) the contents of the full regIster R • CeR)! the contents of the ith bit or character of R the contents of the bits or characters i through J of R xx ••• x REVIEW DRAFT SUBJECT TO CHANGE October, 1975 a string of binary blts (O·s or l·s) of any necessary length 2-5 AL39 When the description of an instruction specifies a chan~e for a part of a register or main store location, it is understood that the 3art of the register or maln store location not _enttoned remains unchanged. -other-Symbolsii} replaces -> I a compare w lth the Boolean connective AND the Boolean connective OR • the Boolean connective NON-EQUIVALENCE (or EXCLUSIVE OR) the Boolean unary NOT operator not equal indicates exponentiation Cn and m are Integers); example, the fifth power of 2 is represented as 2 •• 5. for x multiplication; for example, elY) times :(Q) is as CCY) x C(Q). represented I dl~ision; for example, CCY) divided by C(A) as Cry) I C(A). represented II concatenatIon; for example, strlng1 JJ stringZ. 1 ••• 1 is the absolute value of the value between vertical bars (no algebraic sign). For example the absolute value of CIA) Dlus elY) is represented as. JCIA) + C(Y)'. COHMON ATTRIBUTES Of IHSTRUCTIONS Illegal HodificaLl2n If an -illegal-modifieriil is used wIth any instruction, an Illegal Procedure fault with a subcode class of Illegal Hodifier occurs. ear 1 t y ~ilUI:. The Parity Indicator is turned has incorrect parity. RE.VIEW DRAFT SUBJECT TO CHANGE Oct ober. 1975 ON at the end of a 2-6 mai~ store access which AL39 The -Baslc-I~struct,ons; and -EIS-Single-Word-In$t~uctions; require e~actly one 36 bit Machine Word and are interpreted according to the format shoMn In figure 2-1 below. o 1 1 --L8 Q J I ADDRESS OPCODE I 18 Figure 2-1 ADDRESS Ba~lc 222 3 3 l 1 ~ ~ I I I IIIAI -1.;..1 I 10 1 1 D I I TAG I 6 and EIS Single-Word Instruction Format The given address of the Operand or address may bel An 18 only) bIt Word. In~lrect maIn store address If l =0 This (Absolute Hode An 18 bit offset to the Base Address Register If A CBAR Hode only) = 0 An 18 bit offset relative to the base of the current procedure segment If A = 0 (Appendl,g Hode onlv) A 3 bit PoInter Register number (0) and a 15 bIt offset to C(PRQ.WORONO) if A = 1 CAbsolute and Appending Hodes onl y) A 3 bit Address Register number (0) and a 15 bit offset CCARo) if A 1 CAli modes dependIng on instruction type) ~o = An 18 bit literal signed or unsigned constant (All modes depending on instruction type and Hodifier) An 8 bit Shift Operation count CAli modes) An 18 offset t~ the current value Counter CIPRR.IC) CAli modes. of the Instruction OPCOOE Instruction operation code. I Program Interrupt inhibIt bit. When this bit is set9 the Processor M,II ignore all e~ternal Program Interrupt signals. See Section VII, Faults and Interrupts, for detaIls. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-7 Al39 A Indirect via pointer registe~ flag. See Section VI. F.ffective Address Formation. for detaIls on the use of POinter Registers. TAG Instruction address modifier. See Section VI. Effective Address Formation, for details on Address Modification. Indirect Words Certain of the Basic and EIS Single-Word Instructions permit Indirection to be specified as part of Address Modification. When such indirectior. Is specified, C(~) is iriterpreted as an -Indirect-Word~ according to the fo~rat shown in Figure 2-2 below. 1 1 0 g Z~ ADDRESS I - I I I g I I I TAG -------12 I 18 ADDRESS 3 5 TALLY I Figure 2-2 Z 3 3 I 6 I Indirect Word format The given address of the Operand or This address mav bel next An 18 bit main store address If Instruction Word (Absolute Hode cnlt) Word. Indirect A = 0 In the An 18 bit offset relative to the Base Address Register (BAR) if A 0 In the Instruction Word (BAR Hode onlv) = An 18 bit offset relative to the base of the current procedure segment if A = 0 (Appending Hode on.~) An 18 bit offset relative to the origin of the seg_ent described bv PRO if A 1 in the Instructlon Word and PRn is selected bV the Instr~ction Word (Absolute and Appending Modes onlv) = TALLY A count field for use involve tallying. TAG Next address modifler. REVIEW DRAFT SUBJECT TO CHANGE Octobec. 1975 2-8 by those Address Modifiers that AL39 The -lIS-Hulti-Word-Instructlons~ require 3 or ~ Machine Words depending on the Operand Descriptor requirements of the individual instructions.· The ~ords are interpreted according to the format shown in figure 2-3 3elow. 0 1 1 D l Ii 222 3 9 ~ 7_1 I VARIABLE a I I III OPCODE I I HF1 I_i I I 71 18 10 1 Operand Descriptor or Indirect Pointer for Operand 1 I I I I Operand Descriptor or Indirect Pointer for Operand 2 I I I Operand Descriptor or Indirec t PoInter for Operand 3 I J& Figure 2-3 This fie'd is interpreted variously according to requirements of the individual EIS Instructions. interpretation is given under FORHlT for each Ins truct ion. The Modification Fields HF2 and HF3 contained In this fleld if they are required. the Its EIS are OPCODE Instruction operation code Single-Word Instructions. EIS I Program Interrupt inhibit SIngle-Word Instructions. ttFl Modification Fjeld 'or Operand Descriptor Modification Fields (HFl beloM for details. "VARIABLE (IS EIS Mu It i-Word Instruction for.at ModificA~-Elalds as( bit for as BaSic for BaSic 1. and and EIS See EIS 'HF) Each of the Operand Descriptors follo~in9 an EIS Hulti-Word Instruct.on Word has a -Hodificatlon-fleld~ In the Instruction Word. The Hodification Fif·ld contro I s the i nterpretat Ion of .the Operand Descriptor. The Hodi f leat Ion FIe I d is interpreted according to the format shown in Figure 2-4. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-9 ALJ9 a 0 0 0 0 3 Z -LLa J I J • JalbJcJ I REG I LLl.--1-__ --1 1 1 1 Figure 2-4 U:L a AR 4 EIS Modification Field eMF) For~at Address Register flag. This flag conf~ols interpretation the ADDRESS field of the Operand Descriptor Just as the "AM flag controls lhterpretation of the ADDRESS field of the BaSic and EIS Single-Word Instructions. of b = Register length control. If RL 0, t~en the Length (N) field of the Operand Descriptor contai~s the length of the operand. If RL 1, then the length (N) field of the Operand Descriptor contains a se~ector value specifving a register holding the operand length. RL = c = to Indirect descriptor control. If 10 1 for HF~, then the hth word foltowing the Instruction Word Is an Indirect Pointer to the Operand Descrptor for the hth operand; otherwise, that word is the Operand Descriptor. REG The register numbe'" for R-type modification Uf an·v) of ADDRESS of the Operand Descriptor. These modIfications are similar to R-tvpe modifications fo~ Basic Instructions and are summarized in Table 2-1 below. II legal mOdifiers have the entry MIPR" and cause an Illegal Procedure Fault. Table 2-1 R-type Modifiers for REG Fields Meaning Octal ~ B-:t~cc 00 01 02 N Hf...REIi ~ y~ in Indirect Operand C:tS:U: eR1n!.tt llc~cci CeOperand ~CC'QlgCI~ZI~i 03 . AU QU OU N AU QU IP.RCa) 04 05 06 07 IC Al QL OL IC(bt A(c) Q'c) IPR IC(b) AL QL IPR A(c) Q(c) IPR 10 11 12 13 XO Xl X2 X3 XO Xl X2 X3 XO Xl X2 X3 XO Xl X2 X3 14 X4 X5 X6 X7 X4 X5 X6 f.7 X4 X5 X6 X7 X4 X5 X& X7 15 16 17 REVIEW DRAFT SUBJECT TO CHANGE October, 1975 N AU QU IPR 2-10 l IPR AU QU IPR IPR AL39 Ca) The DU modifier is permitted only in the second Operand Descriptor of the SCD. SCDR. SCH. and SCHR instructions to s3ecify that the test character(s) reside(s) in bits 0-18 of the Operand Descriptor. The IC modifier Is permitted only In the REG field of Indirect Pointers and in HF3.REG for the SCD. SCDR. SCH. SCHR, HVT. TCT. and TCTR instructions, that is. the instructions that store sum.ary results of a scan operation. CeIC) Is always i~terpreted as a ~~ offset. (c) The limit of addressing extent of the processo~ ls 2--18 - 1 words; that Is,. given any main store address, Y, a modife~ may be employed to access a main store word anywhere in the range (Y - 2··18 + 1, V + 2··18 - 1), provided other ·address range contraints are not violated. Since it is desirable to address this same extent as words, cha~acters, and bits It is necessary to provide a registe~ with range greater than the 12 bits of N or the 18 bits of no~mal R-type modifiers. This is done by extending the range of the A and Q modifiers as fol lows ••• ~ 9-blt 6-blt 4-blt bit ~ 20 21 21 24 A.a bits 1&,35 15.35 15,35 12,35 The unused high order bits are ignored. EIS Operand Pessr1ptors and Indirest poInters The words fol'owin~ an EIS Hulti-Word Instruction Word are either descriptions of tne operands or -lndirect-Polnters~ to the operand descriptions. The interpretation of the words is performed acco~ding to the settings of the control bits in the associated Hodification Field 'HF). Thehth Word following the InstructIon Word is interpreted according to the contents of HF~. See EIS Modifications FieldS eMF) above for meaning of the various control bits. See Section III, Data RepresentatIon, and Formation, for further details. Section VI, Effective Address = If HF6.ID 1, then the hth word following an EIS ~ulti-word Instruction Word Is not an Operand Descriptor, but is an Indirect Pointer to an Operand Descriptor and 15 interpreted as shdwn in Figure 2-5. • REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-11 AL39 o 1 1 --L8 o I ADDRESS 10 J I _I 18 ADDRESS J 2 I 01 a o a a 0 o a a 0 OJAla ---1 Figure 2-5 2 2 J 3 J 1 3 D 1 ;) 11 1 i 2 REG I I I I & Operand Descriptor Indirect Pointer Forlllat The given address of the Operand Descriptor. may bel An 18 bit maIn store address if A = o"ly) This address (Absolute 0 An 18 bit offset relative to the ease Address (BAR) if A = 0 (BAR Hode only) "ode Re~lster An 18 bit offset retative to the base of the current procedure segment if A = 0 (Appending Hode onlv) A 3 bIt Pointer Register number Cn) and a 15 bit offset relative to C(PRn.WORDNO) if A 1 (AI' modes) = Indirect via Pointer Register flag. This flag controls interpretation of the ADDRESS field of the Indirect M Pointer Just as the ··A flag controls interpretation of the ADDRESS field of the BaSic a~d EIS Single-WOrd Instruct ions. A Address modifier for ADDRESS. All Register Hodflers except DU and DL may be used. If IC is used. then AODRE$S is an 18 bit offset to value of the Instruction Counter LQL ~~ I~~~. C(REG) Is always interpreted as a ~~ offset to ADDRESS. -ALPHANUMERIC-OPERA~D-DESCRIPTOR-FORHATa For any operand of an EIS Multi-word Instruction that requires Alphanumeric Data. the Operand Descriptor is interpreted as shown 1n Figu·e 2-& below. 1 1 --LII 0 D J I I I 18 ADDRESS 3 a I I 5 I ITA lOa 1-1--_ _ _ J J 3 N Z 1 12 I• Alphanumeric Operand Descriptor Forlllat The given address of the operand. (for the ~th operand): An 18 Dit Mode onlv) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 I : eN ADDRESS Figure 2-& 2 2 2 2 2 II 1 Z !t maIn 2-12 This store address 1f address HF~.AR= may be 0 (Absolute AlJ9 An 18 bIt offset to the Base Address Register If (BAR Hode onlya =0 "F~.AR An 18 bit offset relative to the base of the current procedure segment if HF~.AR = 0 (Ap~ending Hode only) A 3 bit Address Register num~er (D) and a 15 bit offset to C(ARn.) if HFl1.AR = 1 (All modes) U~ Character Number. This field gives the character position within the word at ADDRESS of the first operand character. Its interpretation depends on the Data Tvpe (see TA bel OM) of the operand. Table 2-2 beloM shows the interpretation of· the field. A digit in the table indicates the corresponding character position (See Section III. Data Representat ion. for data formats) and an ")t" indicates an invalid code for the Data Type. I~va'id codes cause Illegal Procedure Faults. CN Table 2-2 Alphanumeric Character Number (CN) Codes .D.iltA lm. kl.kW.. !t::Ju..1 ODD 0 1 2 3 001 010 011 100 101 110 l1i fA 3._Rll 0 0 1 x 2 1 3 x It It 2 5 x 6 S x 7 x x 3 Type Alphanumeric. This is the Data Type code for the operand. The interpretation of the field is shown 1n lable 2-3 below. The code shown as Invalid causes an Illegal Procedure Fault. Table 2-3 Alphanumeric Data Tvpe (TA) Codes 9-b1t 6-blt 4-bit Inval1d 00 D1 10 11 N 6:Jtil bperand lengt"'. If HFi1.RL = 0. this field contains the string length of the operand. If HF~.RL 1. thiS field contains the code for a register holding the operand string length. See Table 2-1 and EIS Modification Fields (HF) above fora discussion of register codes. = REVIEW DRAfT SUBJECT TO CHANGE October. 1975 2-13 AL39 For any operand of an EIS Multi-word Instruction that requires Numeric Data, the Operand Descriptor is interpreted as ShOMn in FIgure 2-7 bel OM. o 2 2 222 a 1 Z J !t 1 1 ---L8 Q J I I I CN ADDRESS 3 1 18 FIgure 2-7 I I aJ S J I I ---1. 2 3 a 5 I a SF I N I £» 6 I I I Numeric Operand Descriptor Format hu The given address of the operand. (for the ~th operand) I ADDRESS 2 3 _ 9 An 18 bIt Hode onl y) main This store address if address HF~.AR= may be 0 (Absolute An 18 bit· offset to the Base Address RegIster it (BAR Hode only) =0 "F~.AR An 18 bit offset relatlve to the base of the current procedure segment if HFls.AR = 0 (Appending Hode onl~) A 3 bit Address Register number (~) and a 15 bit offset to C(ARQ.) if "F~.AR = 1 (AI' modes) a ~ CN Character Number. This field gives the character position within the word at ADDRESS of the first operand character. Its interpretatIon depends on the Data Type (see TA beloM) of the operand. Table 2-2 above ShOMS the interpretation oft he fl e I d. TN Type NumerIc. This Is the Data type COd,:e for the operand. The codes are ••• o 9-01t It-bit 1 s Sign and decimal type of data. The interpretation of field is shown i~ Table 2-1t bel OM. the • Tab.e 2-4 octal OD 01 10 11 REVIEW DR~FT SUBJECT TO CHANGE Oct ober, 1915 ~g~ Sign and Decimal Type (S) Codes ~n ~ Qec 1mat Ixaa Floating point, leading Sign Scaled fixed point, leading SIgn Scaled fixed pOint, trailing Sign Seated fixed point, unsig~ed 2-14 Al39 Scaling factor. This field contains t~e two·s complement value of the base 10 ~cal Ing factor; that is, the value of m for numbers represented a D x 10··m. The decimal ~oint is assumed to the right of the least Significant digit of O• . Negative values move the decimal point to the .Ieft; positive values, to the right. The range of is SF m (-32,31). Operand length. If HFts..RL= 0, this fietd contains the operand length In digits. If HF~.RL = 1, it contains the REG code for the register holding the operand length and C(REG) is treated as a 0 modulo &4 num~er. N For any operand of an EIS Hulti-word Instruction that -eQuires BIt-string Data, the Operand Descriptor Is interpreted as shown In FIgure 2-8 below. o 1 1 1 2 --L8 3 g o a I I C J ADDRESS ~ 18 Figure 2-8 ADDRESS 2 2 3 3 !t 5 a B I 2 I ; I 4 I N I I- 12 Bit String Operand Descrptor Format The given address of the operand. (for the ~th operand). An 18 bit Hode onl v) main This address may be store address if HFh.AR= 0 (Absolute An 18 bIt offset to the Base Address Register if = 0 (BAR Hode onlv) HF~.AR An 18 bit offset relative to the base of the current procedure segment if HFh.AR = 0 (Ap~endln9 Hode only) A 3 bit Address Register number (Q) and a 15 bit offset to C(ARa.) If HFh.AR 1 (All modes) = ~ c The character number of the 9-bit character within ADDRESS containing the first bit of the operan~. B The bit number within the 9-bit character, C, of the first bit of the operand. REVIEW DRAFT SUBJECT TO CHANGE October. 1915 2-15 ALJ9 fIXED POINT DATA HOVEHENT LOAO EAA Effective Address to A FORHATa 8asic Instruction Format (See Figure 2-1). SUMHARY' Y -> .CrA)O,l7 635 r 0) 00 ••• 0 -> CCA)18.35 MODIFICATIONSI All except OU. OL INDICATORSI (Indicato~s If C(A) Zero Ne~at • ive NOTESI = O. then ON; otherwise OFf = 1. If CIA) bit 0 then ON; otherwise JFF The EAA instruction. and the instructions EAQ and EAXn, facIlitate interregister data movements; the data source is specified by the address modification, and the data destination by the operation code of tne instruction. Attempted Fault. EAQ not listed are not affected) repetition with RPL causes an Illegal Procedure Effective Address to Q FORHATa Basic Instruction Format (See Figure 2-1). SUHHARYI Y -> MODIFICATIONSI All except DU. Ol INDICATORSI (Indicators not listed are not affectej) CIQ)O.17 Zero If C(Q) = Negative It C(Q)O NOTES' REVIEW DRAFT SUBJECT TO CHANGE October. 1975 636 CO) ~, = 1, then ON; otherwise OFf then ON; otherwise OFF Attempted repetition with RPL causes a, II legal Fault. 2-16 Procedure AL39 FIKEO POINT DATA MOVEHENT LOAD Effective Address to Xn EAXn &2n (0) FORHATI Basic Instruction Format (See Figure 2-1). SUHMARY' For n = 0, Y -> 1, ••• , or 7 as determined ~, C( Xn) MODIFICATIONSI AI. except OU, OL INDICATORSI (IncHcators not listed are not affected) Zero If C(Xn) = 0, then ON; otherlltise OFF Negative If C(Xn)O NOTES' operation code = 1, then ON; otherlltise OFF Attempted repetition lItith RPL causes an II legal Fault. Procedure Load Co_pi ellent A LCA 335 (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARY' If C(Y) ~ 0, then -C(Y) -> C(A) otherwise, 00 ••• 0 -> C(A) MODIFICATIONSI All INDICATORSI (Indicators not listed are not affected) = 0, Zero If CIA) Negative If CCA)O Overf I o lit If range of A is exceeded, then ON; otherwise OFF NOTESI = 1, then ON; otherwise OFF then ON; otherwise OFF The LCA instruction changes the n~mber to its negative (If _ 0) while moving It from Y to A. The operation is executed by for.lng the 'wo·s coaplement of the string 3& bi ts. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-17 of Al39 FIXED POINT DATA MOVEMENT LOAD 337 (0) LCAQ FORMAT' Basic Instruction Format (See Figure 2-1). SUH"ARYI If CCY-pair) ~ O. then -CCY-pair) -> CCAQ) otherwise, 00 ••• 0 -> C(AQ) MODIFICATIONSI All except DU, DL, CI, SC, SCR INDICATORS' (Indicators not listed are not affected) = 0, then ON; otherwise OFF CCAQ)a = 1, then ON; otherwise OFF Zero If CIAQ) Negative If Overflow If range of AQ is exceeded, then ON; other,dse OFF NOTES. The LCAQ "instruction changes the numbe- to its negative (if ~ 0) while moving it from Y-pair t3 AQ. The operation is executed by forming the two·s compleaent of the string 72 bits. 0' Load Complement Q LCQ 336 COJ FOR"AT. Basic Instruction Format (See Figure 2-1). SU""ARYI If CIY) _ D, then -elY). -> ceQ) otherwise, 00 ••• 0 -> CeQ) "OOIFICATIONSI All INDICATORS' CIndicators not listed are not affected) = 0, Zero If CIQ) Negative If CCQ)O Overflow If range of Q Is exceeded, then NOTES. = 1, then ON; otherwise OFF then ON; otherwise OFF O~; otherwise OFF The lCQ instruction changes the number to Its negative Clf 0) while moving it from Y to Q. The operation IS executed by forming the tNO·S complement of the string of 36 bi ts. ~ REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-18 AL39 FIXED POINT DATA "OVEMENT LOAO 32n (D) Load Complement Xn LCXn FORHAT. Basic Instruction Format (See Figure 2-1). SUMMARY. For n = 0, 1 •••• , or 1 as determined If C(YlO,11 _ 0, then -C(YIO.17 otherwise, 00 ••• 0 MODIFICATIONS' I ~O.lCATORS2 Alt except CI, se, -> -> operation code :IXn) CCXn) SCR (Indicators not listed are not affected) Zero If eeXn) Negative If C(XnlO = 1, then ON; otherwise OfF Overf I ow If range NOTES' by ~ 0, then ON; otherwise DFf ~f Xn is exceeded, then ON; otherwise OfF The LeXn instructlon changes the number to its negative elf ~ 0) while moving It from YO,11 to Xn. The operation is executed by forming the two·s compleMent of the string of 18 bi ts. Attempted repetition Mith RPL and with the same register given as target and modifier causes an Illegal Pr.ocedure fault. 235 CDI Load A LOA FORHATI Basic Instruc ti~ Format (See figure 2-1). SUMMARY' elY) "ODIFICATIONS' All INDICATORSI elndicators not listed are not ~~~dkH -~ CIA) Zero If eeA) Negative If CIAIO = 0, = 1, affecte~) then ON; otherMlse OFF then ON; otherwise OFF REVH.W DRAFT SUBJECT TO CHANGE Oct 0 b er. 19 7 5 2-19 AL39 FIXED POINT DATA HOVEHENT LOAD Load A and Clear LDAC 031t (Ot FORMAT. Basic Instruction Format (See Figure 2-1t. SUMMARYI ctY) -> CIA) 00 ••• 0 ->C(Y) MODIFICA TIONS' All except DU, Dl, CI, SC, SCR INDICATORS' (Indicators not listed are not affected) Zero If CIA) = 0, then ON; otherwise OFF Negative If C(A)O = 1, then ON; otherwise OFF NOTES' LDAQ The lOAC instruction causes a special .a1n store reference that performs the load and clear in one cvcle. Thus, this instruction can be used In locking data. load AQ - 237 (0) FORHATa Basic Instruction ForMat (See Figure 2-1). SUMMARYI C(Y-pair) MODIFICATIONS' All except DU, Dl, CI, I NDICATORS I (Indicators not Ii s ted are not -> C(AQ) se, SCR affecte~) Zero If C(AQ) = 0, then ON; other.is. OfF Negative If C(AQ)O -= 1, then ON; otherwise OFf load Indicator Register lDI FORHAT' BaSic .Instructjon Format (See Figure 2-1). SUMMARY' e(Y.18,31 -> C(IRa MODIFICATIONS: AI. except CI, SC, SCR REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-20 63 .. (0) Al39 FIXED POtNT DATA MOVEMENT LOAO INDICATORS' (IndIcators not listed are not affected) Parity Hask If C(Y)27 = 1, and the Process~r is in Absolute or PrivIleged Hode, then ON; otherwise OF~. This indicator is not affected in the Normal or BAR .,des. Not BAR Hode Carinot b~ changed by the LOt instruction Hultiword If C(Y)30 = 1. and the Processor is In Absolute or Instruction Privileged mode. then ON; otherwise OFF. This lndicator fault is not affected in Normal or BAR modes. Absolute Hode. Cannot be changed by the LDI instruct10n Atl Other If corresponding bit 1n C(Y) is 1. then ON; otherwise. OFF Indicators NOTES' The relation between CCY)18,31 and the indicators is given in Tab'e 2-5 below. The Tally Runout indicator reflects :(Y)25 regardless of what add~ess modification Is performed' on the LOI instruction fo~ tally operations. Attempted repetition with Illegal Procedure Fault. Table 2-5. RPT. RPO, or RPL causes an Relation Between Data 81ts and Indicators Indicator 18 19 20 21 22 23 24 25 26 27 28 29 30 31 REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Zero NegatIve Carr V Overt I ow Exponent Overflo" Exponent Undeflo" Over f low Hask Ta II If Runout Par 1 ty Error Parity "ask Not BAR Hode Truncation H~ltiword Instruction Fault (MIF) Absolute Hode FIXED POINT DATA LOAD HOVE~ENT Load Q LDQ 236 IOJ FORHATI Basic Instruction Format (See Figure 2-1). SUMMARY' CIY) MODIFICATIONSI All INDICATORS. (Indicators not listed are not affected' -> = 0, then ON; othewise OFF CeQJO = 1, then ON; otherwise OFf Zero If CeQ) Negative If Load Q lOQC CIQ) ~nd Clear 034 rOJ FORHATa Basic Instruction For.at (See Figure 2-1). SUHHARya cey) -> CeQ) 00 ••• 0 -> cry) HODIFICA TIONS' AI. except DU.Ol. CIt Set SCR INDICATORS. (Indicators not listed are not affected) Zero If cry) : 0. then ON; otherwise OFF Negative If ceYJO NOTES. = 1, then ON. otherwise OFF The LOQC instruction causes ~ special main store reference that performs the load and clear 1n one cycle. Thus, this instruction can be used in locking data. Load Index Register Xn lOXn 32n rOJ FORtUT' Basic Instruction Format SUHHARYI For n = 0. i ••••• or 7 as determined DY operation code C(Y)O,17 "OOIFICATIONS- REVIEW DRAFT SUBJECT TO CHANGE October, 1975 -> '~ee FIgure 2-1J. C(Xn) All except CI, SC, SCR 2-22 AL3CJ FIXED POINT DATA MOVEMENT LOAD INDICATORSI (Indicators not listed are not Zero If CIXn) = 0, then ON; Negative If C(Xn)O NOTEsa = 1, then ON; affecte~) other~ise other~ise OFF OFF Attempted repetition ~ith RPL and Mith the saMe register given as target and modifier causes an Illegal Procedure Fault. Load Registers LREG 073 (OJ FOR""TI Basic Instruction Format ISee Figure 2-1). SUMMARya Cly)~,17 -> C(XO) C(Y)18,35 -> C(X1) C(Y+1)O,17 -> C(XZ) CIY+Z)O,t7 -> C(Y+1)18.35 -> C(X3) C(X~) C(Y+3)O,17 -> C(X6) C(Y+3)18,35 -. C(X7) C(Y+,.) -> CeA) C(Y+5) -> ~h~re Y must be 0 modu10 8; such address is used. other~ise, se, MODIFICATIONS' All except OU, DL, CI, INDICATORSI None af fected NOTES' Attempted repetition ~ith I.legal Procedure Fault. ~(Q) the RPT. RPD, or RPL causes an 72n (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARYI For n = at smaller SCR Load Xn from LOMer LXLn next 1, ••• , or 7 as determined ~y operation code C(Y)18,35 -> C(Xn) MODIFICATIONS. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 AI. except CI, se, SCR 2-23 AL39 FIXED POINT DATA MOVEMENT LOAD INllICATORSI (Indicators not listed are not affected) Zero If C(Xn) Negative If C(Xn)O NOTESI = 0, = 1, ~ then ON; otherwise OFF then ON; otherwise OfF Attempted repetition with RPl and with the 58me register given a5 target and modifier causes an Illegal Procedure fault. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 2-2" AL39 FIXED POINT DATA MOVEMENT STORE store Base Address Register SOAR 350 (01 FORMAT. Basic Instruction Format (See Figure 2-11. SUMMARY. C(BARJ MODIFICATIONS' All except DU. Dl. CI. SC. SCR INDICATOR'S' None affected NOTES' Attempted repetition .,lth Illegal Procedure Fault. -> eCYJO.l1 RPT. RPD. or RPl causes Store Registers SREG FORMATa .SU"HAR~I an 753 (01 Basic Instruction format CSee figure 2-1). CCXD) -> CeVlD.17 CeXl) -> CeY)18.3S C(X21 -> CIY+l)O.17· CeX3) -> CeY+l)la.35 CIXIt) -> C IY+2) 0.17 CeXS) -> CeY+2)la.35 CIK6) -> CeY+3)0,17 e1K7) -> CeY+3)18.35 CIA) -> CIY+It) CeQ) CIE) -> C(Y+6)O.7 00 ••• 0 -> ::(Y+6)8,35 00 ••• 0 -> ::eY+7)27,32 CITR) -> CIRAlR) CIY+7)O.26 -> -> CIY+S) CeY+7)33.35 .,here Y must be a 0 modulo 8 address; other.,lse the next lower such address Is used. "'ODIFICATIONS' All eKeept OU. Ol. CI. SC. SCR I NDICA TORS: None affected NOTES. Attempted repetItion with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-25 .RPT, RPD. or RPL causes an Al39 FIXED POINT DATA MOVEMENT STORE Store A STA 755 (OJ FORHATa Basic Instruction Format (See Figure 2-1). SUMMARYI C(A) MODIFICATIONSI AI. except DU, DL INDICATORSa· None af f ec ted NOTEsa Attempted repetition "ith RPL causes Fault. -> cry) II legal =0 Store A CondItional C(Y,) STAC an 354 (0) FORMATa Basic Instruction Format (See Figure 2-11. SUMMARYI If Cry) HODIFICATIONS' A.I except OU, Dl, CI, INDICATORS: (Indicators not lIsted are not affected) Zero NOTESI = 0, then CeA) Cry) -> se. SCR If inItial CIY) = 0, then ON; otherwise OFF If the inItial C(Y) is nonzero, then Cry) Is by = CeQ) 654 FORMATa Basic Instruction Format (See Figure 2-1). SUMMARYI If C(Y) MODIFICATIONS: All except DU, Dl, CI, INDICATORS: (Indicators not listed are not affected) REVIEW DRAFT SUBJECT TO CHANGE October, 1915 changed repetition "lth RPl causes an Illegal Procedure Store A Conditional Cry) Zero not the STAC instruction. Attempted Fault. STACQ Prodedure = C(Q), If initial C(Y) then C(A) = ClQ), 2-2& se, -> «0) cey) SCR then ON; other~ise OFF Al3CJ FIXED POINT DATA HOVEHENT STORE NOTEsa If the in1tial C(Y) 1s the STACQ instruction. Attempted Fault. repetl~lon ~ C(Q), then C(Y) Is not changed bV with RPL causes an II'egal Store AQ STAQ 757 (0)> FORHAT. Basic Instruction Format (See Figure 2-1). SUHHARYI CCAQ) HOOIFICATIONS' All except OU. OL. CIt SC, SCR INDICATORS. None af 'ected NOTEsa Attempted repetItion with RPL causes a'\ Illegal Fault. -> C(Y-pair) Store Character of A (Nine Bit) STBA Procedure Procedure 551 (0) FORHATa BaSic Instruction Format (See Figure 2-1). SUHHARY. Characters of CIA) -> Corresponding Characters of CIVI, the character pOSitions affected being specified in the tag tield. "ODIFICATIONS' Mone INDICATORS' N.one at fected NOTES' Binary ones in the tag field of this instruction' specif, the character posit ions of A and V that are affected~ The control relations are shown in Table 2-6. Attempted repetition with Illegal Procedure Fault. RPT. RPO. or RPL causes an • ________ REVIEW DRAfT SUBJECT TO CHANGE October. 1975 2-27 AL39 FIXED POINT DATA HOVEHENT STORE Table 2-6. Control Relations for Store Character Instructions eNine 81t) Bit POSitIon liilhiD-I..ag Fie I d Bit of structure Intlt:.udlJul QLA-a~ 0 30 Char 0 (bl ts 0-81 1 31 Char (bi ts 1 ~-17) 2 32 Char 2 lbits 18-26) 3 33 Char 3 (bi ts 27-35) Store Character of Q (Nine BIt) STBQ 552 COt FORMATa BaSic SUMMARya Characters of C(Q) -> Corresponding Cnaracters of e(y), the character positions affected being specified In the tag field. MODIFICATIONS. None INDICATORSI None affected NOTES. Binary ones in the tag field of this instruction sPecify the character posItions of Q and Y that are affe~ted. The control relations are shown In Table 2-'6 above. In~tructlon For_at eSee Figure 2-1). Attempted repetition with Illega' Procedure Fault. RPT, RPD, or Store Instruction Counter Plus 1 STC1 FORMATI BasIc Instruction Format (See Figure 2-1). SUMMARya C(PPR.IC) + 1 -> C(Y)O,17 RPl causes an 55 .. (at CCIR) -> CIY)lB,31 00 ••• 0 -> C(Y)32,35 MODIFICATIONSI All except OU, DL, CIt SC, SCR REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-28 Al39 FtXED POINT OATA MOVE"ENTSTORE INDICATORS. None af f ec ted NOTES' The contents of the Instruction Counte~ and the Indicator Register after address preparation are stored 1ne(Y)O,17 and C(Y)18,31, respectivelv. C(Y)2S reflects the state of the Tatlv Ronout indicator prior to lIodi ficat ion.; The relationship betMeen the CCYJ18,31 and the indicators are given in Table 2-5. Attempted repetition Mlth Illegal Procedure Fault. RPT, RPD, or RPl causes 750 CD) Store Instruction Counter Plus 2 STC2 fORHAT' an Basic Instruction Format (See Figure 2-1). C(PPR.IC) + 2 -> CCYJO,17" MODIFICATIONSI All except OU, Dl, CI, INDICATORSI None af fected •NOTES' se, Attempted repetition Klth Illegal Procedure Fault. SCR RPT, RPD. or RPL causes 751 (OJ Store Character of A (Six BIt) STCA aft FOR"ATI Basic Instruction Format (S•• Figure 2-1). SU"HARVI Characters of CeA) -> Corresponding Cnaracters of CIYI, the character positions affected being specified in the tag fie I d. HOOIF~CATIONS. 'None INDICATORS' None af fected NOTES' Binary ones In the tag field of this Instruction spec I fy character posi tions of A and y that are affected. contrpl relations are shoMn in Table 2-7. Attempted repetition Kith Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-29 RPT. RPD. or RPL causes The an AL39 FIXED POINT DATA MOVEMENT STORE Table 2-7. Control Relations for Store Character Instructions (She Bit) Bit Position Klthin Tag fIeld Bit of los trye t ion Structure ~LLaQLl 0 30 Char 0 (bl ts 0-5. 1 31 Char 1 lbi ts &-11) 2 32 Char. 2 (blts 12-17) 3 33 Char 3 (bits 18-23) ft 31t Char It (bi ts 21t-2 en 5 35 Char 5 (bi ts 30-35) Store Character of Q (SlK Bit) STCQ ~FORHATI 752 (DJ Basic Instruction format ISee figure 2-1). SUMHARY' Characters of C(Q) -> Correspondlng Cnaracters of CrY), the character positions affected being specified by the tag f Ie I d. MODIFICATIONS' None INDICATORSt None affected NOTESI Binary ones in the tag field of this instruction specify the character positions of Q and Y that are affected. The control relations are sho"n in Ta)le 2-7 above. Attempted repetition with Illegal Procedure fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-30 RPT, RPD. or RPL causes an Al39 FIXED POINT DATA MOVEMENT STORE Store Control Double SlCD 357 (0) FORHAl' 8asic Instruction Format (See Figure 2-1). SUMMARY. 00 ••• 0 -. eCY-pair'O,Z CCPPR.PSRl -. CCY-pair)3,1? CCPPR.PRR) 00 ••• 0 ~3 Coctal) -> C(Y-pair)18,20 CCY-palr)21,Z9 -> 00 ••• 0 -> -> CCY-palr30,35 C(y-pair)5~,71 MODIFICATIONS' All except OU, Ot, CI, SC, SCR INDICATORSI None af fected NOfESI The" hardware assumes Y17 = 0; no check is made. Attempted repetition with Illegal Procedure Fault. srI RPT, RPD, or RPL causes an 75~ CO) Store Indicator Register FORHAT. Basic Instruction Format (See Figure 2-1). SU""ARY. C(IR) -> do ••• o -> C(Y'18,31 CCY)3Z,35 se, MODIFICATIONS' All except OU, Dl, CI, SCR INDICATORS' None af fee ted NOTES' The contents of the Indicator Register after address preparation are stored In CCY)18,31. C(Y)2S reflects the • state of the Tallv Runout indIcator prior to address preparation. The relation between eCY)18,31 and the Indicators is given in Table Z-5. Attempted repetition with Illegal Procedure Fault. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 2-31 RPT, RPD, or RPl causes an FIXED POINT DATA MOVEMENT STORE 756 (OJ Store Q STQ FORMATI Basic SUMHARYI C(Q) -> C(Y) MODIFICATIONS. All except OU, Ol INDICATORsa None af fected NOTESI Attempted repetItion with RPl causes a, II legal Fau It. Store STT Inst~uctlon Time~ Format (See Figure 2-1). Register Procedure 454 (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARY' CITR) -> C(Y)O,26 00 ••• 0 -> C(Y)27,35 MODIFICATIONSI All except OU, Ol, CI, SC y SCR INDICATORSI None affected NOTES' Attempted repetition with Illegal Procedure Fault. RPT, RPO, or RPl Store Xn in Upper STXn FORHATI BaSic Inst~uctlon SUMMARY' For n = 0, CeXn) -> 74n (0) Format (See Figure 2-1). 1 •••• , or 7 as determined ~v operation code C(Y)0,17 HOOIFICATIONSJ All except OU, Ol, CI, SC, SCR INDICATORS I None af fected NOTES; Attempted repetItion with RPl causes Fau It. REVIEW DRAFT SUBJECT TO CHANGE Octobery 1975 an causes 2-32 a, II legal Procedure AL39 FIXED POINT DATA MOVEHENT STORE Store Zero STZ 450 (0) FORMAT' Basic Instruction Format (See Figure 2-1). SUMMARY. 00 ••• 0 -> ceY) HOOIFICATtONSI AI) except OU, OL INDICATORSI None affected NOTESI Attempted repetition with RPL causes Fault. a~ IIIe9al Store Xn in Lower SXLn 44n CO) FORHAT' BasIc Instruction Format (See Figure 2-1). SUMMARYI For n = 0, Procedure 1, ••• , or 7 as determined DV operation code e(Xn) -> C(Y)18,35 se, MODIFICATIONSI All except DU, DL, CI, INDICATORS' None affected NOTES. Attempted repetition with RPL causes Fault. REV lEW DRAFT SUBJECT TO CHANGE October, 1975 2-33 SCR a~ Illegal Procedure Al39 FIXED POINT DATA MOVEMENT SHIFT A left Rotate AlR 175 (0' FORMATa Basic Instruction Format (See Figure 2-1'. SUMHARY. Shift CU) Jeft the number of positions specified enter each bit leaving AO into A35. HODIFICATIONSz All except DU, Ol, CIt SC, SCR INDICATORSI (Indicators not listed are not affected) = Ot Zero If C(A) Negative If C(A)O : 1, then ON; otherwise OFF NOTES. then ON; otherwise OFF Attempted repetition with RPL causes an Illegal Fault. FORHATa Basic Instruction Format (See Figure 2-1).' SUMMARY' Shift C(A) left tne number of pOSitions Y11,17; fil I vacated pOSitions with zeros. HODIFICATIONS' All eKcept OU, Ol, CI, SC, SCR INDICA TORS: (Indicators not listed are not = 0, If CIA) Negative If C(A)O Carry If C(A)O changes during the shIft, NOTESI specified by affecte~1 Zero = 1, Procedure 735 CO) A Lelt ShIft AlS Yi1,17; then ON; otherwise OFF then ON; otherwise OrF the~ ON; otherwise OFF Attempted repetltion wIth RPL causes an Illegal Proc~dure Fault. REVIEW DR'FT SUBJECT TO CHANGE October, 1975 Al39 FIXED POINT DATA MOVEMENT SHIFT A Right Logic ARL 771 (OJ Instruction Format (See Figure 2-1). FORHATa Bas~c SUMHARya Shift CeA) right the number of positions specified 11,17; fill vacated pos1tions with zeros. MODIFICATIONSI All except DU, OL, CI, SC, SCR INDICATORSI (Indicators not listed are not Zero If CIA) Negative If CeA)O NOTESa = 0, = 1, then ON; otherwise OFf then ON; otherwise Off Attempted repetition with RPL causes an Illegal Fault. Basic SUHMARY. Shift CIA) right the number of positions Y11,17; f111 vacated positions with CeA)O. MODIFICATIONSa All except DU, OL, CI. SC, SCR INDICATORSI (Indicators not listed are not affected) Instruct~on = 0, If CeA) Negative If C(A)O NOTESI = 1, format (See Figure 2-1). specified then ON; otherwise OFF Attempted repetition with RPL causes an Illega' Fault. Procedure 777 (0) FORHATa Basic Instruction Format (See Figure 2-U. SU"MARya Shift CIAQ) left by the number of pOSitions specifIed Y1t,17; enter each bit leaving AQO Into AQ71. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 bV then ON; otherwise OFF Long Left Rotate LLR Procedure 731 rO) FORHATa Zero Y affecte~) A RIght Shift ARS by 2-35 bV Al39 FIXED POINT DATA MOVEMENT SHIFT MODIFICATIONSI All except OU, Dl, CI, SC, SCR INDICA TORSI (Indicators not listed are not = 0. affecte~) Zero If C(AQ) Negative If C(AQJO = 1, then ON; otherwise OFF NOTES. then ON; otherwise OFF Attempted repetition with RPl causes Fault. a~ II legal long Left Shift LlS 737 (0) FORHATI Basic Instruction Format (See Figure 2-1). SUMHARYI Shift C(AQ) 'eft the number positions Yll,17; fil' vacated positions with zeros. MODIFICATIONS: All except OUt Ol, CIt SC, SCR INDICA TORSI (Indicators not listed are not 0' If C(AQ). Negative If Carry If C(AQ)O changes during the s~ift, Attempted repetition with RPL causes Fault. then ON; otherwise OFF a~ II legal Procedure 773 (0) FORHATa Basic InstructIon Format (See FIgure 2-1). SUMHARY: Shift CCAQ) right the number of positions Yll,17; fitl vacated positions with zeros. MODIFICATIONS I All except DU, Dl, CI, SC, SCR REV lEW DRAFT SUBJECT TO CHANGE October. 1975 by affecte~) Long Right Loglc LRl specifIed = 0. then ON; otherwise OFF C(AQ)O = 1, then ON; otherwise OFF Zero NOTESI Procedure 2-36 specified by Al39 FIX[D POINT DATA MOVEMENT SHIFT INDICA TORSI (Indicators not listed are not Zero If .CCAQ) = 0, then ON; Negative If C(AQ)O = 1, aff.cte~) other~dse OFF then ON; otherwise OFF Attempted repetition wIth RPL causes Fault. NOTESI a~ II legal Procedure Long RIght Shift lRS 733 (D) FORHATa Basic InstructIon Format (See Figure 2-1). SUMMARY. Shift 'CCAQ) right the number of positions Yl1,17; fIll vacated positions wIth C(AIO. "OOIFICATIONSI All except DU, OL, CI, SC, SCR INDICATORS' (Indicators not listed are not affected) If C(AQ) Negative If Attempted repetItIon with RPL causes Fault. a~ Illegal Procedure Q Left Rotate QLR 776 (0) FORMATa Basic Instruction Format (See Figure 2-1). SUM"ARYI Shift C(Q) the number of positions specified enter each bit leaving QO Into Q35. MODIFICATIONSI All except DU, OL, CI, SC, SCR INDICATORS' (Indicators not listed are by' Yll,17; ~ot affecte~) = D, then ON; otherwise OFF C(Q)O = 1, then ON; otherwise OFF Zero If C(Q) Negative If NOTESI by = 0, then ON; otherwise OFF CCAQ)O = 1, then ON; otherwise OFF Zero NOTES. specified Attempted repetition with RPL causes a~ II legal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-37 AL39 FIXED POINT DATA MOVEMENT SHIFT 736 «oa specified by Q Left Shift QlS FORMATI Basic Instruction Format (See Figure 2-1). SUHHARYI Shift CeQ) left. the number of positions Vll,17; fl' I vacated positions with ze~os. HOOIFICATIONSI All except DU, Dl. CI, SC, SCR INDICA TORS' (Indicators not listed are not affected) = D, Zer"O If CeQ) Negative If CCQ)D Carry If CCQ)O changes during the shift, NOTESI = 1, then ON; otherwise OFF then ON; otherwise OFF the~ ON; otherwise OFF Attempted repetitIon with RPl causes an Illegal Fault. Q Right Logie QRL 4t 772 CO) FORHATa Basic Instruction Format ISee Figure 2-1). SUHMARVI Shift CeQ) right the nUMber of positions Yll,17; fIll vacated positions with ze-os. HODIfICATIONS. All except OU, Dl, CI, SC, SCR INDICATORSI (Indicators not listed are not affected) = 0, If CeQ) Negative If C(Q)O = 1, then ON; otherwise OFF REVIEW DRAFT SUBJECT TO CHANGE October, 1975 specified by then ON; otherwise OFf Zero NOTES' Prodecure Attempted repetition with RPL causes an Illegal Fault. 2-38 Procedure AL39 FIXED POINT DATA MOVEMENT SHIFT QRS Q Right Shi It 732 eO) FORHATa Basic Instruction Format (See Figure 2-1). SUMHARya Shift CeQ) right the number of positions Yi1,17; fIll vacated positions with celIO. MODIFICATIONSI All except OU, Ol, CI, SC, SCR INDICATORS' (Indicators not listed are not specified by affecte~) = 0, then ON; otherwise OFF CCQ)O = 1, then ON; otherwise OFF If C(Q) Negative NOTESI If Attempted repetition with RPl causes an Illegal Fault. Procedure REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-3<) AL39 FIXED POINT ADDITION AOO to A ADA 075 (0) FORHATa Basic Instruction Format (See Figure 2-1). SUHHARYa C(A) + C(Y) -> CeA) HOOIfICATIONSI AI J INDICATORSa (Indicators not listed are not = 0., affecte~) Zero If CIA) then ON; othe ... wise OFF Negatlve If C(A)O Ove ... f I ow If range of A is exceeded., then ON; otherwise OFF Carry If a carry out of AO 1s generated., then ON; otherMise OFF = 1 .. then ON; otherwise OfF Add to AQ ADAQ • FORHATa 077 (0) Basic Instruction Format (See Figure 2-1). SUHMARYa CIAQ) + elY-pair) -> C(AQ) HODIFICATIONSI All except OU, OL, CI, SC, SCR INDICATORSI (IndIcators not listed are not affected) Zero If CeAQ) = 0, then ON; otherwise OFF Negative If C(AQ)O Overflow If range of AQ is exceeded., then ON; otherMise OFF Car ... y If a carry out of AQO is generated .. than ON; otherwIse OFf = 1, then ON; otherwise OFF Add LOM to AQ AOL 033 (0) FORHATa Basic Instruction Format (See Figu ... e 2-1). SUMHARYI C(AQ) + elY) sign extended REV lEW OR lifT SUBJECT TO CHANGE Octobe ..... 1975 2-40 -~ C(AQ) AL39 FIXED POINT ADDITION MODIFICATIONS' All except CI, SC, SCR INDICATORS. (Indicators not listed are not affected) = 0, then ON; other"ise C(AQ)O = 1, then ON; other .. ise Zero If C(AQ) . . . egative If Overflo .. If range of AQ is exceeded, then ON; otherMise OFF Carry If a carry out of AQO Is generated, then ON; other .. ise OFF NOTES. A 72-bl t number is mannerl formed O~F from OFF C(Y) In FORMAT' follo .. ing The 10Mer 36 bits (36,71) is identic~1 to CIYl. the upper 36 bits (0,35) is identical to C(Y)D. Each of This 72-~lt number Is combined AQ-register. of added to the contents Add logIcal to A ADlA the the 035 (Q) Basic InstructIon For.at (See Figure 2-1). CIA) +C(Yl -> CIA) MODIFICATIONS. All INDICA TORSI (Indicators not Ilsted are not = 0, affecte~) Zero If C(A) Negative If CIA)O Carry If a carry out of AD 1s generated. NOTESI REVIEW DRAFT SUBJECT TO CHANGE October, 1975 ~ then ON; otherMise OFF 1, then ON; otherMise DFF the~ ON; other .. ise OFF The ADlA instruction is identical to the ADA instruction .. lth the exception that the Overflow indicator is not affected by the AOlA instruction, nor does an Overflo .. Fault occur. Operands and results are treated as unsigned, positive binary integers. 2-"1 Al39 FIXED POINT ADDITION Add logical to AQ AOlAQ 037 CO) FORMAT I Basic Instruction Format (See Figure Z-l). SUMMARYI C(AQ) + C(Y-pair) MOOIFICATIONSS All except OU, OL. INOICATO~SI (Indicators not listed are not affected) = 0, Zer.o If CCAQ) Negative If C(AQ)O Carry If a carry out NOTES' -> C(AQ) ct, SC, SCR then ON; otherwise OFF = 1, then ON; otherwise OFF 0' AQO Is genera"ted, then ON; otherwise OFF The AOLAQ instruction is identical to the ADAQ instruction with the exception that the Overflow indicator. is not affected by the AOlAQ instruction. nor does an OverfloM Fault occur. Operands and results are treated as unsigned, positive binary integers. Add Logica. to Q ADlS 036 (0) FORHAT. Basic Instruction Format (See Figure Z-l). SUHHARYS C(Q) + C(Y) -> CeQ) MODIfICATIONSI A II INDICA TORSI (Indicators not listed are not affected) Zero If C(Q) = 0, = 1, then ON; otherwise OFF ·Negative If C(Q)O Carry If a carry out of QO is generated, NOTESI then ON; otherwise OFf the~ The AOLQ instruction 1s identical to tne ON; otherwise OfF ADQ instruction with the exceptIon that the Overflow indicator is not affected oy the AOLQ instruction, nor does an Overflo. Fault occur. Operands and results are treated as unsigned, positive binary integers. REV lEW OR 'FT SUBJECT TO CHANGE October, 1975 AL39 . FIXED POINT ADDITION Add logical to Xn ADLXn 02n (0) FORHATa BaSic Instruction Format (See Figure 2-1). SUMHARya For n = 0, 1 •••• , or 7 as determined !)v operation code C(Xn) + C(Y)O,17 -> C(Xn) MODIFlCATIONsa All except CI, SC, SCR INDICATORSa (Indicators not listed are not affecte~) = 0, then ON;.otherlillse OFF CeXn)O = 1, then ON; otherlilise OFF Zero If CeXn) NegatIve If Carrv If a carrv out of XnO Is generated, then ON; otherwise OFF NOTES' ADQ The ADlXn instruction 1s identical to the ADXn instruction with the exception that the Overflow lndicator Is not affected by the AOlXn instruction. nor does an OverfloM Fault occur. Operands and results are treated as unsigned. positive binarv integers. Add to Q 01& CO) FORMATa Basic Instruction ForMat (See Figure 2-1). SUMMARY a ceQ) + CCY) MODlFICATIONSI AI. INDICATORS: eIndicators not listed are not affected) -> ceQ) = 0. then ON; otherwise OFF C(Q)O = 1, then ON; otherwise OFF Zero If C(Q) Negative If Overflolll If range of Q is exceeded. then ON; Carry REVIEW DRAFT SUBJECT TO CHANGE October, 1975 ~therMise OFF If a carry out of QO Is generated. then ON; otherlilise OFF Z-ltJ Al39 fIXED POINT ADDITION O&n (0) Add to Xn AOXn FORMATa Basic Instruction Format (See Figure 2-1). SUMMARYI For n = 0, 1, ••• , or 7 as determined bV operation code C(Xn) + C(Y)0,17 -> C(Xn) MODIFICATIONSI AI' except CI, SC, SCR INDICATORS' (Indicators not listed are not affected) = 0, Zero If CeXn) then ON; other",lse OFF Negative If C(Xn)O = 1, then ON; otherwise Off OVerflo", If range of Xn Is exceeded, then ON; otherwise OFf Carrv If a carry out of XnO Is generated, then ON; otherwise OFF Add One to Storage AOS ..FORHATI Basic Instruction 05,. CO) for~at (See Figure 2-1' • SUMMARY I cry) + 1 -> elY) MODIFICATIONS' All except OU, Dl, CI, SC, SCR INDICATORSI (Indicators not listed are not affected) = 0, Zero If C(Y) Negative If C(Y)O Overflow If range of Y is exceeded, then ON; otherwise OFf Carry If a carrv out of YO is generated, then ON; otherwise NOTES. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 = 1, then ON; otherwise OFF then ON; otherwise OfF Attempted repetition with RPl causes Fau It. a~ II legal OfF Procedure FIXED POINT ADDITION Add Stored to A ASA 055 CO) For~at FORHAT. Basfc Instruction SUMMARYI CeA) + CIY) -:. ceY) MODIFICATIONS. All except OU, OL, CI, SC, SCR INDICATORS. (IndIcators not listed are not = 0, (See Figure 2-1). affecte~) Zero If elY) Negative If C(Y)O Overt low If range of Y Is exceeded, then ON; otherwise OFF Carry If a carry out of YO is generated, then ON; otherwise OFF NOTES. = 1, then ON; otherwIse OFF Attempted repetition with RPL causes an Illegal fault. Add Stored to ASQ then ON; otherwise OFF Procedure 056 (0) Q FORHATa BaSic InstructIon Format (See Figure 2-1). SUMHARY' CIQ) + CU) -> CU) MODIFICATIONS. All except OU, Ol, CI, SC, SCR IHDICATORSI (Indicators not listed are not affected) = 0, then ON; otherwIse OFf CIY)O = 1, then ON; otherwIse OFF Zero If CIY) NegatIve IF Overflow If range of Y Is exceeded, then ON; otnerwise OFF Carr~ If a carry out of YO is generated, then ON; otherwise OFF NOTEsa REVIEW DR.FT SUBJECT TO CHANGE October, 1975 Attempted repetition with RPl causes Fault. 2-'+5 a~ II legal Procedure Al39 FIXED POINT ADDITION Ottn (D) Add Stored to Xn ASXn FORHATa Basic Instruction Format eSee Figure 2-1). SUHMARV' For n = 0, 1 ••••• or 7 as determined DY operation code C(Xn) + CIV)0.17 -> C(Y)0,17 MODIFICATIONS: AI. except OUt Dl. CIt SC, SCR INDICATORS: (Indicators not 'isted are not = 0, affecte~) Zero If C(Y)0,17 Negative If CeYIO = 1. then ON; otherwise OFF Overflow If range of YO.17 is exceeded, then ON; otherwise OFF Carry If a carry out of YO is generated, then ON; otherwise OFF NOTES' then ON; otherwIse OFF Attempted repetition with RPl causes Fault. a~ II legal Procedure Add with Carry to A AWCA 071 (0) FORHATI BaSic Instruction Format (See Figure 2-1). SUHHARY' If Carry indicator OFF, then CIA) + C(Y) -> CIA) If Carry indicator ON, then CeA) + cey) + 1 HODIFICATIONS' All I NDICA TORS: (Indicators not listed are not = 0, -> CeA) affecte~) Zero If CeA) Negative If CeA)O = 1. then ON; otherwise OFF Overf low If range of A Is exceeded, then ON; Carry If a carry out of AD is generated, then ON; otherwise OFF NOTESI REVIEW DRAFT SUBJECT TO CHANGE October. 1975 then ON; otherwise OFF ot~erwlse OFF The AWCA instruction is identical to the ADA instruction with the exception that when the Carrv indicator is ON at the beginning of the instruction, 1 is added to the sum of C(A) and C(Y). 2-4& Al39 FIXED POINT ADDITION AWCQ Add wlth Carry to Q 072 CO) FORHATa Basic Instruction Format (See SUMMARY. If Carry indicator OFF. then CeQ) If Carry indicator ON, then Fig~re + 2-1). cet) -> ceQ) CeQ) + cty) + 1 HOOIFICATIONS' All INOICATORSZ (Indicators not lIsted are not -> ceQ) affecte~) = D. then ON; otherwise OFF CeQ)O = 1. then ON; otherwise OFF Zero If C(Q) Negative If Overflo. If range of Q is exceeded, then ON; otAerwise OFF Carry I f a carry' out of QO Is generated, then ON; other"wise OFF NOTES. The AWCQ instruction is identical to t~e AOQ instruction .ith the exception that when the Carr, indicator is ON at the beginning of the instruct lon, 1 is added to the s_ of C(Q) and CCY). . • REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-47 Al39 FIXED POINT SUBTRACTION Subtract from A SBA 175 (0) FORHAT. Basic Instruction Format (See Figure 2-1a. SUMMARY' C(A) - elY) -> C(A) MODIFICATIONS' All INDICATORS: (Indicators not listed are not affected) Zero If CIA) = 0, then ON; otherwise OFF Negat 1 ve If CCA)O Overflo .. If range of A is exceeded, then ON; otherwise OFF Carry If a carry out of AD is generated, then ON; otherwise OFF = 1, then ON; otherwise OFF Subtract froll AQ SBAQ 177 I D) FORHATI BaSic Instruction Format (See Figure 2-1). SUMMARYI c(AQ) - e(Y-palr) -> CCAQ) MODIFICATIONSI All except DU, DL, CI, SC, SCR INDICATORS: (Indicators not listed are not affecte~) = 0, then ON; otherwise OFF CIAQ)O = 1, then ON; otherwise OFF Zero If C(AQ) NegatIve If Overflow If range of AQ is exceeded, then ON; otherwise OFF Carry If a carry out of AQO is generated, then ON; otherwise OfF Subtract logical from A SBlA FORHATa Basic Instruction Format (See Figure 2-1). SUHHARya CeA) - CIY) -> 135 (0) CIA) R[VIEW DRAFT SU8JECT TO CHANGE October, 1975 2-48 Al39 FIXED POINT SUBTRACTION MODIFICATIONS: All INDICA TORSI (Indicators not listed are not affected) = 0, zero If C(A) Negative If C(A)O = 1, then ON; otherwise OFF Carry If a carry out of AO is generated, NOTES. then ON; otherwise OFF the~ ON; otherwise OFF The SBlA instruction is identical to the SBA instructlon ~ith the exception that the Overflow indicator is not affected by the SBLA instruction, nor does an Overflow Fault occur. OperandS and results are treated as unsigned. positive binary integers. Subtract Logical from AQ SBLAQ FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY a C(AQ) - C(Y-pair) .. MODIFICATIONS: I NDICATORSI -> 137 (0) C(AQ) All except DU, OL, CIt SC, SCR (Indicators not listed are not affected) = O. Zero If C(AQ) Negative If CIAQ}O Carry If a carry out of AQO is generated. then ON; otherwise OFF NOTESI = i. then ON; otherwise OFF then ON; other.lse OFF The SBLAQ instruction is identical to the SBAQ instruction with the exception that the Overflow indicator is not affected by the SB~AQ instruction. ~or does an Overflow Fault occur. Operands and results are treated as unsigned. positive binary integers. Subtract Logical from Q SBLa FORHATa Basic Instruction Format (See Figure 2-1). SUH"ARYI e(Q) - elY) MODIFICATIONSI AII R£VIEW DRAFT SUBJECT TO CHANGE October. 1975 -> 136 (0) c(a) AL39 fIXED POINT SUBTRACTION I NDICA TORS I (Indicators not lIsted are not affected) = D, then ON; otherwise OFf C(Q)O = 1, then ON; otherwise Off Zero If C(Q) Negative If Carry If a carry out of QD Is generated, NOTESI the~ ON; otherwise Off The SBLQ instruction is identical to tne SaQ instruction with the exception that the Overflow indicator is not affected by the SBLQ instruction. nor does an Overflow fault occur. Oper~nds and results are treated as unsigned, pOSitive binary integers. Subtract Logical froll Xn SSLXn FORHATa Basic Instruction Format (See figure 2-1). SUMMARY I for n = O. 12n CO) 1, •••• or 7 as determined bY operation code CeXn) - C(Y)O,17 -> CeXn) MODIFICATIONSI All except CI, SC, SCR IHDICATORS. (Indicators nof listed are not affected) Zero If C(Xn) = 0, then ON; otherwise OFF Negative If CeXn)O Carry If a carry out of XnO Is generated, then ON; otherwise OFf NOTES = 1, The SBLXn instruction is identical to the SeXn instruction witn the exception that the Overflow indicator Is not affected by the SBLXn instruction, nor does an Overflow Fault occur. Operands and results are treated as unSigned, positive binary integers. Subtract from SSQ then ON; otherwise OFf 176 CO) Q • FORMATa Basic Instruction format (See Figure 2-1). SUMMARYI C(Q) - MODIfICATIONS' Ait REVIEW DRAFT SUBJECT TO CHANGE October, 1975 en) -> ceQ) 2-50 AL39 FIX~D INDICATORS' (Indicators not listed are not POINT SUBTRACTION affecte~) Zero If C(Q) = 0, then ON; otherwise OFf Negative If C(Q)O Overflow If range of Q is exceeded, then ON; otherwise OFF Carry If a carry out of QO is generated, = 1, Sub trac t f r S8Xn 011 then ON; otherwise OFF the~ O~; 10n (0) ltn fORHAT: Basic Instruction Format (See Figure 2-1). SUMMARY' For n = 0, otherwise OFF 1, ••• , or 7 as determined Oy operation code C(Xn) - C(Y)O,17 -> C(Xn) MODIFICATIONS' All except CI, SC, SCR INDICATORSI (Indicators not listed are not affecte~) Zero If C(Xn) = 0, then ON; otherwise OFF Negative If C(Xn)O Overflow If range of Xn is exceeded, then ON; otherwIse OFf Carry If a carry out of XnO is generated, then ON; .otherwlse Off = 1, then ON; otherwise OfF 155 (0) Subtract Stored fro. A SSA fORMATI Basic Instruction Format tSee Figure 2-1). SUHMARYI C(A) - C(Y) HODIFICATIONSI All except DU, Ol, CI, SC, SCR INDICATORSI (Indicators not listed are not -> elY) affecte~) Zero If C(Y) = 0, then ON; otherwise OFF Negative If C(Y)O Overflow If range of Y is exceeded, then ON; Carry If a carry out of YO Is g.nerated, = 1, then ON; otherwise Off ot~erwise the~ OFF ON; otherwise OFF REVIEW OR'fT SUBJECT TO CHANGE October, 1975 2-51 AL39 FIXED POINT SUBTRACTION NOTES' Subtract Stored froll SSQ a~ Attempted repetition with RPL causes Fault. Illegal 156 (0) Q FORHATa BaSic Instruction Format (See Figure 2-1). SUMMARya C(Q) - cry) MODIFICATIONSI All except DU, Dl, CI, SC, SCR INDICATORSI (Indicators not listed are not -> = 0, Procedure C(Y) affecte~) Zero If cty) Negative If C(Y)O Overfl ow If range of Y is exceeded, then ON; Carry If a carry out of YO is generated, then ON; otherwise OFF NOTESI then ON; otherwise OFF = 1. then ON; otherwise OFF ot~erwise OFF Altempted repetition with RPl causes an Illegal Fault. Procedure Subtract Stored from Xn SSXn FORHAT. BaSic Instruction Format (See Figure 2-1). SUMMARYI For n = 0. 1, •••• or 7 as deterMined by operation code C(Xn) - C(Y)0.17 -> C(Y)O,11 MODIFICATIONSI All except OUt Dl, CI, SC, SCR INDICATORS: (Indicators not listed are not = 0, affecte~) Zero If C(Y)O,17 Negative If C(Y)O Overflow If range of YO,1T exceeded, then ON; otherwise OFF Carry If a carry out of YO is generated, NOTESI REVIEW DRAFT SUBJECT TO CHANGE October, 1975 (0) 1~n = 1, then ON; other.lse OFF then ON; otherwise OFF the~ ON; otherwise OFF Attempted repetition with RPl causes an Illegal Fault. 2-52 Procedure Al39 FIX~O POINT SUBTRACTION Subtract with Carry from A SWCA 171 (0) FORMAT! BaSic Instruction Format (See Figure 2-1). SUMMARYI If Carry indicator ON, then cry) CIA) - -> CIA) If Carry indicator OFF, then C(A) - Cry) - 1 -> CIA) HODIFICATIONSI AU INDICATORSI (Indicators not listed are not affected) Zero If CeA) = 0, then ON; otherwise OFF NegatIve If C(A)O Overflow If range of A Is exceeded, then ON; otherwIse OFF Carry If a carry out of AD Is generated, then ON; otherwise OFF NOTES! = 1, then ON; otherwise Off The SHCA instruction is identical to tne SBA instruction with the exception that when the Carry indicator is OFF at the beginning of the instruction. +1 is subtracted from the difference of CIA) minus C(Y). The SWCA instruction treats the Carry indicator as the complement of a borrow indicator; due to the implementation of negative numbers in two·s complement torm. 172 Subtract with Carry from Q SWCQ FORHAT! BaSic Instruct ion Format (See Figure 2-1). SUMMARYI If Carry indicator ON, then (b) C(Q) - ClY) -> CeQ, If Carry indicator OFF. then C(Q) - CIY) - 1 -> CIQ) MODIFICATIONS. All INDICATORSI (Indicators not listed are not affected) • = D. Zero If CIQ) Negative If CIQ)O = 1, then ON; otherwise OFF Overf low If range of Q is exceeded. then ON; otherwise OfF Carry If a carry out of QO is generated. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 then ON; otherwIse OFF 2-53 then ON; otherwise OFf AL3() FIXED POINT SUBTRACTION NOTES. REVIEW OR_FT SUBJECT TO CHANGE October. lq75 The SWCQ instruction is identical to the SBQ instruction with the exception that when the Carrv indicator is OFF at the beginning of the instruction, +1 is subtracted from the'difference of CCQ) minus Cry). The SWCQ instruction tredts the Carrv indicator as the cO~plement of a borrow indicator; due to the implementation of negative numbers in two·s complement form. 2-54 AL39 FIXED POINT HULTIPLICATION Hultiplv Fraction HPF FORMATa Basic Instruction Format (See Figure 2-1 •• SUMMARY' CIA) x C(Y) -> CCAQ), left adJusted MODIFICATIONS' All except CI, INDICATORS: lIn~icators se, SCR not listed are not affectej) = 0, Zero If C(AQ) Negative If CCAQ)D Overflow If range of AQ is exceeded, then NOTESI ~ to» ltOl then ON; otherwise OFF 1, then ON; otherwise OFF ~N; otherwise OFF Two 3&-bit f,.actional factors (including sign) are multiplied to form a 71-bit fractional product (including sign), which is stored left-adjusted in the AQ-register. AQ71 contains a zero. Overflow can oc:ur only in the case of A and Y containing all ones and the result exceeding the combined AQ-register. n 0 I o 0 3 -1-1---________________ 5 __ 3 _0 1 5 I. J L I I IsJ<-----factor--------->1 J I A Register x I Isl<-~---factor--------->l I 1 I Hain Store location Y vielding o 0 ______________ ~_1 I ~ ____________________________ I 7 7 ~Q~l_ I I lsi <----------------product--------------------------> 101 Ll L1Combined AQ Register Hultiply Integer HPY .. 02 (0) FORMATI Basic Instruction Format (See Figure 2-U. SUMMARYI C(Q) x CIY) -> ClAQ), right adjusted REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-55 Al39 FIxED POINT MULTIPLICATION se, HODIFICATIONS: AI. except CI, INDICATORS: (Indicators not listed are not affectej) SCR Zero If C(AQ) = 0, then ON; otherwise OFF Negative If C(AQ)O = 1. then ON; otherwise OFF NOTES: Two 3&-bit integer factors (including sign) are multiplied to form a 11-bit integer product (including sign). which is stored in AQ, right-adJusted. AlD is filled with an Uextended sign bit-. o 0 I o 0 _1-1--- 3 _0 1 5_ I I Isl<-----factor--------->. I t J x 3 5 I .J. 1 LL--_ J Isl<----~factor--------->1 Q Register Hain store Location Y vieldlng 000 7 01 2 J I I 1 Islsl<----------product-------------------------------->I I I I _ I Coabined AQ Register In the case of (-2··35) x (-Z·.35) to represent the product rather overflow can occur. = +2 •• 70. ,than AQ1 the Is used sIgn. No REVIEW DRlIFT SUBJECT TO CHANGE October, 1915 2-5& AL39 FIXED POINT DIV Oi v I'de Integer FORMATI Basic SUMMARYI C(Q) I Format (See Figure 2-1). C(Y) intege~ Quotient -> CeQ) remainde~ MODIFICATIONS. All INDICATORS: (Indicato~s If 506 (0) Inst~uction integer OIVlS10~ -> CeA) not listed are not affected) If diylSioD-1a~placel = DO di~ision takes plac •• = Zero If ceQ) 0, then ON; other"ise OFF If divis~r 0, then ON; other"isl! OFF Negative If C(Q)O = 1, then ON; other"ise OFF If dividend < 0, then ON; other"ise OFF - NOTESt A 3&-blt integer dividend (including sign) Is divided by a l6-blt integer divisor (including sign) to form a 36-blt integer quotient (including Sign) ~nd a 36-blt integer remainder (including sign). The remainder sign is eQual to the dividend Sign unless the remain~er is zero. o o I o 0 0 -1~ 1 I I lsi <-----dlvldend------->I l-L-- J , _______________ 3 ~5~ I I Isl<-----divisor-------->1 LL--_ Q Register Main , Sto~e Location Y vlelding 0 0 3 D 1 5 : 1 1 151 <----remainder-------> I L I I A-Register If the dividend = o 0 3 -'l-L-_ 5 I I I Isl<----quotient-------->1 L1--_ I l-Register = -2.·35 and the divis~~ -1 or If the divisor = 0, then division does not take place. Instead, a Divide Check fault occu~s, C(Q) contains the dividend magnitude, and the Negative indi=ator reflects the d i vi den d sIgn. REVIEW DRAFT SU9JECT TO CHANGE October, 1975 2-51 AL39 FIXED POINT DIVISION 01 \I ide Fract i on DVF 507 (0. FORHATI Basic Instruction Format (See Figure 2-1). SUMHARY. C(AQ) I Cry) f~actlona' HODIFICATIONSI All INDICATORS: (Indlcato~s f~actional remainde~ Quotient -> CIA. -> C(Q) not listed are not affected) If no diViSion takes place, If diViSion takes glace: = = Zero If C(A) 0, then ON; otherwise-OFF If diviso~ 0, then ON; otherwise OFF Negative If CeA)O = 1, then ON; otherwise OFF If dYvide~d < 0, then ON; otherwise OFF NOTES. A 71-blt fractional dl\lldend CinclucUng Sign) is divided bv a 36-bit fractional divisor yielding a 36-blt f~actional Quotient UnclucHng Sign) and a 36-bit fractional remainder (Including sign). C(AQ)71 is 19nored; bi t pbsi t Ion 35 of the rellainder corresponds to bit position· 70 of the cUvldend. Tne rellainder sign Is eQua I to the 01 vidend sIgn un I ess the ~ellla Inder· is zero. o 0 7 7 _.ILl I I Q 1 : I lsi <--------------------dl\lldend---------------------> I xl L.1 .L..l.- Comb Ined AQ-Register 0 0 3 ___________________ -KO~l I I ~ I I lsI <------divisor------->I 1 J I Hain store Location Y yielding o0 _.ILl 3 5 I I Is' <------Quotient------>I 1 I I A-Re ~i ster REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-58 0 0 3 -i~ I _______________ ~5~ J I lsI <----remainder-------> I Ll.-- I Q-Register AL39 FIXED POINT DIVISION If Idlvidendl >= Idlvisorl or If the divisor = O. dIviSion does not take place. Instead,a Divide Check Fault occurs, CCAQ) contains the dividend ",a~n1tude in absolute, and the Negative indicator reflects the divide~d sign. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Al39 FIXED POINT NEGATE Negate A NEG . FORHATa 531 fO) Basic Instruction Format (See Figure 2-1). SUMMARY' -CtA) -> CIA) MODIFICATIONS: All. but none affect instruction execution. IN OICA TORSI (Indicators not listed are not = O. if C(A) ~ 0 affecte~) then ON; otherwise OFF Zero If CfA) Negative If CfAIO = 1. then ON; otherwise OFF Overflow If range of A is exceeded. then ON; NOTES: ot~erwise OFF The NEG instruction changes the number in A to its negative (if _ 0). The operation is performed bV for~Ing the two·s complement of the string of 3& bits. Attempted repetition with RPL causes Fault. a~ Illegal Procedure Negate long NEGL 533 (0) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARYI -C(AQ) MODIFICATIONS. All. but none affect INDICATORS' CIndicators not listed are not -> C(AQ) if CCAQ) _ 0 1nstruction execution. affecte~) Zero If CCAQ) = Of then ON; otherwise OFF NegatIve If CCAQaO = 1, then ON; otherwise OfF Overflow If range of AQ is exceeded, then ON; otherwise OFF NOTES- The NEGL instruction changes the num3er 1n AQ to its negative (11 _ 0). The operation 1s ~erformed bV for~ing the two·s complement of the string of 72 bits. Attempted repetition with RPL causes FauJt. REVIEW DRlIFT SUBJECT TO CHANGE Oc tober, 1CJ75 2-&0 a~ II legal Procedure Al39 FI(EO POINT COMPARISON Comp~re CHG Magnitude 405 , FORHATS Basic Instruction Format (See Figure 2-1). SUMMARY: IC(A) I sa tC(v) I MODIFICATIONSI All INDICATORSI (Indicators not listed are not = IC(Y)I, affecte~) Zero If IClA)1 Negative If IC(A)' < tCey)., then ON; otherwise OFF then ON; otherwise OFF 211 Compare Masked CHI( FORHATa Basic Instruction Format eSee Figure 2-1). SUHMARYS For 1 • = 0, (0) 1, ••• t 35 CeZ)i = -C(Q)l , (CeA)i • CIY)i) HODIFICATIONS. All INDICATORS' (Indicators not listed are not = 0, affecte~) Zero If CeZ) Negative If C(Z)O = 1, then ON; otherwise OFF NOTESI Q) then ON; otherwise OFF The CHK instruction compares the contents of bit positions of A and Y for Identitv that are not lasked bv a 1 in the corresponding bit oosition of Q. The Zero indicator Is set ON if the comparison Is successful for all bit positIons; i.e., if for all 1=0, 1, ••• ,35 there Is e.itherlCCAH = C(Y)i lthe identical case) or C(Q)i = 1 (the ~asked case); otherwise, Zero indicator Is ~et OFF. The Negative Indica~or is set ON if the comparison Is unsuccessful for bit position 0; i.e., if C(AlO • C(Y)O (they are nonidentical) as well as CCQ)O 0 (they are unmasked); otherwise, Negative indicator is set OFF. = REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-&1 AL39 FIXED POINT COMPARISON 115 (0) Compare "11th A CMPA FORHATS Basic Instruction Format (See Figure 2-1). SUMMARYI CIA) MODIFICATIONSI All INDICATORSI (Indicator~ II CtY) not listed are not affected) The Zero CZ), Negative IN), and Carr, Ce) indicators 3re set as follows. AlgebraIc CQmQ~aD-lSlqned z u ~ RJtU1.jjm llsm 0 0 0 CU) > C( Y) CIA)O : 0 0 1 CU) > Cly) 1 0 1. e CA) .:: C IV) CCA)a = C(Y)O 0 1 0 CIA) < C (y) 0 1 1 Cf4 ) < C(A)a = 1, ~~cal C(V) ComQac~ BInary Operands) a, C( V) 0 CIV)O =1 =0 (Un$igoed PO$ltiye alnary Operands) Z k a 0 CeA) < 1 1 CIA) = CIY) o 1 C(A) > cry) C(Y) 117 (0) Compare "'th AQ CHPAQ FO~HATI BasiC Instruction Format (See Figure 2-1). SUMMARYI CCAQ) MODIFICATIONSI All except OU, Ol, CI, SC t SCR REVIEW DRAFT SUBJECT TO CHANGE October, lY75 u· elY-pair) 2-&2 AL39 Ft(EO POINT COHPARISON INDICA TORSI (Indicators not listed are not affected' The Zero (Z), Negative (N), and CarrV (C) set as follows. 1.. ri k &!til1.llD 0 0 0 C (A 0) > C(Y-palr) 0 0 1 C (A Q) > ClY-pair) 1 0 1 C fA 0) = C(Y-palr) 0 1 0 C (AQ) < Cn-palr) 0 1 1 e (AQ) < eeY-palr) l.~aJ indicators are USIO C(AQ)O = 0, C(Y-cair)O = 1 CIAQ)O = C(Y-pair)O C(AQ)O = 1, e(Y-cair)Q :: 0 Comparison (Unsigned PQsitlyp- aioary Operands) D O C lAQ) < C (V-palr) CKPQ = C(Y-pair) 1 1 C(AQ) o 1 C(AQ) > eeY-pair) Compare with Q 116 (0) FORHATI Basic InstructIon Format (See Figure 2-1). SUMMARYI C(Q) MODIFICATIONS: At I INDICATORSI (Indicators not listed are not 1* C(Y) alfecte~) The Zero (Z), Negatlve (N), and Carri (el indicators are set as follows. REVIEW DRAFT SUB~ECT TO CHANGE October, 1975 2-&3 Al39 FIXED POINT COMPARISON A..LlUc..a..ls;~.2l'D..Q a.r:l.s. Q 0 CHPXn (Sigoed £1.i...O.at:.L.QQ e.r:..3Ili1.sl Z Ii Co RUiitiJm Sign 0 0 D ceQ) » C( V) C(Q)O = 0, C(V)O = 1 D 0 1 ceQ) » C tV) 1 0 1 ceQ) D 1 0 C(Q) < C co 0 1 1 ceQ) < C(V) o 0 ceQ) 1 1 ceQ) = CO') o 1 ctQ) = eeY) C (Q)O = C CY) 0 C (Q) 0 = 1, C (Y) 0 = 0 CIV) < ClY) > 10n (0) Compare with Xn • FORHATI SU"HARVI Basic Instruction For n = O. 'orm~t (See Figure l-I) • 1, ••• , or 7 as determined oy operation code C(Xn) :: C(Y)D,17 MODIFICATIONS: All except CI. SC, SCR INDICATORS: (IndicatorS not listed are not affected) The Zero (Z), Negative (N), and Carry (C) set as f 0 I I ow s. Z ti indicators are t. 000 C IXn) » C(V)O,17 a o 0 1 COCn) » C(Y)O,17 1 0 CeXn) 1 0 1 C(Xn) < C(Y)Q,17 011 C(Xn) < C(V)O,17 = ClV)O,17 C(XnlO : 0, C(V)O =1 C(Xn)O : C(Y)O C(XntO = 1, ClYtO =0 REVIEW DRAFT SUBJECT TO CHANGE October. 1975 Al39 FI(ED POINT COMPARISON o 0 ClXn) < 1 1 ClXn) = CeY)O.17 o 1 C(Xn) > C(Y)O.17 C(Y)O,17 Compare with Limits CWL 111 (0) FORHAT: Basic Instruction Format (See Figure 2-1). SUMMARYI C(Y) II closed interval tC(A);CCQ») ecY) II CCQ) MODIFICATIONS. All I NDICATORSI (Indicators not listed are no t a f f ected J Zero If CeA) <= elY) <= C CQ) or ce A) >= CIY) >= otherwIse OFF. Negat lve The (N) and Carry IC) C IQI. then ON; Indicators are set as 10110Ns. NOTES' REVIEW DRAFT SUBJECT TO CHANGE October. 1975 N C. JaUtiJm ~ 0 0 C(Q) :> C(Y) C(Q)O = O. eeY)o 0 1 CeQ) :>= C IY) elQ)O 1 0 ceQ) < C(Y) C(Q)O 1 1 ceQ) < elY) CIQ)O = 1. ceY)o =1 = ceY)o = CIY)O =0 The CWL instructIon tes's the value of ClY) to deteralne If it is within the range of values set bv CeA) and CeQ). The comparison of elY) wIth ceQ) locates eey) with resoect to the interval if C(Y) is not contained within the interval. 2-65 AL39 FIXED POINT MISCELLANEOUS SZN Set Zero and Negative Indicators FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' Set indicators according to C(Y) MODIFICATIONSI AII INDICATORSI (Indicators not listed are not If C(Y) Negative If affecte~) Set Zero and Negative Indicators and Clear FORHAT. (0) = D. then ON; otherNlse OFF C(Y)O = 1, then ON; otherNlse OFF Zero SZNC 23~ 21"(0) Basic Instruction Format (See Figure 2-1). Set indicators according to elY) 00 ••• 0 => elY) MODIFICATIONSI All INDICATORSI (Indicators not listed are not affected) except DU, Dl, CI, SC, SCR = 0. Zero If C(Y) Negative If C(Y)O = 1, then ON; otherNise OFF REVIEW DRAFT SUBJECT TO CHANGE October, 1975 then ON, otherNlse OFF 2-&& AL39 BOOLEAN AND AND to A ANA 375 FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY. ceAli t C(Y)i MODIFICATIONSI A II INDICATORSI (Indicators not listed are not -> C(A)1 for 1 = (0. 1 • • • • • 35) affecte~) Zero If CeA) : O. then ON; otherMise OFF t-4egative If CeA)O = 1. then ON; otherwIse OFF AND to AQ ANAQ -FORHATa 377 (0) . Basic Instruction Format (See Figure 2-1). SUMMARYI C(AQ)i & CrY-pair)! MODIFICATIONS' All except OUt DL. CI. SC. SCR INDICATORS. (Indicators not listed are not -> C(AQ)i for 1 = CD. If C(AQ) = O. then ON; otherwise OFF Negative If CeAQ)O = 1. 1 ••••• 71) affecte~) Zero ANQ (D) then ON; otherwise OfF AND to Q 37& (0) FORMAT: Basic Instruction Format (See Figure 2-1). SUMMARY' CeQ)i & CeYH -> CeQ)i for i MODIFICATIONSI AI. REVIEW D~AFT SUBJECT TO CHANGE October, 1975 2-&7 = (0. 1 • • • • • 35) AL39 BOOLEAN AND INDICATORSI (Indicators not listed are not affectel) CeO) : Zero If 0, then ON; otherwise OFF NegatIve If C(O)O : 1, then ON; otherwise OFF AND to Storage A ANSA 355 FORHATa aasic Instruction Format (See Figure 2-1). SUMMARY' C(A)1 "C(YH -> Cry)! for MODIfICATIONS' All except OU, ol, CI, SC, SCR INDICATORS' (Indicators not listed are not affected) j : (0, 1, ••• , 35) Zero If Cry) : 0, then ON; otherwise OFF Negative If CCY)O : 1, then ON; otherwise OFF ... NOTESI Attempted repetitlon with RPl causes Fault. a~ II legal AND to Storage Q ANSQ Basic Instruction Format (See Figure 2-1). SUMMARY' C(Q)l i. CCY)! -> CCY)l for 1 : MODIFICATIONS: All except OU, oL., CI, SC, SCR INOICATORSI (Indicators not listed are not affectej) If Cry) : Negative If CCY)O NOTESI CO, 1, ••• ., 35) 0, then ON; otherwise OFF = 1, then ON; otherwise aFF Attempted repetition with RPl causes Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Procedure 356 (0) FORHATa Zero (0) 2-&8 a~ Illegal Procedure AL39 BOOLEAN AND 3ltn AND to Storage Xn ANSXn FORHATI Basic Instruction Format (See Figure 2-1). SUMHARYI For n = O. 1 ••••• or 7 as determined C IXn)! l C (Y) 1 -> Cry) i All except OUt DL. CI. SC. SCR IN OICA TORS I (Indicators not listed are not Zero If C(Y)O,17 Negative If CIYIO NOTESI = D. = 1. = CO. for i MODIFICATIONSI by operation code 1 ••••• 11) affecte~) then ON; otherwise OFF then ON; otherwise OFF Attempted repetition with RPL causes Fault. a~ Illegal Procedure AND to Xn ANXn 36n (0) FORHATI Basic Instruction Format (See Figure 2-1). SUMMARY. For n = D. (0) 1 ••••• or 7 as deter.ined C(Xn)l l C(Y)l -> C(Xn)l for i MODIFICATIONSI All except CI, SC. SCR INDICATORS: (Indicators not listed are not by = (0. operation code 1 ••••• 17) affecte~) = O. then ON; otherwise OFF CCXn)O = 1, then ON; otherwIse OFF Zero If C(Xn1 Negatlve If REVIEW DRAFT SUBJECT TO CHANGE October, 1975 AL39 BOOLEAN OR OR to A ORA 275 (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARY' C(A)1 I C(Y)i MODIFICATIONS! A II INDICATORS: (Indicators not listed are not affected) Zero If C(A) Negative If C(A)O = D, = 1, -> t~en CrAll for 1 = (D, 1, ••• , 35) ON; otherwise OFF then ON; otherwise OFF OR to AQ ORAQ FORHAT! • SUMMARY' 277 (0) Basic Instruction Format (See Figure 2-1). CCAQ)i f C(Y-pair)i -> C(AQ)l for 1 se, = (0, MODIFICATIONS' All except DU, Ol, CI, 1 NDICATORS I (Indicators not listed are not affected) 1, ••• , 71) SCR = 0, then ON; otherwise OFF C(AQ)O = 1, then ON; otherwise OFF Zero If C(AQ) Negative If OR to Q ORQ 276 FORHATI Basic Instruction Format (See Figure 2-1). SUMHARY' C (Q) 1 t C (Y) I - > C ( Q) i HODIFICATIONS! All INDICATORS: (IndIcators not listed are not affected) Zero If CeQ) REVIEW CRAFT SUBJECT TO CHANGE October, 1975 = D, (Q) for 1 = (0, 1, ••• , 35) then ON; otherwise OFF 2-70 Al39 BOOLEAN OR Negative If C(QID = 1. then ON; otherwise OrF OR to Storage A ORSA 2t.i5 (0) FORHATI Basic Instruction Format (See Figure 2-1). SUMMARY I C(A)i I CCYII MODIFICATIONSI AI. except OUt OL. CIt SC, SCR INDICATORSI CIndicators not listed are not Zero If elY) Negative If CCY)! NOTES' ORSQ400 = O. = 1. -> CCY)1 for i = CD. 1 ••••• 35) affecte~1 then ON; otherMise OFF then ON; otherwise OFF Attemoted repetition with RPL causes aA Illegal Fault. OR to Storage Q ·25& CD) FORHATa Basic Instruction Format CSee Figure 2-1). SUMMARYI C(Q)! I CCY)1 MODIFICATIONSI All except DU, DL. CIt SC, SCR INDICATORSI CIndicators not listed are not CCY) for I = CO. 1. • ••• 35) affecte~) = 0, then ON; otherwise OFF CeYIO = 1, then ON; otherwise OFf Zero If CCY) Negat i ve If NOTESI -> Procedure Attempted Fau It. REVIEW DRAFT SUBJECT TO CHANGE Cctober. 1975 repetition with RPl causes 3n Illegal 2-71 Procedu~e AL39 BOOLEAN OR 2ltn OR to storage Xn ORSXn FORHAT' SUMMARY 1 Basic Instruction Format (See Figure 2-1). For n = 0, 1, ••• , or 7 C(Xn)l a C(Y)1 -> a~ determined C(Y), for 1 ~V = (0, All except DU, OL, CI, SC, SCR INDICATORS: (Indieators not listed are not affectej) Zero If C(Y)O,17 = D, then ON; otherwise OFF Negati.ve If C(Y)O = 1, operatIon code 1, •••• 17) MODIfICATIONS. NOTESI then ON; otherwise OFF Attempted repetitIon wi.th RPL causes fault. a~ Illegal Procedure OR to Xn ORXn ..FORMAT I SUMMARYI (0) 26n (D) Basic Instruction Format (See Figure 2-1) • For n = 0, 1, ••• , or 7 as determined DV operatIon code C{Xn)i I e(Y)l -> C(Xn)l fo,. i. = (0,1, MODIfICATIONS: AI INDICATORS: (Indicators not listed are not affectej) I ••• , 17. except CI, SC, SCR Zero If C(Xn) Negative If C(Xn)O REVIEW DRAFT SUBJECT TO CHANGE October, 1q75 = 0, = 1. then ON; otherwise OFF then ON;' otherwise. OFF 2-72 AL39 300LEAN EXCLUSIVE OR EXCLUSIVE OR to A ERA 675 (01 FORHATa Basic Instruction Format (See Figure 2-11. SUMMARY' CCA)l • C(V)i -> CIA)! for 1 MODIFICATIONS. All INDICATORS' (Indicators not listed are not affectedl Zero If CeA) Negative If C(A)O ERAQ = D, = 1, = CO, 1, •••• 351 then ON; otherwise OFF then ON; otherwise OFf EXCLUSIVE OR to AQ FORHATa - 677 (0) BasIc Instruction Format (See SUMMARYl CCAQli • elY-pairli -> CeAQ)i for 1 HOOIFICATIONSI All except OU, DL, eI, se, SCR INDICATORSl (Indicators not listed are not = ee, 1 ••••• 71) affecte~) = 0, then ON; otherwise OFF C(AQ)O = 1, then ON; otherwise OFF Zero If C(AQ) Negative If ERQ 2-1). Fig~re EXCLUSIVE OR to Q 676 (0) FORHAT' Basic Instruction Format eSee Figure 2-1). SUMMARva C(Q)i • C(VII -> CeQ)! for i MODIFICATIONS I All INDICATORSI (IndIcators not listed are not Zero If C(Q) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 = 0, = (0, 1, •••• 3S1 affecte~) then ON; otherwise OFF 2-73 AL39 BOOLEAN EXCLUSIVE OR NegatIve If C(Q)O = 1. then ON; otherwise OFF EXCLUSIVE OR to Storage A ERSA 655 (0) FORHATI 9aslc Instruction Format (See SUMMARYI C(A)i • C(Y)l -> C(Y)i for i MODIFICATIONSI AI I except OUt Ol, CI, SC, SCR INDICATORS: (Indicators not listed are not affectej) Zero If C(Y) Negative If C(Y)O NOTESI = 0, = 1, Figur~ = (0. 2-1). 1, •••• 35) then ON; otherwise OFF then ON; otherwise OFF Attempted repetitIon with RPl causes Fault. a~ II legal EXCLUSIVE OR to Storage Q ERSQ 656 (0' FORHATS Basic Instruction Format (See Figure 2-1). SUMMARYI C(Qll • C(Y)1 MODIFICATIONSI All except OU, OLe CI, SC, SCR IN DICA TORSI (Indicators not listed are not affected) Zero If C(Y) NegatIve If C(Y)O NOTESI = 0, = 1, -> e(Y)I for i = (0, 1 ••••• 35) then ON; otherwise OFF then ON; otherwise OFF Attempted repetltion with RPl causes Fault. REVIEW DRAFT SUBJECT TO CHANGE Cctober. 1975 Procedure 2-7" a~ II legal Procedure AL39 300LEAN EXCLUSIVE OR EXCLUSIVE OR to Storage Xn ERSXn 6ftn (0) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARYS For n = D. 1, •••• or 7 as determined C(Xn)i • CIY)! -> C(Y)l for i ~y = (0. 1 ••••• 17) MODIfICATIONS: Ala except OU, OL, CI, SC, SCR IN DrCATORS: (Indicators not listed are not affectej) Zero If C(Y)O,17 = 0, then ON; otherwise operation cOde OF~ , NOTES, Attempted repetition with RPL causes an Illegal Fault. Procedure EXCLUSIVE OR to Xn ERXn ...FORHATa SUHHARYI 66n (0) Basic Instruction Format (See Figure 2-1) • For n = 0, 1, •••• or 7 as determined Dy operation code C(Xn)i • C(Y)i -> C(Xn)i tor i = (0. MODIFICATIONsa All except CIt SC, SCR INDICATORSI (Indicators not listed are not affected) Zero If CeXn) Negative If C(XnlO REVIEW DRAFT SUBJECT TO CHANGE. Oct obert 1975 = 0, = 1, 1, •••• 11) then ON; otherwise OFF then ON; otherwise OFF 2-75 AL39 315 (0) Comparative AND with A CANA FORHATI Basic Instruction Format (See Figure 2-1). SUHH-ARY' C (Z) i MODIFICATIONS. A II INDICATORS: (Injicators not listed are not = C ( A) i , C ( Y) i f or i = (0, 1. • •• , 35 ) affecte~) ZERO If CeZ) = 0, then ON; otherwise OFF Negative If C(Z)O = 1, then ON; otherwIse OFF 317 ComparatIve AND with AQ CANAQ FORHAT. "'SUMMARYt Basic Instruction Format (See Figure 2-1). C(l)i = C(AQ)l , C(Y-palr)! for HODIFICATIONSI All except OU, Ol, CI, SC, SCR INDICATORSJ (Indicators not listed are not j = (0, 1, ••• , If Cel) = 0, then ON; otherwise OFF Negative If C(Z)O = 1, then ON; other"lse OFF 31 & (0) ComparatIve AND with Q FORHATa BaSic Instruction Format (See Figure 2-1). SUMMARya Cel)i MOUIFICATIONS' AI1 INDICATORSI (Indicators not listed ZERO = C(Q)l If C(Z) = 0, 71) affecte~) Zero CANQ (0) & C(Y)l for i = (0, 1, ••• , 35) are not affected) then ON; other"lse OFF REVIEW DRAFT SUBJECT to CHANGE October, 1975 2-7& AL39 BOOLEAn COMPARATIVE AND Negative If C(Z)O = 1, than ON; otherwise OFF Comparative AND with Xn CANXn 30n (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARYI For n = 0, C(Z)i or 7 as determined =»v operation code 1, ••• , = C(Xn)l ~ e(Y)l for 1 = (0, 1, ••• , 17) MODIFICATIONS: All except CI, SC, SCR INDICATORS: (Indicators not listed are not affectej) Zero If C(Z) Negative If CeZ)O = 0, = 1, then ON; otherwise OFF then ON; otherwise OFF REVIE~ DRAFT SUBJECT TO CHANGE October, 1975 2-77 AL39 BOOLEAN COMPARATIVE NOT Comparative NOT with A CNAA 215 (0) FORHATS Basic Instruction Format (See Figure 2-i). SUMMARYI C(Z)! MODIFICATIONSI A I. INDICATORS: (Indicators not listed are not affected) = C(A)! Zero If C(Z) Negative If C(Z)O CNAAQ = 0, , -elY), 'or I = (0, 1, ••• , 35) then ON; otherwise OFF = 1t then ON; otherwIse OFF ComparatIve NOT with AQ 217 (0) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' CrZ)l MODIFICATIONSI All except DU, Ol, CI, SC. SCR INDICATORSI (Indicators not listed are not affected) = C(AQ)l -elY-pair)! for 1 = (O~ 1. ~., 71) = 0, then ON; otherwise OFF C(Z)O = 1, then ON; otherwise OFF" Zero If C(Z) Negative If CNAQ ~ Comparative NOT with Q 21& (0) FORHAT: BaSic Instruction Format (See Figure 2-1). SUMMARYI C ( Z)! MODIFICATIO'NSI All INDICATORS: (Indicators not listed are not affectej) = C( Q) i Zero If CIZ) Negative If C(Z)O REVIEW DRAFT SUBJECT TO CHANGE October, 1975 = 0, = 1, , -c ( Y) i for = (0, 1, ••• , 35) then ON; otherwise OFF then ON; otherwise OFF 2-78 AL39 BOOLEAN COHPARATIVE Comparative NOT with Xn CNAXn 20n (0) FORHAT I Basic Instruction Format (See Figure 2-1 •• SUMHARYI For n = O. ceZli ~OT 1 •••• , or 7 as determined oy operation code = C(Xn)l ~ -C(Y)i for i = (0. 1, ••• , 17) except CI, SC, SCR "ODIFICATIONS' All INDICATORS' (IndIcators not listed are not affecte:J) = 0, then ON; otherwise OFF Zero If C(Z) Negative If C(Z)O = 1, then ON; otherwise REVIEW DRAFT SUBJECT TO CHANGE October. 1975 ~FF AL39 FLOATING POINT DATA MOVEMENT lOAD DFlD ft33 (0) Oouble Precision Floating load FORHATa Basic Instruction Format SUMHARYa C(Y-pair)O,7 -> ClE) C(Y-pairt8,71 00 ••• 0 -> -> C(AQ)O,G3 C(AQ)Gft,71 except DU, Ol, CI, SC 9 SCR MODIFICATIONS' All INDICATORsa (Indicators not Zero If C(AQ) Negative If C(AQ)O FLO (See Figure 2-1). lIsted are not affecte~) = 0, then ON; otherwise OFF = 19 then ON; otherwise OFF 431 (0) Floating load FORHATI Basic Instruction Format (See Figure SUHHARY: C(Y)097 -> C(E) C(Y)8,3S 00 ••• 0 -> -> C(AQ)O,27 C(AQ)30~71 except CI, SC9 SCR HODIFICATIONSI All INDICATORS: (Indicators not listed are not affecte::U Zero It C(AQ) .: 0, then ON; otherwise OFF Negative IF C(AQ)O .: 1, then ON; otherwise OFF REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-1). 2-80 Al3CJ FLOATING POINT DATA MOVEMENT STORE 457 CO) uouble Precision Floating Store DFST FORHATJ Basic Instruction Format (See Figure 2-1). SUMMARY' MODIFICATIONSI All except OU. DL. CIt SC. SCR INDICATORSI None affected NOTES: Attempted repetition with RPL causes Fault. Double Precision Floating Store DFSTR a~ Illegal Rounde~ FORMATa BaSic Instruction Format (See Figure 2-1). SUMMARY a C(EAQ) rounded MODIFICATIONS. All except CU. OL, CI, INDICATORS: (Indicators not listed are not -> Procedu~e 472 (D) ClY-palr) se, SCR affecte~) Zero If elY-pair) = floating point 0, then IN; otherwise OFF Negative If CCY-pair)8 = 1, then ON; otherMise lFF Exponent Over f low If exponent is greater than +121, then ON; otherwise OFF Exponent Under' low If exponent is less than -128, then ON; otherwise OFF NOTES. The DFSTR instruction performs a dOU31e precision round and nor~alization on C(EAQ) as it is sto~ed. The definition of true round 1s located under description of the Floati"g Round (FRO) instruction. true the The definition of normalization is located under the description of the Floating Normaliz~ (FNO) instruction. Except for tne precision of the stored result. the instruction is identical to the FSTR l~struction. REVIEW CRAFT SUBJECT TO CHANGE October9 1915 2-61 DFSTR IlL39 FLOATING POINT DATA MOVEMENT STORE Attempted Fault. repetItion with RPL causes an Illegal Procedure Flo a tin g S t or e FST 455 (0) FORMATa Basic Instruction Format (See FIgure 2-1). SUHMARY I C(E) -> CIY)O,1 C(A)O,2? -> C(Y)8,35 HODIFICATIONSI All except OU, OL, CI, SC, SCR INDICATORS' None af feeted NOTESI At~empted repetition with RPL causes a~ Illegal Procedure Fault. FSTR Flo a tin g S t or e R0 un d e d "FORHATa 41 0 ( 0 ) gas i c Instr uc t ion F or mat (See Figure 2-1). SUMMARYI CIEAQ) rounded MODIFICATIONSI All except OU, Ol, CI, SC, SCR INOICATORsa (Indicators not listed are not affecte:U -> = floating CIY) Zero If ClY) Negative If C(Y)8 t::KPonent Overflo\llf If exponent is greater than +127, then ON; otherwise OFF Exponent Under flo .. If eKPonent is less than -128, then ON; otherwise OFF NOTESa = 1, point 0, then ON; otherwise OFF then ON; otherwise OFf The fSTR instruction performs a true normalization on C(EAQ) as it is storej. round The definition of true round is located under description of the Floating Round (FRO) instruction. and the The definition of normal ization is located under the description of the Flo a t 1n 9 Nor :II a Ii z e ( F NO) ins t r uc ti 0 n • REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-82 FLOATING POINT DATA MOVEMENT STORE Steps 1n the execution may be thought of as foiloNs, Execute FNO Execute FST Restore C(EAQ) to original values. Attempted repetition with RPL causes Fault. REVIEW ORJ!FT SUBJECT TO CHANGE October, 1975 2-83 a~ Illegal Procedure Al39 FLOATING POINT AODITIO~ .' DFAD 417 (0) DOUDle Precision Floating Add FORHATa Oasic Instruction SUMMARY' (C(EAQ) + MODIFICATIONSI Al. except ou, Ol, CI, SC, SCR INDICATORS: (Indicators not listed are not affected) For~at C(Y-p~ir)) (See Figure 2-1). normalIzed -> CCEAQJ Zero If C(AQ) ; 0, then ON; otherwIse OFF Negative If C(AQ)O Exponent Overflow If exponent is greater than +121, then ON; otherwise OFF Exponent Underf 10M If exponent is less than -128, then ON; otherwise OFF Carrv If a carry out of AQO Is generated, then ON; otherwise OFF NOTES. = 1, then ON; otherwise OFF The OFAD instruction may be thought of as a Doub.e Precision Unnormalizard Floating Add (OUFA) instruction follo"ed by a Floating Normalize (FNO) instruction. The definition of normalization Is located under the description of the Floating Normalize (FNO) instruction. DUFA Double Precision unnormalized Floating Add FORMAT: Basic Instruction Format (See Figure 2-1). SUMMARY: C(EAQ) + ClY-pair) HODIFICATIONS: All except OU, OL, Ct. SC, SCR RE:.VIEW -> "37 (0) C(EAQ) OR~FT TO CHANGE Oc t ober, 1 Y75 SUB~ECT 2-84 AL3!) FLOATING POINT ADDITION INDICATORS. (Indicators not listed are not = 0, affecte~. Zero If C(AQ) Negative If CCAQ)O E.xponent Overflow If exponent is greater than +127, then ON; otherwise OFF Exponent Under f low If exponent is less than -128, then ON; otherwise OFF Carry If a carry out of AQO Is generated. then ON; otherllt1se OFF NOTES. = 1, then ON; otherlltlse DFF then ON; otherlltlse OFF Except for the precision of the mantissa of the operand from maIn store. the DUFA instruction is Identical to the urA instruction. Floating Add FAD 475 (01 FORHATI Basic Instruction Format (See Figure 2-1). SUHMARY. (C(EAQ) + C(Y» HODIFICATIONS. All except CI, INDICATORS' (Indicators not listed are not affected) normalized se, -> CCEAQ) SCR Zero If CIAQ) = Ot then ON; otherlltlse OFF Negative If CCAQIO Exponent Overflow If exponent Is greater than +127, then ON; otherlltise OFF Exponent Under' 1o lit If exponent is less than -128, then ON; otherlltise OFF Carry If a carry out of AQD Is generated, then ON; otherwise OFF NOTES. = 1, then ON; otherlltise OFF The FAD instruction may be thought of a an iJnnor ma 11 zed Floating Add (UrA) instructIon followed by a Floating Normalize (FNO) instruction. The definition of normalization is located under the description of the Floating Normalize (FNO) instruction. REVIEW DRAFT SUBJECT TO CHANGE Oct ober, 1975 2-85 AL39 FLOATING POINT ADDITION UFA Unnormaltzed FloatIng Add ~35 FORHATa 3asic Instruction Format SUMMARY. CCEAQ) • C(Y) -> CCEAQ) MODIFICATIONS. AI. except CI, SC, SCR INDICATORS' (Indicators not listed are not affectej) = (See Flg~re (O) 2-1). Zero If C(AQ) Negative If CCAQ)O Exponent If exponent is greater than .127, then ON; otherwise OFF 0, then ON; otherwise OFF = 1, then ON; otherwise OFF Overflo~ Exponent Underflow If exponent is less than -128, then ON; Carry If a carry out of AQO is generated, then ON; otherwise OFF NOTES. otherwise OFF The UFA instruction is executed as follows. The mantissas are aligned by shifting the mantissa of the operand having the a'gebralcal Iy smaller exponent to the right the number of pl3ces equal to the absolute value of the difference in the two exponents. Bits shifted beyond the bIt pOSItion equivalent to AQ71 are lost. The algebraically larger exponent replaces ClE). The sum of the mantissas replaces CCAQ). If an overflOW occurs during addltion, then; CCAQ) are shifted one place to the right. C(AQ)O Is inverted to restore the sIgn. CCE) is increased by one. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-6& AL39 FlOATI~G Double Precision Floating DFSB POINT SUBTRACTION 577 (D) Subt~act FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY: (CCEAQ) - CIY-pair» MODIFICATIONS: All except OU, Dl, CI, SC. SCR INDICATORS: (Indicators not listed are not affectej) normallzed -> C(E_Q) Zero If C(AQ) : Negative If C(AQ)O = 1, then ON; otherwIse OFF Exponent Overflow If exponent Is greater than +127, then Exponent Under f low If exponent Is less than -128, then ON; otherwise OFF Carry If a carr, out of AQO is generated, then ON; otherwise OFF NOTESI OUFS 0. then ON; otherwise OFF ~N; otherwise OFF The OFSB instruction Is identical to the Double Precision Floating Add (OFAD) instruction wlt~ the exception that the 2·s complement of the mantissa of the operand fro. main store Is used. DOUble Precision unnormalized Floating Subtract FORHAT: 3asic Instruction Format (See Figure 2-1). SUMMARYI CCEAQ) - C(Y-pair) MODIFICATIONS: All except OU, Olt CI. SC, SCR INDICATORS: (Indicators not listed are not affected) = 0, -> 537 (D) C(EAQ) Zero If CCAQ) Negative If C(AQ)O £)cponent Overflow If exponent Is greater than +127, then ON; otherwise OFF I:)(Ponent Under f low If exponent is less than -128, then ON; otherwise OFF REVIEW DRAFT SUBJECT TO CHANGE October, lC~75 = 1, then ON; otherwise OFF then ON; otherwise OFt 2-87 Al39 FLOATING POINT SUBTRACTION Carry NO TESI If a carry out of AQO is generated, th!n ON; otherwIse OFF Except for the precision of the mantisia of the operand from main store, the DUFS instr~ction is indentical with the UFS instruction. Floating Subtract FSB 575 (0) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' (C(EAQ) - MODIFICATIONSI All except CI, SC, SCR INDICATORSI (Indicato~s normal ized -> ClEAQ) Cry)~ not listed are not affecte~) 7 0, then ON; otherwise OFF Zero If Negative If C(AQ)O Exponent Overflow 11 exponent Is greater than +127, then ON; otherwIse OFF EJCponent Under f low If exponent is less than -128, then ON; otherwise OFF Carry If a carry out of AQO is generated, then ON; otherwise OFF NOTES: ~(AQ) = 1, then ON; otherwise OFF The FSB instruction may be thought of as an Unnormalzled Floating Subtract (UFS) instruction followed by a Floating NormalIze (FNO) instruction. The definition of normalization is located under the description of the Floating Normalize (FNO) instruction. UFS Unnormalized Floating Subtract FORMAT: BaSic Instruction Format (See Figure 2-1). SUMMARYI C(EAQ) - C(Y) MODIFICATIONS I AIS REVIEW DRAFT SUBJECT TO CHANGE October, 1975 -> 535 (0) C(EAQ) except CI, SC, SCR 2-88 AL39 FLOATI~G INDICATORS' POINT SUBTRACTION (Indicators not listed are not affected) = 0, Zero If CCAQ) Negative If CCAQ)O = 1, then ON; otherwise OFF Exponent OverfloM If exponent Is greater than +127, then ON; otherwise OFF Exponent Underflow If exponent is less than -128, then ON; otherwIse OFF Carry If a.carry out of AQO Is generated, then ON; otherMise OFF NOTES. then ON; otherwise OFF The UFS Instruction is identical to the Unnor.allzed Floating Add CUFA) instruction with the exception that the 2·s complement of the mantissa of t~e operand ',..om maIn store is used. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-89 Al39 flOATING POINT MULTIPLICATION Double Precislon Floatlng Hultlply DFHP 40 '+&3 CO) FORHATI Basic Instruction Format (See Figure 2-1). SUHHARYI (C(EAQ) x CeY-pair» MODIFICATIONSI All except DU, Dl, CI, SC, SCR INDICATORSI (Indicators not listed are not = n, normalized -> CCEAQ) affecte~)· Zero If C(AQ) Negative If CCAQ)O : 1, then ON; otherwise OFF Exponent Overfl 0 .. If exponent Is greater than +127, then ON; otherwise OFF Exponent Underf 10 .. If exponent Is less than -128, then ON; otherwise OFF NOTESI then ON; otherwise OFf The OFMP instruction may be thought Floating Precision Unnormallzed instruction followed bv a Floating instruction. of as a Multiplv Normal i ze Double ( DUf") (FNO) The definition of normalIzation Is located under the description of the Floating Norma1ize (FNO) instruction. Double Precision Unnormalized Floating Hultiply FORHATI Basic Instruction Format (See Figure 2-1). SUMHARY I ClEAQ) x e(Y-palr) HODIFICATIONSI All except DU, Dl, Cl, SC, SCR INDICATORSI (Indicators not listed are not affected' -> 423 (0) CCEAQ) Zero 11 CCAQ) = 0, then ON; otherwise OfF Negative If C(AQ)O = 1, then ON; otherwise OFF Exponent Overf I 0 .. If exponent is greater than +127, then ON; other.ise OFF Exponent Underflow If exponent is tess than -128, then ON; REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-90 otherwise OFF Al39 FLOATING POINT MULTIPLICATION NOTESI Except tor the precIsion of the mantIssa of the operand from main sto~e, the DUFM instruction I~ identical to the Unnormalized Floating Hultiply (UFM) i~struction. Floating Multiply FHP ..61 (0) FORHATa Basic Instruction Format (See Figure Z-1). SUMMARYI (C(EAQ) x C(Y» MODIFICATIONSI All except CIt SC, SCR INDICATORSI (Indicators not listed are not affected) normalIzed -> C(EAQ) = 0, then ON; otherwise OFF C(AQ)D = 1, then ON; otherwise Off Zero If C(AQ) NegatIve If Exponent Overflow If exponent is greater than +lZ7. then ON; otherwise OFF Exponent Underf .ow If exponent Is less than -128, then ON; otherwise OFF NOTESI The FMP instruction may be thought of as an Unnormalized Floating Multiply CUFM) instruction fol lowed bv a Floating Normalize (FNO) instruction. The definition of norlllallzatlon is located under the descrlpt ion 0 f the F. oating Normalize (FNO) instructi on. unnormallzed Floating Huitiply UFM FORMATa BasIc Instruction Format (See Figure 2-1). SUMMARY. C(EAQ) x C(Y) MODIFICATIONSI All except CI, REVIEW DRAFT SUBJECT TO CHANGE October, 1975 -> .. 21 (0) C(EAQ) se, SCR AL39 FLOATING POINT MULTIPLICATION INDICATORS. (Indicato~s not listed are not affected) Zero If ClAQ) = 0, then ON; otherwise OFF Negative If CCAQ)O Exponent Overflollt If exponent is Exponent Under'low If exponent is less than -128, then ON; NOTES' = 1, then ON; otherwise OFF greate~ than +127, then ON; othe~wise othe~"lse • OFF OFF The UF" instruction is executed as foilowsl ClE) + C(YlO,7 -> C(E) (C(AQ) x ClY)8,35)O,71 -> ClAQ) A normalization is performed onlv in the case of both factor mantissas being 100 ••• 0 which Is the 2·s comple~ent approxImation to the decimal value -1.0. The definitIon of normalization Is located under the descrlptl'on of the Floating Nor.alize (FNO) instruction. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-92 Al39 FLOlTING POINT OIVISION -E'oatiDg-P~iD.LDiv'sioDQ) OouDle Precision Floating Divide Inverted OFOI FORMAT. BaSic Instruction Format (See Figure 2-1). SUMMARY' ClY-palr) "OOIFICATIONSI All except OU, Ol, CI, SC, SCR INDICATORSI (Indicators not listed are not affected) 521 (0) ClEAQ) -> C(EAQ) I Ii-division takes pJa~ = II no diVision takti pi gel Zero If CCAQ) 0, then ON; otherwise OFF If divisor mantissa = 0, then ON; otherMise OFF NegatIve If C(AQ)O = 1, then ON; otherwise OFF If dividend < 0, then ON; otherwise OFF Exponent Overflo .. If exponent Is greater than +127, then ON; otherMise OFF Exponent Underf 10M If exponent Is less than -128, then ON; otherMIse OfF NOTESI Except for the lnterchange of the roles of the operands, the execution of the DFOI instuction Is identical to the execution of the Double Precision Floating DivIde (OFOV) ins true tiO". If the divisor mantIssa C(AQ) is zer~. the divisIon does not take place. Instead, a Divide Check Fault occurs and all regIsters remain unchanged.· Double Preeislon Floating Divide OFDV FORHAT. SUHHARYS MODIFICATIONS- REVIEW DRAFT SUB~ECT TO CHANGE October, 1975 567 CO) Basic Instruction Format (See Figure 2-11. C(EAQ) I eCY-pair) -> C(EAQ) All except OUt OL, CI, SC, SCR 2-93 Al39 FLOATING POINT DIVISION INDICATORS' (Indicators not 'isted are not l~visioD affecte~) ta~~a~ = = Zero If CCAQ) 0, then ON; otherwise OFF If divisor mantissa 0, then ON; otherwise OFF Negative If CCAQ)O = 1, then ON; otherwise OFF otherwise )FF If divlden~ < 0, then ON; Exponent O"erfloM If exponent Is greater than +121, then ON; otherwise OFF Exponent Under' 10M If exponent Is less than -128, then ON; otherwise OFF NOTES' The OFOV instruction is executed as fol'ows. The dividend mantissa C(AQ) is snifted right and the dividend exponent eeE) increased accordingly until IC(AQ)O,631 < JC(Y-pair)8,711. CeE) - C(Y-pair)O,7 -> eeE) CIAQ) I CIY-pair)8,71 -> CCAQ)O,63 00 ••• 0 -> CCQ)64,71 If the dIvisor mantIssa ClY-pair)S,71 is zero, the division does not take place. Instead, a Divide Check fault occurs, C(AQ) contains the dividend magnitude, and the Negative indicator reflects the dividend sign. FOI 525 CO) Floating Divide Inverted FORHATa Basic Instruction Format SUHHARYI C(Y) I (See Figure 2-1). C(EAQ) -> C(EA) 00 ••• 0 -> CeQ) HODIFICATIONsa REVIEW DRAFT SUBJECT TO CHANGE October, 1Y75 All except CI, SC, SCR 2-94 AL39 FLOATING POINT DIVISION INDICATORsa (Indicators not listed are not affected) Zero If CeA) = 0, then ON; otherwise OFF Negative If CeA)O 0, then ON; otherwise OFF Exponent Overflollt If exponent is greater than +127, then ON; otherwise OFF Exponent Underf I Ollt If exponent is Jess than -128, then ON; otherwise OFf = If divisor mantissa = 0, then ON; otherwise OFF If dividenj < 0. then ON; otherwise lFf Except for the interchange of roles of the operands, the execution of the FOI instruction is identical to the execution·of the Floating Divide (FOV) instruction. NOTESZ If the divisor mantIssa CCAQ) is zero. the division does not take place. Instead, a Divide-Check fault occurs and all the registers remain unchanged. 5&5 CO) Floating Divide FDV FORHATI Basic Instruction Format (See Figure 2-1). SUMMARY C(EAQl I ClY) -> CeEA) 00 ••• 0 -> C(Q) MODIFICATtONSI All except CI, SC, SCR INDICATDRSJ (Indicators not listed are not If diviSion takes placel = If CeA) a, then ON; otherwise OFF Np.gatlve If CeAlO = 1, then ON; affecte~' If no d~ision takes place! diviso~ mantissa ON; otherwise OFF If If divide~d < 0, = 0, then then ON; otherwise OFF otherwise OFF Exponent Overflow If exponent is greater than +127, then ON; otherwise OFF Exponent Underf low If exponent is less than -128, then ON; otherwise OFF REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-95 AL39 FLOATING POINT DIVISION NOTES' The FOV instruction Is executed as follows. The dividend mantissa C(AQ) is shifted right and the dividend exponent eeE) increased accordingly until IC(AQ)O,271 < IC(Y)8,351. CeE) - CeY)O,7 -> CeE) CeAQ) I C(Y)8,35 -> CeA) 00 ••• 0 -> C(Q' If the divisor mantissa CCY)8,35 Is zero. the division does not take place. Instead, a Divide Check fault occurs, CCAQ) contains the dividend ~agnitude, and the Negative indicator reflects the dividend sign. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-9& AL39 FLOATING POINT NEGATE f loa t Ing Negate FNEG 51J (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARY' -C(AQ) normalized MODIFICATIONS' All, but none affect instruction execution. INDICATORS: (IndIcators not lIsted are not affected) -> C(AQ) Zero If C(AQ) = O. then ON; otherwise OFF Negative If CCAQ)O Exponent OverfloM If exponent Is greater than +127. then ON; otherwise OFF Exponent Under' 10M If exponent Is less than -128, then ON; otherwise OFF NOTES. = 1, then ON; otherwise OfF This instruct 10n changes the number in C(EAQ) to 1 ts normalized negative (If CCAQ) ~ 0). The operation is executed by first forming the tMO·S co.ptement of C(AQ). and then normalizing C(EAQ). Even If originally C(EAQ) Mere normalized, an exponent overflow can stIlI occur. namely when CeE) = +127 and CCAQ) 100 ••• 0 which is the 2·s complement approximation for the decimal value -1.0. = The definit10n of normalization may be found under the description of the Floating NormalIze (FNO) Instruction. Attempted repetition w1th RPL causes an II legal Fault. REVIEW DRAFT SUSJECT TO CHANGE October, 1975 2-97 Procedure ALJ9 FLOATING POINT NORMALIZE Floating Normalize FNO 573 CO) FORMAT' Basic Instruction Format (See Figure 2-1). SUMMARY. C(EAQ) normal ized -> C(EAQ) MODIFICATIONS' All. but none affect instruction execution. INDICATORS a (Indicators not listed are not affecte~) = floating point D. then ON; = 1. then ON; otherwise OFF Zero If CCEAQ) otherwise OFF Negative If CCAQ)O Exponent Overflo" If exponent is greater than +127. then ON; otherwise OFF Exponent Underflow If exponent is less than -128, then ON otherwise OFF Overflo" Set OFF The FNO instruction normalizes the nuwber in CCAQ) _ 0 and the Overflow indicator is OFF. C(EAQ) if A normalized floating number is d~fined as one whose mantissa lies in the interval (0.5.1.0) such that 0.5 <= ICCAQ)' < 1.0 which. 1n turn, reQuires that CCAQ)O _ C(AQ)l. If the Overflow indicator is ON, then C(AQ) is shIfted one place to the right, ClAQ)O is inverted to reconstitute the actual s1gn, and the Overflow indicato· is set OFF. Normalization is performed by shifting C(AQ)1,71 one place to the left and reducing CIE) by 1. repeatedly, until the conditions for C(AQ)O and C(AQ)l are met. Bits shifted out of AQ1 are lost. = If CCAQ) O. then ClE) indlcator is set ON. is set to -128 and the Zero The FHO i~struction can be used to correct overflows that occur with fixed point numbers. Attempted repetItion with RPl causes Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-96 a~ Illegal Procedure AL39 FLOATING POINT ROUND Double Precision Floating Round DFRD ,+73 CO) FORMATa Basic Instruction format (See Figu ... e 2-1). SUMMARY' C(EAQ) ...ounded to 6'+ bits "OOIFICATIONSI All, but none affect instructIon executIon. INDICATORSJ (Indicators not listed are not affected) -> CtEA~. = floating point 0, then ON; = 1, then ON; otherwise OFF Ze ... o If C(EAQ) NegatI"e If CCAQ)O Exponent Ovel""Io ... If Exponent Underf low If e)CPonent is less than -128, then ON; other ... ise OFF NOTESI • ex~onent othe"''''ise OFF is greate ... than +127, then ON; othe ..... lse OFF The OFRO instruction is identical to the Floating Round (FRO) instruction except that the rounding constant used is (11 ••• 1)&5,71 instead of (11 ••• 1)29,71. Attem~ted repetition ... ith RPL causes an Illegal Procedure Fault. Floating Round FRO 471 (0) FORHATa Basic Inst ... uction For.at (See Figure 2-1). SUMMARY' C(EAQ) rounded to 28 bits HODIF~CATIONSI All, but none affect instruction executIon. INDICATORSI (Indicators not listed are not affected) = floating -> C(EAQ) Zero If C(EAQ) Negative If C(AQ)O = 1 then ON; other ... ise OFF [)CPonent Ove ... flow If exponent is greater than +127, then ON; other.ise OFF E)Cponent Under' 10 .. If exponent is less than -128, then ON; otherwise OFF REVIEW DRAFT SUBJECT TO CHANGE Oct ober, 1975 2-99 ~oint 0, then ON; otherwise OFF AL39 FLOATING POINT ROUND NOTES. If C(AQ) ~ 0, the FRO instruction performs a true round to a precision of 28 bits and a norllaliz"ation on C(EAQ). true round Is a rounding operation such that the sum of the'result of applying the operation to two nu~bers of eQual magnitude but oPPosite sign is eKactly zero. A The FRO instruction is executed as follows. C ( AQ) + (11 ••• 1 ) 29, 71 - > C( AQ) If C(AQ)O = 0, then a carry Is added at AQ71 If overflow occurs, C(AQ) is shifted one place to the right and C(E) is increased by 1. If overflow does not occur, C(EAQ) is normalized. If C(AQ) is set ON. = 0, erE) Is set to -128 and the Zero indicator Attempted repetition with RPL causes an II legal Fault. REVIEW DR'FT SUBJECT TO CHANGE October, 1975 2-100 Procedure AL39 FLlATING POINT COMPARE -floatIng-PoInt ComDacaa Double Precision Floating Compare Magnitude· DfCMG FORHATa BasIc Instruction format (See Figure 2-1). SUMMARY' IC(E,AQO,63)1 I' IC(Y-pair)1 MODIfICATIONS' All except OU, OL, CX, SC, SCR INDICATORSI (Indicators not listed are not affected) = 1C(Y-palr)', Zero If ICCE,AQD,63)1 Negative If IC(E,AQD,63) 1< JClY-paIr)I, then NOTESa then O~; otherwise OFF aN; otherwise OFf The DfCHG instruction is identical to the Double Precision Floating Co_pare (DFCHP) jnstructlo, except that the magnitudes 01 the mantissas are compared instead of the algebraic values. Double Precision Floating Compare OFCHP FORHAT' Basic Instruction Format (See Figure 2-1). SUMMARY: C(E,AQO,63) II MODIFICATIONSI All except DU, DL, CI, SC, SCR INDICATORS: (Indicators not listed are not affected) If CCE,AQO,&J) = CCY-pair), Negative If C(E,AQO,63) < REVIEW DRAfT SUBJECT TO CHANGE October, 1975 517 «Q) C(Y-pair) Zero NOTES' ,.27 (0) then ON; otherw1se OFF C(Y-pair), then ON; otherwise OFF The DFCHP instruction is identical to the Floating Co.~are (FCHP) instruction except for the preeision of the mantissas actually compared. 2-101 AL39 FLOATING POINT COMPARE Floating Compare Magnitude FC"' 1t25 (0) FORMAT' Basic InstructIon Format (See Figure 2-11. SUMMARY' IC(E,AQO,27)1 MODIFICATIONS. All except INDICATORS' (Indicators not listed are not affectej) IC(Y)' II ct, SC, SCR = IC (Y) I, Zero If Megat i ve If JC(E,AQO,27)1 < IC(Y)I, then ON; otherwise OFF NOTES. ICCE,A~O,2n S then ON; otherwIse OFF The FCHG instruction 1s identical to the Floating Compare (FCMP) instruction except that the magnitudes of the mantissas are co_pared instead of the algebraic values. 515 (0) Floating Compare FCHP FORMAT. Basic Instruction Format (See Figure 2-1). C(E,AQO,27) II Cry) MODIfICATIONSI All except CI, SC, SCR INDICATORSI (Indicators not listed are not affected) = Cry), Zero If CCE,AQO,27) NegatIve If C(E,AQO,27) < Cey), then ON; otherwise OFF NOTESI then ON; otherwise OFF The fCHP instruction is executed as foiloMSI The mantissas are aligned by shifting the mantissa of the operand with the algebralcallf smaller exponent to the right the number of places equal to the difference In the tMO exponents. The alIgned mantissas are compared and the indicators ~et RE.VIEW DRAFT SUBJECT TO CHANGE October, 1975 accor~ing'v. 2-102 AL39 FLOATING POINT MISCELLANEOUS Add to Exponent ADE 415 (0) FORMATI Basic Instruction Format (See Figure 2-1). SUHMARYI CIE) + C(Y)O,7 MODIFICATIONSI All except CI, SC, SCR INDICATORSI (Indicators not listed are not -> CIE) affecte~) Zero Set OFF Negative Set OFF Exponent Overflow If exponent Is greater than +127, then ON; otherwise OFF Exponent Underf low If exponent Is less than -128, then ON; otherwise OFF Floating Set Zero and Negative Indicators FSZN· FORMATt .. 30 (0) Basic Instruction Format (See Figure 2-1). Set indicators according to C(Y) HODIFICATIONSI All except CI, SC, SCR INDICATORSI (Indicators not listed are not affected) Zero If C(Y)8,35 NegatIve If C(Y)8 = 0, = 1, then ON; otherwise OFF then ON; otherwise OFF .. 11 (0) Load Exponent LOE FORHATa Basic Instruction Format (See Figure 2-1). SUMHARYI C(Y)O,7 -> C(E) HODIFICATIONSI All except CI, SC, SCR RE.VIEW DRAFT SUBJECT TO CHANGE Oct ober, 1'375 2-103 AL39 FLOATING POINT MISCELLANEOUS INDICATORS. (Indicators nof listed are not affected) Zero Set'OFF Negative Set OFF STE 45& (0) Store Exponent FORHATa BasIc InstructIon Format (See Figure 2-1). SUMMARY •. C(E) -> C(Y)O,7 00 ••• 0 -> C(Y)S,17 3 3 3 HODIFICATIONSI All except DU. DL. CI, SC, SCR INDICATORS' None affected REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-104 AL39 TRANSFER -IRANSFER~ INSTRUCTIONS 113 Ca II CUsing PR& and PR1) CALL6 FORHATa BaSic Instruction Format (See Figure 2-1». SUMMARY' If CCTPR.TRR) < C(PPR.PRR) then CeOSaR.STACK) II CCTPR.TRR) -> C(PR7.SNR) = CCPPR.PRR) If C(TPR.TRR) C(PR6.SNR) -> CCTPR.TRR) CCPR7.RNR) -> C(PR1.SNR) ((I) then = If CCTPR.TRR) 0 then C(SDW.P) -> C(PPR.P); otherwise 0 -> C(PPR.P) 00 ••• 0 ->"CCPR1.WORONO) 00 ••• 0 -> C(PR1.BIINO) C(PPR.PRR) c'rpR.TR~) -> C(rp~.TSR) -> C(PPR.PSR) C(TPR.CA) -> C(PPR.IC) • "ODlflCATIONSI All except OU, OL, CI, SC, SCR INDICATORS' None affected NOTESI If CCTPR.TRR) Outward Call, executed. > C(PPR.PRR), occurs and an Access Violation fault, the CALLD Instruction Is not If the CALLE) 1nstruct1on Is executed with the Processor In Absojute "ode with bit 29 of the instr,Jction word eQual to o 'and .,ithout 1ndirection through an ITP or ITS pair, then ••• the Appending Hode 1s entered for the address preparation of the CALLE) operand address and is retained if the instruction executes successfully, and ••• the Effective Segment Number generated for the SOW • fetch and subseQuent loaclng Into CCTPR.TSR) Is eQua' to C(PPR.PSRJ and mav be undefined 1n Absolute Mode. and ••• the Effective Ring Number loaded into CCTPR.1RR) prior to the SOW fetch 1s eaual to C(PPR.PR~) (which· Is 0 In Absolute Hode) implvln; that the Access Violation checks tor Outward Cal' and Ba~ OutMard Call are Ineffective and that an Access Violation, out of Call Brackets will occur if C(SDW.R1) _ O. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-105 AL39 TRANSFER Attempted repetitIon with I.legal Procedure Fault. RPT, RPD, or 630 (0) Return RET RPl causes an FORHATI Basic Instruction Format (See Figure 2-1). SUHHARYI C(Y)O,17 -> C(PPR.IC) C(Y)18,31 -> C(IR) MODIFICATIONS' All except DU, Dl, CI, SC, SCR INDICATORS' (Indicators not listed are not affectej) = Parity "ask If C(Y)Z7 1, and the Processor is in Absolute or Privileged Hode, then ON; other~lse JFF. This indic~tor is not affected in the Normal or BAR modes. Not BAR Hode Cannot be changed by the ~ET instruction = Hultiword If C(Y)30 1, and the Processor is in Absolute or Instruction Privileged mode, then ON; otherwise JFF. This lndicator Fault is not affected in Nor.al or BAR modes. Absolute Hode Cannot be changed by the RET Instruction other Indicators If cprresp~nding bi t A'I I NOTESI In elY) Is 1, then ON; otherwise, OFF The relation between C(Y)18,31 and the indIcators is given in Table 2-5. The TalJy Runout indicator reflects C(1)25 regardless of what address modification is performed on the RET instruction for ta'Iy operations. The RET instruction may be thought of as a load Indicators (lOI) instruction followed by a transfer to location CeY)O,17. Attempted repetition with Illegal Procedure Fault. RPT, RPO. or RPl causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-106 Al39 TRANSfER · RTCD &10 (0) Return Control Double fORHATI Baste Instruction Format (See Figure 2-1). SUMMARYI C(Y-pairJ3,17 -> C(PPR.PSR) ttaKi.um of C(Y-palr)18,20; C(TPR.TRR); C(SDW.Rl) -> C(PPR.PRR) C(Y-pair)3&,53 -> C(PPR.IC) If C(PPR.PRR) : 0 then C(SOH.PJ -> CCPPR.P); otherwise D -> C(PPR.P) C(PPR.PRR) -> C(PRn.RNR) for n : se, MODIfICATIONSI All except OU, DL, CI, INDICATORSI None af f ected NOTES. The hardware assumes that C(Y)17 (0, 1, •••• 7) SCR = 0; ~o check is made. If an access violation occurs when fet:hlng the SOW for location V, the C(PPR.PSR) and C(PPR.P~R) are Aot altered. If the RTCO instruction Is executed with the Processor in Absolute Mode with bit 29 of the instr~ction Mord equal to o and withQut indirection through an ITP or ITS pair, then ••• the Appending Hode 15 entered for the address preparation of the RTCD operand address and is retained if the instruction executes successfully, and ••• the Effective Segment Number generated for the SOW fetch and subsequent loading into CCTPR.TSR) is eQual to C(PPR.PSR) and may be undefined in Absolute Hode, and ••• the Effective Ring Number loaded Into C(TPR.TRR) prIor to the SOW fetch is eQual to C(PPR.PRR) (Mhich Is a in Absolute Hode) implying that control Is always transferred into Ring o. Attempted repetition with 1.legal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-107 RPT, RPO, or RPL causes an AL39 TRANSFER Transfer On Exponent Overflow TEO 614 . CO) FORMATI Basic InstructIon Format (See SUMMARYI If Exponent Overflow indicator ON then C(TPR.CA) C(TPR.TSR) Figu~e 2-1). C(PPR.IC) -~ ~> C(PPR.PSR) otherwIse. no change to CCPPR) MOOIFICAT-IONSI All INDICATORS' (Indicators not listed are not affected) Exponent Overf I ow NOTESI except OUt Ol, CI, se, SCR Set OFF Attempted repetitIon with Illegal Procedure Fault. RPT, RPO. or RPl Transfer on Exponent Underflow TEU • Basic Instruction Format (See Figure 2-1). SUHHARYI If Exponent Underflow indicator ON then -> an 61S CO) FORHATI CCTPR.CA) causes C(PPR.IC) CCTPR.TSR) -> e(PPR.PSRJ otherwIse, no change to eCPPR) MODIFICATIONSI All except OU, Ol, CI, se, SCR INDICATORSI (IndIcators not 'isted are not affected) Exponent Underf low NOTES' REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Set OFF Attempted repetitIon wIth II'ega' Procedure Fau.t. 2-108 RPT, RPO, or RPl causes an Al39 . TRANSFER Transfer on Minus THI EDft COl FORHATa BaSic Instruction Format (See Figure 2-1). SUMMARY. If Negatl~e indicator OM then CCTPR.CA) C(PPR.IC) -> CCTPR.TSR) -> CCPPR.PSR) otherwise, no change to C(PPR) MODIFICATIONS. All except DU. Dl, CIt SC, SCR INDICATORSI None affected NOTES. Attempted repetition with Illegal Procedure Fault. RPT. RPD, or RPl Transfer On Minus or Zero THOZ an 60ft (1) FORHAT. Basic Instruction Format ISee Figure 2-1). SUHMARY. If Negatl~e causes or Zero in41cator ON then CCTPR.CA) CCTPR.TSR) CCPPR.ICI -> -> C(PPR.PSR) otherwise, no change to C(PPR) MODIFICATIONS' All except DU, Dl. CI, SC, SCR INDICATORSI None af 'ected NOTES. Attempted repetition "lth Illegal Procedure Fault. RPT. RPD, or Transfer on No Carry TNC FORHATI Basic Instruct jon Format ISee Figure 2-1). SUHMARYI If Carry Indicator OFF then C(TPR.CA) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 ~> RPl causes an 602 (0) CCPPR.IC) 2-109 AL39 TRANSFER C(TPR.TSR) -> C(PPR.PSRa otherwise, no change to C(PPR) MODIFICATIONS' All except OU, OL, CI, SC, SCR INDICATORSI None affected NOTES' Attempted repetition with Illegal Procedure Fault. RPT, RPO, or RPL Transfer On Not Zero THZ Basic Instruction Format (See Figure 2-1). SUMMARYI If Zero indicator OFF then CCTPR.TSR) an 601 (0) FORMAT' CCTPR.CA) causes C(PPR.IC) -> -> C(PPR.PSR) otherwise, no change to CCPPR) MODIFICATIONS. AI. except, OU, OL, CI, SC, SCR INDICATORS. None affected NOTES' Attempted repetition with Illegal Procedure Fault. RPT, RPD, or Transfer On Overflow TOV FORHAT' Basic Instruction Format (See Figure 2-1). SUMMARY' If Overflow indicator ON then RPL causes an 617 (0) CCTPR.CA) C(PPR.IC) C(TPR.TSR) -> CCPPR.PSR) otherwIse, no change to CCPPR) MODIFICAT IONS. All except OU, OL, CIt SC, SCR INDICATORSI (Indicators not listed are not affectej) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-110 AL39 TRANSfER OverfloM NOTES' Set OFF Attempted repetition with Illegal Procedure Fault. RPT, RPO, or RPL Transfer on Plus TPL an 605 CO) FORHATa Basic Instruction ForMat (See Figure 2-1). SUMMARya If Negative indicator OFF, then C(PTR.TSR) causes -> C(PPR.PSR) otherwise, no change to CCPPR) MODIFICATIONSl All except OUt OL, CI, se, SCR INDICATORSI None af 'ected .. NOTESI Attempted repetition wIth I.legal Procedure Fault. RPT, RPO, or RPL FORHATl an 605 (1) Transfer on Plus and Nonzero TPNZ causes Basic Instruction Format (See Figure 2-1). If Negative and Zero indicators are OFF then CCTPR.CA) -> CCPPR.IC) eCTPR.TSR) -> C(PPR.PSR) otherwise, no change to CCPPR) MODIFICATIONS. All except OU, OL, CIt se, SCR INDICATORS' None affected NOTES. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-111 RPT. RPO. or RPL causes an Al39 TRANSFER Transfer Unconditionally TRA 710 (0) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' CCTPR.CA) C(TPR.TSR) C(PPR.IC) --> --> C(PPR.PSR' MODIFICATIONS' All except DU, Ol, CI, SC, SCR INDICATORsa None af f ected NOTESI Attempted repetition wIth I.legal Procedure Fault. RPT, RPO, or RPL Transfer on Carry TRC causes an 603 (0) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' If Carry indicator ON then C(TPR.CA) CCPPR.IC) C(TPR.TSR) -> C(PPR.PSR) otherwise, no change to e(PPR) HODIFICATIONsa All except OUt OL. CI, se, SCR INDICATORS. None af rected NOTES' Attempted repetition "ith Illega' Procedure Fault. RPT, RPD, or Transfer on TruncatIon Indicator OFF TRTF FORHATa Basic Instruction Format (See Figure Z-1). SUHHARY. If Truncation Indicator OFF then C(TPR.CA) C(TPR.TSR) RPl causes an 601 (1) C(PPR.IC) -> -> C(PPR.PSR) otherwise, no change to C(PPR) Rl:.VIEW DRAFT SUBJECT TO CHANGE October, 1975 2-112 AL39 TRANSFER ct. HODIfICATIONSI All except OU, Ol, INDICATORSI None affected NOTES' Attempted repetition with Illegal Procedure Fault. TRTN T~ansfer SC. SCR RPT, RPD, or RPl on Truncation Indicator ON Basic Instruction Format (See Figure 2-1). SUHHARya If Truncation Indicator ON then -> an 600 C11 FORHATa C(TPR.CA) causes C(PPR.ICI C(TPR.TSR) -> C(PPR.PSR) otherwise, no change to C(PPRl HODIFICATIONSa All except DU. Dl, CI, SC, SCR INDICATORS' (Indicators not listed are not affected) T~uncatlon NOTESI set OFF Attempted repetition with Illegal Procedure fault. Transfer Transfer Transfer Transfer Transfer Transfer Transfer Transfer TSPO TSP1 TSP2 TSP3 TSPlt TSP5 TSPo TSP7 and and and and and and and and Set Set Set Set Set Set Set Set RPT, RPO, or PRO Plt1 PR2 PR3 PRlt PitS PRo PR7 FORMATa Basic Instruction format (See Figure 2-1). SUMMARYI For n = 0, 1 •••• , -> CCPRn.RNR) C(PPR.PSR) -> CCPRn.SNR) 00 ••• 0 RE V lEW DRAFT SUBJECT TO CHANGE October, 1975 -> -> causes an 270 271 272 273 670 ·671 672 613 (0) (0) (0) (0) (0) (0) CO) (0) or 7 as determIned by operation code C(PPR.PRR) C(PPR.IC) +1 RPl C(PRn.HORDNO) CCPRn.aITNO) 2-113 Al39 TRANSFER C(TPR.CA) -> C(PPR.IC) C(TPR.TSRJ -> C(PPR.PSR) HODIFICATIONS' All INDICATORS' None affected NOTES' Attempted repetition Mlth Illegal Procedure Fault. e~cept DU, Dl, CI, SC, SCR RPT, RPD, or RPl FORHAT' Basic Instruction Format (See Figure 2-1). SUHMARY' C(TPR.CA) -> C(PPR.IC) HODIFICATIONS' .INDICATORSI NOTES. C(TPR.TSR) -> All DU, Dl, CI, SC, SCR e~cept an 715 (0) Transfer and Set Slave TSS causes C(PPR.PSR) None affected (except as noted beloM) If the TSS instructIon is executed Mlt~ the Processor nAt in BAR mode, the Absolute indicator is set OFF, and the Not BAR Hode indicator is set OF: to signal that subseQuent addressing is to be done i~ the BA~ Hode. The Base Address Register (BAR) is used in the address preparation of the transfer, and the BAR will be used in address preparation for al I SubseQuent instructions until a fault or interrupt occurs. If the TSS instruct Ion is e~ecuted wi th the Not BAR Ho(;e Indicator alreadv OFF, it functions as a Transfer (TR~) instruction and no indicators are chan~ed. Attempted repetition Mith Illegal Procedure Fau1t. Transfer and Set TSXn Inde~ RPT, RPD, or Register Xn RPL causes an 70n (I) FORHATa BaSic Instruction Format (See Figure 2-1). SUHMARYI For n = 0, 1, ••• , or 7 as determined bV operation code C(PPR.IC) + 1 -> C(Xn) C(TPR.CA) REVIEW DRAFT SUBJECT TO CHANGE Oc tober, 1975 -> C(PPR.IC) 2-11" AL39 TRANSfER CtTPR.TSR) CCPPR.PSR) -> HODIFICATIONSI All except DU, DL, CI. SC, SCR I NDICA TORSI None af fectect NOTES' Attempted repetition with Illegal Procedure Fault. RPT, RPD, or RPL Transfer on Tally Runout Indicator OFf TTF BaSic Instruction Format (See Figure 2-1). SUMMARY. If Tally Runout Indicator OFF then C6PPR.IC) -> C(TPR.TSR) an 601 (0) FORHAT. C(TPR.CA) causes -> C(PPR.PSR) otherwise, no change to C(PPR) MODIFICATIONS: AI' except DU, DL, CIt SC, SCR INDICATORS' None affected NOTES: Attempted repetition with Illegal Procedure Fault. RPT. RPD, or RPL causes Transfer on Tally Runout Indicator ON TTti 606 (1) FORMAta Basic Instruction Format (See Figure 2-1). SUMMARY' If Tally Runout Indicator ON then ClTPR.CA) ClTPR.TSRt an C(PPR.IC) -> -> C(PPR.PSR) otherwise, no change to C(PPR) • HODIFIC ATIONS Z All except DU, OL, CI, SC, SCR INDICATORS. None affected NOTES' Attempted repetition with Ilregal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-115 . RPT, RPD, or RPL causes an Al39 TRANSFER Transfer On Zero TZE &00 (0) causes an Instruction Format (See Figure 2-1). FORHATa Basl~ SUMMARY: If Zero indicator ON then CCTPR.CA) C(TPR.TSR) C(PPR.IC) -> -> C(PPR.PSR) otherwise, no change to CCPPR) except OU, Ol, CI, se, HOD IFIC AllONS: All INDICATORS: None af fected NO TESI Attempted repetition with IJlegal Procedure Fault. REVIEW DR,.FT SUBJECT TO CHANGE October, 1915 2-11& SCR RPT, RPD, or RPL ALJ9 POINTER E f fee t i ve E f fee t i ve E t fee t i ve Effective £1 fee t i ve Ef fee t i lie E1 fee tllle E f fee t 1 ve EASPO EASPl EASPZ EASP3 EASP" EASP5 EASP& EASP7 Address Address Addr~ss Address Address Address Address Address to to to to to to to to Seglllent Segment Segment Segment Segment Segment Segment Segment DATA MOVEMENT LOAD REGISTE~ Number Number Number Number Number Number Number Numb er of of of of of of of of PRD PR1 PR2 PiU PRit PR5 PRo PR7 FORHATI Basic lnstruc t i on Format (See Figure 2-U. SUMHARY' For n = 0, 1, CCTPR.CA) ... , -> INDICATORSI None af fected Attempted execution Procedure Fault. In BAR Attempted repetItion with Illegal Procedure Fault. Eff ec t 1 ve E1 f ec tllle Ef feet lve Effective Et f ec t 1 ve Effective Effective E f fee t I lie Address Address Address Address Address Address Address Address to to to to to to to to Word/Sl t Word/Bit Word/Sit Word/Sl t WordlBlt Word/Bit Word/Blt Word/BIt Mode R?T, causes RPD. Number Number Number Number Number Number Numl3er Number of of of of of of of of or PRO PRl PR2 PR3 PRIt PR5 PRo PR7 FORHATI Basic Instruc t Ion Format (See Figure 2-1'. SUHHARYI For n = o. 1. C(TPR.CA) ... , -> (1) an II lega I RPL causes an 310 311 312 313 330 331 332 333 (0) (1) (0) (1) (0) (1) CO) (1) or 7 as determIned ov operation code -> C(Prn.CHAR) C(TPR.TBR) modulo 9 REVIEW DRAfT SUBJECT TO CHANGE October, 1975 COJ C(PRn.WORDNO) C(TPR.TBR) I 9 MODIFICATIONS! (U C(PRn.SNR) All except OU, OL, CI, SC, SCR EAWPO EAWP1 EAWP2 EAWP3 EAWP" EAWP5 EAWP& EAWP7 (01 (0 (0' or 7 as determIned bv operation code HODIFICATIONS' ~NOTESI (OJ (1' 311 310 313 312 331 330 333 332 -> C(PRn.8ITNO) All except OU, DL, CI, SC, SCR 2-117 AL39 POINTER REGISTER DATA MOVEMENT LOAD INDICATORSI None af fected NOTES' Attempted execution Procedure Fault. BAR Mode Attempted repetition with Illegal Procedure Fault. RPT. Pol nter Pol nter Pointer Poi nt er Poi nt er Pointer Poi nt er Poi nt er PRO PRl PR2 PR3 PRCt PR5 PRE) PR7 Effective Effective Effective Effective Effec'tive Effective E f fec tl ve E f fee t i ve EPBPO EPBP1 EPBP2 EPBP3 EPBPCt EPBP5 EPBPE) EPBP7 in FORMATI Basic Instruction SUMMARY. For n = 0, at at at at at at at at Base Base Base Base Base Base ease Base For~at to to to to to to to to causes RPD. or an Illegal RPL causes an 350 351 352 353 370 :!71 372 373 (1) (D) (1) (0 ) (1) (0) (U CO) (See Figure 2-1). 1 ••••• or 7 as determined ,y operation code C(TPR.TRR) -> C(PRn.RN~) CCTPR.TSR) -> C(PRn.SNR) 00 ••• 0 -> C(Prn.WORONO) 00 ~> 0000 C(Prn.CHAR) -> C(PRn.BtTNO) HOOIFICA lIONSI All except OU, OL. CI, SC. SCR INDICATORS: None affected NOTES. Attempted execution Procedure Fault. in BAR Attempted repetition with Illegal Procedure Fault. EPPO EPPl Effective Pointer to PRO Effective Pointer to PR1 EPP2 EPP3 EPPCt EPP5 EPPE) EPP7 E f f ec t i ve Effective Effective Effective Effective Effective FORHATa REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Pol nter P'ol nter Pointer P 01 nter Pointer Pointer to to to to to to Mode R?T, causes RPO, or PR2 PR3 PRIt PR5 PRE) PR7 an Illegal RPL causes an 350 (0) 351 (U 352 (0) 353 (1) 370 ( 0 ) 371 (1) 372 ( II ) 373 (1) Oasic Instruction Format (See Figure 2-0. 2-118 AL39 POINTER SUHHARY. For n = 0, REGISTE~ DATA MOVEMENT LOAD 1 •••• , or 7 as determined by operation code C(TPR.TRR) -> C(PRn.RNR) C(TPR.TSRa -> C(PRn.SNR) C(TPR.CA) -> C(PRn.WORONO) C(TPR.TBR) I 9 -> C(PRn.CHAR) C(TPR.TBR) modulo 9 -> C(PRn.BITNO) MODIFICATIONSI All except OU, OL, CI, SC, SCR INDICATORS: None af fected NOTES. Attempted eKecut!on Procedure Fault. in BAR Attempted repetition with Illegal Procedure Fault. Hade RPT. an causes RPO, or RPl causes an 173 CO) load Pointer RegIsters from ITS Pairs LPRI .. FORHAT. SUMMARY. I I • ega I BaSic Instruction Format (See Figure 2-1) • For n = 0, 1, ••• , 7 Hax i mum of C(Y+Zn-pair)18,ZO; CISCH.RI); C{TPR.TRR) -> C(PRn.RN~) C(Y+Zn-palr)3,17 -> C(PRn.SNR) C(Y+Zn-palr)3&,53 -> C(PRn.WORJNO) C(Y+2n-palr)57,&Z I q -> C(Prn.CHAR) C(Y+Zn-pair)57,&2 modulo 9 -> C(PRn.BITNO) HODIFICATIONS' All except CU, Ol, CI, SC, SCR INDICATORS: None Af fected NOTES' Starting at location Y, the. contents of eight word pairs (in ITS pair format) replace the contents of Pointer Registers 0 through 1 as shown. The h3rd~are assymes that Y14,11 = 0000 and addressing is Incre~ented accordlngly; no check is made. Since C(TPR.TRR) and C(SDW.Rl) are Absolute mode, C(Y+Zn-pair)18,ZO are in Absolute mode. REVIEW DR ~FT SUBJECT TO CHANGE October, 1975 2-119 b~th eQual to zero In into PRn.~N~ I~aded AL39 POINTER RE~ISTER DATA MOVEMENT LOAD Attempted execution Procedure Fault. in Attempted repetition with Illegal Procedure Fault. BAR Hode causes RPT, RPO. or an RPL causes Load PRn Packed LPRPn Illegal an 7&n (OJ FORHAT' Basic Inst~uctlon SUMHARY. For n = Q. Format (See Figure 2-1). 1 ••••• or 7 as determlned 3Y operation code C(TPR.TRR) -> C(PRn.RNR) If C(Y)O.2 ~ 11, then C(Y)O.S I 9 -> C(PRn.CHAR) C(Y)Q,S modulo 9 -> C(PRn.BITNO); otherwise, generate Command Fault If C(Y)&.17 = 11 ••• 1, then 111 -> C(PRn.SNR)O,2 otherwise, 000 -> C(PRn.SNR)O.2 C(Y)G.17 -> C(PRn.SNR)3,1~ C(Y)18,35 -> C(PRn.HORDNO) except OUt OL. CI, SC, SCR MODIFICATIONSI AI~ INDICATORS' None af 'ected NOTESI Binary -1-s in C(Y)O,2 correspond to an i l legal BITNO, that is, a bit posltion beyond t~e extent of C(Y). Detection of these bits causes a Comma~d Fault. Attempted execution Procedure Fault. in BAR Attempted repetition Kith Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1q75 2-120 Hode RPT, causes RPO, or an II legal RPl causes an POINTER REGISTER DATA MOVEMENT STORE Store Stor'e Store Store Store store Store Store SPBPO spap1 SPBPZ spap3 spap,. SPBP5 spap& spap7 Segment Segment Se,)ment Segment Segment Segment Segment Segment Base Po inter Base Pointer ~ase Pointer Base Pointer Base Pointer Base Poi.nter Base Pointer Base Pointer 0'of 0' of of of of of FORMATa BasIc Instruction Format (See Figure 2-1). SUMMARYI For n = O. 1 ••••• or 7 as determined C(PRn.SNR) -> (1) ( 0) 250 251 252 253 &50 651 652 653 PRO PR1 PR2 PR3 PR4 PR5 PR6 PR7 oy (1) (0 ) (1) (0) (1) (0 ) operation code ClY-palr)3.17 C(PRn.RNR) -> C(V-pair)18.20 000 -> CCY-palr)O.2 00 ••• 0 -> CCY-pair)21.29 43 (octal) -> C(Y-palr)30,3S 00 ••• 0 -> C(Y-pair)36,71 "'MODIFICATIONS I All except DU. Ol, CIt se. SCR INDICATORSI None affected NOTES' The hardware assumes Y bit 17 Attempted execution Procedure Fault. In = 0; BAR Attempted repetition with Illegal Procedure Fault. no check is made. Mode RPT. causes RPD. or Store Pointer Registers as ITS Pairs SPRI FORHATI Basic Instruction Format (See figure 2-1). SUHMARya For n = O. an I lie gal RPl causes an 25,. (at 1 ••••• 1 000 -> C(Y+2n-pair)O.2 C(PRn.SNRl -> C(Y+2n-pair13.17 C(PRn.RNR) -> C(Y+2n-pair)18.20 00 ••• 0 REVIEW DRAFT SUBJECT TO CHANGE October. 1975 -> C(Y+2n-pairlZ1.29 2-121 AL39 POINTER REGISTER DATA MOVEMENT STORE 43 (octat) -> CCY+2n-palr)30,35 C(PRn.HORONO) -> CIY+2n-pair)3&,53 000 -> C(Y+2n-palr)54,5& 9 • CCPRn.CHAR) + CCPRn.BITNO) -> CCY+2n-pair)57,&2 00 ••• 0 -> CtV+2n-pair)63,7l MODIFICATIONSI All except DU. Dli CI, SC. SCR INDICATORS. None. af f ec ted NOTES. Starting at location Y, the contents of Pointer Registers o through 7 replace the contents of eight word pairs (in ITS pair format). The hardware assumes V bits 14 to 17 0000 and addressing is incremented accordInglv; no check is made. = Attemped execution In BAR Hode causes 3n Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. SPRID Store Store Store Store Store Store Store Store SPRI1 SPRI2 SPRI3 SPRI4 SPRIS SPRIG SPRI7 PRO PR1 PR2 PR3 PRlt PR5 PRo PR7 as as as as as as as as ITS ITS ITS ITS ITS ITS ITS ITS RPT, RPD, or causes Pair Pair PaIr Pair Pair Pair Pair Pair FORHATa Basic Instruction Format (See Figure 2-1). SUHMARY I For n = 0, RPL 1, ••• , or 7 as determined DY operation code 000 -> CCY-pair)O,2 CCPRn.SNR) -> CIY-pair)3,l7 CCPRn.RNR) -> CCY-pair)18,20 00 ••• 0 -> C(Y-pair)21,Z9 43 (octal) -> CCY-pair)30,35 C(PRn.HORONO) -> C(Y-pair)36,53 000 -> CtV-pairl54,56 9 • CCPRn.CHAR) + C(PRn.BITNO) -> C(Y-Dair)57,&2 REVIEH DRAFT SUBJECT TO CHANGE October, 1975 250 251 252 253 650 651 652 653 2-122 an (0) (1) (() (1) (0) (1) to) (1) POINTER REGISTER DATA HOVEMENT STORE HODlfICATIONSZ All except DU. Olt CIt SC t SCR INDICATORSI None affected NOTESI The hardware assumes Y bit 17 Attempted execution Procedure Fau I t . in Attempted repetition with Illegal Procedure Fault. = 0; no ::heck is made. BAR Hode causes RPT, RPD. or an RPl causes an 54n (0)> Store PRn Packed SPRPn fORHATa Basic Instruction Format (See FIgure 2-1). SUMMARYI For n = O. II Ie 9a I 1 ••••• or 7 as determined oy operation code 9 • C(PRn.CHAR) + C(PRn.BITN~) -> C(Y)O.5 C(PRn.SNR)3.14 -> C(Y)6.17 C(PRn.WORONO) -> CIY)18.3S MODIFICATIONS' All except DU. Ol, CI, SC, SCR INDICATORS: None at fected NOTESI If C(PRn.SNR)O,2 are nonzero, and C(PRn.SNR) _ 11 ••• 1. then a Store Fault. Illegal Pointer. Mill occur and C(Y) will not be changed. Attempted execution Procedure Fault. in BAR Attempted repetItion with Illegal Procedure Fault. REVIEW DRAfT SUBJECT TO CHANGE October. 1975 2-123 Mode RPT. causes RPO, or an Illegal RPl causes an Al39 POINTER REGISTER ADDRESS ARITHMETIC Add Add Add Add Add Add Add Add ADWPO AOHPl AOWP2 ADWP3 AOWPIt AOWP5 AOHP6 ADHP7 FORHATI SUHHAKYI to to to to to to to to Word Word Word Word Word Hord Word Word Register Register Register Register Register Register Register Register of of of of of of of of PRO PR1 PR2 PR3 PRft PR5 PR6 PR7 050 051 052 D53 150 151 152 153 CO) (0) (0) (0) (0) (0) (0) (0 ) Basic Instruction Format (See Figure 2-1). -For n : 0, 1, •••• or 7 as determined CeY)O,17 + C(PRn.WORONO) 00 -> -> ~v operation code C(PRn.WJRDNOa C(PRn.CHAR) 0000 -> C(PRn.BITNO) MODIFICATIONS' All except OL, CIt SC, SCR INDICATORSI None af fee ted HOTESI Attempted execution Procedure Fault. In BAR Attempted repetition with Illegat Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-12" Hode RPT, causes RPO, or an I I Ie ga' RPL causes an AL39 POINTER RE;ISTER HISCEllANEOUS -P Q i 0 t ec.:B.cgl..S.J:j:C-!1.U"1..L.m~i Effective Pointer to AQ Register EPAQ 213 CO) FORHATI BaSic Instruction Format CSee Figure 2-1). SUMHARYI 00 ••• 0 CCAQ)O.Z -> CCTPR.TSR) 00 ••• 0 -> CCAQ)3.17 CCAQ)18,32 -> C(TPR.TRR) -> CCAQ)33,35 CCTPR.CA) -> CCAQ)3o.53 00 ••• 0 -> CCAQ)54.o5 C(TPR.TBR) -> CCAQ)&o,71 MODIFICATIONS' All eKcept OUt Ol, CIt SC, SCR INDICATORS. (tndlcators not listed are not Zero NOTES' If CCAQ) = 0. affecte~) then ON; otherwise OFF Attempted eKecution Procedure Fault. In BAR Attempted repetItion with Illegal Procedure Fault. Mode RPT. causes RPO. or an I I Ie 9a' RPL causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-125 AL39 CALENDAR CLOCK RCCL 633 (0) Read Calendar CJock FORMATI Basic Instruction Format (See Flgure 2-1). 00 ••• 0 -> CCAQ)0.19 CCCal.endar Clock) -> CCAQ)20.71 except OUt Ol. CIt se. MODIFICATIONS' All INDICATORS' None af f ected NOTES' CCTPR.CAJO,2 specify which Processor port CI.e.. which System Controller) is to be used. The contents of the clock in the designated System Cont~oller replace the contents of the AQ-register as Shown. Attempted ~xecutlon Procedure Fault. In Attempted repetItion with Illegal Procedure Fault. REVIEW DRAFT SUOJECT TO CHANGE October. 1975 2-126 SCR BAR Hode causes PRJ, RPD, or RPl an II legal causes an AL39 DE~AIl D·era! I DRL OD 2 10» fORHATa Basic Instruction Format (See Figure 2-1). SUMMARY: Causes a fault which fetches and executes, In Abso'~te Mode, the instruction pair at m3in store location C+1~(octal). The value of C is obtained from the F4UlT VECTOR switches on the Processor Configuration Panel. MODIFICATIONS: All, INDICATORsa None af lee ted NOTESI Except for the different constant used for fetching the instruction pair from main store. the DRL Instruction Is identical to the Haster Mode Entrv (MH~) instruction. bu~ none affect in~truction Attempted repetition with Illegal ProcedUre fault. REVIEW DRAFT SUBJECT TO CHANGE Octo er, 1f~75 2-127 RPT, execution RPD, or RPL causes an Al39 EXECUTE XEC Execute 716 (0) FORHAT' Basic Instruction Format (See Figure 2-1». SUMHARY I Fetch and MODIFICATIONS' All except DU. OL, CI. SC. SCR INDICATORS' None af fected NOTESI The XEC instruction itself does not affect any indicator. However. the execution of/the instruction from Cey) may affect indicators. e~ectue the Instruction in C(Y) If the execution of the instruction from CeYt modifies C(PPR.tC). then a transfer of control occurs; otherwise. the next instruction to be executej is fetched from C(PPR.IC)+l. To execute a Repeat Double (RPD) instruction, the XEC instruction must be in an odd location. The instruction pair repeated Is that instruction oair at C(PRR.IC)+l, that Is, the instruction pair Immediately following the XEC instruction. C(PPR.IC) Is adJusted during the execution of the repeated instruction pair so that the next Instruction fetched for execution is from the first word following the repeated Instructio~ pair. EIS Hultiword instructions may be executed but the reQuired Data Descriptors must be located immediately after the XEC instruction, that Is, starting at CCPRR.IC) + 1. C(PRR.ICt is adjusted during execution of the EIS Hultiword instruction so that the next instruction fetched for execution Is from the first word following the EIS Data Descriptors. Attempted repetition wIth Illegal Procedure Fault. REVIEW OR~FT SUBJECT TO CHANGE October. 1915 2-128 RPT. RPD, or RPL causes an AL39 EXECUTE XED 717 (D) Execute DGuble FORHATa Basic Instruction Format (See Figure 2-1). SUMMARY' Fetch and MODIFICATIONS I All except OU, oL, CI, INDICATORSI None affected NOTES. The XED instruction itsel f does nGt affect any However, the execution of the instruction C(Y-pair) may affect Indicators. exec~te the instruction pair at CIY-paIr) se, SCR indicator. pair fro. The even instruction from CCY-pair) must not after C(Y-pairJ36,71, and must not be another XED Instruction. If ,the execution of the instruction P3ir from CCY-pair) alters C(PPR.IC), then a transfer of control occurs; otherwise, the next instruction to be executed Is fetChed from ClPPR.IC)+1. If the even instruction from ClY-pair) alters C(PPR.IC), then the transfer of control Is effective immediately and the odd instruction is not executed. To execute an InstructIon pair havln~ a Repeat Do~ble (RPo) instruction as the odd instruction, the XED must be located at an odd address. The Instruction pair repeated is that instruction pair at ClPRR.I:) + 1. that Is, the instruction pair immediately folloMing the XED instruction. C(PPR.IC) is adJusted ~uring the execution of the repeated instruction pair so the the next instruction fetched for execution is from the first Mord follo"lng the repeated instruction pai~. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 An attempt to execute an EIS Hultiword cause an Illegal Procedure fault. instruction Attempted repetition with illeal Procedure Fault. or 2-129 RPT, RPo, "111 RPL causes an AL39 HASTER HOOE ENTRY Haster Hode Entry "HE 001 (0) FORHATa Basic Instruction Format (See Figure 2-1). SUHHARYI Causes a fault that fetches and executes, In Absolute Hode, the instruction pair at main store location C+4(octal). The value of C is obtained 'rom the FAULT VECTOR switches on the Processor Configuration Panel. HODIFICATIONS; All, but none affect INDICATORS: None affected NOTES' Execution of the HHE conditIonsl instruction execution instruction implies the follow1ng Ourl~g the execution of the HHE instruction and the two instructions fetched, tne Processor is temporarily in Absolute Hode inde~endent of the value of the Absolute Hode indicator. The Processor stays in Absolute Hode If the Absolute Hode indicator is ON afte~ the execution of the instructions. The instruction at C+4 must not alter the contents of main store location C+5, and ~ust not be an XED instructIon. If the contents of the instruction counter (PPR.IC) are changed during execution of the Instruction paIr at C+~, the next instruction is fetched from the modified C(PRR.IC); otherwise, t~e next instruction Is fetched from C(PPR.IC)+l. If the instruction at C+~ alters ~(PPR.IC), then this transfer of control is effective immediately, and the inst~uctlon at C+5 is not execute~. Attempted II legal REVIEW DRAFT SUBJECT TO CHANGE October, 1975 repetition with RPT, Fault. Proced~e 2-130 R~D, or RPL causes an HASTER HODE ENTRY Haster Hode Entry 2 HME2 004 (0) fORHATa Basic Instruction Format (See Figure 2-1t. SU"HARYI Causes a faul t that fetches and executes, In Absol ute Mode, the instructIon pai~ at main sto~e location C+52(octal). The value of C is obtained from the fAULT VECTOR switches on the Processor Configuration Panel. HODIfICATIONS: All, but none affect Instruction executlon INDICATORS: None af fected NOTESI Attempted execution in BAR mode Procedure, Illegal Opcode Fault. causes an I I Ie ga I Except for the dIfferent constant used for fetchlng the instruction pair from main store, the ~ME2 instructIon is identical to the Haster Mode Entry (MM~) instruction. Attempted repetItion with Illegal procedure Fault. RPT, RPD, or RPL causes an Haster Hode Entry 3 "ME3 005 (0) FORHATI BasIc Instruction Format (See Figure 2-1). SUHHARYI Causes a fault that fetches and eKecutes, in Absolute Mode, the Instruction pair at main store location C+54(octal). The value of C is obtained from the fAULT VECTOR switches on the Processor Configuration Panel. MODIFICATIONS: All, but none affect instruction eKecutlon INDICA TORS: None af NOTESI Attempted eKecutlon in BAR mode Procedure, 11 legal Opcode Fault. fect~1 causes an Illegal Except for the dlfferent constant used for fetching the instruction pair from main store, the ~ME3 instruction is identical to the Haster Hode Entry (MHE) instruction. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1'375 2-131 RPT, RPO, or RPL causes an AL39 HASTER HODE ENTRY Haster Hode Entry It HHElt 007 (0) FORHAT. Basic Instruction Format (See Figure 2-1). SUHMARYI Causes a fault that fetches and executes, in Absolute Hode, the instruction pair at main store location C+5&(octal). Tne value of C is obtained from the F4UlT VECTOR switches on the Processor Configuration Panel. MODIFICATIONSI All, but none affect instruction execution INDICATORS: None af fected NOTES' Attempted. execution in BAR mode Procedure, II legal Opcode Fault. causes an III egal Except for the different constant used for fetching tne instruction pair from main store, the MME4 instruction is Identcal to the Haster Hode Entry (MHE) instruction. Attempted repetition with Illegal Procedure Fault. RPT, RPO, or RPL causes an REVIEW DRAFT SUBJECT TO CHANGE Oct 0 b er , 1975 2-132 AL39 NO OP ER.A lION Nap 011 (0) No Operation FaRHAT' Basic Instruction Format (See Figure 2-1). SUMMARY' No operation takes place MODIfICATIONS I All INDICATORSZ None affected (except as noted beloM) NOTES' No operation takes place but address preparation is performed according to the specifled modifier, if any. If modification other than OU or Dl is used, tne effective addresses generated may cause Store Fa~lts. The use of Indlrect and Tallv modifiers causes chanses In the address and tally fields of the referenced Indirect Words and the lally Runout indicator may be set ON as a result. Attempted repetition Mith Illegal Procedure Fault. RPT, RPD, or 012 (0) Pulse One PULSl RPL causes an FORHATa Basic Instruction Format (See Figure 2-1). SUMMARY' No operation takes place MODIFICATIONSI All INDICATORSZ None affected (except as noted bel OM' NOTESz The PUlSl instruction is identIcal to the No Operation (NOP) instruction except that it C3uses certain uniQue synchronizing signals to appear in tne Processor logic circuitry. Attempted repetItion Mlth Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-133 RPT,. RPO. or RPL causes an Al39 NO OPERATION 013 (0) Pulse Two PULS2 FORMATS Basic Instruction Format (See Figure 2-1). SUMMARYI No operation takes place MODIFICATIONSI All INDICATORS. None affected (except as NOTES. The PULS2 Instruction is identical to the No Operation (NOP) Instruction except that it Cluses certain unique synchronIzing signals to appear In t~e Processor logic cIrcuitry. ~oted Attempted repetition with Illega' ~rocedure Fault. REVIEW DR~FT SUBJECT TO CHANGE October, 1975 2-134 below) RPT, RPO, or RPL causes an REPEAT RPD 5&0 (0) Repeat Double FORHATa a I I o 0 1 1 1 1 22223 3 -LJ-.3.J_l ---1--a. -LLa.-LO 2 0 -D. TALLY I t a I I I tAa31Cl Term. Cond. 1 I I I I I 7 8 1 1 1 1 Figure 2-9 I (5&0)8 I I I 1011101 I DEL TA I I --L.1 I I 911 1 & Repeat Double (RPD) Instruction Word Format SUMMARYI Execute the pair of instructions at C(PPR.IC)+l either a specified number of times or until a s~ecified terminatIon condition Is met. MODIFICATIONSI None INDICATORS' (Indicators not listed are not affected) =0 at terminatIon. then ON; otherwise. OFF Tally Runout If CeXO)O,7 All other Indicators None affected. However. the execution of instructions may affect indicators. NOTEsa the repeated The RPD instruction must be stored in ~n odd main store location except when accessed vIa the XEC or XED instructions, in which case the XEC or XED instructIon must itself be in an odd main store location. Both repeated instructions must use R or RI modifiers and only Xl. X2, •••• X7 are permittej. For the purposes of this description, the even repeated i~struction shall use X-even and the odd repeated Instr~ctio~ shall use. X-odd. X-even and X-odd may be the same register. If C = 1, then C(RPO instruction word)O.11 -> C(XO); otherwise, C(XO) unchanged prior to executIon. The termination condltion and tallt fIelds of C(XO) control the repetit Ion of the instruction paIr. An initial tally of zero is interpreted ai 25&. The repetition cycle consists of the fol lowing stepsl R[VIEW DRAFT SUBJECT TO CHANGE October. 1915 a. Execute the pair of repeated b. C(XO)O.7 - 1 -> C(XO)O.7 Modify C(X-even) and C(X-odd) as jescrlbed below. c. If C(XO)O,7 0. then set Tally Runout and terminate. = 2-135 inst~uctlons indicator ON AL39 REPEAT d. If a terminate condition has been met. then set Tallv Runout indicator OfF and terminate. e. Go to step a. If a Processor Fault occurs during the exection of the instruction pair. the repetition 'oop is terminated and control passes to the Fault Trap accoroing to the conditions for the Processor Fault. C(XO), C(X-even), and C(X-odd) are not updated for the repetition cvcle in ~hich the fault occurs. Note· in partic~lar that certain Processor Faults occurring during e~ecution of the even instruction preclude the e~ecutlon of the odd instruction for the faulting repetition cyc'e. . EIS instructions cannot be ~epeated. All other be repeated except as noted for individual instructions or those that ••• Multi~ord ~nstructions ~av Explicitly alter C(XO) The effective address, Y. of the operand (in the case of R modification) or indirect ~ord (i~ the case of RI modification) is determined as fol10~sl ... for the first execution of the repeate~ C(C(PPR.IC)+1)O.17 + C(X-even) C(X-evenJ C(CIPPR.IC)+Z)O.17 + C(X-odd) -. CIX-odd) instruction -> Y; pair V-even -> V-odd -> V-odd; For all successive executions of the -epeated instruction pair ••• = if CeXO)8 1. then CIX-even) + Delta -> V-even, V-even -> C(X-even); other~ise, CIX-even) -> V-even = if CIXO)9 1, then C(X-odd) + Delta -> V-odd, C(X-Odd); otherwise, C(X-odd) -> V-odd V-odd -> C(XO)8.9 correspond to Control BIts A and B. respectively, of the RPD instruction. In the case of RI modification. only one indirect reference is made per repeated execution. The tag field of the indirect word is not interpreted. The indirect word is treated as though it had R modification with R N. = The bit configuration in C(XO)11.17 defines the conditions for which ~he repetition loop is t~rminated. The terminate conditions are examined at the completion of e~ecutlon of the odd instruction. If more than one condition is specified. the repeat terlinates if any of the specified conditlons are met. Slt 17 REVIEW DRAfT SUBJECT TO CHANGE October. 1975 =0 Ignore all overflo~s. Do not set Indicator; inhibit Overflo~ Fault. Z-13& Overflo~ AL39 REPEAT Bit 17 =1 If Overflow Hask indicat~r is ON. then set Over flo M indicator and terllina te; otherwise. cause an Overflow Fault. Bit 16 =1 Terminate if Carry indicator OFF. Bit 15 = 1 Terminate if Carry indicator ON. Bit 14 = 1 Terminate if Negative indicator OFF. Bi t 13 81t 12 =1 =1 Bit 11 = 1 Terminate if Negative in~icator O~. Terminate if Zero indicator OFF. Terminate If Zero indicator ON. At the tlme of terminationS ceXO)O.7 contaIn the Tally Resilue; number of repeats remaini ng un t 11 would have occurred. that Is. the a lallv Runout is If the RPO instruction interrupted eby anv fault) before ter.inatlon, the Tally Runout indicator is OFF. CeX-even) and CeX-odd) contain the effective addresses of the next operands or indirect words that would have been used had the repetition loop not terminated. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-137 RPl, RPO. or RPL causes an AL39 REPEAT Repeat link RPl 500 (0) FORHATa Z II I J a 3..Jl_l I 10 TALLY I I 8 I ----L8 3 ~~~9-LO__•______45_ I I OICI Term. Cond. I L.L --1. 7 Z 1 1 Figure 2-10 Z Z 2 Z 3 1 1 0 0 0 1 1 0 (500)8 _____________ I I I I I 10111010 0 0 0 0 O. --1-1~1~; __________ 9 111 ~1 6 Repeat link (RPl) Instruction Word Format SUMMARY' Execute the instruction at C(p~R.Ie)+l either a specified number of times or until a specified termination condition is lIet. MODIFICATIONSI None INDICATORS: (Indicators not listed are not affecte~) = =0 Runout If CeXO)O,l 0 or link address eeY) then ON; otherwise OFF All other Indicators None affecte~. HONever, the executIon of instruction may affect indicators. Tallv NOTESI at termination, the repeated The repeated instruction must use an R modifier and only Xl, XZ, ••• , X7 are permitted. For the purposes of thiS description, the repeated instruction shal I use Xn. = If C 1, then otherwise, C(XD) ClRPL instruction Nord)O,17 prior to execution. -> C(XO); unchan~ed The termination concition and tall, fields of C(XO) control the repetition of the instruction. An inItIal tally of zero is interpreted as 256. The repetItion cycle consists of the following stepsi REVIEW DRltFT SUBJECT TO CHANGE October, 1975 a. Execute the repeated instruction b. C(XO)O,7 - 1 -> C(XOIO,7 Hodify CeXn) as descrlbed bel OM. c. If C(XO)O,7 = 0 or e(Y)O,ll 0, Runout indicator ON and terminate. d. If a e. Go to step a. = then set Tally ter~inate condition has been met, then set Tally Runout indicator OFF and terminate. 2-138 AL39 REPEAT If a Processor Fault occurs dur-i"g the exection of the instruction, the repetition 10~~ is te~mlnated and control passes to the Faul t Trap a::;clt,"ding to' the condi t ions for the Processor fault. ceXO) and C(Xn) are not updated for the repetition cyc'~ in .hlch the fault occurs. EIS Hultiw ord instructions cannot be repeated. instructions may be repeated ex:ept as Inaividual instr~ctlons or those that ••• A II noted other for Explicitlv alter C(XO) ExplicItlv alter the 1ink address, C(YlO,17 The effective address, Y, of the is determined opera~d f 01 1 OlliS : For the first execution of the repeated instruction CeC(PPR.IC)+1)O,17 + C(Xn) for -> Y; Y all successive executions of the C eXn) -> Y if CeYtO,17 # 0, then C(Y)O,17 no Change to CeXn) -> -> as ... C(Xn) ~epeated instructIon C(Xn); otherwise, C(Y)O,17 Is known as the link address and is the effective address of the next entry in a threaded list of operands to be referenced by the repeated instr~ction. The operand data is formed as where p is 35 for single precision double precision operands. ope~ands and 71 for The bit configuration in C(XO)11,17 a~d the link address, C(YlO,17, define the conditions for which the repetition loop is terminated. The terminate conditions are examined at the completion of execution of the Inst~uction. If more than one condition is specified, the repeat terminates if any of the specified conditions are·met. C(Y)O,17 = ° Set Tally Runout indicator ON and terminate. Bit 17 =0 Ignore all overftows. 00 not set Indicator; inhibit Overflo. fault. 17 =1 If Overflow Mask B1 t indicat~r is ON, Overflow then set terllinate; and Overf low indicator otherMise, cause an Overflow fault. Bit 1& = 1 Bit 15 =1 Bit 14 = 1 REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Terminate if Carrv indicator OfF. Terminate 1 f Carry indicator ON. Terminate if Negat i ve injlcator Off. 2-13'9 AL39 REPEAT Bit 13 :: 1 Terminate if Negative Bit 12 :: 1 Terminate if Zero indIcator OFF. 8i t Terminate if Zero indicator ON. 11 :: 1 ln~lcator ON. At the time of terminationl C(XO)O,7 contain the Tallv Residue; number of repeats remaining u~til "ould have occurred. that i 5, the a Tal IV Runout If the RPL instruction is interrupted (bv any fault) before termination, the Tallv Runout indicator Is OFF. C(Xn) contain the last link address, that is, the effective address of the list word containing the last operand data and the Da¥l li~k address. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-1lt 0 RPT, RPO, or RPl causes an REPEAT Repeat RPT 520 (0)> FORHATa o 0 0 o 1 1 1 1 - L -_ _ _ -LA.-3_lL.1_____--L8 J I I 10 TALLY I I 8 I 3 ~ J I J I a011101 I I (520)8 OICI Term. Cond. I I I ----L 7 211 Figure 2-11 2 2 2 Z l _LLa.-L1J. DELTA I I I _LJ 9 1 1 1 Repeat (RPT) Instruction Word , I 6 Fo~mat SUMMARY" Execute the instruction at C(PPR.ICt+l either a specified number of times or until a specified termination condition 1 s me t. MODIFICATIONS I None INDICATORsa (Indicators not _,sted are not affectej) = D at Tally Runout If C(XO)O,7 AI. other Non. affected. However, the execution of Instruction may affect indicators. Indicators NOTES' termination, then O~; otherwIse, OFF the repeated The repeated instruction must use an R or RI modifier and only Xl, X2, ••• , X7 are permitted. For the purposes of thiS description, the repeated instruction shall use Xn. = If C 1. then C(RPT instructIon word)O,17 otherwise. C(XO) unchanged prior to execution. -> C(XO); The termination condition and tallt fields of C(XO) control the repetition of the instruction pair. An Initial tally of zero is interpreted a~ 256. The repetition cycle consists of the following stepsa REVIEW DRlIFT SUBJECT TO CHANGE October. 1q75 a. Exec~te the repeated instruction b. C(XO)O,7 - 1 -> CeXO)O,7 Modify C(Xn) as described below c. If C~XO)O,7 = 0, then set Tally and term inate d. If a terminate condition has been met, then set Tally Runout indicator OFF and terminate e. Go to step a 2-1" 1 R~nout indicator ON AL39 R[PEAT If a Processor Fault occurs during the exection of the instruction, the repetition loop is te~minated and control passes to the Fault Trap according to the conditions for the. Processor Fau It. C (XO) and C( Xn) are not updated for the repetition cycle In which the fault occurs. EIS Hultiword inst~uctions cannot be repeated. instructions may be repeated ex:ept as individual instructions or those that ••• All other noted for Explicitly alter C(XO) Explicitlv alter C(PPR.IC)+2 The effectIve address, Y, of the opera~d (in the case of R modification) or indirect word Un the case of RI modification) is determined as foilowsl For the first execution of the repeatej instruction C(C(PPR.IC)+I)O,17 + C(Xn) ... For -> V; Y all successive executions of the if C(XOl8 : 1, then C(Xn) + Delta otherwise, C(Xn) -> V C(XO)8 corresponds instruction. to Control -> C(Xn) ~epeated -> Bit ... instruction V, Y -> A of C(Xn); the RPO In the case of RI modificatIon. only one indirect reference Is made per repeated execution. The tag fIeld of the indirect word is not interpreted. The indIrect word is treated as though it had R modification with R ~ N. The bit confl~uratlon in C(XO)II.11 defines the conditions for which the repetItion loop is terminated. The terminate conditions are examine~ at the completion of execution of the instruction. If more than one condition Is specified, the repeat terminates if any of the specified conditions are met. Bit 17 =0 Ignore all overflows. Do not set Indicator; inhibit Overflow Fault. Overflow 81t 11 : 1 If Overflow Hask indicat~r is ON, then set OverfJoM indicator and terminate; otherwise, cause an Overflow Fault. Bit 16 = 1 Terminate if Carry indicator OFF. Bit 15 Blt 14 =1 =1 Bit 13 : Bit 12 =1 =1 Blt 11 1 Terminate if Carry indicator ON. Termi.nate if Negat ive in:iicator OFF. Terlllinate if Negat ive indicator ON. Terminate if Zero indicator OFF. Terminate if Zero indicator ON. REVIEW DRAFT SUBJECT to CHANGE October, 1975 2-1"2 AL39 REPEAT At the time of termination' C(XO)O,7 contain the Tallv Resl::tue; number of repeat~ remaining unt i I would have occurred. that is, the a Ta I I y Run 0 u t If the RPT instruction Is interru3ted (by any fault) before termination, the Tallv Runout indicator is OFF. C(Xn) contain the effective address of the next operand or indirect wo~d that would have been used had the repetition loop not terminated. Attempted repetition with Illegal Procedure Fault. RPT, RPO, or RPl causes an RE.VIEW DRAFT SUBJECT TO CHANGE October, 1975 2-143 AL39 RING ALARM REGISTER Stor-e Ring Alar-II SRA 75 .. (1) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' 00 ••• 0 -> CCY)O.32 C(RALR) -> CCY)33,35 MODIFICATIONSI All except OU, DL, CIt INDICATORS' None a11ected NOTES: Attempted execution Procedure Fault. se, In SCR BAR Attempted repetition wIth Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Mode RPT, causes RPO, or an Illegal RPL causes an AL39 STORE 8.SE ADDRESS REGISTER SBAR Store Base Add~ess Basic Instruction For.at SUMMARY' CIBAR) -> CCY)O.17 MODIFICATIONS' All INDICATORSI None affected REVIEW DRAFT SUBJECT TO CHANGE October. 1975 exc.~t SSD CD) Register (588 Figure 2-1 •• DU. OL. CI, SC, and SCR 2-1"5 Al3<} FORHATI SUHMARYI "11C(~~ I ,(. C(,~,~ )i.~~. bt,~, "',,'':. ":. -> It-b,i t Quotient plus rellainder ""J,': l(;,r::J.:)';( E. ! 5 fe, Shift C(Q) left six positions remainder -> CeA) MODIFICATIONSI AIJ except CI, SC, SCR INDICATORS. (Indicators not listed are not affected) Zero If C(A) : 0, then ON Negative If C(A)O NOTES. =1 before execution, then ON; otherwise OFF The BCD instruction carries out one step in an ~a,gorjthll for the conversion of a binary n~mber to a string of Binary-Coded-Decimal (SOC) dIgIts. The algorithm reQuires the repeated short division of the bin3ry number or last remainder by a set of constants Cli) = 8··j x 10··(n-l) for 1 : 1, 2 •••• , n with n being defined byl The values in the table that follows are the conversion constants to be used with the Be) instructIon. Each vertical column represents the set of constants to be used depending on the initial value of the 31nary number to be converted. The instruction is executed once per digIt ~hile traversing the appropriate C31umn from top to bottom. An alternate use of the table for conversion involves the use of the constants in the row corresponding to conversion step 1. If, after each exe:ution, the contents of the accumulator are shifted ri~ht 3 positions, the constants In the first row, starting at the appropriate column, right. may be used while traversing the row from left to Because there is a limit on range, a ful I 3& bit word cannot be converted. The largest bi~ary number that may be converted correctly is 2·.33 -1 yi21ding ten decimal digits. Attempted Fault. REVIEW DRAFT SUBJECT TO CHANGE Oc:tober, 1975 repetition with RPL 2-146 ca~ses 3n Illegal Proce1ure AL39 TRANSL ATION ,, ,, For 10··'n-1) <= I C ( AR) I <= 10··n - 1 a'\d n = 1Jl ~ A 1 8000000000 &'+00000000 5120000000 409&000000 327£>800000 2&214'+0000 2097152000 1&77721&00 1342177280 1073741824 800000000 &'+0000000 512000000 409£>00000 327£>80000 2&2144000 209715200 i&77721&0 134217728 80000000 &'+000000 51200000 409&0000 327&8000 2&21'+'+00 20971520 1&77721& 6000000 &'+OOO()O 5120000 409&000 327&800 2&21440 2097152 • 2- fl ... ~ !t L 1 1= 1 2 3 .. 5 6 7 8 9 10 800000 &40000 512000 '+ 096 0 0 327&80 2&21'+4 80000 8000 600 80 8 6'+000 6'+00 6'+0 64 51Z00 5120 512 40~6Q 40436 327&8 Grav to Binary GTa 774 (0) FORMATI Basic Instruction Format (See Figure 2-1). SUMMARYJ CeA) converted from Gray Code to a 36 bIt binary number MODIFICATIONSI None INDICATORS. (Indicators not listed are not = O. then ON; otherwise OFF C(A)O = 1. then ON; otherwise OFF Zero If CeA) Negative If NOTESI affecte~) This converSion is defined br the foll~wing atgorith.: ClA)O -> C(A)O CIA)(l) e CeA) Ci-1) -> CeA) ei) fo~ i = 1. 2 ••••• 3S Attempted repetition with RPL causes a'\ 11 legal Procedure Fault. REVIEW ORAf T SUBJECT TO CHANGE October. 1975 2-147 AL343 PRIVILEGED - REGISTER LOAD 230 (0) load Base Address Register LSAR FORHATa Basic Instruction Format ISee Figure 2-1). SUHHARYa C(V)O,lT MODIFICATIONS All INDICATORS' None af lected NOTES: Attempted repetition with Illegal Procedure Fault. -> CISAR) except CI, SC, SCR Attemp~ed RPT, RPD, or RPl causes an execution in BAR Hode causes a Illegal Procedure Fault. load Central Processor Register lCPR FORHAT. 67 .. CO) BaSic Instruction Format (See Figure 2-1). Load selected register as noted f10DIfiCATIONS' None. The ins truct j on sel ec tion as follows. ~l TAG f lei d is used for reg is ter Jla!.a-iLOSl Reg 1 s t m:.1U 02 CCy) -> C(Cache Hode Registe"')O,35 0 .. CIY) -> C(Hode Reglster)O,J5 03 CICU, 00 ••• 0 -> Reg ister) 0.71 OU, DU, and APU History 07 11 ••• 1 -> C(CU, Reglster)O,71 OU, OU, and APU History INDICATORS: None af fee ted NOTES' See Section IV, Program Accessible Registers, descriptions and use of the various re~lsters. for For TAG values 03 and 07, the Histort Register loaded Is selected Dy the current value of a Cyclic Counter for each Uni t. AII four eve I.i. c Counters are advancej by one count RE.VIEH DRAFT SUBJECT TO CHANGE October, 1975 2-1" S AL39 PRIVILEGED - REGISTER LOAD for each executIon of the instruction. Use of TAG values other than those defined above causes an Illegal Procedure Fault. Attempted execution In Normal or BAR M)de causes a Illegal Procedure Fault. Attempted repetItIon with IIJegal Procedure Fault. RPT, RPO, or RPL causes an Load,Descriptor Segment Base Register LDBR 232 (0) FORMATa Basic InstructIon Format (See Figure 2-1 •• SUMMARY. If SOWAH is enabled, then o -> CtSOWAH(i).FULL) for i = O. 1, ••• , 15 ei) -> C(SOWAHCi).USE) for 1 = 0, 1, •••• 15 If PTWAH °is enabled, then Q -> C(PTWAH(i).FULl) (i» -> C (PTWAHCl). USE) n. for 1 = for i 1, •••• 15 = O. 1, ••• , 15 CCY-palr)O.23 -> C(DSBR.ADDR) CCY-palr)37,50 -> CeOSBR.BOUND) C(Y-pair,,5 -> C(OSBR.U) eIY-pair)bO.71 -> CeOSBR.STACK) MODIFICATIONS: All except OUt DL. CI, SC, and SCR INDICATORS: None af fected NOTES. The hardware assumes Y17 = 0; no check is made. The Associative Hemorles are reset) if they are enabled. See cleared (FULL indicators Section IV, Program Accessible Registers, and Section Pagi~g, for description V. AddreSSing -- Segmentation and and use. respectively. of the SDNAH, PfWAH, and OSBR. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Attempted execution In Illegal Procedure Fault. Normal or 3AR Attempted repetition wi th Illegal Procedure Fault. RPT, RPO. or 2-1'+9 Hode RPL causes an causes an AL39 PRIVILEGED - REGISTER LOAD &37 (0) load Timer' Register LOT FORHATa Basic Instr'uction FOr'mat (See Flgur'e 2-1). SUMHARYI C{Y)O.26 MODIFICATIONS& All except CIt SC, SCR INDICATORSa None Affected NOTEsa Attempted execution in Pr'oc e dUr'e F au It. -> CCTR) or BAR Hode causes a Illegal NOr'~al Attempted repetition with Illegal Procedure Fault. RPT, RPD. or RPL causes an Load Page Table Pointers LPTP . 257 FORMATI Basic Instr'uction Format (See Figure 2-1). SUHHARYI For 1 (1) = D. i •••• , 1S m = CCPTWAH(i).USE) C(Y+m)O.1~ -> CCPTWAM(m).POINTER) C(Y+m)i5.26 -> C(Y+m)Z7 C(PTWAHCm).F) -> CCPTWAH(m).PAGE) se. MOOIFICATIONSI All except OUt Ol. CI, INDICATORS. None affected NOTES. The har'dware assumes Y14.17 SCR = 0000; no check is made. The Associative Hemor'V is ignored (for:ed to during Addr'ess Prepar'ation. -no match") See Section IV, Program Accessible Registers, and Section V, Addressing -- Segmentation and Paging, for descr'lption and use, respective IV. of the PTWAH. Attempted execution In I)legal Pr'ocedure Fault. Attempted repetltion with legal Pr'oce1ure Fault. Normal Or' 3AR RPT, RPO, Or' Hude RPL causes an causes an II REVIEW DRlIFT SUBJECT TO CHANGE October', 1975 2-150 AL3·q PRIVIl~GEO lPTR loa~ - REGISTER lOAD 173 Page TaDle Registers FORMATa Basic Instruction Format (See Figure 2-1). SUHMARYI For i :: 0, 1, ••• , 15 (1) m :: C(PTWAH(il.USE) C(Y+m)D,17 -> C(PTWAH(m).AOOR) C(Y+m)29 -> C(PTWA~(m).M) HODIFICATIONSI All except OU, Ol, CI, SC, SCR INDICATORS: None affected NOTES. The hard~are assumes Y14,17 :: OOOD; no check is made. The Associative Memorv is ignored (forced to "no match") during Add~ess Preoaration. See Section IV, Program Accessible Registers, and Section V, AddreSSing -- Segmentation and Paging, for descriptIon and use, respective Iv, of the PTWAH. Attempted execution In Normal Illegal Procedure Fault. Attemoted repetition with Illegal Procedure Fault. RPT. or BlR RPD, Hode or 774 (1) FORMATa BaSic Instruction Format (See Figure 2-11. SUMMARY a C(Y)33,35 -> CCRAlR) HODIFICATIONS1 AI) except OU, Ol, CI, SC, SCR INDICATORSI None affected NOTESI Attempted execution in Normal Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJ[CT TO CHANGE October, 1975 2-151 an RPL causes an Load Ring AJar~ Register LRA causes RPT. o~ BAR RPO, Hode or causes an RPl causes an IlL39 PRIVILEGED - REGISTER LOAD lSDP Load Segment Descriptor 257 (0) Polnte~s FORHATa Basic Instruction Format (See Figure 2-1). SUHKARY I For 1 = 0, 1, •••• 15 • = CCSOWAH(i).USE) CCY+m)O,14 -> C(SDWAHCm).POINTER) CCY+m)17 -> C(SDWAK(m).P) MODIFICATIONSI All except OU, DL, CI, SC, SCR INDICATORSI None affected NOTESI The hard~are assumes Y14,17 = 0000; no check is made. The Associative Hemory is ignored ,for:ed to during Address PreparatIon. -no match") SectIon IV, Program Accessible Re~lsters. and Section V. Addressing -- Segmentation and Paging, for description See and use, respectively, of the SOWA". Attempted executIon In Illegal Procedure Fault. Attempted repetition wIth Illegal Procedure Fault. Nor.al or RPT, RPO, ~AR or "ode RPL causes an causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-152 AL3CJ PRIVILEGED - REGISTER LOAD Load Segment DescriPtor Registers LSDR 232 (1) FORHAT. BaSic Instruction Format (See Figure 2-1). SUMMARY. For i = 0, 1, ••• , 15 m = C(SDWAH(l).USE) C~Y+2m)O,23 -> C(SDWAMlm).AORI C(Y+2m)2~,32 -> C(SDWAM(m).R1, R2, C(Y+2m)37,50 -> CCSDWAHCm).BOUND) ~(Y+2m)52,57 -> CCSDWAHCm).R, E, W, P, U, G, CI CCY+2mJ58,71 -> CCSDWAM(m).CL) MODIFICATIONSI All except DU, OL, CI, INDICATORS. None Affected .. NOTES. The hard~are assumes se, ~3) SCR Y1~,17 = 0000; no check Is .ade. The Associative Memory is ignored during Address Preparation. (f~rced to -no-match-) See Section IV, Program Accessible Registers, and Section V, AddreSSing -- Segmentation and Paging for descriptIon and use, respectively, of the SOWAH. Attempted executIon in Normal Illega' Procedure Fault. Attempted repetition ~ith Illegal Procedure Fault. Reu RPT, or BAR RPO, "ode or causes RPL causes an Restore Control UnIt FORHATa an 613 (OJ BaSic Instruction Format (See Figure 2-1). • SUMHARYI C(Y-block8) words 0 to 7 MODIFICATIONSI All except DU, DL, CI, SC, SCR INDICAtORSI None affected REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-153 -> CCControl Jnit Data' AL39 PRIVILEGED - REGISTER LOAD NOTES, See Section IV, Pro~ram Accesible Registers, description and use of Control Unit Data. = The hardware assumes ViS,17 000 and incremented accordingly; no check is m3de. Attempted execution in Illegal Procedure Fault Normal Attempted repetition ~ith Illegal Procedure Fault. RPT. or BAR RPD, addressing is Hode or for causes an RPL causes an REVIEW DR~T SUBJECT TO CHANGE October. 1975 2-15~ AL39 PRIV[LE~EO Sto~e SCPR - REGISTER STORE 452 Central Processor Register FORMATI Basic Instruction Format CSee Figure 2-1). SUMMARYI Store selected register as noted MODIFICATIONSI None. The instruction TAG selection as follows. field Is used for register 00 ClAPU Historv Register) -> CCY-pair) 01 CCFauit Register) -> C(Y-pai~)O,35 00 ••• 0 -> C(Y-pair)3&,71 06 CC"ode Register) -> CCY-palr.O,35 C(Cache Hode Regiser' -> CIY-palr)36 t 71 20 C(CU History 40 C(OU History Register) -> Cet-pair) 60 C(OU History Register) -> Ctt-pair) Reglst~r) (0) -> CIY-pair) INDICATORSI None affected NOTESI See Section IV, Program Accessible Registers, description and use of the various registers. for For TAG values 00, 20. 40, and 60, the Historv Register stored is selected by the current ~alue of a Cyclic Counter for each Unit. The individual CycliC Counters are advanced b, one count for each execution of the instruction. The use of TAG values other than causes an Illegal Procedure Fault. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 t,ose Attempted execution in Illegal Procedure Fault. Normal or BAR Attempted repetition with Illegal Procedure Fault. RPT. RPD, or 2-155 defined Mode RPl above causes an causes an AL39 PRIVILEGED - REGISTER STORE scu 651 (0) Store Control unit FORHAT. Basic Instruction Format (See FIgure 2-1). SUMMARY' C(Control Unit Data) -> ClY-blockS) MODIFICATIONS' All except DU, OL, CI, SC. SCR INDICATORS: None af f ec ted NOTEsa See Section IV, Program Accessible RegIsters, description and use of Control unit Data. "o~ds 0 to 7 for The SCU· instruction safe-sto~es ::ontrol information reQuired to service a Processor fault. The Control Unit Data is not, in general, valid at any tIme except when safe-stored by the first instruction of a fault/interrupt vector. = The hardware assumes Y15,17 000 and Incremented accordingly; no check is made. Attempted executIon In Normal Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. RE. V lEW DRAF T SUBJECT TO CHANGE October, 1975 2-15& RPT, or 84R RPD. addressing is Hode or causes an RPL causes an - REGISTER STORE PRIVILE~EO 15,. Store Descriptor Segment Base Register SOBR FORHATI Basic Instruction Format (See Figure 2-1). SUMMARYI CCoSBR.AOoR) 00 ••• 0 -> -> CIY-pairJO,23 -> CeY-palr)2,.,J& ceosaR.BOUNo) 0000 (0) -> CIY-pair)37.50 CeY-pair)51,54 C(OSaR.U) -> C(Y-pair)55 000 -> CeY-pair)S&,59 ceos8R.STACK. -> C(Y-pair)&O,71 MODIfICATIONSI All except OU, ol, CI, SC, SCR INDICATORSI None NOTEsa The hardware assumes Y 17 af fected = 0; no chec~ Is made. C(OSBR) is unchanged. See Section IV, Program Accessib1e Registers, and Section V, AddressIng -- Segmentation and Paging for description and use, respectIvely, of the OBR. Attempted execution In Normal Illegal Procedure Fault. Attempted repetition .ith Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-157 RPT, or BlR RPO, Hode or causes an RPL causes an AL3CJ PRIVILEGED - REGISTER STORE 557 (1) Store Page Table Pointers SPTP FORHATa Basic Instruction Format (See Figure 2-1). SUMMARYI For i = 0, 1, ••• , 15 C(PTWAH(i).POINTER) -> C(Y+i)O,l~ C(PTWAH(it.PAGE) -> C(Y+i)15,Z& C'PTWAM(i).F~ -> C(Y+i)Z7 0000 -> C(Y+i)ZB,31 C(PTWAHCi).USE) -> C(Y+l)32,35 MODIFICATIONS. All except DU, Dl. CI, SC, SCR INDICATORS: None affected NOTES' The hardware assumes that Yl~,17 0000, and addressing Is incremented according IV; no check is m~de. = The contents of PTWAH(m) remain unchan~ed. The Associative Memorv is ignored (forced to a Mno match-) during Address Preparation. See Section IV, Program Accessible Registers, and Section V, Addressing -- Segmentation and Pa~ing for description and use, respectively, of the PTWAH. Attempted execution in Normal Illegal Procedure Fault. Attempted repetition "ith Illegal Procedure Fault. REVIEW DRAFT SUUJECT TO CHANGE October, 1975 2-158 RPT, or BAR RPO, Hode or causes an RPL causes an AL39 PRIVIlE;EO - REGISTER STORE Store Page Table Registers SPTR 15~ (1) Basic Instruction Format (See Figure 2-1). SUMMARY. For 1 = 0. 1, ••• , 15 C(PTWAM(l).AOOR) o~ ••• o -> -> C(Y+l)O,17 C(Y+l)18,28 00 ••• 0 -> C(Y+l)30,35 MODIFICATIONSI AI. except OU, Ol, CI, SC, SCR INDICATORS: None affected NOTES. The hardware assumes that Y14.17 = 0000, and addressing will be Incremented accordingly; no check is made. The contents of PTWAMCm) are unchanged. The Associative Memory Is ignored (forced to a -no .atch-} during Address Preparation. See Section IV, Program Accessible Registers, and Section V, Addressing -- Segmentation and Pagl~g for description and use, respectively, of the PTWAH. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Attempted execution in Illegal Procedure Fault. Normal or aAR Mode Attempted repetition with Illegal Procedure Fault. RPT, RPD, or RPL 2-159 causes an causes an AL39 PRIVILEGED - REGISTER 3TORE • Store Segment Descriptor Pointers SSDP 557 (0) FORMATI Basic Instruction Format (See Figure 2-1). SUMMARY. For i = 0, 1, ••• , 15 C(SDHAH(i).POINTER) -> C(Y+i)O.l~ 00 ••• 0 -> C(Y+i)15.2& C(SDHAH(i).F) -> C(Y+l)27 0000 -> C(Y+iJ28,31 C(SDHAH(l).USE) -> C(Y+l)32.35 MODIFICATIONSI All except OU, OL, CI, SC, SCR INDIC~TORSI ~one NOTES. The hardNare assumes Y14.11 DODO, and lncre.ented accordingly; no check is made. affected = addressing Is The contents of SDHAM(l) are unchanged. The Associatlve Memory is ignored (forced to a "no match-) durlng Address Preparation. See Section IV. Program Accessible Re~isters, and Section V, Addressing -- Segmentation and Pagi~g for description and use, respectively, of the SOWAH. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Attempted execution In Illegal Procedure Fault. Normal or 9AR Attempted repetition with Illegal Procedure Fault. RPT, RPO, or 2-1&0 Mode RPL causes an causes an AL39 PRtVIlE;EO - REGISTER STORE Store Segment Oescriptor Registers SSOR 254 (1) I FORHATa Basic Instruction Format (See Figure 2-1). SUMMARya For i = 0, 1, ••• , 15 C(SOWAH(l).AOOR) -> C(Y+2i-pair)O,23 C(SOWAHtl).R1. R2, R3) -> C(Y+2i-pair)24,32 DODO -> C(Y+21-palr)33,3& C(SO~AH(i).BOUNO) -> CtY+21-palr)37.S0 C(SOWAHCl).R, E, P, U, G, C) ->.CtY+21-pair)51,51 CtSDWAHCi).Cl) -> C(Y+21-pair)58,71 MODIFICATIONsa All except OU, Ol, CIt SC. SCR INDICATORSI None affected . NOTES. The hardware assumes Y13.17 = 00000, and addressing incremented according Iv; no check is tade. Is The contents of SDHAH(I) are unchanged. The Associative Memory Is ignored Cforced to a -no Match-) during Address Preparation. See Section IV, Program Accessible Re~isters, and Section V. AddreSSing -- Segmentation and Pagi~g for description and use, respective IV. of the SOMAH. Attempted execution In Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. REVIEH DRAFT SU8JECT TO CHANGE October, 1975 2-1&1 Normal or BAR RPT, RPO, or Hode RPl causes an causes an Al39 PRIVILEGED - CLEAR ASSOCIATIVE MEMORY Clear Associative Memory Paged CAMP 532 (1) FORMATa Basic Instruction Format (See Figure 2-1). SUMMARY' For 1 o = 0, -> (I) 1, ••• , 15 C(PTWAMCi).Ft -> C(PTWAHCl).USE) MODIFICATIONS: All except OU, OL, CI, SC, SCR INDICATORS' None affected NOTEsa The Full/Empty bit of each PTHAH Register is set to 0, and the usage counters (PTWAH.USE) are set to t~eir pre-assigned values of 0 through 15. The remainder of of C(PTWAH(l») is unchanged. The execution of this instruction ena)'es the PTWAH If it is dlsab'ed and CCTPR.CA)16,11 01. = The execution of thiS instruction CtTPR.CA)16,17 10. = the dlsa~les PTWAH if If C(TPR.CA)15 = 1, a selective :Iear of cache is executed. Any cache block for which t,e upper 1~ bits of the directory entry equal C(T~R.CA)O,13 wil I have its Full/Empty bit set to Empty. See Section IV, Program Accessible Registers and Section V, AddressIng -- Segmentation and Paging for description and use, respectively, of the PTWAH. Attempted execution in Normal Illegal Procedure Fault. Attempted repetition with Illegal Procedure fault. REVIEW OR'FT SUBJECT TO CHANGE October, 1975 2-162 RPT. or B4~ RPO, Hode or causes an RPL causes an AL39 PR!VllEGED - CAHS ClEA~ ASSOCIATIVE MEMORY 532 (0) Associative Memory Segments Cle~r FORHATa BaSic instruction Format tSee Figure 2-1). SUMHARya For i o = 0, -~ (i) 1, ••• , 15 CCSDWAHti).FJ -> CCSOWAH(l).USE) HODIFICATIONS' All except OU, Ol, CI, SC, SCR INDICATORS: None NOTES' The Full/Empty bit of each SOWAH Register is set to zero, and the usage counters (SDWAH.USE) are initialize~ to their pre-assigned values of 0 through 15. The remainder of C(SOWAH(i») are unchan~ed. affecte~ The execution of this instruction ena~les the SOWAM if 1t is previously disabled and if CtTPR.CA)10,17 = 01. The execution C(TPR.CA)lot17 0'= 10. this instruction disaDles the SDNA" 1f The executIon of this instruction sets the full/Empty bits of all cache blocks to Empty if CCTPR.:A)15 1. = See Section IV, Program Accessible Re~lsters, and Section V. Addressing -- Segmentation and Pagi~g for description and use, respectively, of the SOWAH. Attempted execution in Illegal Procedure Fault. Attempted repetition ~lth Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-1&3 Normal or RPT, RPD, aAR or Hode RPl causes an causes an AL39 PRIVILEGED - CONFIGURATION AND STATUS 233 (0) Read Memorv Controller Mask Register RHCH FORHATI Basic Instruction Format (See Figure 2-1). SUHHARVI For the selected System Controller' If the Processor has a Hask C(HR10,15 -> Registe~ asssigned, then C(AQ'O,15 00 ••• 0 -> C(AQ)16,31 CCHR)32,35 -> C(AQ)32,3S C(MR)36,51 -> CCAQ)36,S1 00 ••• 0 -> C(AQ)52,67 C(HR)68,71 -> C(AQ)68,71 otherwise, 00 ••• 0 -> C(AQ) se, MODIFICATIONSI All except DU, Ol. CI, INDICATORS. (Indicators not listed are not Zero If C(AQ) Negative If C(AQ)O NOTES' = D, = 1, SCR affecte~) then ON; otherwise OFF then ON; otherwise OFF The contents of the Mask Register remain unchanged. C(TPR.CA)O,2 specify which System Controller) Is used. Processo~ Attempted execution 1n Normal Illegal Procedure Fault. RlVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-16~ or B~R Port (i.e., which Mode causes an PRIVILEGED - CONFIGURATION AND STATUS .. 12 (0) Read System Controller Register RSCR FORHAT. Basic Instruction Format (See Figure 2-1). SUMMARY. The effective address, Y, is used tl select a sy~te. controller (SCU) and t~e function to be performed as folio MSI Effective AJUiC£.U yOODDx C(SCU Mode Register) -> C(AQ) yOOOlx C(SCU Configuration Switches) -> C(AQ) y0002x CCInterrupt Mask Port 0) -> C(AQ) yOD12x C(lnterrupt Mask Port 1) -> C(AQ) y0022x CClnterrupt Hask Port 2) -> C(AQ) y0032x C(Interrupt Mask Port 3) -> C(AQ) y0042x C(Interrupt Mask Port 4) -> C(AQ) y0052x C(Interrupt Hask Port 5) -> C(AQ) y0062x C(Interrupt Mask Port 6) -> CCAQ) y0072x C(Interrupt Hask Port 7) -> CCAQ) y0003x C(Interrupt Cells) -> C(Al) y0004x or y0005x C(System Clock) -> i yOD06x or C(AQ) C(Store Unit Hode Registe·) -> C(AQ) y0007x wherel y x = octal value of YO,2 = any octal digit as used to select SCU MODIFICATIONS. All except DU, Ol, CI, SC, SCR INDICATORSI None af f ected NOTES' See Section IV, Program Accessible Registers, description and use of the various registers. for For effective addresses y0006x and y0007x. Store Unit selection is done by the normal addres; decoding function of the System Controller. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-165 AL39 PRIVIL~Gf.O - CONFIGURATION AND STATUS Attempted e~ecut!on in Illega' Prodecure Fault. Normal or Attempted repetition with RPl causes Fault. BAR a~ Hode causes an 11 legal Proce1ure Read Sw itches RSW 231 CO) FORMAT I BaSic Instruction Format (See Figure 2-1). SUMMARYI The effective address. Y, is used to select certain Processor switches whose settings are read into C(Al. The switches selected are as rollows' Effective Address ~tlgQ xxxxxO CIOata Switches) xxxxxi C(Config. Switches, ports A. B, C, 0) xxxxx2 00 ••• 0 -> C(AlO,5 C(Fault Base Switches) -> C(A)&,12 00 ••• 0 -> CfA)13,2& CfProcessor 10) -> CCA)27,33 C(Processor Number Switches) -> C(A)3~,35 xxxxx3 C(Config. Switches, ports E, F, G, H) xxxxx~ -> CfA) MODIFICATIONS. All, but none affect instruction execution INDICATORS' (Indicators not listed are not If CIA) Negative If C(A)O NOTES' REVIEW DRAfT SUBJECT TO CHANGE Oct 0 b er , 197 5 -> C(A) CIA) 00 ••• 0 -> CCA)0.12 C(Port Interlace and Size Switches) 00 ••• 0 -> C(A)29,35 Zero -> = 0, = 1. -> CCA)13,28 affecte~) then ON; otherwise OFF then ON; otherwise OFF See Section IV, Program Accessible description and use of the switch data. Registers Attempted e~ecution in Illegal Procedure Fault. Normal or BAR Hode Attempted repetition with Illegal Procedure Fault. RPT, RPO. or RPL 2-1&& for causes an causes an AL39 PRIVILE;EO - SYSTEM CONTROL 015 connect 1/0 Channel CIOC (0) FORHATa Basic Instruction Format (See Flgure 2-1). SUMMARY I The System Controller addressed by Y (i.e., contains the word at Y) sends a connect pulse to the port specified by C (Y) 33,35. MODIFICATIONSI All except OU, OL, CI, SC, SCR INDICATORSI None affected NOTES' Attempted e~ecutlon in Normal Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. or RPT, BAR RPD, Hode or caus~s RPL causes an Set Hemory Controller Mask Register SHeM an 553 (0) FORHATa Basic Instruction Format (See Figure 2-1). SUMMARYI For the selected System Contro'lerl If the Processor has a Mask Registe- assigned, then CtAQ)32,35 -> CIHR)3Z,35 C(AQ)36,51 -> C(HR)36,51 CCAQ)68,71 -> C'HR)68,71 otherwise, a Store Fault, Not HODIFICATIONS. All except DU, Dl, CI, SC, SCR INDICATORS' None af 'ected NOTEsa C(AQ) are unchanged. Con'r~l, C(TPR.CA)O,2 specify which Processor System Controller) is used. Attempted e~ecution In Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-167 Nor.al or occurs. Port 3AR (I.e., Hode which causes an Al39 PRIVILEGED - SYSTEH CONTROL Attempted repetition with RPL causes an Illegal Fault. Procedure Set Memory Controller Interrupt Cells SHIC 451 (D) FORHATa Bas!c Instruction Format (See Figure 2-1). SUMMARya For i i~ For i = 0, C(A'! = D. 1 ••••• 15 and C(A)35 = 0' = 1. then set Interrupt Cell i ON 1 • • • • • 15 and C(A)35 = 11 if C(A)! = 1, then set Interrupt Cell 16+1 0,. MODIFICATIONSI Alt except DU. OL, CI, SC, SCR INDICATORSI None affected NOTES. CfTPR.CA)O.2 specify which Processor System Controller) is used. Attempted eKecution in Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-1&8 Normal or Port BAR (i.e., Hode which causes an AL39 PRIVILE~ED Set SSCR Syste~ - SYSTEM CONTROL D57 (D) Controller Register FORHATI Basic Instruction Format (See Figure 2-1). SUMMARYI The effective address, V. is used t) select a System Controller (SCU) and the functIon to be performed as follo"SI Ef f eC,t lve Address Ewlc.ll.sln yOOOOx e(AQ) -> C(SCU Hode Register) yOOO1x Reserved yOD02x C( AQ) -> CCInterrupt Mask Port yOO12x C(AQ) -> CClnterrupt Mask Port 1) yOD22x C (AQ' -> CCInterrupt Hask Port 2) y003Zx C (AQ) -> CClnterrupt Hask Port 3) yOD42x C(AQ) -> C CInterrupt Hask Port yOO52x C CAQ) -> CClnterrupt "ask Port 5) vOO6Zx C(AQ) -> C (Interrupt Mask Port 6) yOO7Zx C (AQ) -> C (Interrupt Hask Port 7) yOOO 3x C(AQ'O,15 -> C(Interrupt Cells)(0.15) C(AQ)36.51 -> CClnterrupt Cel's'(16,31) yOOO6x or vOOD7x C (AQ) "here' y = octal va Iue of -> Q) It) C(Store Unit Hode Register) YD.2 as used to select SCU x = any octal digit MODIFICATIONS a All except OU, OL, CIt SC, SCR INDICATORSI None af fected NOTES. If the Processor does not have a Mask the selected System Controller, a Control, Mill occur. ~eglster Store assigned in Fault, Not For effective addresses yOOOOX and yOOD7x, Store Unit selection is done bv the normal addreSi decoding function of the System Controller. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-1&9 PRIVILEGED - SYSTEM CONTROL See Section IV, Progralll Accessi31e Registers, description and use of the various registers. Attempted execution on Normal Illegal Procedure Fault. or B4R Mode causes for an REV lEW DR liFT SUBJECT TO CHANGE October, 1975 2-17D AL39 PRIVILEGED - MISCELLANEOUS Absolute Address to Accumulator ABSA 212 COl FORHATa Basic Instruction Format (See Figure 2-1). SUHMARY Z Final Hain Store Address 00 ••• 0 -> -> CIA)O,23 C(A)Z4,35 HODIFICA"TIONSI All except OU, DL, CI, SC, SCR INDICATORS: (Indicators not listed are not affectej) Zero If CtA) = 0, then ON; otherwise Negative If C(AIO NOTES: = 1, ~FF then ON; otherwise OFF If the ABSA instruction Is executed in Absolute mode, CIA) will be undefined. Attempted execution in Illegal Procedure Fault. Noraal or BAR Attempted repetition with Illegal Procedure Fault. RPT, RPD. or modes causes an RPL Delay Until Interrupt Signal DIS Basic Instruction Format (See Figure 2-1). SUMMARY: No operation takes place, continue with the next program interrupt signal. MODIFICATIONSI All, but none affect Instruction execution INDICATORS: None affected NOTES: Attempted execution in Normal Illegal Procedure Fault. REVIEW DRAFT SUSJECT TO CHANGE October. 1975 2-171 an &1& (01 FORMAT: Attempted repetition with Illegal Procedure Fault~ causes and the Processor does not 1t waits for a instructi~n; RPT, or BAR RPD, Hode or causes an RPL causes an AL39 EIS - ADDRESS REGISTER LOAD 56n (1) Alphanumeric Descriptor to ARn AARn FORMAT. EIS Single-Word Instruction (See Figure 2-1). SUMMARY' For n = O. 1 ••••• or 7 as determined oy operation code CeY)O.lT CCPRn.WORDNOl -> = 00 If C(Yl21,22 CCY)18.19 -> (TA code = 0). then = 1), then C(PRn.CHAR) 0000 -> C(PRn.BITNOl = 01 If ClYlZl,22 (TA code (6 • C(Y)18.20) I 9 -> C(PRn.CHAR) -> C(~Rn.BITNOl (6 • C(Y)18.20) modulo 9 = Z). If C(YlZl.22 = 10 (TA code then ClY)18.20 I 2 -> C(PRn.CHAR) 4 • (C(Y)18.20) modulo 2) + 1 -> C(PRn.BITNO) "OOIFICATIONS' All except OUt Ol. CI. SC. SCR INDICATORS' None af fected. NOTES' An alphanumeric descriptor is fetched from Y and C(Y)21,Z2 (TA field) is examined to determine the data type descr lbed. = If TA a (C)-bit data), C(Y)18,19 goes to C(PRn.CHAR) and zeros fi11 C(PRn.BITNO). = If TA = 1 (6-bit data) or fA 2 l4-bit data), ClY)18,ZO is appropriately translated into an equivalent character and bit pOSition that goes to C(PRn.CHAR) and CCPRn.BIfNO). If C(Y)Zl.Z2 occurs. If CCY)ZJ =1 = 11 (TA code = 3) an Illegal Procedure Fault an Illegal Procedure Fault occurs. = If CCY)21,22 00 CTA code = 0) and CCY)20 Procedure Fault occurs. = =1 an IllEgal = If CCY)21,22 01 CTA code 1) and C(Y)16,20 = 110 or 111 an I. legal Procedure Fau. t occurs. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-172 AlJ9 EIS - ADDRESS REGISTER LOAD Attempted repetition with Illegal Procedure Fault. RPT. RPD. or RPL Load Address Register n LARn FORMATa EIS Single-Word Instruction (See Figure 2-1). SUMMARYI For n = D. All except DU. Ol. CI. SC, SCR INDICATORS. None affected NOTES. Attempted repetition with Illegal Procedure Fault. RPT. RPD. or RPL Load Address Registers SUMMARY' causes an 4&3 (1) For n = O. I ••••• 7 -> C(ARn) MODIFICATIONS. All except OU, Ole CIt SC, SCR INDICATORS. None a1 'ected NOTES. The hardware assumes Y15.17 = 000 and increaented accordingly; no check is made. Attempted repetition with Illegal Procedure Fault. RPT. RPD. addressing or load Pointers and Lengths EIS Single-Word Instruction (See Figure 2-1). SUMMARYI e(Y-biockS) MODIFICATIONSI All except OU, DL. CI, -> is RPl causes an 4&7 (1) FORHATa REVIEW DRAFT SUBJECT TO CHANGE October. 1975 (1) EIS Single-Word Instruction (See Figure Z-l) • C(Y+n)O.Z3 LPL 7&n CCARn) -> MODIFICATIONSI .. FORHAT' an 1 ••••• or 7 as deteralned by operatIon code C(Y)O,23 LAREG causes CeOecimal Unit Control lata) 2-173 se, SCR AL39 EIS - ADDR[SS REGIST[R LOAD INDICATORSa None affected NOTES. See. Section IV. Program Accessibl! Registers, description and use of Decimal Unit Control Data. The hardware aSSumes Y15,17 = 000 and incremented accordingly; no check is made. Attempted repetition with Illegal Procedure Fault. RPT, RPO, or addressing is RPL causes Numeric Descriptor to ARn NARn EIS Single-Word Instruction (See Figure 2-1). SUHHARYI For n 1, ••• , an 66n Cl) FORHATZ = 0, for or 7 as determined oy operation code C(Y)O,17 -> C(PRn.WORONO) If C(Y)Z1 =0 (TN code = D), then C(Y)18,20 -> C(PRn.CHAR) 0000 -> C(PRn.BITNO) If C(Y)21 =1 (TN code (C(Y)18,ZO) I ~ • = 1), then Z -> C(PRn.CHARl CC(Y)18,20 modulo 2) + 1 -> :(PRn.BITNO) HODIFICATIONSI All except OU, Ol, CI, SC, SCR INDICATORSI None affected NOTES. A numeric descriptor Is fetched from Y is examined. ~nd C(Y)Zl (TN bit) . = If TN 0 (9-blt data), then C(Y)18,19 go to C(PRn.CHAR) and zeros fil I C(PRn.BITNO). = If TN 1 (~-bit data), C(Y)18,2D is appropriatelv translated to an eQuivalent character and bit position that goes to C(PRn.CHAR) and C(PRn.BITNO). = If C(Y)21 0 (TN code Procedure Fault occurs. = 0) Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-17~ and RPT, C(Y)2D = RPO, or 1 an Illegal RPL causes an AL39 EIS - ADDRESS REGISTER STORE ARn to Alphanumeric Descriptor ARAn FOR"ATa EIS Single-Word Instruction (See FIgure Z-l). SUMMARya For n = 0, 1, ••• , or 7 as determined C(PRn.HORDNO) l~ C(Y)Zl.ZZ -> o -> operation code C(Y)O,17 = 00 C(PRn.CHAR) ~y -> = 0), (TA code then C(Y)18,19 C(Y)ZO If CIY)Zl,ZZ = 01 'TA code = 1), then (9 • crPRn.CHAR) + C(PRn.BITNO) , & -> CCY)18,ZO If C(Y)Zl,ZZ = 10 'TA code = Z), then 19 • C(PRn.CHAR) + C(PRn.BITNO) - 1) I HODIFICATIONSI All except OU •. OL, CI, SC, SCR INDICATORS. None af f ected NOTESI This instruction is the inverse of 4 -> C(Y)18,20 AAR~. The alphanumeric descriptor Is fetched from Y and C(Y)Zl,22 ITA fie'd) Is examined to determine the data type described. If fA =a =1 (9-bit data), CIPRn.CHAR) goes to C(Y)18,19. = If fA (&-blt data) or TA 2 C4-bif data). C(PRn.CHAR) and C(PRn.BITNO) are tran~lated ~o an e~uivalent charatter position that goes to CIY)18.20. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 If C(Y)Zl,ZZ = 11 (TA code = 3) or C(Y)23 bit), an Illegal Procedure Fault occurs. = 1 Attempted repetition with Illegal Procedure Fault. RPl 2-175 RPf, RPO. or (unused cause~ an AL39 EIS - ADDRESS REGISTER STORE ARn to Numeric Descriptor ARNn FORHAT' (IS Single-Word Instruction (See Figure 2-1). SUMHARYI For n = O. 1, •••• or 7 as determined operation code ~V C(PRn.WORONO) -> C(Y)O.17 =0 If C(Y)21 'TN code = 0), tnen C(PRn.CHAR) -> C(Y)18.19 o -> C(Y)2D If C(Y)Zl : (9 • 1 (TN code C(P~n.CHAR) ct. = 1). then + C(PRn.BITNO) - 1) I 4 -> C(Y)18.2D MODIFICATIONS' All except DU. Dl. INDICATORS' None af fected NOTES. This instruction is the inverse of NAR,. .. SC, SCR The numeric descriptor 1s fetched from Y is examined • and C(Y)21 (TN bit) If TN = CCY)18.19. 0 (9-blt data). then CCPRn.CHAR) goes to = If TN 1 (4-blt data), then C(PRn.CHAR) and C(PRn.BITNO) are translated to an equivalent cha·acter position that goes to C(Y)18.20. Attempted repetition with Illegal Procedure Fault. RPT, RPD. or RPl Store Address Register n SARn FORHAll EIS Single-Word Instruction (See Figure 2-1). SUHMARYI For n = 0, causes an 7ltn (1) 1 ••••• or 7 as determined oy operation code C(PRn.AR) -> C(Y)O,23 00 ••• 0 -> C(Y)24.35 MODIFICATIONS: All INDICATORS: None affected REVIEW DRAFT SUBJECT TO CHANGE October. 1975 except OUt DL. CIt SC, SCR 2-17& AL39 [IS - NOTEsa Attempted repetition with Illegal Procedure Fault. RPT, REGISTER STORE AO~RESS RPO, or RPl Store Address Registers SAREG EIS SIngle-Word Instruction (See Figure 2-1). SUH"ARYI For n C(ARn) an It43 (1) FORHATI = 0, causes 1, ••• , 7 -> C(Y+n)O,23 00 ••• 0 -> C(Y+n)Z4,35 HODIFICATIONS' All except OU, Ol, CI, SCt SCR INDICATORS. None affected NOTEI The hardware assu~es Y1S,17 = ODD and incremented accordingly; no check is m3de. Att~mpted repetition with Illegal Procedure Fault. RPT, RPD, addressIng or RPl causes an Store Pointers and lengths SPL It,. 7 (1) FORHATa EIS Sinlle-Word Instruction (See FIgure 2-1). SUHHARYI C(Declaal Unit Control Data) -> HODIFICA TIONS: All except OU, Ol. CI. INDICATORS: None af fee ted NOTES: The hardware assumes ·Y15,17 = 000 and incremented accordingly; no check is .ade. se, Is C(Y-bl~ck8) SCR addressIng See Section IV, Program Accessl~le Registers, description and use of Decimal Unit Control Data. Is for • Attempted repetition with Illegal Procedure Fault. RlVIEW DRAFT SUBJECT TO CHANGE October, 1915 Z-177 RPT, RPD. or RPl causes an Al3c) EIS - ADOklSS REGISTER SPECIAL ARITHMETIC 5D 2 (1) Add It-Bit Displacement to Address Register AltBD FORHATI o 0 0 Q 2 J I I 1 1 1 ADDRESS : OPCOOE J 2 I 3 Figure 2-12 --La. J a ARn I 3 2 2 Z J J 3 9 0 1-Z _---LA. I I UIAIO 01 --1-LL J 18 2 REG Z 10 1 1 I J ,. I EIS Address Register Special Arithmetic Instruction Format ARn Number of Address Register selected ADDRESS Literal word displacement value OPCOOE Instrucfion operation code I Program Interrupt inhibit bit A Use Address Register contents flag REG Any Register Modifier except DU, Ol, SU""ARYI If A = 0, then ADDRESS. C(REG) C(REG) modulo It I -> ,. -> a~~ IC C(PRn.WORDNJ) C(PRn.CHAR) It • (C(REG) modulo 2) + 1 -> C(PRn.3ITNO) If A = 1, then C(PRn.WOROND) + ADDRESS + (9 • C(PR~.CHAR) + ,. • C(REG) + C(PRn.BITNO» I 36 -> C(PRn.WORJNO) «9 • C(PRn.CHAR) + ,. • CCREG) + C(PRn.8ITNO) mOdulo 36) I 9 -> C(PRn.CHAR) ,. • (C(PRn.CHAR) + 2 • CCREG) + C(PRn.BITNO» I 4) modulo 2 + 1 -> C(PRn.BITNO) MODIFICATIONS: None except AU, QU, AL, QL, or Xn INDICATORS: None af fee ted NOTESI The steps described in SJMMARY define special 4-bit addition arithmetic for ADDRESS, C(~EG), C(PRn.WORONO), C(PRn.CHAR), and C(PRn.dITNO). REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-178 4L39 EIS - ADDRESS REGISTE~ SPECIAL ARITHMETIC The use of an Address Register Is inhe~ent; the value of bit 29 affects Address Preparation but not instruction decod Ing. Attempted repetition with Illegal procedure Fault. RPT. RPD. or RPL causes Add &-81t Displacement to Address Register A&8D 501 (11 FORMATa EIS Address Register Special Arithmetic Instruction (See Figure 2-121. SUMI1ARYI If A = 0, an then ADDRESS. C(REG) (Co • CCREG» (0 • C(REG) I 0 -> C(PRn.WORDNl) modulo 3&) I 9 -> C(P~n.CHAR) modulo 9 -> C(PRn.8ITNl) I f A = 1, then C(PRn.WORDNO) • ADDRESS + (9 • C(PRn.CHAR) + 0 • + C(PRn.BITNO» I 3& -> C(PRn.WORlNO) C(~EG) «(9 • C(PRn.CHAR) + 0 • CeREG) + C(PRn.BITNO» modulo 3&) I 9 -> C(PRn.CHAR) (9 • C(PRn.CHAR) + 6 • C(REG) + C(PRn.8ITNOll modulo 9 -> CePRn.BITNO) MODIfICATIONSI None except AU. QU. Al, QL. and Xn INDICATORSI None Affected NOTES' The steps described in SUMMARY define special 6-bit addition arithmetic for ADDRESS, C(~EG). C(PRn.WORDNO), C(PRn.CHAR), and C(PRn.BITNOI. The use of an Address Register is inhe·ent; the value of bit 29 affects Address Preparation but not instruction decoding. Atempted repetition with Illegal Procedure Fau.t. REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-119 RPT, RPD, or RPl causes an Al39 EIS - ADDRESS REGIST~~_SPECIAL ARITHMETIC 500 Add C)-Bit OlsP'acement to Address RegIster A9BD FORMATI EIS Address Register Special Arithmetic Instruction (See Figure 2-12). SUMMARYI If A = Q, then ADDRESS + C(REG) I 4 CCREG) modulo 4 If A (1) -> -> C(PRn.WORONO) CCPRn.CHAR) = 1, then C(PRn.WORONO) + ADDRESS + (C(REG) + C(PRn.CHAR»/~ (C(PRn.CHAR) + C(REG» -> C(PRn.HORONO) mOdulo 4 -> :CPRn.CHAR) 0000 -> CCPRn.DITNO) MODIFICATIONSI None except AU, QU, AL, Ql, and Xn INDICA TORS. None affected NOTES_ The steps described in addition arithmetic for and C(PRn.CHAR). SUMMARY define special C)-bit ADDRESS, CC~EG), CCPRn.HORONO), The use of an Address Register is inhe~ent; the value of bit 29 affects Address Preparation but not instruc~ion decoding. Attempted repetition with Illegal Procedure Fault. ABO R~T, RPO, or RPL causes Add 81t Displacement to Address Register FORHAT_ EIS Address Register Special Arithmetic Instruction CSee Figure 2-12). SUMMARY I I f A = 0, the n ADDRESS + C(REG) I 3& (CCREG) modulo 3&) I 9 CCREG) modulo 9 If A = 1, -> an 503 C1) -> C(PRn.WORD~O) -> C(PRn.CHA~) CCPRn.BITNO) then C(PRn.WORONO) + ADDRESS + (9 • C(PR~.CHAR) + 36 • C(REG) + C(PRn.BITNO» I 36 -> C(PRn.HORJNO) REVIEH DRAFT SUBJECT TO CHANGE October, 1975 2-180 AL39 EIS - ADDRESS REGISTE~ SPECIAL ARITHMETIC (9 • C(PRn.CHAR) + 36 • CCREG) + C(PRn.etTNO» modulo 36) I 9 -> C(PRn.CHAR) (q • C(PRn.CHAR) + 36 • CCREG) + C(PRn.BITNO» modulo q -> C(PRn.BITNO) HODIFICATIONSI None except AU, QU, Al, Ql, or INDICATORS' None affected NOTES. The ~teps described in SUMMARY define special bit addition arithmetic for ADDRESS, CCREG), CCPRn.WORO~O), C(PRn.CHAR), and C(PRn.dITNO). X~ The use of an Address Register is inhe-ent; the value of bit Zq affects Address Preparation but not instructIon decoding. Attempted "repetition with Illegal Proced~re Fault. RPT, RPD. or RPl causes Add Word Displacement to Address Register AND an 507 (1) EIS Address Register Special ArithmetIc InstructIon (See Figure 2-12). SUHHARYI If A = 0, then ADDRESS + C(REG) If A = 1, -> CtPRn.WORDNO) then C(PRn.HORONO) + ADDRESS + C(REG) ->:(PRn.WORONO) 00 -> C(PRn.CHAR) 0000 -> C(PRn.8ITNO) MODIFICATIONS' None except AU, QU. Al, Ql, and Xn INDICATORSI None affected NOTES' The use of an Address Register Is lnne-ent; the bit 29 affects decod ing. Address Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-181 value of PreparatIon but not instruction RPT, RPD, or RPl causes an Al39 [IS - ADOR~SS REGISTER SPECIAL ARITHMETIC Subtract 4-bit DIsplacement from Address SltBO FORMATa EIS Address Register Special (See Figure 2-12). SUMMARYI If A = 0, then ~ (ADDRESS + CCREG) - CCREG) ~odulo '+ I = 1, 522 (1) Instruction A~ithmetic 4) -> C(PRn.HlRDHO) C(PRn.CHAR) -> - '+ • (CCREG) modulo 2) + 1 If A Reglste~ -> CCPR~.BITNO) then C(PRn.HORDNO) - ADDRESS + (9 • C(PRn.CHAR) - 4 • C(REG) + C(PRn.8ITNO» / 30 -> CCPRn.HORlNO) «9 • C(PRn.CHAR) - .. • CCREG) + C(PRn.BITNO)J modulo 36) I 9 -> C(PRn.CHAR) .. • CC(PRn.CHAR) - 2 • CCREG) + C(PRn.BITNO) I '+)modulo 2 + 1 -> CCPRn.BITNO) MODIFICATIONSI . None except AU, QU, AL, QL, or Xn ..INDICATORS: NOTESI None affected The steps described in SUMMARY defIne specia1 it-bIt subtraction arithmetic for ADDRESS, Ce~EG), CCPRn.WORDNO), C(PRn.CHAR), and C(PRn.BITNO). The use of an Address Register is bit 29 affects Add~ess Preparation decoding. Attempted repetition with Illegal procedure Fault. RPT, in~erent; b~t RPD, not or the value of instruction R?L causes an Subtract 6-Blt Displacement from Address Register 5680 FORHAT I EIS Address Register Special Arithmetic Instruction CSee Figure 2-12). SUMMARY I I f A = 0, then - (ADDRESS + CCREG) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 521 (1) C CREG» - CC& • - (e& • CCREG) m0 I 6) -> C(PRn.WQRDNO) cu I 0 3 I) modulo q 2-182 I -> 9 - > C ( P Rn • CHAR.) CePRn.BITNO) AL39 EIS - ADDRESS If A = 1, REGISTE~ SPECIAL ARITHHETIC then ,C(PRn.WORONO) - ADDRESS. (9 • C(PR~.CHAR) - & • C(REG) + C(PRn.BITNO» I 36 -> C(PRn.WORJNO) (C9 • C(PRn.CHAR) - 6 • CCREG) + C(PRn.BITNO» modulo 3&) I 9 -> C(PRn.CHAR) (9 • C(PRn.CHAR) - 6 • C(REG) + C(PRn.BITNO» modulo 9 -> CCPRn.BITNO) MODIFICATIONS. None except AU, QU, AL, QL, and Xn INDICATORS: None Affected NOTESa The· steps described in SUMMARY define special 6-blt subtraction arithmetic for ADDRESS, C(~EG), C(PRn.WORONO), C(PRn.CHAR), and C(PRn.BITNO). The use of an Address Register ls bit 29 affects Address Preparation decoding. Atempted repetition with Illegal Procedure Fault. RPT, In~erent; not b~t RPD, or the value of instruction RPL causes an Subtract 9-Bit Dlsplacement from AddresS Register S980 FORHATa 520 (1) EIS Address Register Special Arithmetic Instruction (See figure 2-12). If A = 0, then - (ADD~ESS + C(REG) I - CCREG) modulo 4 If A = 1, -> ~) C(PRn.WORDNO) -> C(PRn.CHAR) then C(PRn.WORDNO) - ADDRESS + (CCPRn.CHAR) - CCREG» I (CCPRn.CHAR) - C(REG» ~ -> modulo ~ CCP~.CHAR) -> :CPRn.CHAR) 0000 -> CCPRn.BITNO) MODIFICATIONSI None except AU, QU, AL, QU, or Xn INDICATORSZ None affected NOTES: The steps described in SUMMARY define subtraction arithmetic for ADDRESS. C(REG). so~ci~1 9-bit C(~~n.WORDN~), and C(PRn.CHAiU. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-183 AL39 EIS - ADDRESS REGISTER SPECIAL ARITHMETIC The use of an Address Register is bit 29 affects Address Preparation decoding. Attempted repetition with Illegal Procedure Fault. RPT. in~erentl bJt RPO. not or the value of instruction RPL causes an Sybtract Bit Displacement from Address Register SBO FORHAT' EIS Address Register Special Arithmetic Instruction (See 'Figur-e 2-12). SUHHARY' If A = O. 523 (1) then - (ADDRESS + C(REG) / 36) - CCCREG) modulo 3&) / 9 - CCREG) modulo 9 -> - -> C(PRn.~ORDNO) -> CCPRn.C~AR) C(PRn.BITNO) If A = 1,' then C(PRn.WORDNO) - ADDRESS + (9 • C(PR~.CHAR) - 3& • C(REG) + C(PRn.BITNO» / 36 -> C(PRn.WOR)NO) C(PRn.CHAR) - 36 • C(REG) + C(PRn.BITNO» modulo 36) I 9 -> CCPRn.CHAR) «9 • (9 • C(PRn.CHAR) - C(PRn.BITNO» 36 • CCREG) • modulo 9 -> C(PRn.BITNO) MODIFICATIONSI None except AU, QU. AL, QL. or Xn INDICATORS: None a1 'ected NOTES: The steps described in SUMMARY define special bIt subtraction arithmetic for ADDRESS. C(~EG), C(PRn.WORDNO), C(PRn.CHAR). and C(PRn.BITNO). The use of an Address Register Is bit 29 affects Address Preparation decoding. Attempted repetItion with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1915 2-18" RPT, in~erent; bJt RPD, not or the value of instruction RPL causes an AL39 EIS - ADDRESS SPECIAL ARITHMETIC REGISTE~ 527 (1) Subtract Word Displacement fro. Address Register SMD FORMATs [IS Address Register Special Arithmetic Instruction (See Figure 2-12). SUMMARYI If A - = 0, then (ADDRESS + C(REG» -> C(PRn.WORDNl) If A = 1, then C(PRn.WORDNO) 00 -> (ADDRESS + CCREG» -> C(PRn.WORDNO) C(PRn.CHARJ 0000 -> CCPRn.BITNO) MODIFICATIONSI None except AU, QU, Al, Ql, or Xn INDICATORSa None Affected NOTES. The use of an Address Register is lnhe-ent; the value of bit 29 affects Address PreDaratlon but not instruction decoding. Attempted repetItion with Illegal Procedure Fault. RPT, RPD, or RPl causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-185 Al39 lIS - ALPHANUMERIC COMPARE CHPC Compare Alphanumeric Character Strings 106 (1) FORHATS ___---i-Lll.-1 Il I I S J0 FILL 1- q J --L.i 106 Y-charo2 I J HFl III (1) 1_1 I 71 Nl J I 1 I NZ I I 18 I 2 1 3 J I I 10 1 71 I I I I CN1 ITAUOS a I I I I I I I CN2 I 0 0 01 Y-charnl Figure 2-13 3 2 --1 Z LI I 2 2 2 1 Z l_L---La-3 I : I1F2 I I Q J I 0: Z Z Z Z Z 1 1 0 0 1 1 0 12 Hultl-W~rd Compare Alphanumeric Strings (CMPC) EIS Instruction Format FIll Fill character for string extension HFl Modification Field for Operand Descriptor 1 ·HF2 Modification Field for Operand Descriptor 2 I Program Interrupt inhibit bIt Y-charn1 Address of "Ieft-hand- string CN1 First character position of "1eft-hand- string TAl Data type of "left-hand" string Nl Length of "left-hand" string Y-charQ2 Address of ··r i ght-hand" s tr ing CNZ First Character position of "right-hand" string N2 Length of "right-hand- string ALH Coding Format: cmpc desc,Oc (MFl),(HFZ)[,fill(octalexpression») Y-charnl[(CN1»),Nl D 4, 6, or 9 (TAl descna Y-charnZ(CNZ)],NZ SUMMARYS = For i = 1, 2, ••• , C(Y-charol)i-l REVIEW DRAFT SUBJECT TO CHANGE October, 1975 n = 4, = 2, 1, or 0) 6, or 9 (TAZ is ignored) minimum (Nl,N2J II Z-186 C(Y-charoZ)i-l AL39 EIS - ALPHANUMERIC COMPARE If N1 < HZ, then for i CCFILL) II = N1+1. Nl+Z •••• , NZ C1Y-charQ2)i-l If N~ < HZ, then for 1 CCY-charnl)i-l II = NZ+l. NZ+Z •••• , N1 C(FILL) MODIFICATIONS. None except AU. QU. AL. QL. or Xn for HF1 and "F2 INDICATORS' (Indicators not listed are not affected) = C(Y-charn2li Zero If C(Y-charn1)! otherwise. OfF Carry IfC(Y-charnl)i < CCY-charnZ)i for any 1, otherwise ON NOTES' for all i . then ON; th~n OFF; Both strings are treated as the data ttpe given for the "left-hand" string. TAl. The data type given 'or the "right-hand" string. TAZ, is ignored. Comparis!on is made on full 9-bit fields. If the given data type is not ~-bit (TAl _ 0). then characters fro. ClY-charD1) and C(Y-charnZ) are high-order zero filled. All 9 bits of C(FILL) are used. Instruction execution proceeds until an inequality Is found or the larger string length count is exhausted. = If HFk.RL 1. then Nk does not contain length; instead. it contains a re~ister register holding the operand length. the operand code for a = If HFk.ID 1. then the ~th word following the InstructIon Word does not contain an Operand Descriptor; instead. it contains an Indirect Pointer to the Operand Descriptor. Attempted Fault. executlon with XED causes an Illegal Procedure Attempted repetitIon with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, lY75 Z-187 RPT. RPD. or RPL ca~ses an AL39 EIS - ALPHANUHERIC COMPARE 120 (1) Scan Characters Double SCD FORHATa I 1 1 1 ---11-1 -----1-8 0 a I J 0 0 000 0 o 0 0 o MF2 I I 120 I 11 J I 222 3 3 3 D 1-LJ_L_ _ La q Q 1 L J J I 01 2 Z 222 71 I Y-charnl J I I Y-cha r o2 I I I I I 1 Y3 L -___ I J CN2 : 0 10 0 I o I I 0 0 0 0 0 0 0 0 0 0 a 0 I 3 o 1 1 0 0 0 0 0 0 0 o IA 20 I 18 FIgure 2-14 71 Nl I I 2 1 J I I 10 1 CN1 ITAlIOI ---1 1...-- J HFl ---1-L . I I J I SI : (1) 3 ~ I 11 1 I oI 2 I 12. ot I 151 REG I ,. a Scan Characters Double (SCD) [IS Multi-Word InstructIon Format HF1 Modification Field for Operand Descriptor 1 "F2 Modification Field for Operand Descriptor 2 -I Program Interrupt inhibIt bit Y-charD1 Address of string CNI First character posItion of string TAl Data type of string Nt length of string Y-charn2 Address of test character paIr CN2 FIrst character posItion of test character pair YJ Address of compare count word A IndIrect via Pointer Register flag for Y3 REG Register modifier for Y3 Al" Coding Formatl scd descna descna arg REVIEW DRAFT SUBJECT TO CHANGE October, 1975 ( t1 F 1) , "'iF 2 ) Y-charnl[(CN1)].N1 Y-charn2 [ (CN2 ) J Y3[,tagJ 2-188 n : 4, 0, or 9 (TA! : 2, 1, or 0) n : 4, 0, or 9 (TA2 is ignored) AL39 EIS - SUMMARYI = 1. For 1 ALPHANUMERIC COMPARE 2 ••••• N1-1 . C (Y-charnU 1-1. i II C CY-cha"'o2) 0,1" On instruction completion 00 ••• 0 -> C(Y3'O.11 i -> C(Y3'12.35 MODIFICATIONS' None except AU. QU, AL. QL, or Xn 10r MF1 and REG None except DU, AU, QU, AL. QL, or Xn for MF2 INDICATORS. (Indicators not listed are not Ta Ily Runout NOTES. affecte~) If the string length count Is exhausted without a match. or if N1 = 1, then ON; otherwise OFF Botn the string and the test character pair are treated as the data type given for the string, TAl. The data type given for the test character pai,... TA2, is ignored. Instruction execution proceeds until a character pair match is found or the string length co~nt is exhausted. If HFh.RL = 1. then Nh does not contain length; instead. It contains a re~lster register holding the operand length. the operand code for a = If HFh.ID 1, then the hth word follo~ing the Instruction Word does not contain an Operand Descriptor; instead. It contains an Indirect PoInter to the Operand DescrIptor. = If HF2.IO = 0 and HF2.REG DU. then the second word following the Instruction Word does not contain an Operand Descriptor for the test character pair; instead, It contains the test character paIr as a Direct Upper operand 1 n bits D,17. Attempted Fault. execution with XED causes an Illegal Procedure Attempted repetition with Illegal Procedure Fault. RPT, RPD, or Scan Characters Double in Reverse SCDR RPl causes an 121 (1) FORMAT a Same as Scan Characters Double (SCD) (See Figure 2-14). SUMMARY: For I = 1, 2, •••• N1-1 CCY-charn1)Nl-!-1.Nl-i REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-189 II C(Y-charoZ'O,l AL39 EIS - ALPHANUMERIC COMPARE On instruction completion 00 ••• 0 -> C(YJ)O,11 1 -> C(Y3)12,35 HODIFICATIONSI None except AU, QU, AL, QL. or Xn for HF1 and REG None except DU. AU, QU, AL, QL, or Xn for HF2 INDICATORSI (Indicators not lIsted are not Tally Runout NOTES' affecte~) If the string length count Is eXhausted or if N1 = 1. then aNi other~ise OFF ~ithout a match, Both the string and the test character pair are treate1 as the data type given for the string, TAl. The data type given for the test character pair. TA2, Is ignored. Instruction execution proceeds until a character paIr match is found or the string length co~nt is exhausted. If HF~.RL = 1, then Nh does not contain length; instead, it contains a re1ister register holding the operand length. the operand code for a = If HF~.ID 1, then the ~th ~ord fo'Jo~ing the Instruction Word does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Operand Descriptor. = 0 and HF2.REG = OU, then the second ~ord the Instruction Word does not contain an Operand Descriptor for the fest character pair; instead, It contains the test character pair as a Direct Upper operand in bits 0.17. If HF2.tD fol'o~ing Attempted Fau't. execution with XED causes an Illegal Procedure Attempted repetition ~ith Illegal Procedure Fault. REVIEW DRAFT SU8JECT TO CHANGE October, 1975 2-190 RPT, RPD, or RPL causes an Al39 EIS - ALPHANUHERIC COMPARE Scan with Hask SCH 121t (It FORHATI o 0 I I D 011 1 1 --'O'~l I I HASK 10 01 ----La a L- I I 1 HFl II 2 2 l 2 222 3 3 3 1 Z 3 !L.---L! 9 g 1 Z .• I UI 124 ( 1) ---1 I a I I CNl I TAli 0 I Y-cha r o1 I I Y-charn2 I Nl Y3 I I Z 1 121 o a 0 o 01 J a I 3 10 000 0 0 0 0 0 0 I 18 I I 71 10 1 1 CN2 10 0 0 0 0 0 0 0 0 0 --1 Figure 2-15 HFI ,~ a J 3 5 ~-L 71 2 C) l I I I o I AI 0 01 _1 REG J I I 11 1 151 2 I It Scan with Hask (SCH) EIS Hulti-Hord Instr.Jction Format HASK Comparison bit _ask HFl Modification Field for Operand Descriptor 1 -HF2 Modification FIeld for Operand Descriptor l I Program Interrupt inhibit bit Y-charQ! Address of string CN1 First TAl Data type of string Nl Length of string Y-charnl Address of test character CNZ First Y3 Address of compare count word A Indirect via Fointer Register flag for Y3 REG Register modifier for Y3 position of string cha~acter cha~acter position of test character ALH Coding Format. scm descna descna arg REVIEH DRAFT SUBJECT TO CHANGE October, 1975 (MF1),tMFZ){,mask(octalexpressiontJ Y-charo1[(CN1)),Nl D It, 6. or 9 (TAL Z. 1, or 0) Y-charnZ(CNZ») D It, 0, or 9 (TAZ is ignoredt Y3[,tag) = = 2-191 = AL39 EIS - ALPHANUHERIC COHPARE SUMMARYI For characters i :: 1, 2, ••• , Nt For bits J :: 0, 1 ••••• 8 C(Z)) = -C(MAS)OI I. (C(Y-char ol)i-1)J • = 00 ••• 0, If CeZ)o.,s OO ••• D -> (C(Y-cha r u2)1)1) then C(Y3)O,11 1 -> C(Y3)12,35 other~lse. continue scan of CCY-charol) HODIFICATIONS: None except AU, QU, AL, QL, or Xn for HFl and REG None except OU, AU, QU, AL, Ql. or Xn for MFZ INDICATORSI (IndIcators not Tal'v Runout NOTES' If the other~lse, lis~ed string OFF are not affectedt length count exhausts, then ON; Both the string and the test character are treated as the data type given for the string, TAl. The data type given for the test character, TAl. is ignored. Instruction execution proceeds until a masked character match Is found or the string length co~nt is exhausted. MaSKing and comparision is the given data type is characters from CCY-charnl) zero filled. AI. 9 bits of done on ful I 9-bit fields. If not 9-blt (TA1 'I- 0), then and C(Y-ch3rn2) are high-order C(HASK) are used. If MF1.RL = 1. then N1 does not contain the operand length; instead, It contains a re~ister code for a register holding t~e operand length. If HFh.ID :: 1, then the hth word follo~ing the Instruction Word does not contain an Operand Desc-iptor; instead, it contains an Indirect Pointer to the Operand Descriptor. If HFZ.tD =0 and MF2.REG :: DU, the~ the second word the Instruction Word does not contain an Operand Descriptor for the test character; instead. it contains the test character as a Direct Upper ooer~nd in bits 0,8. folJo~ing Attempted execution with XED causes an Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-192 RPT, RPD, or RPl causes an AL39 EIS - ALPHANUHERIC COMPARE Scan ~ith Mask in 125 (1) ~everse FORHAT' Same as Scan with Mask (SCM) SUHMARY' For characters i = 1, = 0, For bits (See 2-15). 2, ••• , Nl 1, •••• 8 C(Z») = -C(HASK)J , «C(Y-charnl)Nl-i)] • If CIZIO,8 Flgu~e = 00 ••• 0, (CCY-cha-n2)1»))' then 00 ••• 0 -> C(Y3)O,11 i -> C(Y3)12.35 other~lse, continue scan of CCY-cha~n1) MODIFICATIONS' None except AU, QU, AL, QL, or Xn for ~F1 and REG None except OU, AU, QU, AL, QL, or Xn for MF2 INDICATORS' (Indicators not listed are not affected) Tally Runout NOTES. If the other~ise. string OFF length count exhausts, then ON; 80th the string and the test character are treated as the data type given for the string, TAl. The data type given for the test character, TAZ. IS ignorej. Instruction execution proceeds until a masked character match Is found or the string length co~nt is exhausted. Masking and comparision is the given data type is characters from CCY-charD1) zero filled. All 9 bits of done on full 9-blt fields. If not 9-bit (TAl _ 0), then and CCY-ch3rnZ) are high-order CCHASK) are used. If HF1.RL = 1, then Nt does not contain the' operand length; instead, it contains a re;ister code for a register holding the operand length. If HF~.ID = 1, then the ht~ ~ord folloMing the Instruction Word does not contain an Operand Desc-iptor; instead, it contains an Indirect Pointer to the Operand Descriptor. = If MFZ.ID = 0 and HFZ.REG OU, the~ the second word follofting the Instruction Word does not contain an Operand Descriptor for the test cha~acter; instead, it cont~lns the test character as a Direct Upper oierand in bits 0,8. Attempted Fault. execution ~ith Attempted repetltion with IllegaJ Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Z-193 XED causes an II legal Procedure RPT, RPO, or RPL c~uses an AL39 EIS - ALPHANUMERIC COMPARE Test Character and Translate TCT 161t (U FORHAT. o 11 o o 22222 a ---L8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a 222333 3 1 2 LL_--L6.-L1LL2 5 I I JI : J 0 0J 1 () It (1) ~_L I I I I I I CN1 JTAlIOI Y-chara1 I I I Y-char9Z 3 to 1 J I ________ ---L 1 I -1_~ REG ______ S I I I 10 0 0 0 0 0 0 0 0 0 OIAJO 0: ~ REG -1-LI__~;______- L 18 11 1 Test Character and Translate (TCT) EIS Multi-Wo~d 2 It Instruction Format Hfl Modification Field for Operand Descriptor 1 I Program Interrupt inhibit bit .Y-charnl 15 0 0 0 0 DIAIO 0: I Figure 2-1& 1 Nl 2 1 1000 0 0 0 Y3 I .1 1 HF 1 Address of string CN1 first character posItion of string TAl Data type of string Nl Length of strIng Y-char92 Address of character translation table Y3 Address of result Mord A Indirect via Pointer Register flag for YZ and Y3 REG Register modIfier for Y2 and Y3 ALI1 Coding Fermat I tct descna arg arg SUMHARYI (MF1) Y-charol[(CN1)1,Nl Y-char9Z(,tag] Y3[,tagl For 1 m = 1, a = It, 0, or 9 (TAl = 2, 1, or 0) 2, ••• , N1 = C(Y-charol)i-l If C(Y-charQ2)m-1 ~ 00 ••• 0, then C(Y-charQ2)m-l -> C(Y3)O,8 REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-194 AL39 EIS - ALPHANUMERIC COMPARE 000 -> C(Y3)9,11 i -> C(Y3)ll,35 otherwise, continue scan of C(v-cha~Q1) MODIFICATIONS. None except AU, QU, AL, QL, or Xn for HF1 and REG INDICATORSI (Indicators not listed are not affected) Tallv Runout NOTES: string If the otherwise, OFF length count exhausts, then If the data type of the string to be s:anned Is not (TAl ~ 0), then characters frow C(Y-charQl)! high-order zero filled in forming the table index, m. ON; 9-bit are Instruction execution proceeds until a non-zero table entry is found or the string length co~nt is exhausted. = If HF1.RL 1, then Nl does not contain the operand length; instead, it containS a re~ister code for a register holding the operand length. = If HF1.ID 1, then the first word following the Instruction Word does not contaln an Jperand Descriptor; instead, it contains an Indirect Pointer to the Operand Descriptor. Attempted execution with XED causes an Fault. Attempted repetition with Illegal Procedure Fault. TCTR RPT, RPD, IIJegal or Test Character and Translate In Reverse FORMATI Same as Test Character and Translate (TeT) (See Figure 2-16). SUMHARYI For i m = 1, 2, ••• , Nl = C(Y-charnl)Nl-i If C(Y-char92)m-1 ~ 00 ••• 0, then C(Y-char92)m-l -> C(Y3)O,8 000 -> C(Y3)9,11 i -> C(Y3)12,35 otherwise, continue scan of C(y-cha-nl) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-195 Procedure RPL causes an 165 (1) EIS - ALPHANUMERIC COKPARE HOOIFICATIONSI None except AU, QU, AL, Ql, or Xn for 1Ft and REG INDICA TORSI (IncHcators not listed are not affecte::U fa Ilv kunout NOTESI If the strin9 otherwise, OFF length count exhaus ts, then ON; If the data type of the string to be scanned is not 9-bit (TAl ~ 0), then characters fro~ C(Y-charnl)i are high-order zero filled in forming the table index, m. Ihstruction execution proceeds until a non-zero table entry is found or the string length COJnt is exhausted. = If HF1.RL 1, then Nl doeS not contain the operand length; instead, it contains a re~lster code for a register holding the operand length. If MF1.IO = 1, then the first word following the Instruction Word does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Operand Descriptor. Attempted execution with XEO causes an Fault. Attempted repetitIon with Illegal Procedure Fault. RPT, RPO, II legal or Procedure RPL causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-19& AL39 EIS - ALPHANUHERIC "OVE Hove Alphanumeric Left to Right HlR 100 (1) FORHATI 1 1 0 011 0 a-3 D J J I IT 101 FILL ______ LI 2 2 2 Z 2 r1F2 100 (1) I I HF1 211 I ) I ~ 1-1 1 1 I J CNZ aTAZI01 I ---1 18 3 I 10 1 1 CN1 ITAliO) --1 Y-charn2 ~ --1._L I 71 Y-charol 3 <} 1 I J I I I 911 Figure 2-17 2 Z Z --1-a._L.1-LLL_--L§. II 1 71 I Nt I I 1 tiZ I I 2 1 12 1 Move Alphanumeric left to Right (MlR) EIS Hulti-Word Instruction Format FIll FIll character for string extension T Truncation Fault enable bit "F1 Hodification Field for Operand Descriptor 1 "F2 Hodification Field for Operand Descriptor 2 Y-chrnl Address of sendIng string CN1 First character position of sendIng st-Ing TAl Data type of sending string N1 Length of sending string Y-charo.2 Address of receiving string CN2 First character pOSition of receiving strIng TA2 Data type of receiving string NZ Length of receiving string ALH Codlng Format: mlr descna descna SUMMARY I (MF1) t (HF2) (, fill (o·etal expression)][ ,e"\abl efaul t 1 Y-charol(CN1)],Nl n = ~, 0, or 9 (TAl: 2,1, or 0) Y-cnarnZ(CNZ)],N2 D 4, D, or 9 (TA2 2, 1, or 0) = For i = 1, 2, ••• , minimum (N1,N2) CCY-charn1)l-1 REVIEW DRAFT SUBJECT TO CHANGE October, 1975 = -> Z-197 C(Y-charn2)i-1 Al39 EIS - ALPHANUMERIC MOVE If Nt < NZ, then for i C(FILl) -> = Nl+l, Nt+Z, ... , C(Y-charoZ)1-1 MODIFICATIONS. None eKcept AU, QU, AL, Ql, or Xn for INDICATORSI (Indicators not listed are not affected) Truncation NOTESI If N1 > N2 ~Ft and MF2 NZ then ON; otherwise OFF If data types are dissimilar (TAt ~ TA2), each character Is high-order truncated or zero filled, as aopropriate, as it is moved. No character conversion takes place. If N1 > NZ, then (Nt-HZ) trail lng Characters C(Y-charol) are not moved and the Trun:ation indicator set ON. If Nt < then FIll moved to place. of is and TAZ = Z '~-bit data) or 1 (6-bit data), are high-order truncated as they are C(Y-charoZ). No characte- conversion takes N2 ch~racters If N1 < NZ, C(FILl)D = 1, TAl = 1, a,d TA2 = Z, C(Y-charol)Nl is eKamined for a GBCD overpunch sign. negative overpunch sign is found, then the minus character is placed in C(Y-charQ2)NZ; otherwise, a Sign character is placed in C(Y-charoZ)NZ. then If a sign plus If HF~.Rl = 1, then N~ does not contain the operand length; instead, it contains a re~ister code for a register holding the operand length. If MFt1.IO = 1t then the 11th word following the Instruction Hord does not contain an Operand Desc~iptor; instead, it contains an Indirect Pointer to the Operand Descriptor. ClY-charoi) and C(Y-charoZ) may be overlapping strings; no check is made. ThiS feature is useful for replication of substrings within a larger string, but care must be exercised in the construction of the Jperand Descriptors so that sendin~ string (C(Y-cha"'nU) data is not inadvertently destroyed. The user of string replication or overlaying is warned that the Decimal Unit addresses the main store in unaligned (not on 0 modulo 8 boundary) units of Y-blockS words an1 that the overlaved string (C(Y-charnZ) is not returned to m3in store until the unit of Y-block8 words is filled or the instruction completes. = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a Truncatio~ (OverfloM) F au I t occurs. Attempted Fault. REVIEW execution with XED causes an Illegal Procedure 2-198 Al39 OR~FT SUBJECT TO CHANGE October, lC375 EIS - ALPHANUMERIC HOVr Attempted repetition with Illegal Proce1ure Fault. RPT. RPD. or RPL causes 101 (1) Hove Alphanumeric Right to Left HRl FORHATJ Same as Hove Alphanumeric Left to Right (HLR) (See Figur~ z-11 •• SUMMARYJ For i = 1. an 2 ••••• minimum (N1.HZ) C(Y-charnl)Nl-i -> C(Y-charoZ)NZ-i If Nl < NZ. then for i : Nl+l. HZ+1, •••• NZ CCFILl) -> C(Y-charnZ)NZ-i MODIFICATIONS. None except AU. QU. AL. QL, or Xn for INDICATORSI (Indicators not listed are not affected) Truncation -NOTES. ~Fl and HF2 If Nl > NZ then ON; otherwise OFF If data types are dissimilar (TAl ~ TAZ), each character is high-order truncated or zero filled. as appropriate. as it is moved. No character conversion takes place. If N1 > NZ. then (Nt-NZ) leading characters of C(Y-charnl) are not moved and the Truncation indicator is set ON. If Nl < NZ and TAZ = Z (4-bit data) or 1 (o-bit data), then FILL characters are high-order tr~ncated as they are moved to CCY-charoZ). No characte~ conversion takes place. = 1, then Nh does not contain length; instead. it contains a register register holding the operand length. If HFh.RL the operand code for a If HFh.IO = 1, then the hth word following the Instruction Word does not contain an Operand Descriptor; instead. it contains an Indirect Pointer to the Operand Descriptor. ClY-charo1) and C(Y-charnZ) may be ove~lapping strings; no check is made. ThiS feature is useful for replication of substrings within a larger string, but care must be exercised in the construction of the Operand Descriptors so that sending string (CeY-charol» data is not inadvertently destroyed. The user of string replication or overlaying is warned that the Decimal Unit addresses tne main store in unaligned (not on 0 modulo 8 boundary) units of Y-blockS words and that the overlayed string (C(Y-charnZ) is not returned to maln store until the unit of Y-bloc~8 words is filled or the instruction completes. REVIEW DRAfT SUBJECT TO CHANGE October. 1975 2-199 AL39 EIS - ALPHANUMERIC HOVE = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a T~uncation (Overflow) Fault occurs. Attempted execution with XED causes an Fault. Attempted repetition with Illegal Procedure Fault. RPT, II legal RPD, or RPL causes an Hove Alphanumeric Edited MVE Procedure 020 (1) FORHATI 0 0 1 1 000 012 J I 10 0 I ~-1-D. 1 I I 2 2 2 2 2 1 1 ---L-8 LL II 1 Z I KF2 I 020 (1) ID 01 J I I a ---1 71 1 7 I J I 2 2 I Y-charDl I CNl HAlIOI 1---________________________ __ t 1 1 --1 a I J I CN2 10 Y-char92 ---1 J I I Y-charn3 Move Alphanumeric Edited 5 9 10 1 7 Nt J 01 I t t I I 3 HFl ---1~ N2 S a I CN] ITA31DJ 181 Figure 2-18 o ] ~ I I lit HF3 I J 2 2 2 7 2 1 N3 I I 12 (MVE) EIS Hulti-Word Instruction Fermat "Fl Modification Field for Operand Descriptor 1 HF2 ModIfication Field for Operand DescrIptor 2 HF3 Modification Field for Operand Descriptor 3 I Program Interrupt inhibit bit Y-charn1 Address of sending string CNl First Character position of sending TAl Oata type of sending string Nl Length of sending string Y-char92 Address of MOP control string CN2 First character position of HOP control string N2 Length of HOP control string Y-charo3 Address of receiving string st~ing REVIEW DRAFT SUB~ECT TO CHANGE October, 1975 2-200 AL39 EIS - ALPHANUMERIC HOVE CNl First character position of receiving string TA3 Data type of receiving string N3 length of receiving string ALH Coding Formatl mve descOa' desc9a descoa SUMMARYI (HFl), 01Fl) ,OtF3) Y4 charol[(CN1)],Ni Y-char92[(CN2)~,N2 Y-charn3[(CNl)],N3 C(Y-charol) -> or 9 (TAl = 2, 1, or 0) 4, 0, or 9 (TA3 = 2, 1, or 0) o = 4, 0, n = C(Y-charol) under C(Y_cnar9l) HOP control See -Micro Operations for Edit Instructions· later in section for details of editing under M)P control. thi~ HODIFICATIONSI None except AU, QU, AL, QL, or Xn for 1F1, HFl, and HF3 INDICATORS: None af fected NOTESI If data types are dissimilar (TAt ~ TA3), each character of e(Y-charOl) is high-order truncated or zero filled, as appropriate, as it is moved. No c~aracter converSion takes place. If the data type of the receiving strl,g is not 9-blt (TAl ~ 0), then Insertlon Characters are nigh-orcer truncated as they are Inserted. The maximum string leng~h is 63. The :ount fields Nl, N2, and N3 are treated as modulo 64 numberi. The instruction completes normally onlv if N3 = minimuN (Nl,N2,N3), that is, if the receiving string is the first to e~haust; otherwise, an Illegal Procedure Fault occurs. = If HFh.RL 1, then Nh does not contain the operand length; instead, it contains a register code for a register holding the operand length. = If HF~.IO 1, then the hth word follo~ing the Instruction Word does not contain an Operand Desc~iptor; instead. jt contains an Indirect Pointer to the Operand Descriptor. C(Y-charol) and elY-charoJ) may be ove~lapping strings; no check is made. This feature is useful for replication of substrings within a larger string, but care must be exercised in the construction of the )perand Descriptors so that sending . str Ing (e (Y-cha~oU J data Is not inadvertently destroyed. The user of st~in~ replication or overlaving Is warned that the Decimal Unit addresses the main store in unaligned (not on 0 modulo 8 boundary) units of Y-block8 words and that the overlayed st~ing (C(Y-chcrn3)) Is not returned to m3in store untit the unit of Y-bloc~~ wores is REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-201 AL39 FORHATa D 0 1 1 0 ----G.~ 0 II I FIll J : 1 IT I 0: _LI a 911 Y-char-01 Z 2 Z :3 3 3 1 Z 3 L----L_a. 9 a 1 z. 1 1 2 2 Z 2 2 l Q J HF2 a I I • CN1 ITAll01 --1. I I J J I CNZ t Y-cha r o2 , , I . 7 Nl J 3 10 0 0 0 , ; Z 1 o --1. 1.8 Figure 2-19 10 1 NZ ITAZIO: 181 Y-char93 HFl J-L ----1 7: . • J I I: 1&0 (U I I 1Z I 0 0 0 0 0 D 1 AS 0 0: _I I I 11 1 2 Hove AJphanumer-ic with Tr-anslation (MVT) Instruction Format ~IS REG .. Multi-Word FIll Fill character- for str-1ng extension T Truncation Fault enable bit HF1 Modification Field for Operand Descr-iptor- 1 Hf2 Modification Field for Operand Descriptor Z Y-charo1 Addr-ess 01 sending str-lng eN1 First char-acter- position of sending st-lng TAl Oata type of sending string Nl len~th Y-charo2 Address of r-eceiving string CN2 First char-acter- position of receiving string TA2 Oata type of r-eceiving string NZ Length of r-eceiving str-lng Y-char93 Address of character translation table DRAFT SUBJECT TO CHANGE October, 1975 3 :l of sending string R~vtEW z-ZOZ AL39 EIS - ALPHANUMERIC A Indirect via Pointer Register flag for Y-char93 REG Register modifier lor ~OVE Y-char~3 ALM Coding format. IDvt descna descQa a,..g SUMMARY' 'HF1),(HFZ){,fill(octa.exp,..ession)](,e~ablefault) n n Y-charnl[(CN1»),N1 Y-charn2[(CNZ));N2 Y-cha,..93t, tag] Fo,.. i m = 1, 6, or 9 (TAl 6, or 9 (TAZ = 2, = Z. 1, or 0) 1, or 0) 2, •••• minimum (N1.HZ) = C(Y-charn1)i-1 C(Y-char93)m-i -> C(Y-charnZ)i-1 If Nl < NZ. then for i 11 = 4, = 4, = Nl+1. N1+2 ••••• NZ = C(F-ILL) C(Y-char93)m-l -> C(Y-cha"'n2Ji-1 MODIFICATIONS. None except AU, QU, AL. QL, and Xn for HFI, "F2. and REG INDICATORS' (Indicators not listed are not Truncation HOTES. If N1 > affecte~) H2 then ON; otherwise OFF If the data type of the receiving fleld is not 9-Dit (TA2 0), then characters from C(Y-ch3r93) are high-order truncated, as appropriate. as they areemoved. ~ If the data type of the sending field is not 9-bit (TAl _ 0). then characters from C(Y-charn1) are high-order zero filled when forming the table index. If N1 > HZ, then (Nl-N2J leading cha,..acters of C(Y-char-nl) are ",ot moved and" the Truncat ion indicator is set ON. II HFh.RL length; r~gister If HFt:s..IO = 1, then Nh does not c~nt~ln instead, it contains a re~lster holding the operand length. the operand code for a = 1. then the 11th wo,..d 101l0llling the Instruction Word does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Ope,..and Descriptor. C(Y-charnl) and C(Y-charnZ) may be ove-lapping strings; no Check is made. This feature is useful for repl.ication of substrings within a larger string. 'but care must be exercised in the construction of the Operand Descriptors so that sending string (CIY-charal)) data Is not inadvertently destroved. The user that the REVIEW DRAfT SUBJECT TO CHANGE October, 1975 of string replication or ~verJa~ing is wa~nea Decimal Unit aadresses t'le main store in 2-203 AL39 EIS - ALPHANUHERIC HOVE una.igned (not on 0 modulo 8 boundary) units of Y-blockS words and that the overlayed string (C(Y-charn2) Is not returned to ~aln store until the ~nlt of Y-blockS words Is filled or the instruction completes. If T = 1 and the Truncation indicator is set ON bv execution of the instruction, then a T~uncation (Overflow) Fault occurs. Attempted execution with XED causes an Fault. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-204 RPT. RPD. It legal or Procedure RPL causes an AL39 EIS - CHPN NUMERIC COMPARE 303 (1 ) Compare Numeric FORHATa 0 1 1 1 1 2 2 2 2 2 Q --1--1. --Lll D l-Z..L4 o 0 0 0 0 o J 0 0 0 I I I'tF2 I o--L: 01 _ _ _ _ ---1 11 Y-charol 71 303 Figure 2-20 a I t1Fl JI J (1) 3 ~ 1_1 I I CNI la: 51: I I I I I I Y-cha r o2 222 3 La. 9 Q I 10 L SF1 I I I I I CN2 I b: 52. I I I I 18 3 1 2 7 Nl J 5F2 I N2 I {) {) Compare Numeric (CMPNt EIS Multi-Word Inst-uction Format ItF1 Hodification Field for Operand Descriptor 1 .. HF2 Modification Field for Operand Descriptor 2 I Program Interrupt inhibit bit Y-charnl Address of "'eft-hand" number CNl First character posItion of -'eft-hand- number TN1 Data type of "Ieft-hand- nUMber S1 Sign and decimal type of "Ieft-hand- SFI Scallng factor of "Ieft-hand- number N1 Length of "Jeft-hand- number n~mber V-char-1l2 b CH2 FIrst character positIon of -right-hand" number TH2 Data type of S2 Sign and decimal type of "right-hand- number SF2 Scaling factor of "right-hand- number N2 Length of "right-hand" string -rl~ht-hand" number REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-205 Al39 EIS - NUMERIC COMPARE AlM Coding Formata cmpn descntfl,ls,ns,ts) descnlfl,ls,ns,ts] eMF1), eMFZ) '(-charnU (CNU] ,N1,SFl Y-cnaroZ { (C NZ» ], NZ, SFZ o = It = '+ o II C(Y-charnZ) as numeric or 9 or 9 SUMMARYI CCY-charn1) MODIFICATIONSI None excDt AU, QU, Al, QI, or Xn for HF1 and HFZ INDICATORS' Clndicato~s not listed are not ~alue$ affecte~) Zero If C(Y-charn1) = C(Y-charn2), then ON; other~ise OFF NegatIve If C(Y-charn1) > C(Y-charnZ), then ON; other~ise OFF Carry If JC(Y-charn1) I > NOTESI IC(Y-charo2):, then OFF, otherwise ON Comparison is made on It-bit numeric v31ues contained in eacn character of C'Y-char~). If either given data type is 9-blt (TNh D), characters from C(Y-char9~) are high-order truncated to '+ bits before comparison. = Sign characters are located according to information in CNh, S~, and N~ and interpreted as It-bit fields; 9-bit sign characters are high-order truncated before interpretation. The sign character 15 (octall is interpreted as a minus sign; all other legal sign characters are interpreted as plus sig~s. The positIon of the decimal determined from information In point CN~, S~, In CCY-charD~) SF~, is and Nh. Comparision begins at the decimal position corrsponding to the first digit of the operand with the larger number of integer digits and ends ~ith the last jigit of the operand with the larger number of fraction dIgits. FOUr-bit numeric zeros are used to rep~esent digits to the left of the first given digit of the operand with the smaller number of integer digits. Four-bit numeric zeros are used to rep~esent digits to the right of the I ast given digit of the operand with the sma'ler number of fraction digits. Instruction execution proceeds until an ineQuality found or the larger string length count is exhausted. is = If HFh.Rl 1, then Nh does not contain the operand length; instead, it contains a register code for a register holding the operand length. = If HFh.ID 1, then the hth word followIng the Instruction Word does not contain an Operand Desc-iptor; instead, it contains an Indirect Pointer to the Ope~and Descriptor. REV lEW OR ~FT SUBJECT TO CHANGE October. 1975 2-20& AL39 EIS - NUHE~IC COMPARE Detection of a character outside the r:tnge (0.11) (octa" in a digit position or a character outside the range t12,171 (octal) in a s1gn position" causes an Illegal Procedure Fault. Attempted Fault. execution with XED causes an Illegal Procedure Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-207 RPT, ~PD, or RPL causes an AL39 EIS - NUMERIC HOVE Hove Numeric "VN 300 (1) FORHATa o 0 ~ a 011 1 1 __________~8~~ _______ ~a I I J I PIa 0 0 0 0 a a OITJRI LJ I 1 , I MFZ I J 71 1 1 V-charD! ________________________ ---1: eN1 •I CN2 Y-charQ2 J Jsn • a b Hove Numeric (HVN) 3 . 2 2 2 J D 1 Z J L-_La.-LIl t J UI 300 (1) L MF1 1_1 J 10 1 SF1 1 J 'a 1 I I SlI J I Ibl I I S21 3 1 18 Figure Z-21 Z Z 2 Z Z Nt I J 7. I J I I -1I SF2 NZ J I Z 6 , I 6 EIS MultI-Word Instruction Format p 4-blt data sign character control T Truncation Fault enable bit R Rounding flag HF1 Modification Field for Operand Descriptor 1 HF2 Modification Field for Operand Descriptor Z 1 Program Interrupt Inhibit bit Y-charn1 Address of sending number CN1 First character position of sending nUBber TN1 Data type of sending number Sl Sign and decimal type of sending SF1 Scaling factor of sendIng number N1 Length of sending number Y-charnZ Address of receivIng number CNZ First character posItion of receiving number TNZ Data type of receiving number S2 Sign and deCimal type of receiving SF2 Scaling factor of receiving number NZ Length of receiving string numbe~ num~er REVIEW DRAFT SUBJECT TO CHANGE October. 1975 Z-208 Al39 EIS - NUMERIC HOVE ALH Coding ForMat. mvn descn(fl,ls,ns,ts) desco(fl,ls,ns,ts) (HF 1) , (MF Z) ( ,enab I e f au I t ) (,r:) und ] Y-charnU (eNt)] ,,Nl,SFl n = It or 9 Y-charn2((CNZ)],NZ,SFZ 0 = ~ or 9 SUHMARY C(Y-charo1) converted and/or rescaled MODIFICATIONSI None except AU, QU, AL. QLt or Xn for HFl and HF2 INDICATORS. IIndicators not listed are not affectej) Zero Negative -> C{Y-charo2) If ClY-charoZ) : decimal 0, then ON; otherwise OFF If a minus sign character is moved to ClY-charaZ), then ON; otherwise OFF Truncation If low-order digit truncation then ON; otherwise OFF Overf I 0111 If fixed point integer overflow occurs, then ON; unchanged. (See NOTES) Exponent Overflow If exponent of floating point result exceeds +127, ON; otherwise unchanged. Exponent Under' low If exponent of floating point result then ON; otherwise unchanged. NOTES' occurs l~ without less rounding, other"i~e than then -128, If data types are dissimilar (TN1 ~ TN2)t each character is high-order truncated or filled, as appropriate, as it is moved. The fill data used is "00011··b for digit characters and "Oa01D N b for sign characters. If TNZ and 5Z specify a 4-bit signed n~mber and 52 specify a ~-bit signed number and P 1, then a legal plus sign character in C(Y-charol) is converted to 13 (octal) as it is moved. = If N2 is not large enough to hold the integer part of CIY-charD1) as rescaled by 5F2, an overflow condition exists; the Overflo~ indicator is set ON and an Overflow Fault occurs. This implies that an unsigned fixed point receiving fIeld has a minimum lengt, of 1 character; a signed fixed point field, 2 characters; and a floating point field, J characters. If NZ is not large enough to hold atl the given digits of CIY-charaU as rescaled by 5F2 and R = Dt then a truncation condItion exists; data movement stops when C(Y-charn2) is filled and the Truncation indicator is set ON. If R = 1, then the last di~it moved is rounded according to the absolute value of the remaining digits of C(Y-charol) and the instruction completes normally. = If HF~.RL 1, then Nh does not contain length; instead, it contains a register register holding the operand length. REV lEW DRAFT SUBJECT TO CHANGE October, 1975 2-209 the operand code for a EIS - NUHERIC HOVE If HFh.IO = 1. then the 11th word following the Instruction Word does not contain an Operand Descriptor; Instead. it contains an Indirect Pointer to the Operand Descriptor. CrY-charol) and C(Y-charo2) may be overlapping strings; no check is made. ThiS feature Is useful for rep' ication of substrings within a larger string. but care must be exercised in the construction of the Operand Descriptors so that sending string (C(Y-charol») data is not inadvertently destroyed. Difficul ties may be encountered because of seal in~ factors and the special treatment of Sign characters and floating point exponents. The user of string replication or over laving is warned that the Decima' Unit aodresses t,e main store In unaligned (not on a modulo 8 boundary) units of Y-block8 words and that the overlayed string (C(Y-charOZ» is not returned to main store until the unit of Y-block8 words Is filled or the instruction completes. If T : 1 and the Truncation Indicator is set ON by execution of the instruction. then a T~uncation (Overflow) F au I t occurs. Detection of a character outSide the range to,tll (octal) in a di~it position or a character outSide the range {ll.17] (octal) in a sign posItion causes an Illegal Procedure Fault. Attempted Fault. execution with XED causes an Illegal Procedure Attempted repetition with I11egal Procedure Fault. RPT. RPD, or RPl causes an REVIEW DRAfT SUBJECT TO CHANGE October. 1975 2-210 AL39 EIS - HVNE NUMERIC HOVE Hove Numeric Edited 024 (U FORHATa o 0 0 0 0 1 1 1 1 --L1 Z 8~-11-1 -L~ I I J 0 01 ; I J 2 2 I I 10 01 HF3 I I -1. 71 I Y-charn1 I I Y-char9Z I I J J Y-charn3 L- Figure 2-22 I 11Ft 1 ---1_L I I 10 1 I CN1 : al SUD 0 0 0 0 OJ 11 CN2 I 0 I t I o I J Nt 71 1 I I 01 2 0 0 0 0 0 0 01 N2 I I ---1._--LL-l. 1.a !2 J HI 024 (1) I 3 .• J HF2 Z 7 2 2 2 2 Z 2 2 2 D 1 Z 3 L---La. 9 I 1 J . CN1 ITA1IDIO J I ---1. 18 3 2 1 91 0 0 0 D 01 I J Nl I I £> I £> Hove Numeric Edited (I1VNE) EIS Multi-Word InstructIon Format Hfl Modification Field for Operand Descriptor 1 HFZ Modification Field for Operand Descriptor 2 -Hf3 Modification Field for Operand Descriptor 3 I Program Interrupt inhIbIt bit Y-charD1 Address of sending string CN1 First TN1 Data type of sending string S1 S1gn and deciaa' type of sending N1 Length of senoing string Y-char92 Address of MOP control string CN2 First H2 Length of HOP control strIng Y-charo3 Address 01 receiving strlng CN3 First character position of receiving string TA3 Data type of receiving string NJ Length of receiving string cha~acter characte~ positIon of sending st~ing strin~ position of MOP control string REVIEW DRAfT SUBJECT TO CHANGE October, 1975 2-211 AL39 EIS - NUMERIC MOVE AlH Coding Formata mvne desco(fl,ls,ns,ts) desc9a descOa SUMMARY I (MF1),(MFZ) ,(I1FJ) Y-charnl((CN1) 1 ,Nl Y-char92[ (CNZ) I,NZ Y-c har n3[(CN31),N3 Q = It Q = or 9 It, 6, or 9 eeY-charn1) -> C(Y-charo3) under C(Y_cnarQ2) MOP control See -Micro Operations for Edit Instructions· later in this section for details of editing under H)P control. MOOIFICATIONSa None .except AU, QU, AL, QL, or Xn for "'Fl, HFZ, and MF3 INOICATORSi None af 'ected NOTESI If data types are dissimilar (TAl _ TA3), each character of C e Y-charoU is hi gh-order truncate d or zero f iI J ed, as appropriaie, as it is moved. No chara~ter conversion takes place. If the data tvpe of the receiving stri~9 is not 9-bit (TA3 ~ 0), then Insertion Characters are high-order truncated as they are Inserted. The maximum string length is 63. The :ount fields Nl, N2, and N3 are treated as modulo 61t numbers. = The instruction completes normally onl~ if N3 minimum (Nl,NZ,N3), that is, if the receiving string is the first to exhaust; otherMise, an Illegal Procedure Fault occurs. If HF~.Rl 1, then N~ does not contain the operand length; instead, it contains a re;ister code for a register holding the operand length. = If MF~.IO 1, then the hth Mord follo~ing the Instruction Word does not contain an Operand Desc~lptor; instead, it contains an Indirect Pointer to the Operand Descriptor. C(Y-charni) and e(Y-charo3) may be ove~lapping strings; no check is made. This feature 1s useful for reDlication of substrings within a larger st~in9, but care must be exercised in the construction of the )perand Descriptors so that sending string (C'Y-cha~ni» data is not inadvertentlv destroyed. The user of string replication or overlaving is warned that the Decimal Unit addresses the main store in unaligned (not on 0 modulo 8 boundarv) units of Y-block8 words and that the overlayed string (e(Y-char-03}) is not returned to main store untit the unit ~f Y-block8 words is filled or the instruction comptetes. Attempted execution with XED causes an Fault. Attempted repetItion with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 Z-212 RPT, RPD, II legal or Procedure RPL causes an Al39 EIS - BIT STRING COMBINE Combine Bit Strings left CSl 0&0' (1) FORHATI o o 0 II 1 0 I a IFIO 0 0 01 I I I I 111 2 0 0 1 1 -LL2 g !LL_--A~_!l.-1 I . 11 I 0&0 (1) 71 I I Cll Y-bit2 B1 J I B2 I I J 1 I C2 I I J I I 18 J HF1 II' -11 --1 Figure 2-23 ~ I I I 3 Lll 9 !! I : HF2 .. 1 1 Y-bit1 I Z Z 2 ~ a I BOlR I TID I _--L-_ _LLI 2 2 2 . 10 1 7 N1 NZ I 12 Combine Bit Strings left (CSL) EIS Multi-Word Instruction Format F FIll bit for string extension BOlR Boolean result control fIeld Truncation Faul t er)ab Ie bi t _T "F1 Modification Field for Operand Descriptor 1 "F2 Modiflcation Field for Operand Descriptor 2 I Program Interrupt inhibit bit Y-bit1 Address of ·sending" string Cl First character position of "sending" string 81 First bit position of "sending- string Nl length of "sending- string V-bitl Address of "receiving" string C2 First character position of "receiving- string 82 First bit position of "receiving- N2 Length of "recelving" string strl~9 AlH Coding Format: csl descO descb REVIEW DRAFT SUBJECT TO CHANGE October, 1'375 (MF 1) , (HF 2) ( • enab I e f au It] {, boo I (oct a I expres s ion) ) ( , f i I I (011) ) Y-oit1[COITN01) l,NI V-bit2[(BITN02)),N2 2-213 AL39 EIS-, BIT STRING COMBINE SU"MARya Fo~ 1 = bits 1, Z, ••• , minimum (N1,NZ. m : C(Y-bit1)1-1 C(BOLR)m -> '1 C(Y-blt2)i-1 C(Y-bit2)i-1 If N1 < NZ, then fo~ i = N1+1, Nl+Z, ••• , NZ m = C(F) ,: C(Y-bltZ)i-1 CCBOLR)m -> C(Y-bitZ)i-l MODIFICATIONSI None except AU, QU, AL, QL, or Xn INDICATORSI (Indicators not listed are not affectej) = Zero If CCY-blt2) Truncation If Nl > NZ, then ON; otherwise OFF NOTEsa fo~ ~Fl and ~FZ 00 ••• 0, then ON; otherwise OFF If N1 > NZ, the low order (Nl-NZ) bits of e(Y-bitl) not processed and the Truncation indicator is set ON. a~e The bit pattern in C(BOlR) defines the Boolean operation to be performed. Any of the sixteen possible Boolean operations may be used. Some common Boolean operations and their BOlR fields are shown below. Qwu:a.1.lJul C..Le.tlLBl MOVE 0011 AND 0001 OR 0111 NAND 1110 Exclusive OR 0110 Clea~ 0000 Inve~t 1100 If MF~.RL = 1, then N~ does not c)ntain length; instead, it contains a re~ister reglste~ holding the operand length. the operand code for a = If HF~.IO 1, then the ~th word following the Instruction Hord does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Operand Descriptor. C(Y-bitl) and e(Y-bitZ) may be overlapping strings; no check is made. This feature is useful for replication of substrings ~lthin a larger string, but care must be exercised in the construction of the Jperand Descriptors so that sending, string (e(Y-bitl) data is not REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-Z11+ AL39 (IS - BIT STRING COMBINE Inadvertently destroyed. The user of string replication or ov!r'aying is warned that the Decimal Unit addresses the main store in unaligned (not on 0 modulo 6 boundary) units of Y-blockS words and that the overlaved strin1 (e(Y-bitZ) is not returned to main store until the unit of Y-block8 words is filled or the instruction completes. = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a T-uncatlon (Overflow) Fault occurs. Attempted Fault. execution with XED causes an Illegal Procedure Attempted repetition with Illegal Procedure Fault. CSR RPT. RPD, or RPL causes 061 (1) Combine Bit Strings RIght FORHAT: Same as Combine Strings Left (CSL) SUMMARYI For i = bits an (See Figure 2-Z3). 1. Z, •••• minimum (N1.NZ) m = C(Y-bltl)Nl-i 1. C(Y-bitZ)NZ-l C(BOLR)m -> C(Y-bitZ)NZ-l If N1 < N2, then for i m = C(F) = N1.1. Nl.Z •••• , NZ I: C(Y-bltZ)NZ-i C(BOLR)m -> C(Y-bitZ)NZ-i MODIFICATIONSI None except AU.QU, AL, QL, or INDICATORSI (Indicators not listed are not Zero If CIY-bitZ) Truncation If N1 NOTESI > = 00 ••• 0, ~n for H~1 and HFZ affecte~) then ON; otherwise OFF NZ, then ON; otherwise OFF If N1 > N2. the high order (N1-NZ) biti of C(Y-bit1) not processed and the Truncation indicator is set ON. are The bit pattern in C(BOLR) defines t~e Boolean operation to be performed. Any of the sixteen possible Boolean operations may be used~ See NOTES u~der Combine Strings Left (CSL) instruction for examples of BOLR. = If HF~.RL 1, then N~ does not contain length; instead, It contains a re~ister register holding the operand length. REVIEW OR'FT SUBJECT TO CHANGE October. 1975 2-Z15 the operand code for a AL39 EIS - BIT ~TRING COM8INE = If HFh.ID 1, then the ~th word folJo~lng the Instruction Word does not contain an Operand Descriptor; instead, it contains dn Indirect Pointer to the Op~rand Descriptor. C(Y-bit1) and C(Y-bit2) may be ove-Iapping strings; no check is made. This feature is useful for replication of substrings within a larger string, but care· must be exercised in the construction of the )perand Descriptors so that sending string (ClY-bit1» data is not inadvertently destroyed. The user of string replication or overlaying is warned that the Decimal Unit addresses the main store In unaligned (not on 0 modulo 8 boundary) units of Y-block8 words anj that the overlayed strin1 (C(Y-bitZ) is not returned to main store until the ~njt Jf Y-block8 words is filled or the instruction completes. = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a T~uncation (Overflow) Fault occurs. Attempted Fault. execution with XED causes an Illegal Procedure Attempted repetition with Illegal Procedure Fault. R~VIEW DRAFT SUBJECT TO CHANGE October, 1915 Z-21& RPT, RPD, or RPL causes an AL39 EIS - BIT STRING Compare BIt Strings CMPB CO~PARE 006 (1) FORHATa o 0 001 1 Q 1 I I I FlO ----A-i~_1 I I I 000 0 0 0 OaTIOI ____ .LL 1 1 1 2 ________ __1_8 I HF2 71 J I Cll V-bitl I I I I 3 3 _ ___1_~~9__________~5_ I I 066 (1) II J HF1 ~ --1_L 10 1 Bl -1--,_____ I J 2 Z 2 2 2 1 ____________ ~I_1-l 8 1 1 11 9 0 7 Nl I N2 _________ ----1_-..a.I _____-.l.S____________ ....L V-bit2 I C21 18 Figure 2-24 82 2 ,. 12 Compare Bit StrIngs (CHPB) EIS Multi-Word Instruction Format f Fill bit for string extension T Truncation Fault enable bit ~"fl Modification FIeld for Operand Descriptor 1 "fZ Hodification Field for Operand Descriptor Z I Program Interrupt inhibit bit Y-bitl Address of -left hand" string Cl First character positIon of "left hand- string B1 First bit position of "left hand" Nl Length of -left hand" string Y-blt2 Address of "right hand u string C2 First character position of "right 82 First bit position of "right hand HZ Length of "right hand" string stri~g u ALH Coding Formata cmpb descb descb SUMMARV. REVIEW DRAFT SUBJECT TO CHANGE Oct 0 b er , 1975 (MF1).(MF2)[.enablefault)[,flIICDll)] V-bitl[(BITN01»).N1 V-blt2[(BITN02»),N2 For 1 = 1, 2, ••• , minimum (Nl,N2) 2-217 han~- strlng string EIS - BIT STRING COMPARE C(Y-bltlJi-l :: C(Y-bltZ)i-l If N1 < NZ. then for 1 = N1+1. Nl+Z • •••• HZ C(FILU :: C(Y-bitZH-l If NZ < NZ. then for 1 = NZ+1. N2+2, •••• N1 C(Y-bitl)l-l :: C(fILl) HODIFICA TIONS: None except AU. QU. Al, Ql. or Xn for INDICATORS: (Indicators not listed are not affected) = C(Y-bltZ)i ~F1 and HF2 Zero If CtY-bit1)' otherwise. OFF Carrv If e(Y-bit1)l < C(Y-bitZ)! for anr i. then OFf; otherwise ON NOTES: for all i. then ON; Instruction execution proceeds untit an ineQual i ty found or tne larger string length count is exhausted. is If HF~.RL = 1. then N~ does not contain the operand length; instead. It contains a register code for a register holding the operand length. = If HF~.ID 1. then the ~th word follo.lng the Instruction Word does not contain an Operand Desc~iptor; Instead. it contains an Indirect Pointer to the Operand Descriptor. Attempted Fault. e~ecution with XEO causes an Attempted repetItion with Illegal Procedure Fault. RPT. RPD, Illegal or Procedure RPl causes an REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-216 Al39 EIS - aIT SfRIHG SET INDICATORS -£IS SZTL .au.:~1c.ln!L-S!U.-I.~~~ 06 .. (1) Set Zero and T~uncatlon Indicators with Bit Strings Left FORMAT. Same as Combine Strings left ICSl) (Sea Figure 2-23). SUMMARYI For i m = bits 1. 2 ••••• = C(Y-bit1)i-l If CCBOLR)m If Nt m < ~ I: CCY-bitZ)i-l 0, then terminate HZ, then for = C(F) II If CCBOLR)m. (Nl.NZ) minimu~ i = Nt+1, N1+l • ••• , HZ CCY-bitl)l-l ~ 0, then terminate MODIFICATIONS' None except AU. QU, AL. QL, or Xn for INDICATORS. (Indicators not listed are not affected) ~Fl and HFl Zero If CCBOLR)m = 0 for alJ i . then ON; otherwise OFF Truncation If N1 NOTES. > NZ. then ON; otherwise OFF If Nt > HZ, the low order (N1-NZ) bits of CIY-bitt) not processed and the Truncation indicator is set ON. are The execution of thiS instruction is identical to Combine Strings Left (CSL) except that C(BOLRJ~ is not placed into C(Y-bi t2)1-1. The bit pattern in C(BOLR) defines the Boolean operation to be performed. Anv of the sixteen possible Boolean operations may be used. See NOTES under Combine Strings Left (CSl) instruction for examples of aOLR. = If HFt.Rl 1. then N~ does not contain the. operand length; instead, it contains a register code for a register holding the operand length. = If MFh.ID 1. then the hth "o~d following the Instruction Word does not contain an Operand Desc~iptor; instead, it contains an Indirect Pointer to the Operand Descriptor. If T =1 and the Truncation Indicator execution of the instruction, then a Fau I t occurs. Attempted Fault. execution Z-219 T~uncation set ON bV (Overflow) wIth xto causes an I I legal Procedur-e Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 is RPT, RPO. or RPL causes an EIS - BIT STRING SET INDICATORS Set Zero and T~uncation Indlcato~s with Bit Strings Right SZTR FORMATa Same as Combine Strings Left (CSL) SUMMARY' Fo~ 1 m = bits 1, 2, •••• = C(Y-bit1)N1-i II If ClBOLR)m ~ = C(F) J minimum CN1.N2) C(Y-bitZ)N2-i = N1+1, N1+2, ••• , NZ J elY-hi t2)N2-i If C(BOLR)m exce~t (See Figure 2-23). 0, then terminate If Nt' < N2, then for i m 065 (t) ~ 0, then terminate MODIFICATIONS' None AU, QU, AL, QL, or Xn for HF1 and HF2 INDICATORS' (Indicators not listed are not affectej) Zero If C(BOLR)m = Q for all i, then OH; otherwise OFF Truncation If Nt > N2. then ON; otherwise OFF NOTES' If Nt > N2, the low order (N1-HZ) bits of CrY-bitt) not processed and the Truncation indicator is set ON. are The execution of this instruction 15 identical to Combine Strings Right (CSR) except that C(80L~)m is not placed into C(Y-bitZ)N2-i. The bit pattern in C(BOLR) defines t~e Boolean operation to be performed. Any of the sixteen possIble Boolean operations may be used. See NOTES under CombIne Strings Left (CSL) instruction for examples of BOLR. MF~.Rl = 1, then N~ does not contain length; instead. It contains a re~ister register holding the operand length. If the operand code for a If HFh.ID = 1, then the 11th wo~d follo",lng the Instruction Hord does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Ope~and Desc~lptor. If T = 1 and the Truncation indicator is set ON by execution of the instruction, then a T~uncation (Overf low) Fault occurs. Attempted execution with XED causes an Fault. Attempted repetition with Illegal Procedure Fault. RPT, RPO, II legal or Procedure RPL causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-220 Al39 EIS - DATA CONVERSION ~Ol Binary to Decimal Convert 8TO (1) FORMATa '0 0 o I I IPao o , 1 1 o 1 I 1 I 0 0 0 0 0 0 0 01 I I 11 10 J I a 301 (1) ---1 , 71 CN1 : 0 0 J . J J I 1 I 18 o ~ 7 8 10 1 J 0 0 0 0 0 01 N1 I 3 1 NZ __ ____________ I ~J Z 6 6 Binary to Decima' Convert (BTD) EIS Hulti-Word Instruction For~at 4-blt data sign character control P a HF1 HI ----1-L-__________ I 91 I CN2 J a J 5210 0 0 0 0 0 I Y-charn2 Figure 2-25 2 Z 233 I HF2 Y-char11 I I Z Z Z 2 2 1 1 ______~5_ Q 1 Z -La__~~~~3_~---Z-~~9_D~ ... ttF1 Modification Field for Operand Descriptor t HF2 Modification Field for Operand Descriptor 2 I Program Interrupt inhibit bit Y-charCJ1 Address of binary number CNt first character position of binary numDer Ni Length of binary number In characters Y-charnZ Address of decimal number CN2 First character position of decimal nuwber TNZ Data type of decimal number S2 Sign and decimal type of decimal NZ Length of decimal number numbe~ ALH Coding Formatl btd desc9ns desco(ls,ns,tsl SUMMARYI REVIEW OR~T SUBJECT TO CHANGE October, 1975 (I1FU,U1F2) Y-char91(CN1»),N1 Y-charnZ(CNZ»),NZ C(Y-char,)1) converted to deciMal Z-ZZl D. -> = 4 or «) C(Y-CharnZ) AL3CJ EIS - DATA CONVERSION MODIFICATIONS I None except AU, QU, Al, Ql, or Xn for INDICATORS: (Indicators not listed are not affectej) Zero Negative If C(Y-charn2) NOTESa ad HF2 D, then ONI otherwise OFF If a minus sign character is moved ON; Overflow = decimal ~Fl to C(Y-chara2), then otherwise OFF If fixed point integer overflow occurs, then ON; unchanged (See NOTES) other~lse C(Y-char91) contains a two·s complement binary integer aligned on 9-blt character boundaries with length 0 < Nl <= 8. = If TN2 and S2 specify a 4-bit signed nJmber and P 1, then if C(Y-char9i) is posltive (bit 0 of C(Y-char91)D = 0), then the 13 (octal) plus sign character is moved to C(Y-charnZ) as appropriate. The scaling factor of CCY-charQ2), SF2, must be O. If N2 is not large enough to h3'd the digits of C(Y-char91) an overflow condition exists; the pver"ow indicator is set ON and an Overflow Fault occurs. This implies that an unsigned fixed point receiving field has a 1 character and a Signed fixed point minimum length field, 2 characters. 0' = If HF~.RL 1, then Nh does not contain the operand length; instead, 1t contains a re~ister code for a register holding the operand length. = If MFh.IO 1, then the ~th word follo~lng the InstructIon Word does not contain an Operand Oesc~iptor; instead, it contains an Indirect Pointer to the Operand Descriptor. C(Y-char91) and C(Y-charn2) may be overlapping strings; no check is made. Attempted conversion to a floating poi~t number (S2 = 0) or attempted use of a scaling factor (SF2 ~ D) causes an Illegal Procedure Fault. If Nl =0 or N1 > 6 an IJ JegaJ Procedure FauJt occurs. Attempted execution with XED causes an II legal Procedure F au I t . Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-222 RPT, RPD, or RPL causes an Al39 EIS - OATA DTB CONVERSIO~ Decimal to Binary Convert 305 (1) FORHATa 0 1 1 D _11-1 I I0 0 0 0 0 0 o J I I J 0 0 0 01 I 11 2 2 2 Z Z 1 1 J I HFZ 305 Y-cha~nl I I J J1 MFt J I N1 I N2 I I J J 2 I J 3 t I 7J 61 I 0 0 0 0 0 0 0 0 01 ----1. 8 , & 9 Decimal to Binary Convert (OTB) EIS Hultl-Word Instruction Format Jsu HFl Modification Field for Operand Descriptor 1 HFl Modification Field for Operand Descriptor Z I Program Interrupt inhibit bit • V-charIll a ~ ---1_1 CN2 Y-cha~9Z Figure 2-l& 3 J I 1 10 1 I CN1 J a 1 SUO 0 0 0 0 01 ---L : I I 1 III (1) I 71 LI J 2 Z 2 3 -LL-D 1 Z L L - _ L ' 3 D Address of decimal number CNt First TNl Data type of decimal number S1 Sign and decimal type of decimal N1 length of decimal number Y-charlll Address of binary number CN2 First H2 length of binary number in cha~acter cha~acte~ position of decimal position of nu~ber numbe~ bina~y num~er cha~acters ALH Coding Formatl dtb descn[ls,ns,tsl desc9ns (HF 1) , U1F 2 ) Y-charn1[ (CN1)l,Nl Y-char92((CNZ)],NZ Q -= SUMMARY I C(Y-charn1) converted to binary MODIFICATIONSI None except AU, QU, AL, Ql, or Xn for INDICATORS: (Indicato~s not -> it or 9 C(Y-char9Z) ~Fl ad HF2 listed are not affected) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-223 AL39 EIS - DATA CONVERSION = 0, Zero If C(Y-char9Z) Negative If a minus sign character is found ON; otherwise OFF Overflow If fixed point integer overflow occurs, unchanged (See NOTES) NOTES. then ON: otherwise OFF in C(Y-charn1), then then ON; other",ise C(Y-char9Z) "'ill contain a two·s complement binary integer aliJned on 9-bit character boundaries with length 0 < HZ <= 8. The scaling factor of e(Y-charD1), SF1, must be O. If N2 is not large enou~h to hold the converted value of e(Y-charD1) an overflow conoition eKists; the Overflow indicator is set ON and an Overflow Fa~lt occurs. = If HF~.aL 1, then N~ does not contain length; instead. It contains a register register holding the operand length. the operand code for a If HFh.IO = 1, then the hth word following the Instruction Word does not contain an Operand Oescri ptor; Inst"!ad, It contains an Indirect Pointer to the Operand Descriptor. C(Y-charn1) and C(Y-char9Z) may be overlapping strings; no check is made. Attempted conversIon of a floating point number (S1 or attempted use of a scaling factor (SF1 _ 0) causes Illegal Procedure Fault. If N2 =0 Attempted Fault. or NZ ~ an 8 an Illegal Procedure Fault occurs. execution with XED causes 3n I I legal Procedure Attempted repetItion with Illegal Procedure Fault. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 = 0) 2-22" RPT. RPO, or RPL causes an AL39 EIS - -us - DECIHAL ADDITION Oec4ma..L.A~Wlil 20l (1) Add Using 2 Decimal Operands ADZD FORHATa J PID o 1 1 0 011 § 2 Il 1 J I 0 0 -LJ. • 0 0 0 o 0 OJTJRJ Z a. t1Fl LL-L- I ~ P -T a _---1 , I I I a CN1 2 a I S11 I I I J 1 3 l D 2 I HF1 I I I 10 1 SFI I I 4) 1 I tIl 20l (U I Y-charnl Figure 2-l1 2 Z l D 1 Z 3 L..---L8 J J 11 1 1 Y-cha r n1 1 2 2 2 2 2 71 I I Nl I I I I SFZ CN2 J b I S21 J I I I 18 3 1 2 I I I I N2 I I £» £» Add Using 2 Decimal Operands (AOlO) EIS t1ulti-Word Instruction Format 4-bit data sign character control Truncation Fault enable bit R Rounding flag HFl Modification Field for Operand Descriptor 1 HFZ Hodification Field for Operand Descriptor l I Program Interrupt inhibit bit Y-charn1 Address of augend (ADlD), (HPlD), or divisor (OVlD) CN1 First character position of augend (AOZD), minuend (5820), mu'tipicand (HPlO), or divisor (DVlO) TN1 minuend Data type of augend (A02D), minuend _ (HP20), or dl vi sor (OVlO) (SB20), (SB20), S1 Sign and decimal type of augend (AOlO), multiplicand (HPZO), or divisor (OVlO) SF1 Scal ing factor of augend (ADlO), multiplicand multiplicand minuend minuend (SB20), (S8l0) , multiplicand (HPlO)9 or divisor (OVlO) N1 Length of augend (ADlD), (MPlOI, or divisor (OVlO) V-charol Address of addend and sum (AOlO), subtrahend and difference (S820)9 multiplter and product (HPlO), or dividend and Quotient (OV20) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Z-225 minuend (S820), multiplicand ALl9 EIS - DECIHAL ADDITION b CH2 First character position of addend and sum IADlO), subtrahend and difference (S8l0), multiplier and prOduct (HP2D), or divIdend and Quotient (OVlD) TH2 Data type of addend and sum (A020), subtrahend and difference (SB20), multiplier and product (HP2D), or dividend and QuotIent (OV20) S2 Sign and decimal type of addend and su~ (AD20), subtrahend and difference (Sa20). multiplIer and product (HP20), or dividend and quotient (OV20) SF2 Scaling factor of addend and sum (AD2D), subtrahend and dIfference (SB20), multiplier and product (HP20). or dividend and Quotient (OVlO) H2 Length of addend and sum (ADlO), subtrahend and dIfference (SB20), multiplier and product (HP20), or dividend and quotIent (OVlO) AlH Coding Format. ad2d descn(fl.ls,ns,tsl descn(f •• ls,ns,ts) CHF1),(MFl)[,enabJefault]{,rDundJ 'Y-charnl[(CN1)},N1,SFl n 4 or 9 Y-cha r oZ[CCNl)],Nl,SF2 n 4 or 9 = = SUMMARY. CtY-charnl) + CCY-charnl) -> CCY-charn2) MODIFICATIONS. None except AU, QU, AL, QL, or Xn for INDICATORS' (Indicators not ~F1 and "F2 listed are not affected) = decimal Zero If CCY-charn2) Negative If CCY-charnZ) is negative, then ON; otherwise OFF Truncation If the truncation condition exists without rounding, ON; otherwise OFF (See NOTES) Overflow If the overflow condition unChanged (See NOTES) Exponent Overflow If exponent of floating ON; otherwise unchanged. Exponent If exponent of floating point result Underflow then ON; otherwise unchanged NOTESI 0, then ON; otherwise OFF exists, point then res~lt is ON; then otherwise exceeds 127 then less than -128 = If TN2 and S2 specify a 4-bit Signed n~mber and P 1, then the 13 (octal) pluS Sign c,aracter is placed appropriately if the result of the ope~ationis positive. If N2 is not large enough to hold the integer part of the result as scaled by SF2, an overflow condition exi5ts; the Overflow inulcator is set ON a~d an Overflow fault REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-22& AL39 EIS - DECIMAL ADDITION occurs. This implies that an unsigned fixed point receiving field has a minim~m lengt~ of 1 character; a signed flKed point field, 2 characters; and a floating point field, 3 characters. If N2 is not large enough to hold all the digits of the result as scaled by SF2 and R 0, then a truncation condition exists; data movement stops when C(Y-charnZ) is filled and the Truncation indicator Is set ON. If R 1, then the last digit moved is rounded according to the aDsolute value of the remaining digits of the result and the instruction completes normally. = = If HF~.RL = 1, then Nh does not contain the operand len1th; instead, it contains a register code for a register holding the operand length. = If HFh.ID 1, then the hth word following the Instruction Word does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Oparand Descriptor. C(Y-charnl) and C(Y-charn2) may be check is made. If T ove~lapping strings; no =1 and the Truncation indicator is set ON by of the instruction, then a Truncation (Overflow) Fault occurs. executio~ Detection of a cnaracter outSide the ~ange [0,111 (octal) in a digit posItion or a character outside the range [12,17) (octal) in a Sign position causes an II legal Procedure Fault. Attempted execution w1th XED causes an Fault. Attempted repetition with Illegal Procedure Fault. RPT, RPO, II legal or Procedure RPl causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-227 AL39 EIS - DECIMAL ADDITION 222 (1) Add Using 3 Decimal Operands A030 FORHAT. 0 0 0 ~ fI I I I I P 10 I 1 1 ----Lfl 0 D 1 1 -'L1_Z- J I HF3 I I I 11 1 a 1. I IT I RI •I 71 I V-charo2 2 I .T a : CN2 :b 521 10 1 SF1 7 N1 I I I I I 531 SF2 N2 I I CN3 :c I I 18 3 1 V-charo3 P I 511 I a MFl tIl ---1_1 CNI la I Js..u 1 1 I I I Figure 2-28 3 ~ 222 (1) J L- I I 2 2 2 3 D l....L.LL-_LLL.Il I HF2 I I 1 1 V-charo1 I 2 2 2 2 2 J I SF3 I N3 I 2 6 6 Add Using 3 Decimal Operands CAD30) [IS Hulti-Word Instruction Forqat 4-bit data sign character control Truncation Fault enable bit R Rounding flag I1F1 Modification Field for Operand Descriptor 1 J1F2 Modification Field for Operand Descriptor 2 I1F3 Hodification Field for Operand Descriptor 3 I Progra_ Interrupt inhibit bit V-chara1 Address of (MP3D», or au~end dl~isor (AD30), (OV3D) minuend (SB30), multiplicand CN1 First character position of augend (AD30), minuend (5830), multiplicand (MPlD), or divisor COV30) TN1 Data type of augend (A030), minuend (MP30), or divisor (OVlO) 51 Sign and decimal type of augend (AD30), multiplicand (HPlO), or divisor (OV30) SF1 Scaling factor of augend (A030), multlplicand (HP30), or divisor (OV30) N1 Length of augend (ADlO), (HPJO), or divisor (OV30) Y-charo2 Address of addend CAD30), Subtrahend (HP30), or dividend (OV30) REVIEW DRAfT SUOJECT TO CHANGE October, 1975 2-228 minuend (S930), multiplicand minuend minuend (SB30), (5930), (5830), (5830), multiplicand multiplier AL39 Eli - DECIMAL ADDITION b CN2 First character position of addend (AOlO), (5830), multiplier (HP30), or divIdend (OV30) subtrahend TN2 Data type of addend (AOlO), suDtrahend (S9l0), (HPJO), or dividend (OV30) ~ultiplier S2 Sign and decl_al type of addend (A030), subtrahend multiplier (HP30), or dividend (OVlO) (SB~O), SFZ Scaling factor of addend (A030), subtrahend multiplier (HPlO), or dividend (DV30) (S830) , N2 Le~gth (HP30" a of addend (ADlO), subtrahend or dividend (OVlO) (S830), multiplIer Y-charDl Address of sum (AD30), difference (S8l), product or Quotient (OV30) CNl First character position of sum (ADlO), difference (S830), product (HPlO), or Quotient (OV3D) TNl Data type- of sum CA03D), (HP30), or Quot ient (OVlD) S3 Sign and decimal type of sum (A030), product (HPlD), or quotient (OVlO) SFl Scaling factor of sum (AOlO), differen:e U1P30), or Quot ient (DVlO) (S830), product Length of su. (AD30), difference (S830), or Quotient (OVlO) product (HP3D), '"Nl dlfferen::e (HP30), (S8l0), product difference (5830), ALH Coding Format. ad3d oescn[fl,ls,ns,tsl descn[fl,ls,ns,ts] descQ[fl,ls,ns,ts] (HF11,U1FZ) ,HtF3)(,enablefault](,roundl Y-charnl((CN1)l,N1,SF1 a. It or 9 Y-enarnZr (CNZ)],N2,SF2 o It or C) Y-charn3[(CN3)],Nl,SFl o It or C) = = = SUHHARYI C(Y-charn1) + C(Y-charo2) -> C(Y-charn3) HODIFICATIONSI None except AU, QU, AL, QL, or Xn for INDICATORSI (Indicators not list~d ~F1 and HF2 are not affected) Zero If e(Y-charn3) = decimal Negative If C(Y-charo3) is negative, then ON; otherwise OFF Truncation If the truncation condition exIsts wlt,out rounding, ON; otherwise OFF (See NOTES) Overflow If the overflow condition unchanged (See NOTES) Exponent Overflow If exponent of ON; other~ise unchang~d. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 0, then ON; otherwIse OFF floating 2-229 exists, point then ON; then otherwise resJlt exceeds 127 then ALlCJ EIS - DECIMAL ADDITION Exponent Underflow NOTES. If exponent of floating point result then ON; otherMise unchanged is less than -128 If TN3 and S3 specify a ~-bit signed n~mber and P = 1, then the 13 (octal) plus sign character is placed appropriately if the result of the ope~ation is positive. If S3 specifies fixed point and N3 is not large enough to hold the integer part of the result as scaled by SF3, an overflow condition exists; tne Overflow indicator is set ON and an Overflo~ Fault occurs. ThiS implies that an unsigne~ fixed poInt receiving fIeld has a minimum length of 1 character; a Signed fixed point field, Z characters; and a floating point field, 3 characte~s. If N3 is not large enough to hold all the digits of the result as scaled by SF3 and R D, then a truncation condition exists; data movement stops ~hen C(Y-charn3) is filled and the Truncation indicator is set ON. It R 1. then the last digit moved is rounded according to the absolute ·value of the remaining digits of the result and the instruction completes normally. = = = If HF~.RL 1, then Nh does not contain length; instead, it contains a re~ister register holding the operand length. the operand code for a = If HFh.ID 1, then the hth Mord fo"o~ing the Instruction Word does not contain an Operand Descriptor; instead, It contains an Indirect POinter to the Operand Descriptor. CCY-charnlt, C(Y-charnZ), and C(Y-charn3) overlapping strings; no check is ~ade. may be = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a Truncation (Overflow) Fault occurs. Detection of a character outside the -ange (0,111 (octal) in a digit position or a character outside the range (12,17] (octal) in a sign positio~ causes an II 'e9al Procedure Fault. Atte~pted execution with XED causes an Illegal Procedure Fault. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1q75 2-230 RPT, RPO, or RPL causes an AL39 EIS - DECIHAl SU9TRACTION Subtract Using 2 Decimal Operand~ S820 203 (1) FORHAT. Same as Add Using 2 Decimal Operands (A020) (See Figure 2-27). SUMMARYI CCY-charn1J - C(Y-charnZ) HODIFICATIONS. None except AU, QU, At, Ql, or Xn for HFl and HFZ I ~ DICA TORS: (Indicators not listed are not affected) = decimaJ -> CCY-charnZ) Zero If C(Y-charaZ) Negative If CCY-charnZJ is negative, then ON; otherwise OFF Truncation If the truncation condition exists witnout rounding, ON; otherwise OFF (See NOTES) Overflow If the overflow condition unchanged (See NOTES) Exponent Overflow If exponent of floatIng ON; otherwise unchanged. Exponent Underf I ow If exponent of floatIng point result then ON; otherwise unchanged NOTES. 0, then ON; otherwise OFF exists, point then res~'t is ON; then otherwise exceeds lZ7 then less than -128 = If TNZ and S2 specify a 4-bit Signed n~mber and P 1, then the 13 (octal) plus Sign c~aracter is placed appropriately if the result of the operation is pOSitive. If N2 Is not large enough to hold the integer part of the result as scaled by SF2, an overflow condition exists; the Overflow indicator is set ON and an Overflow Fault occurs. This implies that an unsigned fixed point receiving field has a minimum lengt~ of 1 character; a signed fixed point field, 2 characteri; and a float1ng pOint fIeld, 3 characters. If NZ 1s not large enough to hold all the digits of the result as scaled by SFZ and R = O. then a truncation condition exists; data movement stops when CCY-charnZ) is filled and the Truncation indicator is set ON. If R 1. then the last digit moved is rounded according to the = absolute value of the remaining dlgits of the the instruction completes normally. ~esult and If HFh.RL = 1, then N~ does not contain the operand length; instead, it contains a register code for a register holding the operand length. If MFis,.IO = 1, then the 11th wo~d following the Instruction Word does not contain an Operand Oesc~iptor; instead. it contains an Indirect Pointer to the Operand Descriptor. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-Z31 Al39 EIS - DECIMAL SUBTRACTION C(Y-charnl) and C(Y-cnarn2) may be check is made. ove~lapping strings; no = If T 1 and the Truncation indicator i~ set ON bv execution of the instruction, then a Truncation (Overflow) F au I t occurs. Detection of a character outside the -ange (0,11] (octal) in a dIgit p~sition or a character outside the range (12,17] (octa') in a sign posltiort causes an II legal Procedure Fault. Attempted execution with XED causes an Fault. Attempted repetition with Illegal Procedure Fault. RPT, Illegal RPO, or Procedure RPL causes an 223 (1) Subtract Using 3 Decimal Operands S830 FORHAT' Same as Add Using 3 Decima' Operands (lD30) (See Figure 2-28). SUMMARY' C(Y~charQl) "'MODIFICATIONS. INDICATORS: - CIY-charn2) -> C(Y-charn3) None except AU, QU, Al, Ql, or Xn for HF1 and HF2 (Indicators not listed are not affected) = decimal 0, then ON; otherwise OFF Zero If C(Y-charn3) NegatIve If C(Y·charn3) is negative, then ON; otherwise OFF Truncation If the truncation concition exists without rounding, ON; otherwise OFF (See NOTES) Overflow If the overflow condition unchanged (See NOTES) Exponent Overflow If exponent of floating ON; otherwise unchanged. Exponent Underflow If exponent of floating point result then ON; otherwise unchanged NOTES. exists, point then ON; then otherwise result exceeds 127 then is less than -128 = If TN3 and 53 specify a ~-bit Signed n~mber and P 1, then the 13 (octal) plus Sign character is placed appropriately if the result of the operation is positive. If S3 specifies fixed poInt and N3 is not large enough to hold the integer part of the result as scaled bv SF3, an overflow condition exists; the Overflow indicator is set ON and an Overflow Fault occurs. Thii implies that an unsigned fixed point receiving field has a minimum le~gth of 1 character; a signed fixed point field, 2 characters; REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-232 EIS - DECIMAL SUBTRACTION and a floating point field, 3 cha~acte-s. If N3 is not large enouJh to hold al' the digits of the result as scaled by SF3 and R 0, then a truncation condition exists; data movement stops ~hen C(Y-charn3) is filled and the Truncation indicator is set ON. If R 1, then the last digit moved is rounded according to the absolute value of the remaining digits of the result and the instruction completes normal Iv. = = If HF~.Rl = 1, then N~ does not contain length; instead. it contains a re~ister register holding the operand length. the operand code for a = If Hfh.IO 1, then the ~th word fol'o~ing the Instruction Word does not contain an Operand Descriptor; instead, It contains an Indirect Pointer to the Op~~and Descriptor. C(Y-charn1), ove~lapping C(Y-cha~D2), st~ings; and C(Y-charn3t no check is made. may be = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a T~uncation (Overflow) Fault occurs. Detection of a character outside the ~ange [0,11] (octal) in a digit position or a character outside the range (12,171 (octal) in a sign position causes an II'legal Procedure Fault. Attempted execution Mith XED causes an Fault. Attempted repetitIon with Illegal Procedure Fault. RPT, RPD, Illegal or Procedure RPL causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-233 AL39 EIS - DECIMAL MULTIPLICATION Hultiplv Using 2 Decimal Operands HP2D ZO& (1) FORHAT. Same as Add Using 2 Decimal (See Figure 2-27). SUHMARYI C(Y-charn1) x C(Y-charn2) MODIFICATIONSI None except AU, QU, AL, QL, or Xn for INDICATORS: (Indicators not listed are not affected) = decimal -> O~erands (~OZD) ClY-charQ2) ~Fl and HF2 Zero If C(Y-charn2) NegatIve If ClY-charn2) is negative, then ON; otherwise OFF Truncation If the truncation condItion exists wltnout rounding, ON; otherwise OFF (See HOTES) Overflow If the 0, then ON; otherwise OFF overflow condition (See NOTES) exIsts, then ON; then otherwise unch~nged Exponent Overflow If exponent of floating ON; other~ise unchanged. Exponent Underf I OM If exponent of floating point result NOTES: point res~lt is exceeds 1Z7 then less than -128 then ON; otherwise unchanged = If TNZ and S2 specify a 4-blt signed number and P 1, then the 13 (octal) plus si~n character is placed appropriately if the result 01 the ope~ation is positive. If N2 is not large enough to hold the integer part of the result as scaled by SF2, an overflow condition exists; the Overflow indicator is set ON a,d an Overflow Fault occurs. This implIes that an unsigned fixed point receiving field has a minimum lengt, of 1 character; a Signed fIxed point field, 2 characters; and a floating poInt field, 3 characters. If NZ Is not large enough to hold all the digits of the result as scaled bv SF2 and R 0, then a truncation condItion exists; data movement stops when C(Y-charnZ) is filled and the Truncation indicator is set ON. If R 1, then the last digit moved is rounded acco~din9 to the = = absolute value of the remaining digits of the the instruction completes normativ. result and If MFh. RL = 1, then N,h does not con t at n the operand length; instead, it contains a register code for a register holding the operand length. If MFh.ID = 1, then the 11th wor-d tollollling the Instr-uction Word does not contain dn Operand Oesc~iptor; instead, it contain~ an Indirect Pointer to the Ope~and Oescr-iptor. REVIEW OR~FT SUBJECT TO CHANGE Oct ober, 1975 Z-234 AL39 EIS - C(Y-charnl) and C(Y-charoZ) may be check is made. DE~IHAL MULTIPLICATION ove~lapplng strings; no = If T 1 and the Truncation indicator is set ON bV execution of the instruction. then a T~~ncation (Overflow) Fault occurs. Detection of a character outside the ~ange [0,111 (octal) in a digit position or a character outside the range [12,17l (octal) in a sign positio"\ causes an Illegal Procedure Fault. Attempted execution with XED causes an Fault. Attempted repetition ~ith Illegal Procedure Fault. RPT, Illegal RPO, or Procedure RPL causes an Multiply Using 3 Decimal Operands MP3D 2Z& FORHAT: Same as Add USing 3. Decimal Operands (A030) (See Figure 2-28). SUMMARY: eIY-charnl) x ClY-charoZ) -> eIY-charn3) MODIFICATIONS: None except AU, QU, AL. QL, or Xn for NFl and HF2 INDICATORS: (Indicators not listed are not = decimal affecte~) Zero If C(Y-charn3) Negative If C(Y-charn3) is negative, then Truncation If the truncation condition exists ON; otherwise OFF (See NOTES) Overflow If the overflow condition unchanged (See NOTES) .Exponent Overflow If exponent of floating ON; otherwise unchanged. Exponent Under f low If exponent of floating point result then ON; otherwise unchanged NOTESI (1) 0, then ON; otherwise OFF ~N; wit~out exists, point otherwise OFF then res~lt is roundlng, ON; then otherwise exceeds 127 then less than -1Z8 = If TN3 and S3 specify a ~-bit Signed number and P 1, then the 13 (octal) plus Sign cnaracter is placed appropriatelv If the result of the operation Is positive. If S3 specifies fixed point and N3 is not 1arge enough to nold the integer part of the result as scaled bv SF3, an overflow condition exists; the Overflow indicator Is set ON and~n Overflow Fault occurs. ThiS implies that an unsigned fixed point receiving field "\as a mInimum length of 1 character; a Signed fixed point field, 2 characters; REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-235 AL39 EIS - DECIMAL MULTIPLICATION and a floating point field, 3 characte~s. If N3 is not large enou:,Ih to hold all- the digits of the resuJt as scaled by SF3 and R 0, then a truncation condition exists; data move~ent stops ~hen C(Y-charn3) is filled and the Truncation indicator is set ON. If R = 1, then the last digit moved is rounded according to the dbsolute value of the remaining digits of the result and the instruction completes normally. = If "F~.RL = 1, then Nh does not contain length; instead, it contains a register register holding the operand length. the operand code for a = If HF~.ID 1, then the hth word 'olto~ing the Instruction Word does not contain ~n Operand Descriptor; instead, It contains an Indirect Pointer to the Operand Descriptor. C(Y-charn1), C(Y-charnZ), and C(Y-charo3) overlapping strings; no check Is made. may be If T = 1 and the Truncation Indicator is set ON by execution of the instructIon, then a Truncation (Overflow) F au I t occurs. Detection of a character outsIde the range [0,11] (octal) in a digit position or a character outSide the range l1Z,171 (octal J in a sign positio'\ causes an It legal Procedure Fault. Attempted execution with XED causes an Fault. Attempted repetition with Illegal Procedure Fault. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-Z3& RPT, RPD, Illegal or Procedure RPL causes an AL39 EI5 - DECIHAL DIVISION Divide Using Z Decimal Operands DVZO 227 (1) FORHAT. Same as Add Using 2 Decimal Operands (AD20) (See Flgu~e 2-27). SUMMARY. C(Y-charn2) I e(Y-charn1) -> C(Y-charn2) HODIFICATIONS: None except AU. QU. AL, QL, or Xn for INDICA TORS: (Indicators not listed are not affected) ?) ~F1 and HF2 Zero If C(Y-charnZ) = decimal NegatIve If C(Y-charnZ' is negative. then ON; otherwise OFF Truncation If the truncation condition exIsts wit"out rounding. ON; othe~wise OFF (See NOTES) Overflow If the Exponent Overflow If exponent of floating ON; otherwise unchanged. Exponent Under f' ow If exponent of floating point result NOTES, 0, then ON; otherwise OFF overflow condition unchanged (See NOTES) eKists. point then res~lt is ON; then otherwise exceeds tZ7 then less than -128 then ON; otherwise unchanged This instruction performs contInued long diviSion on the operands until it has produced enough output digIts to satisfy the requirements of the ~uotient field. The number of required Quotient digits. NQ, is determined before divISion begins as follows ••• 1) F I oat I ng point QUO Hent = NQ N2. but if the divisor is greater than the dividend after operand alignme~t9 the leading zero digit produced is counted and the effective precision of the result is reduced by one. 2) Fixed point Quotient NQ = (N2-LZ2+1) wherel NO LZn En SF2 3) - (Nt-LZl) + (E2-E1-SF2) operand field length = 3iven leading zero count for operand = exponent of opera"d 0 = scaling factor of Quotient = Roundin~ If rounding is specified (R Quotient digit is produced. REVIEW DRAFT SUBJECT TO CHANGE Oct ober. 1975 D 2-237 = 1), then one extra AL39 EIS - DECIHAL DIVISION = If C(Y-charo1) decimal 0 or NQ > 63, then division does not take place, C(Y-charoZ) are unchan~ed, and a Divide Check Fault occurs. = If 'TNZ ~nd S2 specify a ~-bit signed number and P 1. then the. 13 (octal) plus sign character is placed appropriately if the result of the operation is positive. If NZ is not large enough to hold the inteJer part of the result as scaled bv SF2, an overflow condition exists; the Overflow indicator is set ON and an Overflow Fault occurs. This implies that an unsigned fixed point receiving field has a minimum length of 1 character; a Signed fixed poInt field, 2 Characters; and a floating point field, 3 characters. If N2 Is not large enough to hold all the digits 01 th~ result as scaled by SFZ and R 0, then a truncatIon condition exists; data movement stops ~hen C(Y-charo2) Is filled and the Truncation indicator is set ON. If R 1, then the last digit moved is rounded according to the absolute value of the extra Quotient digit and the instruction completes normallv. = = If = HF~.RL 1, then Nh does not contain length; instead, it contains a re~ister register holding the operand length. the operand code for a = If HFt1.ID 1, then the hth word follolflng the Instruction Word does not contain an Operand Descriptor; instead, it contains an Indirect Pointer to the Operand Descriptor. CCY-charn1) and C(Y-charnZ) /lay be overlapping strings; no check I s made. If T = 1 and the Truncation indicator is set ON by execution of the instruction, then a Truncation (Overf 10M) Fault occurs. Detection of a character outside the r3nge [0.,11) (octal) in a digit position or a character outside the range [12,171 (octal) in a Sign pOSition causes an Illegal Procedure Fault. Attempted Fault. execution with XED causes an Illegal Procedure Attempted reDetltion with Illegal Procedure Fault. DV3D RPT, RPD, or Divide Using 3 Decimal Operands FORHATa Same as Add Using 3 Decimal Operands (AD3D) (See Flgure 2-28 •• SUHHARYI C(Y-charn2) I REVIEW OR"rr SUBJECT TO CHANGE Oc tober, 1975 RPL causes an 227 (1) e(Y-charn1) -> C(Y-charo3) 2-238 AL39 EIS - DECIMAL DIVISION MODIFICATIONSI None except AU, QU, AL. QL. or Xn for HF1 and HF2 INDICATORSI (Indicators not listed are not affected) Zero If C(Y-charn3) = decimal Negative If C(Y-charn3) is negative, then ON; otherwise OFF Truncation If the truncation condItion exists witnout rounding, ON; otherwise OFF (See NOTES) Overflow If Exponent Overflo. ON; otherwise unchanged. Exponent Underflow If exponent of floating point result then ON; otherwise unchanged NOTESI 0, then the overflow condition unchanged (See NOTES) If exponent of floating ~N; exists, point otherwise OFF then res~lt is ON; then otherwise exceeds 127 then Jess than -128 ThIs instruction performs continued lo~g division on the operands until it has produced eno~gh output digits to satisfy the requirements of the Quotient field. The number of reQuired Quotient digits, NQ, is determined before diviSion begins as follows ••• 1) Floating point quotient = NQ N3, but if the divIsor Is greater than the dividend after operand a'ignme~tt the leading zero digit produced is counted and the effective precision of the result Is reduced by one. 2) Fixed point quotient = (N2-LZ2+1) - (N1-LZ1) + (E2-El-5F3) wherel = given operand field lengfh NQ NQ LZn EO SF3 3) = leading zero = exponent of count for operand 0 n = scaling factor of quotient opera~d Rounding If rounding is specified (R quotient digit is produced. = 1), then one extra = If C(Y-charn1) decimal 0 or NQ > 03, then division does not take place, C(Y-charn3) are unchanged, and a Divide Check Fault occurs. = If TN3 and 53 specify a 4-bit Signed number and P 1, (octal) plus sign character is placed then the 13 appropriatelv if the result of the operation is positi~e. If 53 specifies fixed point and N3 Is ~ot large enough to hold the integer part of the result as scaled bV SF3, an overflow condition exists; the O~erfJlw indicator Is set ON and an Overflow Fault occurs. This implies that an unsigned fixed point receiving field has a minimum length REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-239 AL39 EIS - DECIHAL DIVISION of 1 character; a signed fixed point field, 2 characters; and a floating point field, 3 characte-s. It N3 Is not large enough to ho1d aJ I the digits of the result as scaled by SF3 and R 0, then a truncation condition exists; data movement stops when C(Y-charn3) is filled and the Truncation indicator is set ON. If R 1, then the last digit moved is rounded according to the absolute value of the extra Quotient digit and the instruction completes normally. = = = If HFh.RL 1, then Nh does not contain the operand length; instead, it contains a re~ister code for a regl~ter holding the operand length. = If HF~.ID 1, then the ~th word follo~ing the Instruction Word does not contain an Operand Desc-lptor; instead, it contains an Indirect Pointer to the Operand Descriptor. CCY-charo1), CCY-charo2), and C(Y-charn3) overtapping strings; no check Is made. may be = If T 1 and the Truncation indicator is set ON by execution of the instruction, then a T~uncation (Overflow) Fault occurs. Detection of a character outside the r3nge (0.111 (octal) in a digit positIon or a charact_~ outside the range t12,17l (octal) in a Sign position causes an II legal Procedure Fault. Attempted FauJt. eKecution with XEO causes 3n Illegal Procedure Attempted repetItion with Illegal Procedure Fault. RPT, RPD, or RPL causes an REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-2~a AL39 The Hove Alphanumeric Edited (HVE) and Hove Numeric Edited (HVNE) instructions require micro operations to perform the eaitlnl functions in an efficient manner. The sequence of micro operation steJS to be executed is contained in storage and is referenced by the second operand descriptor of the HVE or HVNE instructions. Some of the micro operations require special characters for insertion into the string of characters being edited. These special characters are shown in the "Edit Insertion Table" discussion below. H~ro Opeca~~Segyenca The micro operation string operand descriptor points to a string of 9-bit characters that specify the micro operations to be performed during an edited move. Each of the 9-blt characters defines a micro o~eration and has the followIng formata 0 _LI I 0 0 0 ~ ~ !i I I HOP ; I 5 figure 2-29 E~it I IF 2 I 4 Hicro Operation (HOP) Character Format HOP 5 bit code specifying Micro Operation to be perfomed. IF Information Field containing one of the following ••• Insertion 1. A sending string character count. A Interpreted as 16. 0 is 2. The index of an entry in the edit insertion table be used. PermIsslble values are 1 through 8. to 3. An int erpretat ion of the ieb I ank-w,en-zero· value of operat ion T~ ~hlle executing an edIt instruction, the Processor provides a register of eight 9-bit characters to hold insertion information. This ~egister. called the -Edit Insertion Table~, is not maintained after execution of an edit instruction. At the start of' each edit instructIon, the Processor hardware initializes the table to the values given in Table 2-8, where each symbol refers to the corresponding standard ASCII character. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-241 AL39 Table 2-8 Default Edit Insertlon Tab.e Characters TaDle Entrv --1:Uulltu:c. __ ~c:.ilUe.C bl 1 2 3 ank • • it 5 £» S 7 • 8 0 (zero) One or all of the table entries can be changed bv the Load Table Entrv the Change Table micro operations to provIde different insertion characters. The hardware provides the following four -edIt operations. flags~ or for use by the micro ES End Suppression Flag; initiallv OFF and set ON by a operation when zero suppressIon ends. micro SN Sign Flag; initially set OFF If the sending string Is aJphanumericor unSigned numeric. If the sending string is signed numaric, the sending string sign character is tested and SN is set OFF If positive, and ON if negative. Z Zero Flag; initially set ON. It Is set OFF whenever a sending string character that is not decimal zero is moved into the receiving strIng. 8Z Blank-When-Zero Flag; initially set OF~ and is set ON by either the ENF or SES micro operation. If, at the completion of a move, both the Z anj BZ are ON, the receiving string is filled with cha-acter 1 of the Edit Insertion Table. The micro operations are terminated normally when the receive string length becomes exhausted. The micro operations are terminated abOrmally (with an Illega' Procedure Fault) if a move from an exhausted sendi"lg string or the use of an exhausted HOP string Is attempted. REVIEW DRAFT SUBJECT TO CHANGE Dc to ber, 1<375 Z-2ltZ AL39 The hardware executes HVNE in a slightly different manner than it executes This is due to the inherent differences In which nume-ic and alphanumeric data is handled. The following are brief descriptioni of the hardware operations for HVNE and HVE. "VEe -NUMERIC EOITi} 1. Load the entIre sending string number (maximum length 63 characters) Into the Decimal Unit Input Buffer as It-bit digits (high-order truncating 9-bit data). Strip the sign and exponent cha~acters (if any), put them aside into special holding registers and decrease the Input Buffer count accordinglv. 2. Test sIgn and, If reQuIred, set the SN f'ag. 3. Execute micro 4. If an Edit Insertion Table entry or HOP insertion character is to be stored, MANDed", or ·ORed" into a receiving string of 4- or 6-bit characters, high-order truncate the character acco~dlngly. 5. If the receIving string operatl~n strIng, starting with first fft-bit) digit. is 9-bit characters, high-order fill the (4-bit) digits from the Input Buffer with bits 0-4 of character 8 of the Edit InsertIon Table. If the receiving string Is 6-blt characters, high-order fill the dIgits with "DO-b. -ALPHANUMERIC EOIT~ 1. Load Cecimal Unit Input Buffer with sending string characters. Oata is read from main store in unaligned units (not 0 modulo 8 boundary) of V-blockS words. The number of characters read is the minimum of the remaining sending string count, the remaining receiving string count. and 64. 2. Execute micro operatIon string, string character. 3. If an Edit Insertion Table entry or HOP insertion character is to be stored, "ANDed-, or MORed" into a receive string of 4- or 6-blt characters, hlgh-oroer truncate the character acco~dinglv. starting with tne first receiving t11cro Operators A description of the 17 micro operations (HOPs) follo~s. The mnemonic, name, octal value, and the function performed is given for each HOP in a format similar to that for Processor Instructions. These micro ope-at Ions are included in the alphabeItc list of instructions in Appendix C. identified bv the code HOP. Checks for termInation are made during and after each micro operation. All HOPs that make a zero test of a sending string characte- test onlv the four least significant bits of the character. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-2'+3 AL39 The fol lowing addltional descriptions of the HOPs. abbreviations and symbols are EIT Edit Insertion Table pin current position in the sending string pmop current posItion in the micro operation string pout current posItion in the receiving string CHT used in Change Table SUMMARY I 21 For 1 = 1, 2, ••• , 8 CCY-char92)pmop+i -> CeEIT)i FLAGS' None affected NOTES' CCIF) is not interpreted for this operation. End Floating Suppression ENF the 02 If C(IF)O = 0, then If ES is OFF, then If SN if OFF, then C(EIT)3 If SN in ON, then pout = pout -> C(EITI~ -> C(Y-charn3)pout+l C(Y-charn3)pout+l + 1 ES set ON If ES is ON, then no action If ClIF)O = 1, then If ES is.OFF, then C(EIT)5 pout -> = pout C(V-charn3)pout+l + 1 ES set ON 11 ES is ON, then no action If ClIF'1 FLAGS' REVIEW DRAFT SUBJECT TO CHANGE 0<; tober, 14375 = 1, then BZ set ON; otherwiie no action (Flags not listed are not affected) 2-244 AL39 ES If OFF, then set ON 8Z If CeIF)1 :: 1, then set ON; otheMlse no change 14 Ignore Source Character IGN SUHMARYI CeIF) + pin ->,pin FLAGSI None af fee ted INSA Insert Asterisk on Suppression SUMMAR'll 11 If ES is OFF, then CeEIT)2 -> CCY-charn3)pout+1 If CCIF) :: 0, then pmop :: pmop + 1 If ES Is ON, then If CCIF) 11 :: ~ 0, then CUF) C(EIT)m -> CCY-charD3)pout+l If CCIF) :: 0, then C(Y-char92)pmop+l ->C(Y-charn3)pout+1 pmop • 1 plllOP :: FLAGS' None aff ected NOTES' If C(IF) > 8 an itlegal INS8 procedure Fault occurs. Insert Blank on Suppression SUMMARYI 10 If ES is OFf, then C(EIT)1 -> C(Y-charn3)pout+1 If CeIF) = 0, then pmop :: pmop + 1 If ES is ON, then If C(IF) In = ~ 0, then C (IF) C(EIT)m -> C(Y-charn3)pout+1 REVIEW DRAFT SUBJECT TO CHANGE October, 1915 2-2'+5 AL39 If CCIF) = 0, then C(Y-char9Z)pmop+l ->CCY-charn3)p~ut+1 pmop :: pmop + 1 FLAGS' None affecte::J NOTES' If CCIF) > 8 an Illegal Procedure Fault occurs. Insert Table Entrv 1 Multiple INS" SUMMARY' For i = 1, 01 2, ••• , CCIF) C(EIT)l -> C(Y-charn3Jpout+i FLAGS. INSN None affected Insert on Negative SUMMARY' 12 If SN is OFF, then C(EIT)1 -> If C(IF) = CCY-charn3)pout+l a, then pmop = pmop + 1 If SN is ON, then If CIIF) _ 0. then m = C (IF) C(EIT)m -> C(Y-charn3)pout+1 If C(IF) = 0. then C(Y-char9Z)pmoP+1 pmop = pmop ->C(Y-charn3)p~ut+l + 1 FLAGSI None af fected NOTESI If C(IF) > 8 an Illegal procedure Fault occurs. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-2«'& AL39 INSP Insert on Positive SUMMARY' 13 If SN is ON. then C(EIT)1 -> CCY-charnJ)pout+1 If C(IF) = O. then pmop = pmop + 1 If SN Is OFF, then If C(IF) _ 0, then m = C (IF) C(EIT)m -> C(Y-charnJ'pout+l If C(IF) = 0, then C(Y-char92)pmop+1 ->CCY-charnJ)pout+l pmop = pmop + 1 FLAGSI None affected NOTES: If C(IF) > 6 an Illegal Procedure Fault occurs. LTE Load Table EntrY' SUMMARY I m 20 C(IF) :.I: ClY-char92)pmop+l -> C(EIT). pmop = pmop + 1 FLAGSI None al rected NOTES' If C(IF) occurs. =0 or ClIF) > 8 an IIIeg31 Procedure Fault Hove with Float Currency Symbol Insertion "FLC SUMMARY- For i = 1, 07 2, •••• C(IF) If ES is ON. then C(Y-charnl)pin+i -> If ES is OFF and CCY-ch~rDl)pin+! C(Y-char~J)pout+l = decimal 0, then C(EIT)1 -> C(Y-charn3)pout+l If ES Is OFF and ClY-charol)pin+! _ decimaJ 0, then ClEIT)5 REVIEW DRAFT SUBJECT TO CHANGE October, 1975 -> C(Y-charnJ)pout+l 2-2"7 AL39 CCY-charol)pin+! -> CCY-cha~n3)p~ut+i+1 pout = pout + 1 ES set ON FLAGS: ES NOTES: CFlags not listed are not affected) If OFF and any of C(Y-charnl)pin+i otherwise unchanged ~ decimal 0, then ON; If N1 or NZ exhausts before N3. an Illegal Procedure Fault occurs. The numbe~ of cha~acters moved to the ~eceiving string Is data dependent. If the enti~e C(Y-cha-ol) is decimal O·s, C(IF) cha~acte~s are moved to C(Y-cha-a3). However, if the receiving string contains a non-zero character. then C(IF)+1 characters are moved to C(Y-charn3); the insertion character plus ClY-charal). The user is advised that a possible II legal Procedure Fault due to this condition may be avoided by assuring that the Z and BZ flags are ON. Hove wIth Float SIgn Insertion HFLS For 1 = 1. 0& 2 ••••• CeIFJ If ES is ON, then CCY-cha~nl)pin+l -> C(Y-charn3)pout+l It ES is OFF and C(Y-charo1Jpin+i = decima' 0. then C(EIT)l -> CCY-charn3)pout+i If ES Is OFF and CCY-charnl)pln+l If SN is OFF, then eeEIT)3 If SN is ON, then CCEIT)4 CCY-charnl)p!n+i pout = pout ~ decimal 0. then -> CCY-c~arD3)pout+i -> CCY-charo3)pout+i -> CeY-charQ3)p~ut+i+l + 1 ES set On FLAGS: (Flags not Ilsted are not affected) If OFF and any of CCY-charol)pin+l _ decimal 0, otherwise unchanged NOTES: then ON; If N1 or NZ exhausts before N3. an Illegal Procedure Fault occurs. The number of characters moved to the ~eceivlng string is data dependent. If the entire C(Y-c~a-Ql) is decimal O·s, REVIEW OR~FT SUBJECT TO CHANGE October. 1975 2-248 CeIF) cha~acters are moved to C(Y-cha-n3). However, if the receiving string contains a non-zero character, then C(IF)+l characters are moved to C(Y-charo3); the insertIon character oJus C(Y-charnl). The ~ser is advised that a possible Illegal Procedure Fault due t3 this condition may be avoided bv assuring that the land 3l flags are dN. HORS Hove and OR Sign SUMMARYI For I = 1, 17 2, ••• , CIIF) If SN is OFF, then C(Y-charo1)pin+i I CCEIT)3 -> C(Y-charn3)pout+i If SN if ON, then CeY-charo1)pin+i I FLAGSI HSES CeEIT)~ -> C(Y-char n3)pout+i None affected Hove and Set Sign 16 SUHHARY1 For 1 = 1, 2, ••• , CeIF) C(Y-charnl)pin+l For 1 = 1, -> CCY-charo3)pout+l 2, ••• , C(IF) C(Y-charol)pln+i -> CCY-charo3)pout+l C(l) = CCY-charnl)pln+i If Cel) 0, ~ , CCEIT)3 then for J = 1+1, 1+2, ••• , CeIF) C(Y-charn1)pln+J -> CeY-charol)pout+) If Cel) C(Z) = 0, then = CCY-charo1)pin+i If eel) ~ , C(EIT)~ 0, then SN set ON For J = 1+1,·1+2 •••• , CeIF) C(Y-charnl)pin+) -> C(Y-charn3)pout+J FLAGS_ (Flags not JIsted are not affected) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 2-2"9 AL39 SN If C(EIT)~ change ~ound in C(Y-chara1), then ON; otherwise Hove Source Character HVC SUMHARY' For 1 = 1, 15 2 ••••• C(IF) C(Y-charn1)pin+l FLAGS' -> C(Y-charQ3)pout+l None af fected Hove with Zero Suppression and "VZA SUMMARYI no. For i = 1, Replacement Asteris~ 05 2, ••• , C(IF) If ES Is ON, then C(Y-charnl)pin+l If ES Is OFF and C(Y-charo1)pln+i -> C(Y-charo3)pout+i = decimal 0, then C(EIT)2 -> C(Y-charn3)pout.l if ES is OFF and C(Y-charnl)pln+l _ decimal 0, then C(Y-charal)pin+l -> CCY-charn3)p~ut+l ES set On FLAGS. ES NOTESI (Flags not lIsted are not affected) If OFF and any of CCY-charnl)pin+l otherwise unchanged ~ decimal 0, then If N1 or N2 exhausts before N3, an Illegal Procedure Fault occurs. Hove with Zero Suppression and Blank Replacement "VZB SUHHARYI ON; For 1 = 1, 04 2, ••• , C(IF) If ES Is ON, then CCY-charn1)pln+i If ES Is OFF and C(Y-charni)pln+l -> C(Y-charo3)pout+l = decimal 0, then C(EIT)1 -> CCY-charo3)pout+i If ES 1s OFF and CCY-charol)pin+i CCY-charol)pin+i -> # decimal 0, then C(Y-charn3)p~ut+l ES set ON REVIEW DRAFT SUBJECT TO CHANGE October. 1975 2-250 AL39 (Flags not listed are not affected) FLAGS' If OFF and any of CCY-charnl)pin+l otherMise uncahnged ES NOTESa ~ ~ecimal 0, then ON; If N1 or N2 exhausts before N3. an Illegal Procedure Fault occurs. Set End Suppression SES If CCIF)O SUMHARya If CCIF)O If CCIF)l = 0, = 1, = 1. 03 then ES set OFf then ES set ON then BZ set ON; otherwise no action (Flags not listed are not affected) FLAGsa ES Set by Bl If CCIF)l th~S micro operation = 1, then ON; otherwIse no c~ange tticr& QAACa1LRn-Code Assignment HaR Operation code assignments for the micro operations are shOMn in Table 2-9 below. (---). indicates an unassigned code. All unassigned codes cause an I II e ga I Procedure Fau It. 2-9 Ta~le -Micro Operation Code ASSignment _--'1- DO 10 20 3D ~ap~ ;1 2 i Z !t ses mvzbl mvzal mf lsI mfleS ,,,sal insnJ inspJ ign 1 mvc I msesl morsJ J J .te J cht I I 1 I I 1 I ; L--- I --=-L::.- I 1-:=--.1. J --insb: 1 2 J ins",) enf --- --- --- REVIEW DRAfT SUOJECT TO CHANGE October, 1975 2-251 Al39 SECTION Itl DATA REPRESENTATION INfORMATION QRGANI1ATtaH The P~Qcessort like the rest of the Hultics $vste~t is organized to deal with inforsatlon in basic units of 3&-blt "words". Other units of 4-, &-, 9-bit ··chardcters" or "bytes", 1S-bit ··half .. o~ds-, and 72-bit "word pairs· can be man{pulated within the Processor by use the instruction set. These bit groupings are used by the hardware and software to represent a var-iety of forms of coded data. Certain Processor functions appear to manipulate larger units of 144, 288, 576, and 1152 ~lts, but 0' 0' 'unctions are performed by means repeated A t I In format ion 1s respresented as strings of binary bits. ~se 01 12-blt ~ord pairs. The numbering Of bit positions,char-acte'" positions, and wordS ,,,creases in the direction of conventlona' reading and writingl fro~ the most-significant to the feast-sign1flcant digit of a nu_ber, and from teft to right In conv~ntional ~'phanu.eric teMf. Graphic presentations in this manual sholf reg1$ters and da'. wit" pos!tlon numbers Increasln g froll left to right. O The arithmetic f~nctions of the Proeesso· a~e I_plem.ftted 1n the tM~·S comp Ie ment f bl nary number $y ste",_ One 0 f the prl mary proper ti es oft". s number system 1s that a field (or register) hav'n~ Width Q bits Mav:be Inprep~eted in t"O dIfferent wavs; the -logical- ~ase and the Marith•• tic· or 0'· a I gebra lc·· ease. In the logical case. the number Is unsig"ed. positive. and I'es In the (D,2·.n - 1). The results of arithmetic ooerations OR nuntbers for thiS case are inter~reted as 0 modulo n n~mbers. Overflo" is not defined tor this case since t,e range of the fIeld or ~egister cannot b.ex~.eded. The numbers "OUand "2 •• Q - 1" are conSecutive (not separated) in the set of numberS defined for the field or register. r.n~e REVIEW DRAFT SUBJECT TO CHANGE October, 1975 3-1 Al39 In the arithmetic case, the number Is si~ned and lies in the ran~e Overflow is defined for this case since si,ce the range can be exceeded in either direction (poiitive o~ negative •• The lett-hand-most bit of the field or register (bit 0) serves as the sign bit and does not contribute to the value of the numbe~. (-2··'0-1),2 •• (n-1) - 1). The main advantage of this '"pleaentation is that the hardware ar-lthlftetlc a'gorithms for the two cases are identical; the onlv distinction lying in the interpretation the results by the user. Instruction set 'eatu"'.~ are provided . . for performing binary .-Ithmetic .. lth overftojlj disabled ethe so-called loglcat lnstruc.'ons) and for co.parlng numbers In either sense. of Subtraction Is performed by adding the 'wo·s compl •• ent of the subtrahend to the Minuend. (Not. that when the subtr.hend Is zero the al~orlthm tor for.lng the two·s co.pt •• ent Is stl't carried out, but. Since the two·s compteaent of zero is zer~t the result 1s correct.) , Another Important feature of the two·s complellent number System (with respect to comparison of numeric values) is that the MhO borrow" condition In true subtraction is identlca. to the ··carry·· condition in true addition and vice Vlrsa. A statement on 'the assumed "ocatlon of the binary pOint has significance" only tor Multiplicatlon and division. These two 03eratlons are i~le.ente~ for the arltheetic case 1n both integer and fraction modes. "Int~~er" means that the position the bjna~v ooint Is 3ssulled to the right of the least-significant bit position (that is, to the right of the r~ght-hand-.ost,blt of the field ~r ~eglster) and "fraction- lIeans that the position of the binary point Is assulled to the left of the Most-significant bit pOSition (that iSt bet"een bit D and bit· 1 of the field or register; reca" that bit 0 is the sign bit). 0' ~.titJW1Al.liULf 0 BttAI S The Figures beto. ShON the unstruet~red for.~ts (templates) f~r the vari~us infor.atlon units defined for the Processor. Data transfer between the ProceSsor and main store is word oriented; a 3&-bit aachlne word Is, transfer~ed for single-precision ope~ands and sub-fields of machine w~rdSt and a 72-blt word pair Is transferred for "a II other cases (liul t i-word operands, lnstruct Ion fetches, bl t- a,,~ character-str; The information unit to be used and the data transfer .ode is according to ,the function to be perforMed. deterlli~ed Dy the Proc~ssor the 36-blt unstructured machine word Shown In Figure 3-1 below Ii the IIlnl,.ulII addressable information unit in main store. Its .ocation is uniQuely dete~~lned ~y Its .~in store address, Y. All other information units are defined relative to the 36-blt Machine Nord. REVIEW DRAFT SUBJ£CT TO CHANGE October, 1915 At.39 o 3 Q 5 I I I I J I 36 figure 3-1 Unstructured Machine Word format Two consecutive machines words as shown in Figure 3-2 below. the first having an even main store address. form a 72-bit word pair. In 72-bit word pair data transfer mode. the word pair is uniQuely located by the main store address of either of its constituent 36-bit machine words. Thus, if Y is even, the word pair at (Y,Y+1) is selected. If Y is odd, the word p3ir at (Y-l,Y) is selected. The term ·Y-pair" Is used for such a word pair address. o______________________________ --2-2 3 3 _________________ -a 7 1 Q I I I I J I 36 36 Even Word Odd Word figure 3-2 Unstructured Word Pair Format 4-bit characters are mapped onto 36-bit machines words as shown in Figure 3-3 below. The ·0" bits at bit positions 0, 9, 18, and 27 a~e forced to be 0 by the Processor on data transfers to main store and a~e ignored on data transfers from main store. 0 0 0 0 II 1 !t 2 I 1 J I 101 LL_ _....L4 1 0 0 1 1 1 1 1 1 ~ 3 !t --L8 ~ a I a .. I II a0 I I I J I I 1 .. I Figure 3-3 101 I J .. 1 2 2 Z . a S I ~ 2 2 2 3 3 3 fa 1 Z 2 Z_a I .. 1 J0I I I 1 - . I 1 1 I I I 4 Unstructured 4-bi t Character Format 6-bit characters are mapped onto 36-bit machines words as shown in Figure 3-4 below. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 3-3 AL39 0 0 0 1 1 -1-__---2-6 I I I I I 2 l 3_L--_ _ _ -LO Figure 3-4 9-bit characters 3-5 below. a~e , I I 6 6 3 2 2 I I J I ----1 6 & 5 I I I 6 I 6 mapped onto 3&-blt machine wo~ds as shown In I Figu~e 0 0 0 1 1 Z Z 3 ~-2 -La. -Ll 5 I I 1 I •I I 9 I I Unstructured 6-blt Character Format II I J I I J --L- --1 9 9 9 Figure 3-5 ... 1 1 l-L- ___ ---L8 I Uns,truc tu~ed 9-blt Character Format lS-bit half Nords are mapped onto 3S-blt machine Nords as shown 3-6 be' ow. o 1 1 Q --1-~8 in Figu~e 3 5 ___________, I __________________________ ---1I ________________ 18 18 Uppe~ Flgu~e Half 3-6 Lower HaJf unstructured is-bit Half Word Format IlATA PARITY Odd parity on generated as it transmission path, parity is detected each 3D-bit machine word transferred to main store is leaves the Processor, is verified at seve~al points along the and is held in main store as an "extra" bit. If an incorrect at any of the various parity Mcneck poInts", the main store returns an Illegal Action signal and a code approp~late to the check point. On data transfe~s from main store, the parity bit is retrieved and transmitted with the data bits. The same verification checks are made and Illegal Action signa' led for errors. The Processor makes a final parity check as the data enters the Processor. REVIEW DRAFT SUBJECT TO CHANGE October, 1~15 AL 39 Any detected parity error causes the Processor Parity indicator to and (if enabled) a Parity Fault. set ON REPRESENTATI01LQf PATA Data is defined bV Imposing an operand structure on the information units described above. Oata is represented in two forms: nume-ic or alphanumeric. The form Is determined by the Processor according to function to be performed. Numeric data is represented in three modeSI fixed point binary, floating point binary, and decimal. The mode is determined by the Processor according to the function being performed and any Address ModificatIon invoked for the instruction being executed. FIXED POINT BINARY DATA Fixed PoInt Binary Integers Fixed point binary integer data is defined by imposing either of the position value structures sho~n below on an information unit of 0 bits. bit Logical valuel atO)x2··0 + a(1)xZ··CO-l) + ••• + a(0-1) T Arithmetic valuel ["-ALa(O)] (aUllalO)xZ.·(a-1)+(a(Z)la(D»xZ·.(c.-Z)+ ••• +(a(o-Ula(O» , where. all) is the value of the bit in the Lth bit position • indicates the Boolean Exclusive OR function "T" indicates the position of the binary point ("-"La(O)] selects the proper sign according the v31ue of a(O) The following fixed point binary integer data items are definedl REVIEW DRAFT SUBJECT TO CHANGE October, 1<375 3-5 AL3<3 n &-blt Byte Ope~and 9-bit Byte Operand Half Word Ope~and Single Precision Operand Double Precision Operand & 9 18 36 72 Note that ~-bit Byte Operands a~e n~ defined. only for Oecimal Data. (See Decimal Oata below.} This data item 1s defined The proper operand and its position within a 3&-bit machine word is determined by the Processor during prepa~ation of the main store address for the operand. If the data width of the operand selected is smaller than the register involved, the operand is high-order and/or low-order zero filled as necessary. Table 3-1 6-bi t Operand Byte FiKed PoInt Binary Integer Values 9-blt Byte 18-blt Half Word 36-bit Single Precisio~ 72-blt Double Precision o o logical range Minimum' 0 Haxlmuml (2··0)-1 Resolutions 1 . ~ Arithmetic range Minimum' 0 "axillal Neg. -(2··5) POSe (2··5)-1 Resolutionl 1 o - (2··8) (2··8 )-1 1 o - (2··17) (2··17)-1 1 --(2··71) (2··71'-1 1 -(2··35) (2··35)-1 1 Fixed Point Binary Fractions Fixed point binary fraction data Is defined by imposing value structure below on an information unit of D bits. the bit position Arithmetic valuel ("-"'a(O'] (aC1)ea(O)'x2··-1+(a(2)'a(O»K2·"-2+ ••• +(a(n-l)'aCO»)K2··-(0-1) T Note that logical values are not defined for fiKed poi~t binary fraction data. The following fiKed point binary fraction data items are definedl REVIEW DRAFT SU9JECT TO CHANGE October, 1975 3-& AL39 .D ti~.!IUt 6 9 6-bit Byte Ope~and 9-bit Byte Ope~and Half Word Operand Single Precision Ope~and 18 36 Note that ~-bit Byte Operands and 72-blt Double Precision Operands are n21 defined. ~-bit Byte Operands a~e defIned only fo~ Decimal Data. (See Decimal Oata belo __ .) If the instruction being eKecuted is Divide F!'-actlon (DVF), the contents of the combined Accumulato~ and Quotient Registers are treated as a 72-bit fixed point binary fraction value but are not address3ble as an operand. The proper operand and its position within a l6-bit machine word Is determined by the Processor during preparation of the maIn store address for the operand. If the data width of the operand selected is smaller than the register involved, the operand is high-orde~ or low-o~der zero filled as necessary. Table 3-2 Operand 6-bit Bvte 9-blt Byte o o ArithmetIc range Hiniaunt: .. Maximal Neg. - - - (1) POSe Resolution. the o «(2·.8)-1) x 2 4 "'-35 2··-35 Upper 18-bit Half Word 36-bit Single PreciSion o o ArithlDetic range ttlni ttutU Haxin:al Neg_ POSe Resolutionl 18-bit Ha If Wor d lowe~ «(2 4 .5)-1) x 2.·-35 2"'4-35 Operand (1) Fixed Point Binarv Fraction Values -1.0 1.0 - 2··-17 2·"-11 «2. 4 17)-1) x 2··-35 2 44 _35 -1.0 1.0 - 2·"-35 Z··-35 No Negative maximum 1s shown for 6-bit Byte, 9-blt Bvte, and Lower 18-bit Half Word operands since the high-order zero fiJI Quring ope~and alignment forces the sIgn bit to zero. All operands are legal for the Divide Fraction (OVF) Instruction but only 18-bit Half Word and 36-bit Single PreciSion operanls are legal for the Multiply Fraction (MPF) instruction. Fixed point instructions. binary fraction operands are i I'egal for aI I other REVIEW DRAFT SUBJECT TO CHANGE OctOber, 1975 3-7 AL39 FLOATING POINT BINARY DATA A floating point binary number is expressed as Z =" x Z •• E ... here" is an arithmetic fixed point binary fraction; the E is an arithmetic fixed point integer; the ~antissa expone~t A floating point binary number is defined by imposing value structure below on an information unit of 0 bits. the bit position Exponent val uel {"-"la(Ol] (a(lJ'a(O)xZ··o + (aCZ.'a(O»xZ·.5 + ••• + (3(7)la(0)) T Hant issa val ueS [88--la (8)] (a19 )Ia (8)) xZ"·-l+ (a (10) la (8)) xZ"·-Z+ ••• + (alo-l) ea C8 UxZ·· 17-n) T where above. the symbols and notation are the same as for fixed point binary data The 101 lowIng f'oatlng poInt data items are defined. tiUl." Half Word Operand Sing'e Precision Operand Double Precision Operand 18 3& 7Z For clarity. the formats of these operandS are shown in Figures 3-7 through be I 0 ... i I 1 Figure 3-7 I J I __ J IS: " 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 ______________ ---1____________________________________ 7 1 10 1 : E ~ - ~ 0 0 ____________ --L-d 1 1 _______________________________53__ 1 I 1 lSI I o 0 o ~ o ~ 3-10 18 Upper lS-bit Half Word Floating Point Binary Operand Format REVIEW DRAFT SUBJECT TO CHANGE October, 1975 3-8 AL39 o a 000 1 1 3 --L8.-3. -La ~ 0 g 1 t 101 0 o 0 o 0 o -Lt J I Figure 3-8 0 o 0 0 0 o I I 01 ---1. 10 J " 18 I LaMer 18-bit Half Word Floating Point Binary Operand Format 0 0 0 0 0 3 1 Z D 51 ~ a I 1 lSI I I 1 I I lSI E I H I ---1- •I 7 1 Figure 3-9 I o 7 1 1 I I I 01010 27 Single Precision Floating Point Binary Operand Format 0 0 o 0 0 7 1 Z 8~ Z a a lSI I I I 1 I 1 I , lSI E H I I 7 1 Figure 3-10 63 Double PreciSion Floating Point Binary Operand Format The proper operand is selected by the Processor during preparation of the main store address for the operand. If the data width of the operand is smaller than the register involved. the operand is high-order or low-order zero fIt led as necessary. Overlength Registers The combined AQ register is used to hold the mantissa of a.1 floating point binary numbers. The AJ register is said to be overlength with respect to the operands since it has more bits than are provided by the operands. Operands are low-order zero filled when loaded and low-order truncated (or rounded, depending on the in~truction) when stored~ Thus, the result of all floating point instructions has more bits of precision In the AQ than may be stored. Users are cautioned that algorithms involving floating point operands may suffer from propagation of truncation errors unless the algorithms are designed to hold mantissas in the AQ register as long as possible. It is possible to retain full AQ preCision of results If they are saved with the Store AQ (STAQ) and Store lxponent (5TE) instructions but such saved data are not usable as a floating point operand. Normalized Numbers REVIEW DRAFT SUOJECT TO CHANGE October, 1975 3-9 Al39 A floating point number is said to be nor~alized if the rela~ion (0.5 ~ IHI < 1.0) is satified. The presence of unnormalized numbers in any finIte mantissa arithmetic can only degrade the accuracy of results. Flr example, in an arithmetic allowing only two digits in the mantissa. the number 0.005 x 10.·2 has the value zero instead the value one half. Normalization is a process of shifting the mantissa and adjusting the exponent until the relation above is satisfied. Normalization may be used to recover some or all of the extra bits of the overlength AQ register after a floating point operation. There are cases where the limits of the registers force t~e use of unnormallzed numbers. For example. in an arithmetic allo~ing three digits mantissa and one digit of exponent. the calculation 0.3 x 10·.-10 0.1 x 10··-11 (the normalized case) may not be made. but 0.03 x 10··-9 - 0.001 x 10··-9 0.029 x 10··-9 (the unnormallzed case) is a valid result. 0' = Some examples of normalized and unnormalized numbers are' unnormalized positive binary Same number normalized Unnormalized negative binary 'Same number normalized The minimum normalIzed non-zero floating point binary all cases. Table 3-3 Floating Point Binary Operand Lower 18-bit Half Word Operand Unnormalized range Hinimuml Maximum. Neg. 0(1) ---(2) (2·.9 - 1) x 2··-155 Resolution' 2··-155 POSe n~mber Is 2··-128 in Val~es Upper 18-bit Half Hord 36-bit SIngle Precision o o -1.0 x 2··127 (1 - 2··-9) x 2··127 119(3) -1.0 x 2··127 (1 - 2.·-27) x 2··127 1127 72-bit Operand DoubJe PrecIsion Unnormalized range Minimuma Maximuma Neg. POSe Resolutionl o -1.0 x 2··127 (1 - 2··-63) x 2··127 11&3 REVIEW DRAFT SUBJECT TO CHANGE October, 1975 3-10 Al39 (1) There is no unique representation for the value zero in floating point binary numbers; any number with mantissa zero has the v3lue zero. However, the Processor treats a zero mantissa as a special case in order to preserve precision in later calculations with a zero intermediate resu1t. Whenever the Processor detects a zero mantissa as the result of a floatin1 bin~ry operatio~, the AQ register is cleared to zeros and the ~ register is set to -128. This representation Is known as a floatIng n~rmaJizej zero. The unnormal ized zero (any zero mantissa) will be ha1dled correctly if encountered in an operand but precision may be lost. For example, A x 10··-1~ + 0 x 10··S5 will not produce deSired results since all the precision of A will be lost when it is aligned to match the 10··85 exponent of the o. (Z) No Negative maximum is shown for Lower lS-bit Half Word operands Since the high-order zero fill during operand alignment forces the Sign bit to zero. (3) A value cannot be given for Resolution in these cases Since such a value dependS on the value of the exponent, E. The notation used (l:m) indicates resoJution to 1 bit in a field of m. Thus, the followl~g general state~ent on resolution may be madel The resolution of a floating point binary operand with mantissa length and exponent value E is 2··(E-.). m DECIHAl DATA Dect_a' numbers are expressed in one 0' the following formSI Fixed point, no Sign HHMHMH. Fixed poInt, leading Sign ±..HHI1 MMH. Fixed point, trailing slgn Floating point The form is specified by control information In the Operand Descriptor for the operand as used by the Extended InstructIon Set (EI5). (See Section II, Machine Instructions.) A decimal number is defined by impOSing any of the character position value structures belo~ on a 4-blt Character or 9-bit Character l~formatlon unit of length n characters. Fixed point. no signa T Fixed point, leading signa (sign=c(O)] c(1)xl0··(n-2) + c(2)x10··(n-3) + ••• + c(Q-1) T REVIEW D~AFT SUBJECT TO CHANGE October, 1975 3-11 AL39 fixed point, trailing signl cCQ)xl0··(O-2) • c(1)xl0··CO-3) + • • • • cCo-l) (slgn=cCQ)] T floating polntl (sign=c(O)] c(1)xl0··(o-3).c(2)xl0··(n-~) •••• +c(n-2) (exponent=8 bits) T .. herel is the position. decimal c(~) value of the character In the Lth character "T" indicates the position of the decimal pOint • • (sign=c(L») indicates that c(L) is interpreted as a Sign character. [exponent=8 bits] indicates that the exponent value is taken from the .ast 8 bits of the character string. If the data is in 9-bit Characters, the exponent is bits 1-8 of cCo). If tne data is in ~-bit Characters, the exponent is the concatenated value of c(n-1) and c(nJ. The decimal number as described above is the only decimal data item defined. It may begin on any legal character boundary (without regard to word boundaries) and has a maximum extent of &3 characters. The Processor handles decimal data as ~-blt bytes internally. Thus, 9-bit characters are high-order truncated as they are transferred from main store and high-order filled as they are transferred to main store. The fill pattern is MOOll0"b for digit characters and ·00100-b for sign characters. The floating point exponent is a special case and is tre3ted as a two·s complement binary integer. The Processor performs validity checking on decimal dat~. Only the byte values (0,11) octal are legal in digit positions and only the byte values (12,17) octal are legal in Sign positions. Detection of an illegal byte value causes an Illegal Procedure fault. The interpretation of decimal sign characters is shown In Tabel 3-~ below. Table 3-~ Decimal Sign Character Interpretation 9-bit It-blt ~C~C kha~ac 52 53( 1) 5lt 55(1) 5& 57 REVIEW DRAFT SUBJECT TO CHANGE October. 1~75 12 13(2) 14(1) 15(t) 1& 17 IoterpretatlQn + + + + • 3-12 AL39 (1) for storage of This character is used as the default sign character results. The presence of other characters will yield c~rrect results according to the lnterpreta~ion. (2) An optioral control bIt in the Eis Decimal Arithmetic instructions (See Section II, Machine Instructions) allowS the selection of (13) octal for the plus sign character for storage of results in ~-bit data mode. Decimal Data Values The Operand Descriptors for decimal data operands h~ve a 6-blt two·s complement binary field for invocation of a Scaling Factor (SF). This Scal ing Factor has the same effect as the value of E in floating point decimal operands; a negative value moves the assu~ed decimal point to the left; a positive value, to the right. The use of the Scaling Factor e~tended the ~ange and resolution of decimal data operands. The range of the Scaling Factor I i (-32,31). Table 3-5 Decimal Data Values Fi~ej Point Leading or Trailing Sign Fixed Point No Sign Operand Arithmetic range Hinimum. Haximumi o O(1) '10··6~ ~(lO··63 - 1) x 10··31 1ast 1ISF(2) R~solutlonl Operand 4-bjt Floating PoInt 9-bit Floating Point Arithmetic range H1nimuma Maximuml ResolutIonl o o ~(10··62 - 1) x 10··31 ~'10··61 - 1) x 10··158 1ISF+E - 1) x 10··158 1ISF+E (1) See Decimal Zero below_ (2) A value cannot be given for Resolution in these cases since SUCh a value dependS on the va.ue of the Scaling Factor, SF, and/or the exponent. E. The notation used (lISF+E) indicates resolution to 1 part In 10·.'SF+E). Thus, the followIng general statement on resolution may be madel The resolution of a fixed point decimal operand with Scaling Factor SF is 10··SF and the resolution of a floatIng point de:lmaJ operand with Scaling Factor SF and exponent E is 10··(SF+E). REVIEW DRAFT SU8JECT TO CHANGE October, 1975 3-13 AL39 Decimal Zero As In floating point binary arithmetic. there Is no uniQue representation of the value zero except in the case of fixed point, no si~n data. Therefore, the Processor detects a zero result and forces a value of +0. for flxed point, leading or trailing sign and +0. x 10··127 for floating point data. Again, as in ftoating binary arithmetic. other representations of the ~alue zero will be handled correctly except for possible loss of precision during operand a I ignment. Alphanymeric Qata Alphanumeric data is represented in two ~odes; character string and bit string. The mode is deter.ined by the Processor ac~ordlng tl the function being performed. CHARACTER STRING DATA Character string data is defined by imposing the character pOSition structure below on a ~-bit. &-bit, or 9-bit Character infor~ation unit of length D characters. ~'O) II cll) U ••• II ceO-i) where' eel) is the character in the II ~th character positio~. indicates the concatenation operation. The character string described above is the only character string data item defIned. It may begin on any legal character boundary (without regard to word boundaries) and has a maximum extent as shown in Table 3-& below. Table 3-& Character String Data Length LImits Character S 11..e len 9th liLUl C)-bit 104857& o-bit 15728&4 4-bit 2097152 No interpretation of the characters is made except as specified instruction being executed. 'See Section II, Machine Instru:tions.) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 3-14 for the AL39 BIT STRING DATA Blt string data Is defined by imposing the bit position structure belo" a machine word information unit of length n bIts. b «0 ) Jib (1) 'I I • • • on I I b (0-1 ) wherel bll) is the value of the bit in the lth position. II indicates the. concatenation operation. The bit string described above is the only bit string data item defined. may begin at any bIt position (without regard to character or word boundaries) and has a maximum extent of q~3718~OOO bits. It REVIEW DRAFT SUBJECT TO CHANGE October, 1<)75 3-15 AL39 SECTION IV PROGRAH ACCESSIBLE REGISTERS A Processor register is a harware assembly that holdS l~forma'ion for use in some specified way. An accessible register is a registe~ whose contents are available to the user for his purposes. Some accessible registers are explicitly referenced by particular instructions, some are i~plicltly referenced during the course of execytion of instructions, and so~e are used in both wayS. The accessible registers are listed in the table bel3w. See Section II, Hachine Instructions, for a discussion of each instruction to determine the way in which the registers are used. Table ~-1 Processor Registers 12oemonj,c Accumulator Register Quotlent Register Accumulator-Quotient Register(1) EKPonent Register Exponent-Accumulator-Quotient Register(l) Index Registers Indicator Register Base Address Register Timer RegIster Ring Alarm Register Pointer Registers Procedure Pointer Register Temporary Pointer Register Descriptor Segment Base Register Segment Descriptor Word Associative Memory Pa1e Table Word Associative Memory Fault Register Mode Register Cache Hode Register Control Unit (CU) History Register Operations Unit (OU) Historv Register Decimal Unit (OU) History Register Appending Unit (AU) History Re9ister Configuration Switch Data not Qyant Ux 1 36 A Q 1 1 36 72 AQ 1 1 8 1 1 1 1 8 1 1 8 E 80 18 EAQ Xn lR 1~ BAR 18 27 3 TR RALR PRn PPR ,.2 37 ,.2 TPR DSBR,(OBR) 51 SOWAI'1 PTWAI'1 85 51 35 HR CHR 33 Control Unit Data Decimal unit data (1) a1..LLitl.gib 1 16 16 1 1 28 1 72 72 72 72 16 16 16 16 3& 5 57& 1 1 288 These registers are not separate physical combinations of their constituent registers. assemblIes but are logical in the descriptions that folJow, the dIagrams given for re1ister formats do imply that a physical assembly posseSSing the pictured bit pattern exists. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 4-1 AL39 The diagrdm is a graphic representation of the form of the register data as It appears 1n main store when the register contents are sto-ed or how data bits must be a~sembled for loading into the register. E.m:m..all - 36 bi ts o -D..- __________________ 1 1 3 5 --1-~ s I A-Upper S A-lowe'" I 18 Figure 4-1 18 Accumulator Register CA) Format Descriptioo: A 3& bit physical register located in the Operations Unit. In fixed point bInary operations, holds operands and results. In floating point binary operations, holds the most significant part of the mant issa. In shifting operations, holds original data and shifted results. In aCdress preparation, may hold two logica11y indepenjent word offsets, A-Upper and A-lower, or an extended range bit or character 01fset. ~ma1! - 36 bits o 1 1 1 8 -1l. Q-Upper _________ ---1____________ Q-lowe" 18 Figure 4-2 Quotient Register 16 (Q) Format REV lEW OR ~FT SUBJECT TO CHANGE October, 1975 4-2 Al39 Q~$cr,iDt.1onl A 36 bit physical re~lster located in the Operations Unit. fJ.LQctlQn' In fixed point binary operations, holds operands and results. In floating point the mant lssa. binary operations, holds the least significant part of In Shifting operatIons, holds original data and shifted results. In acaress preparation, may hold t~o logicallv indepen~ent word offsets, Q-Upper and Q-lower, or an extended range bit or character offset. format' - 72 bits o 7 3 3 5 6 Q .- Z I I Odd Word Even Word _____________________ ---1a ____________________ _ I 36 Figure ~-3 36 Accumulator-Quotient Register (AQ) rormat Qe$C;r Ip t lonl A logical combination of the Accumulator (A) and Q~otient (Q) registers. Eunc;t1 oD.1 In fixed results. point binary operations, holds dOUble precision operands and In floating pOint binary operations, holds the mantissa. In shifting operations. holds orIgInal data and shifted results. REVIEW DRI!FT SUBJECT TO CHANGE October, 1':175 ~-3 AL39 [m:m.all - 8 bits o I a 0 3 ----~--------a p 5 J a exponent Ix x x x x x x x x x x x x x x x x x x x x x x x x x x x: L -_ _ _ _ _-L ----- 8 Figure ~-4 28 ) Exponent Register (E) Fromat Cl1tScriotion!. An 8 bit phvsical register located in the OperatIons Unit. Bits pictured as "x" are "donat care" bits, that is, are irrelevant to the register or its use. fUDction' In floating point binary operations, holds the exponent. El~ENT-ACCUHUlATQR-QUQTIENT ~1i R~~IER (EAQ) - 80 bits 0 0 0 _______________________________________ -l ____________ 7 ~1~8 I I I I I I exponent 2 man t Issa 8 Figure 4-5 6~ Exponent-Accumulator-QuotIent Register (EAQ) Format OficriDtion! A logical combinatIon of the Exponent (E), Accumulator (A), and Quotient (Q) reglstersa Although the register has a total of 60 bits, only 72 are Involved In transfers to and from maIn store. truncated on store and zero filted on 'oad. The low order 8 bits are Eimction, In float Ing pOint binary operatIons, holds operands and results. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Al39 lHUEK REGISltRS-lXDl E~na11 - 18 bits each o 1 _____________--1- Q I I J 18 Figure ~-& Index Register (Xn) Format Qescription: Eight 18 bit phvsical registers in the Operations Unit numbered 0 throUgh 7. Index Register data may OCCUpy the pOSition of either an Upper or lo~er 18-bit Half Hord operand In a main store machine word. functIonl In fixed point binary operations. hold half word operanjs and results. In acdress preparation. .character offsets. f~1 - 1~ hold word offsets or extended range bit or bits 0 1 1 1 Z 2 2 2 2 2 2 2 Z 2 3 333 -&0______________________________ J ~Z_a8_49~O~1 __ 2_~~~2~~ 9 Q 1 Z 5 :::I::IJIIIIIII Ix x x x x x x x x x x x x x x x x , x:alb:cld:elflglh:itll~:'lmlnIO _____________________ ---1 ; I ; I 1 1-1-1-1-l_~J~I~J~;~ 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figure 4-7 I 0 0 OJ ______ 4 ~: Indicator Register (IR) Format ~~ription! A logical assemblage of 14 indicator flags from ~arious units of the Processor. T~e data occupies the pOSition of a Lower 1S-bit Half Word operand. Bits pictured as -x" are "don·t care- bits a~d are irrelevant to the register or its use. Bits pictured as "0· are reserved and must have value O. When interpreted as data, a bit value of 1 corresponds to the ON state of the indicator, a bit value of 0 corresponds to the OFF state. REVIEW DRAfT SUBJECT TO CHANGE October, 1975 ~-5 AL39 [unctionl The functions of the individual indicator bits are gjve~ below. An ··x· the column headed •• 1.... indicates that the state of the .indicator is affected by instructions that load the IR. in 1l~1 a Zero This indicator is set ON Mhenever the output of the main binary adder conSists entirely of zero bits for binary or shifting operations or the output of the deci~al adder consists of z e r o d i g its f or dec 1 ma I' 0 per a t 1 on s ; otherwise, it is set OFF. b Negat ive This indicator is set ON ~henever the output of bit 0 of the main bina~y adder has value 1 for b.inary or shifting operations or the sign character of the. result of a dec lila I operation is the ne9ati~e sign character; otherwise, it is set OFF. c Carry This indicator is set following conditions; OFF. for any of the otherwise, it is set O~ (1) If a bit propagates leftward out of bit o of the main bi~ary adder for any binary or shifting o)eration. (Z) If Ivaluell =< Ivalue21 for a numeric compar-islon )per-atlon. decillal (3) If chart =< charZ for a alphanumeric compare operation. decimal d Overflow This indicator is set ON if the arithmetiC range of a register is exceeded In a fixed point binary operation or if the target string of a decimal nume~ic operation is too small to hold the integer part of the result. It remains ON until reset by the Transfer on Overflow (TOV) instruction or Is reset by some other instruction that loads the IR. The event that sets t~is indicator ON may also cause an OverfloMi Fa ... t. (See OverfioM Mask indicator beloM.) e Exponent Overflow ThiS indicator is set ON if the eKPonent of the result of a floating point binary or decimal numeric operatio~ is greater than +127. It remains ON Jntil reset by the Transfer on Exponent Overflow (TEO) instruction or is reset by some other instruction that loads t~e IR. The event that sets this injicator )N may also cause an Overflow Fault. (See Ove""low Mask indicator beloMi.) Exponent Underflow R1:.VIEWORAfT SUBJECT TO CHANGE October9 1975 This indicator is set ON if the exponent of the result of a floating point binary or decimal numeric operation is less than -128. It-I) AL3CJ It remains ON untIl reset by the Transfer on Exponent Underflow (TEU) instruction or is reset by some other initructlo~ that loads the IR. The event that sets this indicator ON may also cause an lverflow Fault. (See Overflow MaSK indicator below.) 9 Overflow Mask This indicator is set ON or OFF only by the instructions that load t~e IR. When set ON. it inhibits the generation of the fault for those events that normally cause an Overflo. Fault. If the Overflo~ Mask indicator Is set OFF after ocurrence of an Overflo" event, an Overflow Fault " i l l not occur even though the indicator for that eve~t is still set ON. The state of the Overflow MaSk indicator does not affect the setting, testing, or storing of any other indicator. h Ta II 'I Runout This indicator is set OFF at initial ization of any tallying operation, that Is, any repeat instruction or any Indirect Then Tally Address Modification. It is then set ON for any of the follo~ing conditions: i (1) If a repeat inst~uction because of tallv exh~ust. (2) If (3) If a tally exhaust is detected for an Indirect Then Tally modifier. The instructIon will be executed whether or not tally exhaust occurs. t er IIi na tes a Repeat Link (RPl) instruction terminates because of a zero lInk address. Parity Error This indicator is set ON whenever the ~ain store signals Illegal ~ctor with a parity error code or the Processor detects an internal parity error condition. The indicator is set OFF only by instructIons that load the IR. Parity "ask This indicator is set ON or OFF only by the instructions that load the IR. When it is set ON, it inhibits the generation of the Parity Fault for all events that set the Parity Error indicator. If the Parity Mask indicator is set OFF afte~ the ocurrence of a Parity Error event. a Parity Fault wi" not occur even though the Parity Error indicator may stIli be set ON. The state of the Parity Mask indicator does not affect the loading, testing, or storing of anf other indicator. generated fro~ previouslv set parity error indicators. The status of the parity mask indicator does not affect the setting, testing, or storin~ of the parity error indicator. REV lEW DRAFT SUBJECT TO CHANGE October, 1RPO) in Section I I y Machine Instuctions. REVIEW DRAFT SUBJECT to CHANGE Octobery 1975 '+-12 Al39 PRn.SITNO The Bit Number register contains th~ number of the bit within PRn.CHAR of the word at P~n.WO~ONO containing the data item. The value is determined when the pointer data is constructed f~om the data item description in the procedure. ~ord and character boundary aligned data items Mill always have the value O. Unaligned data items may have any value in the range (0.10) octal. See NOTE under PRn.CHAR above. f.R.Q.k.EllU&LfQ I NIE R REG 1.S.1E.&-ifeRl E~l1 - 37 bits Word 0 of Control Unit Data o 0 1 1 1 7 8 ~ J J ZP he x x x x 0 g Q II J J I I PRR I PSR I J ~ J )( x )( )( K X X X X X X xI I ---L--L- 3 Word • 3 2 of 15 1 17 1 1 3 Control Unit Data o -'L18 2 J I a I ________________________________ IC AI ---1Ix x x x x x )( x x x )( x x x x x x xlI 18 Figure ~-12 18 Procedure Pointer Register (PPR) Format 1l..sc;riDtlon! A logical combination of physical registers from the Appending Unit and the Control Unit. PPR.PRR. PPR.PSR, and PPR.P are located In the Appending Unit and PRR.IC Is located in the Control Unit. The data is pictured as it appeers in main store in Words 0 and ~ of Control Unit Jata. Bits pictured as "x" are "don-t care" bits and are irrelevant to the ~egister or its use. The bits ~ have meaning wIth regard to Control Unit Data. (See Control Unit Data beloM.) (unction.! The Procedur~ Pointer Register holds information relative to the location in mdin store of the procedure segment in e~ecution and the location of the current instruction within that segment. The functions of the indivi1ua' constituent registers are: REVIEW DRAFT SUBJECT TO CHANGE October, 1975 4-13 AL39 PPR.PRR The erocedure ~ing RegIster contains the number of the ring (validation level. in ~hlch tne process is executing. It is set to the Effective ~inq Number of the procedure segment when contr31 is transferred to the procedure. PPR.PSR The erocedure Segment Register contains the segment number of the procedure being executed. Its value changes every time control is tra~sferred to a new procedure. PPR.P The frivlleged bit register is a flag controlling execution of privIleged instructions. Its value is "l"b (permitting privileged instructions) Is PPR.PR~ is o 3nd the privileged bit in the Seg~ent Descriptor ~ord (SOW.P) for the procedure is "1"b. Its value is "ONb if SOW.P is 0 or PPR.PRR is greate- than o. Its v~lu~ is set every time a new procedure is entered. PPR.IC The Instruction kounter register contains the ~o~d offset from the origin of the procedure segment to the current instruction. RE.VIEW OR~FT SUBJECT TO CHANGE October, 1975 AL39 Eormata - 42 bits Word 2 of Control Unit Data 0 o 0 1 1 3 D D 0 -Ll S I 1 I I & Ix x x x x x x x x I TSR TRR I I I X IC X X X X X X 18 15 3 xI I Word 3 of Control Unit Oata o 2 3 Q _~9~Q~ 3 ________5,- I J Ix x x x x x x x x x x x x x x x x x x x x x x x x x x I X IC xl I I TBR 41____________~1 30 & Word 5 of Control Unit Oat a 0'_________________________________ ~Q I 1 I 1 1 ___________________________________5,3 --Z-~8 I CA I Ix x x x x x x x x x x x x x x x x xl; _ _ _ _ _ _--a._______ t 18 Figure 4-13 Temporary Pointer Reglster (TPR) 18 ~ormat A logical combination of phYSical re3isters from the Ap)ending Unit and the Control Unit. TPR.TRR. TPR.TSR, and TPR.TBR are locatej in the Appending Unit and TPR.CA is located in the Control Unit. The data is pictured as it appears in main store in Words 2, 3, and 5 of Cont~oJ unit Data. Bits pictured as "x'· are "don·t care" bits and are irrelevant to the register or its use. The bits ~~ have meaning with regard to Contr)1 Unit Data. (See Control Unit Data below.) The Temporary POinter Register holds information relative to the location in main store of indirect words and pointers (during address preparation) and operands (during instruction execution). At the completion of address preparation, the contents of the TPR is presented to the Appending Unit Associative Memory Assemblies for translation into tne final 2~-bit main store address. The functions of the individual constit~ent registers ~re: REVIEW DRAFT SUBJECT TO CHANGE October t 1975 ~L39 fPR.TRR The temporary &ing Register contains the Effective ~ing Number for the data access. If the access is to the procedure segment, TPR.TRR is set to PPR.PRK; if the access invokes a Pointer Registe~, TPR.TRR is set to the larger of PRn.RNR and PPR.PRR. TPR.TSR The Ie~pora~y Segment &egiste~ contains number of the segment to be accesse~. TPR.TBR The lemDora~y ait Register holds t~e bit offset for indirect wo~ds or pointers (during ~ddress preparation) or operands (during instruction execution). Its value is calculdted during add~ess preparation from the contents of PRn.CHAR and PR~.3ITNO and other informatlon provided by the Address Modification specified for the instruction. See PRn.CHAR and PRn.BIrNO above for further detail. TPR.CA The ~omputed Address register contains the word offset 01 indirect words or pointers (during adddress preparation) or operands (dJring instruction execution). QESCRIPTOR ~~HI-aASE the segment REGISTER 1US3R.DBR) formata - 51 blts Even Word of V-pair 2 2 ;5 !t.- 0 II I I I 10 0 0 L -_ _o_0 ADDR I 3 ~ 0 0 000 0 01 12 24 I Odd Word of V-pair 0 0 -lL1 1. I 101 I I 1 BND -------- Figure 4-14 1 1 2 2 2 1 1 ft-2. _ _ _ L~--1_L-. I 1 : I : 0 0 0 OlUl0 0 0 01 , I I 1ft 4 1 3 ~ 1 I STACK I 4 12 I Descriptor Segment Base Register (OSBR,J8R) Format A lo~ical combination of various Appending Unit registers. The data is pictured in the format expected by the load Oescriotor3ase Register (l08~) and Store Descriptor Base Register (SOOR) instructions. Bits pictured as REVIEW DRAFT SUOJECT TO CHANGE October, 1975 4-1& AL39 ·0· are reserved and must have the value O. [ynctloo.1 The Descriptor Segment Base Re]ister contains information concerning the Descriptor Segment for a process. The Descriptor Segment holds the Seg~ent Descriptor Hords (SOWs) for all segments accesslbl e bv the process. The functions of its individual constituent registers arel The interpretation of the AllllRress "egister dependS the value of OSBR.U. OSBR.BND E~~ DSBR.ADOR u=o The 2~-bit main store address of for the Descriptor Segment. U=l The 2~-bit main store address Segment. The on coo~ of the the Page Table Descriptor aou~ register contains 14 most significant bits of highest 10 word block of the Descriptor Seg~ent that can be addressed wIthout causing an Access Violation. ~he OSBR.U The U register Is a flag specifying whether the descriptor segment is unpaged (U = 1) or paged (U = 0). OSBR.STACK The SI~ register contains the upper 12 bits of the 15-bit stack base segment numbe~. It is used on1v during the eKecution of the CALL6 instruction. (The Segment Number of the Stack Se~ment for a running process is given bv 8 • OSBR.STACK • PPR.PRR.) REVIEW DRAfT SUB~ECT TO CHANGE October. 1975 1t-17 Ettm.a.1.!. - 85 bi ts each Even Word of V-pairs as stored Store Segment Descriptor Registers by _1o____________________,________ (SSD~) _________2 2 2 2 __ 2 3 3 3 35 3_~_2_l _3_~Z_3 J I J I I I J ______________________________________________ ADD R I ___ R __1_____1_ 1 I ~2 I R3 ;10 0 0 II ~J ~I 2~ 3 3 3 3 Odd Word of Y-palrs as stored by Store Segment Descriptor Registers (SSDR) 3 3 555 555 555 JO~ ~1~J~ 1 Da~a 7 1 __________~_'-1-~_L5~6_7~8~_________ 1111:111 6 7 11 BOUND JRJEIW:PJUIG1CI ____________________________ : I I I ; I 14 1 1 1 1 1 1 1 Cl ~I~l 11+ as stored by Store Segment Descriptor POinters (SSOP) D I t ~4 J ao POINTER ; 222 1 1 !t ~ It 0 o 0 0 0 0 J 15 Figure 4-15 o 1 I 0 0 . a OIFIO J , 12 1 3 3 3 1 Z ~ I 0 0 01 I 4 USE I I ,. I Segment DescrIptor Word Associative Memory (SOWAM) Format IlncriDtlop= Sixteen logIcal combinations of registers and flags from the Appending unit comprising the Segment Descriptor Word Associative Mem~ry Assembly. The registers are numbered from 0 through 15 but are not directlv addressable by number. 81ts pictured as "D· are reserved and must ~ave the value D. segmentation in the Hultics Processor is implemented by the Appending Unit (See Section V, Address -- Segmentation and Paging for details). In order to per~lt addreSSing by Segment Num~er and offset as prepared in the Temporarv Pointer Register (described above), a table containiny the location and status of each accessible segment must be kept. This table is the Descriptor Segment and is uni~ue to the pr,cess. The Descriptor Segment for a running process is located by information held in the Descriptor Segment Base ~egister (OSBR) described a~ove. Hard~are REVIEW DRAFT SUBJECT TO CHANGE October, 1975 4-16 Al39 Every time an Effective Segment Number (TPR.TSR) is preoared, it is used as an indeK into the Descriptor Segment to retrieve the Segment Descriptor Word (SmO for the tdrjet segment. To reduce the 'lumber of main store references reQuired for segment addressing, the SOWAH provides a content addressable store to hold the sixteen most recently referenced SOWs. Whenever a reference to the SOW for a segment is reQJired, the EffectIve Segment Number (TPR.TSR) is matched associatively against all 16 SOWAH.POINTER registers (described below). If the SOWAH match logiC circuitry indicates a Mh!t·, all usage counts (SDWAH.US~) greater than the usage count of the "hit· register are decremented bV one, the usage count of the "hit" register is set to 15, and the contents of the "hit· register are read out into the address preparation circuitry as necesary. If the SOWAH match logic does not indicate a "hit", the SOW is fetched from .aln store and loaded int~ the SDWAM register with usage cou~t 0 (the "oldest"), all usage counts are decremented by one with the n!~ly loaded register rolling over from 0 to 15 t and the newly loaded registe~ is read out into the address preparat Ion c ircu! try as necessary. Faul ted SOWs are loaded into the SOWAH. The functions of the constituent registers and flags of each SOWAH register area SDWAf1.AODR The Interpretation of the the value of SDWAH.U. ~&ress u=o The 24-bit maIn store address for the target segment. U=1 The 24-bit segment. ~ain store ~egister depends ~f the Page of the address on Table target SOWAH.R1 Upper limit of read/write Ring Bra=ket. VIII. Hardware Ring Implementatlon) (See Section SOWAH.R2 Upper limit of read/execute Ring Bracket. VIII, Hardware Ring Implementation) (See Section SDWAH.RJ Upper limit of call Ring Bracket. Hardware Ring Implementation) SOWAH.BOUND The upper limit of segment addresses stated as a nu~ber of 16 word blocks. A seg~ent add~ess (TPR.CA) wlth a block address larger than this, value will cause an Access Violation, Out of Segment Bo~nds, Fault. SOWAH.R &ead permiss ion bi t. If this bi t access reQuests may be honored. SOWA H.E Execute permission bit. If this bit is set ON, the SOW may be loaded into the Procedure POinter Re~ister (PPR) and control transfered to the segment for exectulon. SDWAH.W ~rite permission bit. If this bit access reQuests may be honored. SDWAH.P erivileged flag bit. If this bit is set ON, privileged instructions from the segment m3Y be e~ec~ted if PPR.Pi~~ is O. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 (See is Is Section set set ON, ON, VIII, read write 4LJ9 [.un~liJln flag bit. If this bit is set ON, the segment is unpaged and SOWAH.AODR is t~e 2~-blt main store address of the base of the segment. If thIs bit is set OFF, the segment is paged and ~OWAM.AOaR is the 2~-bit address the array of Page TabJe Words (pnofs) for the segment. SOWAM.U ~npaged SOWAH. G ~ate SOWAH.C ~ache SOWAH.CL ~all ~imiter value. If the segment is gated (SaWAH.G set ON), transfers of control into the segment must be to segment addresses no greater tha~ this value. SOWAM.POINTER The Effective Segment Number used from main store. SOWAtt.F full/empty bit. If this bit is set ON, the SOW in the register is valid. If this oit is set OFF, a ""hit- is not possible. All SOWAH.F bits are set OFF by the instructiorys that clear the SO WAH. SOWAM.USE USagE count for the register. The SOWAH.USE fIeld is used to maintain a strict FIFO Queue order among the SOWs. When an SOW is matched its USE value is set to 15 ("newest") and the Queue is relrdered. SOWs newly fetched from main store replace the SOW with USE value o (-oldest") and the Queue is reordered. SOWAH.USE is set the internal (and invisible) SO~AH register nu~ber by instructions that clear the SOWA~. REVIEW DRAFT SUBJECT TO CHANGE October. lq75 control bit. If this bit is set ON, calls into the segment must be to an offset no greater than the value of SOWAH.CL as described beloN. control bit. If this bit is set ON, data the segment may be p'aced in the cache store. It-2 a to fetch this from SOW AL39 f.m::ull - 51 bi ts each Data as stored by Store Page Table Registers (SPTR) 0 1 1 .J1 ---La I I I 10 0 AOOR Z Z 3 1 3 Q o 0 o ---1. L- 18 I o 0 0 0 3 2 J I 0 D:HIO 000 0 01 I I 6 11 1 -----, Data as stored bv Store Page Table Pointers (SPTP) 0 1 1 .J1 !t 2 I J PAGENO I POINTER I 15 Figure 4-16 t tFIO --L1_ I 1 ~ 2 2 -LL1 o 12 1 Page Table Word AssociatIve Memory (PT~AH) 3 3 3 1 Z 2 0 OJ ,. I I 1 USE J It Format Ilescriotlonl Sixteen logical combinations of registers and flags from the AppendIng Unit comprising the Page Table Word Associative Memory Asse~bly. The registers are "umbered from 0 throu1h 15 but are not directly add~essable by number. Bits pictured a~ "0" are reserved and must have the val~e o. EUDctlQn' paging In the Mu'tics Processor Is implemented by the AppendIng Unit (See Section V. Address -- Segmentation and Paging for details). In order to permit segment addressing Dy Page Number and page offset as derived from the Effective Address prepared in the Temporary' Pointer Register (TPR.CA described above). a table contaIning the loc~tlon and status of each page of an accessible segment must be ke~t. This table is the Page Table Word Array (PTWA) for the segment that is located in the System Segment table (SST) (a supervisory ring 0 data b~se) and is sharable by all processes. The PTWA for an accessible paged seg~ent is located by information heJd in the Segment Descriptor Word (SOW) for the segment. Hard~are Everv time an Effective Address (TPR.CA) for a paged segment is prepared, it is separated into a Page Number and a page offset. The Page Number is used as an index into the Page Table Word Array to retrieve the Page Table Word (PTW) for the target oage. To reduce the num3er of main store references reQuired for paging, the PTWAM provides a content addressable store to hoi d the sixteen most recently referenced PTWs. Whenever a reference to the PTW for a page of a paged segment is reQuired, the Page Number (as derived from TPR.CA) is matched associatively against all 10 PTWA:1.PAC;E~J\) registers (described below) a1d, simultaneovsly, REVIEW OR~FT SUBJECT TO CHANGE OctOber, 1975 it-Zl AL39 TPR.TSR is matched against PTWAH.POINTER (described below). If the PTWAH match logic circuitry indicates a "hit", al I usage counts (PTWAH.USE) greater than the usage count of the "hit· register are decremented by one, the usage count of the "hit" register is set to 15, and tne contents of the "hit" register are read out into the address prepar~tion circuitry as necesary. If the PTWAM match logic does not indicate a "hit", the PTW is fetched from main store and loaded into the PTWAH ~egister with usage count o (the ·oldest"), all usage counts are decremented by one with the newly loaded register rolling over from 0 to 15, and the newly loaded register is read out into the address preparation circuitry as neceisary. Faulted FTWs are not loaded into the PTWAM. The functions of the constituent registers and flags of each PTWAH register are. ~51i..S.1.e1: PTWAH.AOOR The AUl&ess register holds the 18 m~st significant bits of the 24-blt main store address of the page. The hardware ignores low order bits of the page address accord~ng to page size based on the fol lowing ••• Page Size In words 6ft 128 25& 512 102't 2048 ft09& ADOR 31ts ignored none 17 16-17 15-17 14-17 13-17 12-17 PTMAH." Page Hodlfied flag bit. This bit is set ON the PTW is used for a store type initruction. bit changes value from 0 to 1, a special extra generated to write it back into the PTW in the PTWAM.POINTER The Effective Segment Number used from mai n st ore. PTWAH.PAGENO The 12 mos t significant bi ts of the 18-bit £1 feet i ve (TPR.CA) used to fetch this PTW from main Address store. low order bits are forced to zero by the the PTWA in oex hardware and not used as oart of according to page size based on the following Page Size in words to fetch whenever When the cycle is PTWA. thiS PTN PAGENJ bits for=ed 64 nO/"le 128 256 512 11 10-11 09-11 102'+ 08-11 2048 07-11 '+096 06-11 PTWAM. F [ull/empty bit. If this bit is set ON, the PTW In the register is valid. If this bit is set OFF, a "tlit" Is not possiole. All PTWAM.F otts are set OFF by the instructions that clear the PTWAH. PTWAH.USE u.s.ag£ count used REVIEW OR~FT SUBJECT TO CHANGE October, 1975 to for the reJister. The :lTWAM.USE field Is a strict FIFO QJeue oraer among the ~aintain 't-22 Al39 PTWs. Hhe~ an PTW is matched its UiE value Is set to 15 '''newest··t and the Queue is ,.eordered. PTws ne"d y fetched f,.om main store replace the PT~ wit~ UiE value o ("oldest"t and the Queue is ,.eorjered. PTWAM.USE is set the internal (and invisible) PT"AH reg ister numbe" by inst,.uctions that clear the PTWA~. EQrmat: - 35 bits Data as stored instruction 0 0 o 0 0 0 o 0 by Store Central 0 0 1 1 1 1 1 1 1 1 Z ;5 !t 2 2 I I I I 1 1 1 J J • Figure 1t-17 Register 2 2 2 2 ;5 L-_L.!l 1 2 -1LJ.--Z.J_L2-~-.a.-3. Q a I I I I I I I lalblcldlelflglhlilJ Ikl11mlnlol01 LLLL1--L.l I I I I I J I I • J 1 111 1 1 111 1 .1 1 1 111 Processor 3 D I IAA I I I lAB I It I I . lAC -.1._ It It (SCPR), TAG = 01, 3 3 333 1 Z ;5 !t ~ I I I I lAO Iplolrlsl I I I •I I It 1 111 I Fault Register Format Q.escrlpt ionl A logical coabination of flags and registers all located in the Control Unit. The registe,. is stored A~~ k'eared by the SC~R (tag 01) com~and. Note that the data is stored into the l121:J1 lL.a.lt:. at locat ion Y and that the contents of Y+l are cleare2. The Fault Register cannot be loaded. fynctlQnl The Fault Register contains the conditions in the Processor for several of the hardware faults. Oata is s~robed into the Fault Register during a fault sequence. Once a bit or field in the fault Register has been set, it remains set until the register is cleared. The data wil' not be overwritten during subsequent fault events. The reader·s attention is directed to another aDPare~t anomoly in the deSign of the MuJtics Processor as an enhancement to an existing design. It will be noted that the Fault Register recorgs events from only ports A through O. These four ports are the limit of c~nnectability of the existing deSign and, since all eight ports are reported in Control Unit Data (described below), no change "as made in the FaJlt Register for the added ports. Data reported for ports A through 0 are valid in both I ocat ions. The functions of the constituent flags and registers arel REVIEW DRAfT SUBJECT TO CHANGE October. 1975 4-23 AL39 g~ ~glster a ILL OP An Illegal operation code has been b ILL An illegal Address Modifier has c ILL SUI HO~ dILL PROC ~etected. bee~ detected. An illegal BAR Mode procedure has been encountered. An illegal procedure encountered. other than 3AR Hode has been e HE'" A nonexistant main store address has been requested. f OOB A BAR Mode ooundary violation has occured. g WRT INH An illega' decimal digit has bee, detected Decimal Unit. (Flag name 1s obsolete) h PROC PARU A parity error has been detected In the upper of data. 3& i PROC PARL A parity error has dtected in data. bits SCaN A A SCONNECT Signal has been received through SCON B A SCONNECT signal has been received through port B. SCON C A SCONNECT signal has been received through port C. m SCON 0 A SCONNECT signa' has been received through port O. k the lower 36 by ~ort the bits of A. n OA ERR1 CPU/SCU interface sequence error 1 has been detected. (SDATA-AVAIL received with no prIor SINTERRUPT sent.) o OA ERRZ CPU/SCU interface sequence error 2 ~as been detected. (Multiple SDATA-AVAIL received or 'DATA-AVAIL received out of order.) IAA Coded Illegal Action, Port A. (See Table ~-2 below) lAB Coded Illegal Action, Port B. (See Table ~-2 below) lAC Coded Illegal ActIon, Port C. (See Table 4-2 below) lAO Coded Illegal Action, Port O. (See Table p CPAR DIR A parity error has been detected directory. q CPAR STR A data parity error has store. r CPAR IA An Illegal Action has been received from an SCU been In ~-2 the detected in below) cache store the cache du~in9 a store operation. s CPAR BlK REVIEW DRAFT SUBJECT TO CHANGE Oc tober. 1975 A cache parity error has occured data block load. du~ing a cache store ~L39 Tabl e 4-2 CJuk P[:lgI:11~ System Controller Illegal Act ion Processor Ullll. C~des &u:i.QO 5 1 CHO STR CHO No i I I ega I action Unassigned None~istent address Stop on condition 12 11 10 CHO PAR PAR PAR Unassigned Oata parity, store to S:U Oata parity in store Oata parity in store and store to SCU 7 CH!) CHD CMO STR Not control Port not enaoled tHega I command Store not ready 14 2 PA~ 15 16 6 8 9 PAR PAR PAR ZAC parlty. CPU to SCU Data pari tv, CPU to SCU ZAC pari t y, SCU to store Data parity. SCU to store 00 01 02 03 04 05 06 07 10 11 12 13 4 13 17 3 MODE REGISIU Eo[:matl - 33 bits Even word of V-pair as stored by Store Central Processor ~egister = 06. instruction (SCPR), TAG 0 1 1 1 1 1 122 2 2 2 2 222 2 333 333 4 5 £p 7 8 9 1 J I : Q J I FFV £1 ____________________• ___________ Q 1 2 3 U-LLa 9 Q 1 2 3 It 5 aP co aE : It: I 2 1 1 JOlalb:-------------------:iJJlkll:mIO Oint 1-1 ; Scld;e"; 9 1 h __ ~_1-1-l-.;-4J 15 1 1 1 10 1 1 1 1 1 1 111 Figure 4-18 2 2 ~t~; 2 1 2 Hode Register (HR) Format Ofikriotion! A 109 I ca I asse mb I age of flags and reg i sters from the Contro 1 Uni t. The Hode RegIster and the Cache Hode Register are both stored into the V-oair bv the SCPR, TAG = 06, instruction. The Mode Re~iste~ is loaded with the Load Central Processor Register (Lcpro, Tag = 04 instruction. Bits pictured as "0" are reserved and must have the value o. The function~ REVIEW DRAFT SUBJECT TO CHANGE Oc t ober. 1975 of the constituent flags and registers are: 4-25 FFV A -floatIng fault vector- address. The 15 most significant bits of the Y-blockS ~ddress of four word pairs constituting a "floating fault vector". Traps to these floating faults are senerated by othe~ condItions setable by the mode registe~. a OC TRAP Trap on OPCODE match. If this bit is set ON ang OPCOOE matches the operation code of the instruction for which an address is being prepared (including indi~ect cycles), generate the secor)d floating fault (XED FFV+Z). (See NOTE below) b AOR TRAP Trap on ADDRESS match. If this bit is set ON ang the Computed Address (TPR.CA) matche~ the setting of the Address Switches on the Processor Haintenence pane', generate the fourth floating fault (XED FFV+6). (See NOTE below) OPCODE The operation code on which to trap If OC TRAP (bit 16, key a) is set ON or for which to strobe all CU cycles into the CU History ~egisters if O.C,t (bit 29, key )) is set ON Processor conditions codes as follows if OC TRAP (bit 16, key a) and O.cst (bit 29, key J) are set OFF and t VOLTAGE (bit 32, key m) is set ON. ts.n ConditUD c Set Control Unit Overlap Inhibit if set ON. The Control Unit shall wait for the operations Unit to complete execution of the ever) instruction of the current instruction pair before it begins address preparation for the associated odd instructIon. The Contro I Uni t shal J al s:) wai t for the Operations Unit to complete execution of the odd instruction before it fetches the next instruction pair. d Set Store Overlap Unit shaJ I \IOIait store fetch (re3d m~in store access e Set Store Incorrect Data Parltf if set ON. The Control Unit shall cause inco~rect data pari tv to be sent to the SCU for the next data store instruction and then Sh~JJ reset bit ZD. Inhibit if S!t ON. The Control for completion of a current main cvcles only) before reQuesting a for another fetch. Set Store Incorrect lAC Parltv if Set ON. The Control Unit shall cause incorrect Zone-Address-Command (ZAC) parity to be sent to tne SCU for eacn main store cy:le of the next data store instruction anj shall reset bit 21 at the end of the instruction. 9 REVIEW DRAFT SUaJECT TO CHANGE October, 1975 Set Timing Margins if set ON. If t VOLT (bit 32, key m) is set ON and the Hargin Control switch on the Processor Maintenance panel is in PROG position, set Processor timing margins as follows. AL39 mar:g.iQ normal slow normal t ast h Set +5 Voltage MargIns if set IN. If t VOll (bit 32, key m) is set ON and the H3rgin Control switch on the Processor Maintenance ~anel is in the PROG pOSition, set +5 voltage ~argi~s as follows. Uc.9.i1l norma I low high norma I Trap on Contro. unit History Register count overflow if set ON. If this bit and STROBE ¢ (3it 30, key k) are set ON and the Control Unit Hist~ry Register counter overflows, generate the third floating fault (XED FFV+It). Further, if FAULT RESET (bit 31, key I ) is set, reset STROBE t (bit 30, kef k), lOCKing the history registers. An LCPR, TA; : Olt, instruction setting bit 28 ON will reset the Control Unit History Register counter to zero. (See NOTE below) 1 ... J k o.cst Strobe Control Unit History Registers on OPCODE match • If this bit and STROBE t (bit 30, key k) are set ON and the operation code of the current instruction matches OPCOOE, strbbe the Control Unit History Registers on all Control Unit cycles (including indirect cycles). STROBE t Enable history registers. If this Dit is set ON, all history registers are strobp.d at 8DPropriate points in the various Processor cycles. It t~is bit is set OFF or MR ENABLE (bit 35, key n) is set OFF, all history registers are locked. This bit is set OFF with an LePR. TAG Olt, instruction providing a ·zero" bit, by an Op Not Complete Fault, and, ~ondltional Iy, by other faults (See FAULT RESET (bit 31, key I) below). Once set OFF, this bit must be set ON with an LCPR, TAG Olt, instruction providing a "one" bit before the history registers again become active. = = FAULT RESET Historv register lock control. 11 this bit is set ON, set STROBE t (bit 30, key k) OFF, locking the higtory registers, for all faults inclujlng the floating faults. (See NOTE belo") m t VOLT Test mode indicator. ThIs bit is set ON whenever the Test/Normal switch on the Processor Maintenance panel is in Test pOSition and is set OFF otherwise. It serves to enable the program control of \loltage and Timing Margins. n HR ENABLE Enable mode register. When this bIt Is set ON, all other bits and controls of the mode register are active. When this bit is set OFF, the mode register controls are disabled. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 It-27 AL39 The traps described above (Address match, OPCOOE match. Control Unit History Register counter overflow) occur after c~~pletion·of the next ~g~ lo~u~ii~n follow1n1 their detection. They a-e handled as Group VII faults in regard to servicing and inhibition. T~e complete Group VII priority seQuence is ••• NOTEI 1 - con 2 - tro 3 - sdf .. - OPCOOE trap 5 - Control Unit History Register counte- overflow o - Address match trap 7 - External interrupts [ormat: - 28 bits Odd word of V-pair as stored by Store Central Processor Register (SCPR), Do, instruction TAG = 3 5 5 555 5 5 5 5 5 0 6 06& 677 6 U-1_~4 5 Q ~~l-1_~~ _________ 49~O-a1_ , I ~1 11"11111111 CACHE OIR ADDRESS ____________________.____________ __ l-1-l I ~J - 1 I : I J 'J 1-1-1-1-1---1 15 1 1 1 1 1 1 1 1 1 1 1 Figure 4-1q I lalbJOlcldle:fIOJglh:il ) :0 0 0 0 0 0: k I 2 6 2 Cache Hode Register (CHR) Format Description: A logical assemblage of flags and registers from the control unit. The Hode Register and Cache Mode Register are Doth stored i~to the Y-pair by the SCPR, TAG 00, instruction. = The Cache Hode Register data stored is address depenjent. The algorithm used to map main store into the cache store (See Sectio~ XX, Cache Store) is effective for the SCPR instruction. In general, t~e user may read out data from the directory entry for any cache block by p~oper selection of certain subfields of the final 24-bit main store address. In particular, the user may read out the directory entry for the cache block involved in a suspected cache error Dy assuring that the reQuired 24-bit final add~ess suDfields are the same as those for the access which produced the suspected error. WARNING: The user is warned that the fauJt handling proc~dure(s) should be unencacnable (SOW.C = 0) and that the History Registers and c~che should be disabled as Quickly as Possible in order that vital infomation concerning the suspected error not be Ilst. The Cache Mode Register is loaded with the Load Central Procesor ~e9ister (LCPR), TAG 02, instruction. Those items with an "x" in the column headed L are Il2.1 loaded with the LCPR instruction. Bits pictured as '·0·' are reserved and must have the value O. = REV lEW DRAF T SUBJECT TO CHANGE October, 1975 "-26 AL39 The functions of the constituent flags and registers are. ~}!, L Rit9ll1tt x CACHE DIR ADDRESS BIT 15 most si~nificant bits the cache directory of the Dlock address from Cache direct orv par 1 tv error on this ,..ead out a x PAR b x LEV rUL c CSH1 ON Enable the upper 1024 "ords of the cache d CSH2 ON Enable the lo"er 1024 "ords of the cache e OPND ON Enable the cache for operands f INST ON Enable the cache for i.ns truc t ions •9 CSH REG Enable cache-to-register (dump) mode When this bit is set ON, double precision Operations Unit operands- (e.g., LOAQ operands) are ,..ead from the cache according to the mapping algorithm and without regard to matching of the full final address. All other operands address main store as though the ca:he were disabled. This bit Is reset automatically by the hardware for anv Fault or Program Interrupt. h x STR ASO Enable store asIde When this bit is set ON, the Processo~ does not wait fo,.. maln store cycle completion after a store operation but proceeds after the cache cycle is com~lete. i x COL rUL Selected cache column is ful I x RRO A,B Cache round robin counter k LUF HSB,LSB The selected column and level is loaded wIt h ac t 1 ve Lockup time,.. setting The Lockup Timer may set to according to the setting of this LUF .It.a..J.l.lA four values flel~. Lockup l~ 0 2 ms. 1 2 3 4 ms. 8 ms. 16 ms. The Lockup Time,.. is set to 1& ms. initialIzed. C Q NI RO L UN I different data w~en the ProceSSor is IJt.llLtil.S.I.Q!ll...R~lER.S. E.l2..r:.ull - 72 bIt s each Even word as stored by Store instruction REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Cent~aJ Processor 4-29 Re~ister (SCPR), Tag = 20, AL39 a 0 000 0 0 aDD 1 1 1 1 1 1 111 223 3 1 ? 3 It 5 .LL.a.--9._JL-LZ.J_!t-2_LLa _ _ _ _ _ _ _ _ _ l~ _ ___S_ 1111111111,.,1:11,. :1: I I a I b I c I dIe J f : g I h J .i I J 1 k I I I m J n I 0 1p I Q 1 r' a P co DE I r • t-ll TAG • J ; ; I 1-1-1-1-1-1-1-1-1-1-1-1-1-1-1 _____ l_L_~I__________~1 Q 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Odd word as instruction stored by 10 1 1 Stcu-e Central Processor register (SCPR), TAG = 20, 0 1 1 D -LB 2 Z , CHD ADDRESS J 18 Figure 4-20 3 3 3 I ;1 !t 2 I I J I SEL J I I 1 I Islt lulvJwlxlylzl"Z -Ll_I_LLl ; ---1 I ..L..-.- Z Z Z L---LI __ I I 6 5 J I I It 1 1 1 1 1 1 1 1 1 Control Unit (CU) History Register Format Il~eriptlonl Sixteen logical combinations of flags and registers from the Control Unit. The sixteen registers are handled as a rotating Que~e controlled by the Control Unit History Register counter. The counter 1s always set to the number of the oldest entry and advances by one for each history register reference (data entry or SCPR). True multicycie instructions (such as ~Iprl. Ireg, rcu, etc.) will have an entry for each of t~eir cycles. fyne! 10nl A Control Unit History Register entry shows the conditions at the end of the Control Unit cycle to which it applies. Tne sixteen registers will hold the conditions for the last sixteen Control Unit cycles. Entries are made according to controls set in the Mode Register. (See Mode Register above) The meanings of the constituent flags and registers arel a PIA prepare instruction address b PQA prepdre operand address c RIW reQuest indirect word d SIW restor indirect word e POT prepare operand tally (indirect tally chain) PON prepare operand notally (as for POT except no chain) g RAW reQuest read-alter-reririte word h SAW restore read-alter-rewrite word REVIEW DRAFT SUBJECT TO CHANGE October, 1975 1t-30 Al39 ls.sl~ Elil!L.tiaU TRGO transfer GO (conditions met) XDE execute XED from even IC XOO execute XED from odd IC IC execute odd instruction of the current pair • RPTS execute a repeat operation n WI wait for Instruction fetch 0 AR FIE 1 p XIP NOT prepare Q FLT NOT prepare Faul t address r BASE NOT BAR mo de OPCODE current operation code 1 Program Int.errupt lnhibl t bit p PoInter register flag bit TAG Currrent address modifier This modifier Is replaced bv the contents of the TAG fields of indirect words as they are fetched durlng indIrect chains • ADDRESS Current Computed Address (TPR.CA) ettO SCU I k ... SEL selected) = Computed Address (TPR.CA) has valid data Progra~ Interrupt address C01'llilan d Port select bits. (Valid only If Port A through D is s XEC-INT A Program Interrupt Is present t INS-FETCH Perform an instruction fetch u CU-STORE Control Unit store cycle v OU-STORE Operatons Unit store cycle " CU"'LOAD Control UnIt 'oad cycle x QU-LOAD OperatIons Unit 10ad cvcle DIRECT direct cycle z PC-BUSY Port control logic not buSY .. BUSY Port interface busy y ---- REVIEW DRAFT SUBJECT TO CHANGE October. 1975 "-31 AL39 (ormat a - 72 bi ts each Even word as stored by Store instruct Ion o cent~al Processor Regsiter 00111111111 o = (SCPRt,TAG J ZZ 0 1 2 3 It 5 fLLJL8 _ _ _ _ _ _ _ -LL_ RP REG : I J I J J : 5 ~-9. I .---------------------------------101 1 Or COPE I a: b Ic.uuEAC,' I 91 Odd word as instruction o a 0 0 0 stored . 311 by I I I 1 I JelflglhJiljlkJllml --L.1_LL.L.L1 21 I I I 9111111111 = 40, Store Centra' Processor RegIster (SCPR), TAG 0 0 0 0 0 1 1 1 1-1 1 D 1 2 3 It 5 RS REG A-l-A-3-i-1-a2-¥3~4_5'_ 1 1 3 __~Z_8~_____________ 5 I I I 1 I :_1_1_1_1_'_1_'_1_'_' I InlolplqlrIAIQJOJlI2J3J415.&J710 0 OJ ICT TRAC
I'. IPR - i I I ega I address or modIfier Fo~ - 1 d x ORB x ISP Fo~ 1 e x R-OFF x IPR Fo~ x OWB x NEA Fo~ ACV - out of write bracket For STR - nonexistent add,..ess 1 ACV out of read bra:ket For IPR - i l I ega I s I ave pI"'ocedure ACV - read bit is of f IPR - i I legal EIS digit Fo~ 1 9 x W-OFF x 008 For ACV - w~ite bit is off For STR - out of bounds 1 h x NO GA For ACV - not a gate 1 x OCB For ACV 1 x OCAlL For ACV - ouhtard call x BOC For ACV - bad x INRET For ACV 1 k 1 out of call out~ard b~a:ket call - inward return 1 II x CRT For ACV - cross rIng trans fer 1 n x RAlR For ACV 1 0 x AH-ER Fo~ 1 p x 0058 For ACV - out of segment :>ounds 1 Q x PARU For PAR - processor parity upper 1 ~ x PARL Fo~ 1 s x ONC1 For ONC - CPU.lS:U seQuence error '1 1 t x ONeZ For ONC - CPU.lSCU seQuence 1 x IA SCU illegal act Ion lInes (See Table 4-2) 1 x IACHN Illegal action CPU port. 1 x CNCHN For CON - connect eClOe) ::PU port 1 x FII AOOR ttodu 10 2 fau It lin te~~upt lIector address x F/I Fault/interrupt bit flag :>It 1 u ACV - associ ative memory error PAR - a 1 Z TPR. TRrt REVIEW DRAFT SUBJECT TO CHANGE October, 1975 ring alaI"''' p~ocessor pa~itf lower e~ror .Z = inte~rupt = f au I t Tempo~ary ring ~eglster AL39 2 TPR.TSR Temporary segment 2 CPU CPU number 2 DEL TA Address increment for repeats 3 TSNA Pointer Register number or for EIS operand '1 as ••• 3 a 3 b PRNO registe~ f~r non-EIS operands substructured f~rther Pointer register number 1 = PRNO is valid 3 TSNB Pointer Register numoer f~r EIS operand further substructurej as for TSNA above .2 3 TSNC Pointer Re]ister number f~r EIS operand further suostructured as for TSNA above '3 3 TEMP BIT 8ITNO field (TPR.TBR) It PPR.IC Instruction counter a ZERO Zero indicator It b NEG Negative indicator It c CARY Carry indicator '+ d OVFl OverfJo~ '+ e EOVF Exponent overf low 1 ndicat:)r f EUFl Exponent underflow indicator 9 OFl" Overflow mask indicator h TRO Tallv runout indicator i PAR Parity error indicator PAR" Parity mask indicator 8" Not 8AR Hode indicator TRU EIS truncation indicator m HIF Mid-instruction interrupt n ASS Absolute mode . It It ,. k x TPR.CA 5 of Temporary Pointer indicator Current Effective Address 5 a RF First cycle of a repeat oJeration 5 b RPT Execut 1ng a repeat 5 c RD Executing a repeat double REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Register AL39 5 d RL Executing a repeat link 5 e POT Prepare operand tally This flag is up until tne indirect word of an IT indirect cycle is successfully fetched. 5 f paN Prepare operand notally This flag is up until the in1irect ~ord of a "return" type instruction is successfully fetched. It indicates that there is no indirect chain even thoug, an indirect fetch is being done. 5 g XDE Execute double from even 5 h XOO Execute double from odd 5 1 ITP ITP cycle RST Restart this instruction ITS ExecutIng ITS indirect cycle FIF Fault occured during 5 5 k 5 CT HOLD 5 Ie Ie inst~uction fetch Contents of the -remember modifier" register & Word & is the contenti of the "working instruction register" and reflects conditions at the exact poInt of address preparation when the fault/interrult occured. The ADDRESS and TAG fields are replaced with data from pointer registers, indirect pointers, and/or indirect words du~ing each indi~ect cy'e. Each instruction of the current pair is moved to this regiiter before actual address preparation begins. 1 Word 7 is the contents of the -instruction holding register". It contains the odd lJIord of the last instruction pair fetched fro~ main store. Note that, orimarllv because of store overlap. thiS initructio~ is not necessarily paired with the instruction in Hord o. E~~i1 - 288 bits, 8 machine words REVlfH OR~fT SUBJECT TO CHANGE October, 1975 AL39 Oata as stored bV store Pointers and Lengths (SPL) o n ~~C~ inst-uetion 0 0 111 -L-_______a-3_.tLl_2_ __ t J : I J 10 a 0 0 0 0 0 0 OtZ:0Z0: 1 LLLL911 1 3 5 CH TALLY o 3 J L 1 1 I 10 0 000 0 00 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 I 3& 2 2 2 2 2 0 I I I J 1 10' T A 10 01 PTR J I I 24 1 o 0 0 I I I I 01I1FIA:0 0 01 .I I I I 3 3 2 I I ~ J ~ . - - 1 - LEVEL ______ :0 OJ ________ .____________________________________ 01 RES J 10 2 2,. 0 D -&______ ._________________________._____________ J I 2 3 3 3 333 9 Q 1 2 3 It ; I 1111111 10lTA 10 0 OJRIF:A101010: _________________________________._______________ ;; I I 1 ; J 24 1 2 3 1 1 1 1 1 1 I: ~ I 22222 ~3~~ 02 PTR ~I~J~~;__ 0 a 10 0 o 1 1 3 1 Z 2 1 0 0 0 0 0 0 0 0 01 I 02 RES J I I 12 21t 2 2 2 2 2 0 g 2 3 3 3 3 3 _~....LL3 2 . I I 1 I I I 10lTA 10 D OIRIFJAI 03 PTR J J 24 • 1 I --1 2 I I I I I 3 1 1 1 •I JHP I 3 0 1 1 3 D 1 Z 2 1 I I 2 fz Z J !t 1 fl I 3 1 1 1 111 : 2 2 I) 2 ~-L1.-L- J. !1 3 , • . . , Z. 2 3 3 3 3 l-L2_LI __ -Lll.....LL3 Q 10 0 0 0 0 a ODD 0 a OJ L 03 RES ! 12 Figure 1t-25 24 Decimal Unit Data Format REVIEW DRAFT SUBJECT TO CHANGE October. 1975 AL39 llescrip.1Jjm!. A logical collection of ftags and registers from the Decimal pictured as "0·· are reserved and must have the value O. Unit. ~its Eu.octlool The Decimal Unit Data allows the Proce~sor to restart a~ EIS instruction at the point of Interruption when it is interrupted by an Access Violation Fault, a Directed fault, or (for certain EIS Instr.Jctions) a Program Interrupt. Directed faults are intentional, and mls~ Access Violation faults and Program Interrupts are recoverabl e. The data are restored wIth the Load Pointers and Lengthi (LPL) instruction. fields having an "x'· in the column headed L are o~l restored. When starting execution of an EIS instruction, thp. decimal unit re3isters and ,flags are not initialized from the Operand Descriptors if the Hid-instruction Interrupt Fault (HIF) indicator is set IN. The meanings of the constituent fla3s and registers arel E1li.tLJ:til.m~ He aning 0 z All bIt string instruction results are zero 0 IJ Negative overpunch found in 6-4 expanded move 0 CHTALLY The number of characters examined bV the SCAN, TCT, TCTR Instruction (up to the interru~t or match) 2 01 PTR Address of last double word accessed by Descriptor 1; bits 17-23 (bit add-ess) valid initial access ~e,g .L TA 2,4,6 2 x I or Operand for o~ly Alphanumeric type of Operand Oescriotor 1,2,3 Decl mal Uni t interrupted flag; a copy Hid-Instruction Interrupt Fault indicator of the 2,4,6 f FIrst time; data in Operand Descriptor 1,2.3 is valid 2,1t,6 A Operand Descriptor 1.2,3 is active 3 LEVEL Difference in the count of cha~acte-s loaded CPU and cha~acters stored back to main store 3 01 RES Count of characters remaining in Operand Descriptor 1 It 02 PTR Address of last Descriptor 2; inlti31 access 4,6 x R double word bl ts 17-23 (bit ac:essed add~ess) by into the Operand valid only for Last cvcle performed must be repeated 5 02 RES Count of characters remlining in Operand Descriptor 2 6 03 PTR Address of the last double word accesssed by Operand Descriptor 3; bi to; 17-23 (bit add"ess) valId only for initial access REVIEW DRAFT SUBJECT TO CHANGE October, 1975 AL39 () JHP Descriptor count; number of words to skip to find the next instruction following this multi"ord instruction 7 03 RES Count of characters remaining in Operand Descriptor 3 REVIEW DRAFT SUBJECT TO CHANGE October. 1975 4-48 AL39 SECTION V ADDRESSING -- SEGMENTATION ANOPAGtNG The Mu.tics Processor is able to access the maIn store modes; Absolute Hode or Append Mode. in ~lther of two The Processor prepares an Effective Address for each maIn store reference for instructions or operands. An Effective Address consi$ts of a 12-bit segment number and an lS-bit offset withIn that segment. An UUlllis d~fined as the number of machine words from the ~:Itm1 ~ or orIgin to the referent. The Processor uses the Effective Address to generate a 24"'bit Una1. ait!.t~. The t Ina I addres's is used either as a d lrecf operand or as an address 1:O,r amal.t\ store access. The variOUS means of Effective Address for'raation ar'e itXpi\a,lned 1n Section VI. Effective Address Formation. The gener.tionof t'heflna~' ~a(jde$$ 1s different In the two Addressing Hodes • . Ab$olut. Hode tn Absolute Hode, the segment number is null, that is., undefined'. and the segment base Is the origIn of lIain store~ The final add~ess 1s g'enerated by high-order zero f!lUng the offset with six binary O·s • . Absolute Kode addressIng Is limIted to the first 2&2.14~ Nords of main sto~ •• In Absolute Hode, al. instruction fetches are made from Absolute addresses. Instruction opera~ds may be Jocated anywhere in main store and may be accessed by specifying ITS Address Modification tor the instructIon or by loading a PoInter Register with an appropriate value and specifying ITP Address Modification or using bit 29 of the instruction word. T~e use of ITS or ITP Address MOdifIcation in an Indirect Word MIlt have the same effect. WARNINGI The use any of the above constructs in Absolute Hode places the Processor in Append Mode for one or more Addr~ss Pre~a~atlon c'cJes~ All necessary r~glsters must be properly loaded and all Fault conditions must be conside~ed (See Appen~ Hode beI3W). If a transfer of control is made with any of the abo~e constructs, the processor remains in Append Hode after the transfer and sUbse~uerit instruction fetches are _ade in Append Hode. REVIEW DRAFT SUBJECT TO CHANGE OctOber, 1975 5-1 AL39 AI though no segment is defined for Absolute Hode, Is .ay be helpful to understanding to visualize a virutal,unpaged segaent ~verlaying t~e first Z6Z.1~~ words of main store. ADPend ~ In Append mode. the appending mechanism is employed for atl maIn store references. The appending mechanism is described in ·SegmentatIon" and "Paging" folloMlng in this section. SEGHENTATIOH A HuUlcs sunnl is defined as an array limIted) size containing arbitrary data. ProcesSor by a s~l Dymh£C (~). unique that Is asslgnei by the operating system Nhen t he process. of machine words of arbitrary (but A segment is l~entlfied within the to the segment for the process, the segment is first reference~ by To simpify this discussion, the operation of the hardwa~e ring mechanism is no't described al though 1t is an integral part of Address Preparat ion. See Section VIII, Hardware Ring Impl.mentation. for a discussion of the ring mechanism hardWare. - An Address in the Processor consists of a pair of integers The range of ~ is (0,2··12-1), the range of offset Is (O,2··18-U • . The description of the segllent identified by ~:'5Ul2 value n is I = 1& • (OSBR.BND + 1), Violation. Out of Segment Bounds Fault. 2. fetch the SOW from OSBR.AOOR + 2 • 3. If SOW.F ·0", then generate Directed Fault D where n is given In SOW.Fe. The value of Dused here is the value assigned to defIne a missing segment fault or ~~~n1 ~. ~. If ~~ >= 1& • (SOW.BOUNO + 1), then generate Out of Segment Bounds Fault. 5. If the access bits (SOW.R, SOW.E, etc.) incompatible with the reference, generate Violation fault. generate then an Access ~. = REVIEW DRAFT SUBJECT TO CHANGE October, 1975 5-2 a~ Access Violation, of the segment are the appropriate Access AL39 6. Generate final address SOW.ADR + Figure 5-1 depi,cts the relationships 211s~. d~scribed dseg T 1 a J I I _1-~e9ment J I 1 .1--1 I <-------1 SOW J J I Q.ll~t J I :<-- os BR.AOJR 1 2 • ~~ T above • . I J I -L_L,_ _~ J J ; J<-- OS8R.BND data I I a _ ___ L <-- SOW. BOUND Figure 5-1 Final Address Generation for an Unpaged Segment pAGING A ~ Is defined as a block of Z··o machine words. The "ultics Processor Is designed In such a way that 0 is adJustable in the range (&,12). Experience has shown that the optimum value for 0 is 10 vielding a ~~ ~~ of 1024 words. With the value of Q established, the Processor divides a ~-bit offset or value Into two Pdrts; the high order (~-D) bits formin~ a page number, ~, and the low order D. bi ts forming a word number, ~. At gori thm lea II v, this may stated asl ~~n2 ~ = ~~ modulo (~ ~~a) The svmbols X and ~ will be used in this context throug~out Examples of page number formation are shown in Figure 5-Z below. REVIEW DRAfT TO CHANGE October, 1915 this section. SUS~ECT 5-3 Al39 = 10 n n =6 0 1 0 1 ~ Z !l --L t I a I I I s ~1ll~1 L J I I alls.d 1 18 0 0 0 --l _ _ 2_L- s I I I ~ 1 0 L D I J I X L _ _ _L 8 18 I J I J ~ X- t I --1---1 12 & 10 102ft word page Figure 5-2 1 1 1 -LZ. ___ .2._ &4 word page Examples of Page Number Formation A bit in the SOW for a ~egment (sgW.U) specifies whether the segment js or YOQ~. A paged segment may be defined as an array of pa~es of arbitrary (but limited) size with each page an array of 1024 machine words. Thus9 a reference to a word or ~ords of a paged segment may be treated as a reference to word ~ of page X of the segment. ~~ Hultics subdivides the Virtual Memory into ~g~ ~Lt~ bl~cks of 1024 wOrds In the main store, the blocks are known as .m.a.l.ntl2.C....t n.a.9.~; on the pa9i~g device and the secondary storage~ the blocks are know~ as ~~. Such a subdIvision of space allows a segment page to handled as a physical bloek Independently from the other pages of the segment and from other segments. When a reference to a word in a paged segment is reQuired (and the word is not already in main store), a main store page is allocated and t,e re~ord containing the segment Pdge is read in. Unneeded segment pa~es need not occupy space in main store. each. The location and status of page ~ of a paged segment is kept in the ~th word of a table known as the ~~~ 1~ for the segment. The words in thiS table are known as eag~ lanl~ H2~ (ellis). (See Figure 5-6, Page Table Word (pnO Format, Idter in this section.) SDW.ADR for a Any segment may be paged as appropriate and convenient. paged segment pOints to the page table for the segment instead of the base of the segment. If ~ for a process is paged, DSBR.AOOR points to the page table for J1U.g. The full algorithm used bv the processor to access segment ~gQ.2 (including .s1.s!:3. paging) is as follows. word ~1 of paged (Refer to Fi1ures ~-1~, 5-5, and 5-&) 1. If 2 • ~~9U~ >= 16 • OSB~.BND, the generate Segment Bounds Fault. a~ Access Violation, Out of 2• For m the REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Qu an tit i e s S ~~ = (2 • ~~gn~) ~1 (2 ~ ~~gn~ modulo 1024 - ~1) s-~ I 1024 AL39 o Avoid using qoto co~mon declare When names keywords as names. dcl i f such as then and so on ar~ used as names, a superficial but irritatjng confusion is introquced. On the other hand, QQ use uncommon keYkords as names where that is convenient. There is certainly no har~ in using 'dft· to nam~ a variable for th~ "debit final total" (or sOlT'eth;ng of the sort) even t~ough 'dft' is a keyword. o ~here possible, avoid u.sing troublesome letters in idertifiers. For the diQits ~frQ and gD~ are trcublesome because SOme output devices do not clearly distinguish between zero and the letter '0' . or between one ~nd the letter " ' . exa~ple, There is a literal constant lexeme for each type of arithmetic and string val up. The f u l l s y n t a x a· n 1 i n t err ret a t ion 0 f the s e l e l( em e s are q i ve n l ate r , ;n the section on "Expressions". The following is a representative set of examples of ;Hithm'~tic lit~r~l CO!'lstants: fixed decO) fi xed dec(3,2) float dec(3) complex float dec(3) 3n 4 3.04 3.04e-5 3.04e-5; fi xed(]) fi xed(?,4) float(?) complex n·oat(7) 011r.C01b 0·1 , • ("0 C 1 b f'11.r.Or1e-2b 011.0nOle-2bi Cbserve that an arit~metic constant dees not begin ~ith a sign. When a negative constant ;5 required, it is written as two lexemes, a sign followed by an arith~etic constant. The following is constants: a representative set of e xa mpl e s of s t r ; n9 Uteral St!iQ!l_!:QQ~12Q! "abed" (3)"abcd" ...... H~llo," .. he said." char(4) char(12) chdr means th~ null string Any ASCII character can be usee in cl 'character' string constant, including such non-printin1 characters as tab, newline, and so on. A strin~· constant is a sin~l~ lexc~e, and ;s not consider~d to contain smaller lexemes. H0 n e y we·ll Proprietary Draft - Subject to Chanqe Draft - Subject to Chan~e 5-5 Honeywell proprietar~ EUQttuatQCS in There are six gUQklu~lgt_!f!f~fS; each is given, together with its purpose, following table: t~e , (pedon) point; inrlicates the decimal or binary separates names in a Quallfied r.eference (corrma) separates items in a list of arguments, pararr,eters, subscripts, declarations; options, and so on ~colon) ter~inate5 a condit ion prefix or a label also; seoarates the hounds of an array .( s em; colon) also, prefix; t e r min ate 5 a 5 tat e men t indicates the beginnin~ cf a list, an expression, an factor, and so on (lpft parenthesis) iter~tion (right parenthesis) the end of a list, iteraticn factor, and 5C on i~dicates These lexemes are used in most of the feat~res an expre$sion, an of PL/I. Qcecatcu:s There are five kir)ds of arithmeHc + r~laticnal = $2'r~r21Q!_J.~!~n::f~; • they are defined as follows: ** loqical string II -> the operators are dpfined !Vost .of opereltor, exception is the Qualifier "Expressions". i n the section on "Operators". The only which i·s defined in the section on Draft - Subject to Change Draft - Subject to Chanq~ 5-6 Honey~ell Proprietary Honey~ell proprietary ADQRESS APP~HDlN~ At the completion of the formation of the Effective Addre.ss (See Section Effective Address Formation) an Effective Segment Numb:!r (~~ngJ is in the Segment Number Register of the Temporary Pointer Registe- (TPR.SNR) and a Computed Address (~L1~1) is in the Co~puted Address register of the Temporary Pointe ... Register (fPR.CA) (See Section IV, Program Accessible Registerlit for a discussion of the Temporarv Pointer Register). VI, Once ~~gn~ and ~L1~~ are formad in TPR.SNR and TP~.CA, respectively, the process of g~neratin1 the final address can invol~e a num~er of different and distinct Appending Unit cycles. The operation of the Appending Unit Is shown the flowchart in Figure 5-~. This flowchart assumes that Directed Faults Store Faults, or Parity Faults do not occur. A segment boundary check is made in every cvcle except PSOW. If a boundary violation is detected. an Acce~s Violation, Out of Segment B~~ndS Fault will be generated and the exec~tion of the instruction aborted. The occurence of any Fault will abort the sequence at the point of occurence. The operatln~ system will safe store the Control Unit Data for possible retry and will attempt to resolve the Fault codition • .. The value of the AssOCiative ~emories may be seen In the flowchart by observing the number of cycles bypassed if an SOW 0 ... PTW is found 1n the Associative Hemorv. There are nine different Appending Unit cycles that i~vo've accesses to store. Two of these (FANP, ~AP) generate the final address and initiate a ~ain store ac.cess for the operand or instruction paIr; five (NSOW, PSDW, PTW. PTW2 and OSPTW) generate a main store access to fetch an SOW or PTW; and two CHOSPTW and HPTW) generate a m~'n store access to uDd~te paga status bits (PTW.U and PTw.H) In a PTW. The cvcl,~ are def1ne~ in T~ble5·1'belo ... maIn REVIEW DRAFT SUBJECT TO CHANGE October, 1975 5-7 lL39 Table 5-1 Appending Unit Cvcle Definitioni Cycle· !ia1!!.L FANP fi na I Address lioneaged Generates the -final address and initiates an ~ain store access to an unpaged segment for operands or instructions. FAP final Address eaged Generates the final address and initiates a main store access a paged segment for operands or instructions. NSOW Nonpaged ~j Fetch Fetches an SDW from an unpaged PSOW to ~. faged SJllf Fetch Fetches an SOW from a paged descriptor segment. PTW £lH Fetch Fetches a PTW from a page table other than a PTWZ 'Second e.lii ct~ page table. Fetch (Same as PTW above) Fetches the nekt PTW frOID a page '-able oth-er than a ~g page table during hardware prepaging for certain Jninterruptable EIS instructions. This cycle d.oes ~1 load t~e next PTW into the Appending Unit. It merely assures that the PTW is not faulted (PTW.F = "1") and that the target page wltl be in ~ain store when and if needed by the inst~uctidn. OSPTW DescrIptor Segment eI~ Fetches a PTW from a HOSPTW 110 d I fy Fetch ~ page table. u..s.e.Ilt the page accessed bit (PTW.U) in the PTW for a page in a page table. This cycle alwavs immediately follows a OSPTW eye' e. Sets ~ HPTW Hodi fy e.ll Sets the page modified bit (PTW.H) in the PTW for a page in other than a «~~ page table. REVIEW DRAFT SUBJECT TO CHANGE Dc tober, 1975 5-8 AL39 S.I.A&I A.e.eE.Wl I __L - , _ _ _ _.J.IN""Q_/is 1 t 1 1 \ is paged? 1 ~ \ \ In\.-lti_ _ _ _ _ _ _ _ __ T J \ SOW A"? 1 t \ 1 \ \_~ SD~ I lIs ______________ se 9 \ \-1'UL-_ _ _ __ 1 \ paged? \ 1 t _I J I Yes Yes I t I FANP l ____-.L ---*---\ 1 J PTW In\.J:UL___ • \ PTHAH? 1 J EHa APPEND \ I __ _____ OSPTH I ,--L lis & . -_ _ _ ~t t 1 \ \ I Yes DSPTW.U \_~NQ_ __ \ set ON? 1 I I a Yes a ---*--I I I HOSPTW. L I I . t PTW;Loaal PTWAH I 1: ______ ... 1<-------------+ \ Prepage \-I.tt:i ___ _ \ Mode? 1 I I J 1<-----------+ \ t t +------------------------>.t I I Load SDNA" I _~t~ ___ I I I No J I NSDW PSDW 1 PTW2 1 _ _ _ _... <-------------t • \ STR-OP &\-IJlL _ _ \ PTW.H=O 1 I I +---------t \ I t 1 I I • t No \ _ _ _~I PTW from\ I \ store & I I 1 HPTW;SetJ 1 PTW.H & I J PTW.U : 1_ J \PTW.U:QI ____~t_ I I I I HPTW;Setl PIW,U--1 +------------->1<-------------+ t FAP Notel A STR-OP Is any Processor function that ~rites data to main store. Figure 5-~ I t E1:lD. APPEND Appending Unit Operation Flowchart REVIEW DRAFT SUBJECT TO CHANGE October, 1975 5-9 AL39 The Segment Oe~criptor Word (SOW) pair contains infcrmation necessary to control the access to a segment bV a process. The SOW for a segment is constructed from data in the directory entry for the segment and i~ the System Segment Table (SST) when the segment Is initiaTed by the p·ocess. The SOW for segment D (unique within the process) is placed at offset aD in the Descriptor Segment (~~9) of the process. o 2 2 2 3 !t g Z I I I Rl • I I ADOR . I I 21t o 0 ~~~1 ~1~1 3 - 3 ~2 a a I 3 3 3 3 ;5 !t ~ .. z I • R3 1Ft Fel J 3 I I . 3 1 111 1 1 1 2 2 2 ____.__________.__________~4~5_~-Z-1-9 D 1 2 II 101 2 3 2 --'L- BOUND ________________ .____________ 3 5 l11J1111 I :RIEIWIPIUIGICI J ~;~I-1-1 J J J I f 1,. 14 1 1 1 1 1 1 1 1 Figure S-S J 2 Segment Descriptor Word (SOW) Fo~mat lltig:lDtioo AOOR 24 bit base address of segment (U=l) or segment page tab'e (U= 0). Rl highest effective read/write ring. R2. highest effective read/execute ring. R3 highest effective call ring. F directed fault indicator. 1 = the necessary unpaged segment or segme,t page table is memory. o Fe = eKecute in the directed fault specified in FC. the number of the directed fault (OFO-OF]) to be executed if F=D. BOUND largest 16-word oJock number that may be accessed without causin9 an Access Violation, Out of Segment BoundS Fault. R read permission bit. REVIEW DR"FT SUBJECT TO CHANGE October, 1975 S-10 AL39 Qug:iot iOQ eXECute permission bit. (XEC , XED w "rite permission bit. p privileged mode bit. o privileged instructions cannot be executed. 1 = privileged instructions may De executed if in ring O. u paged/unpaged bit. o segment is paged and AODR is the table. 1 = segment is unpaged and AOOR is the segment. = = address base the of address gate indicator bit. o any call from an external segment must be less th3n the value of el. 1 any legal segment offset may be called. G fag' exclude~) = = to page of an the offset C cache control bIt. o = words (operands or instructions) from this segment may not be placed in the cache. 1 = words from this segment may be placed in the cache. Cl call limiter. Any external call than Cl If G=O. Ia~Hord to thiS segment must to an offset less ~e 'PI")-E~ The Page Table Word (PIW) contains location and status information for a page of a paged se~ment. The PTHs for a paged segment are copied from the directory entry file map for the segment into the Page Table Word Array (PINA) of a free area in the Active Segment Table (AST) area of the SST "hen the seg.ent Is first initiated by a process~ Subsequent initiations by other proceSses reference the exjstin~ PIWA. o 1 1 2 Z Z 2 2 222 2 333 333 _ _ _ _ _ _ _._47_8~_._....1_'2_;I_L2_LL8. CJ Q I AOOR I_I I a 1 I 1 2 :5 4 5 Q I I I : I. t I DID swaPIO OIUIO DIMIQ1WISIFI FCI _________________ ---1 ________ __J___ 1_1___1_J I J I I I 18 4 1 1 Z 1 2 1 1 1 1 1 Z '~I Figure 5-6 Fie I d Pa~e Table Word (PTW) Format t:!.ajlU~ AODR 18 bit modulo 64 page address if page is su: 18 bit record nu~ber i~ store, of page if page is not in store. The hardware ignores low oroer blts ~f the in-store page address according to page size based on the folloRing ••• REVIEW DRAFT SUBJECT TO CHANGE Oct 0 b er, 1975 5-11 AL:5c) D.~cclQtlSlD Page Size ADDR Bits .lIL~~ .i.9Cl~~g &'+ none 126 11 16-11 15-11 1'+-11 13-17 12-17 Z5& 512 102ft 201,8 409& DID device id for device containing the page. W 1 p temporary bit used in post_processing. U 1 " 1 = page has not ye t been wr i tten out. Q 1 = page = page = page W 1 = page is S 1 Is out of service F 1 0 = page = page = page Fe directed fault number for page fault. REVIEW DRAFT SUBJECT TO CHANGE Oct 0 b er, 1975 has been used. (t-ouched). has been modi' .led. has been used during the ~uantuli. w~red. (1/0 1n p,..ogress). is in store. not in store. Execute directed f a.J I t 5-12 Fe. Al39 SECTION VI EFFECTIVE ADDRESS FORMATION The Effective Address in the Mu'tics Processor Is the user·s specification of the location of a data item in the Multics Virtual Hemorv. Each reference to the Virtual Memorv for operands. indirect words. indirect pointers, Operand Descriptors, or instructions must proviae an Effective Address. The hard~a~e and the operating system translate the Effective Address into the true location of the data item and assure that the data item is in main store for the reference. The Effective Address consists of two parts. a segment number and an offset. The value of each part is the result of the evalJation of a hardware algorltha (expression) of one or more terms. The selection ~f the algorIthm is made, bV the use of control bits in the Instruction Word; namelv, bit 29 for segment number modification and the Address Modification (or TAG) field for offset modification. If the TAG field of the Instruction Wo-d specifies certain "indirect- modifications, the TAG field of the In~irect Worj Is also treated as an Address Hodifier. thus establiShing a continuing Mindirect chain". Bit 29 of an Indirect Word has no meaning in the context of Address Hojification. The results of evaluatIon of the Address Modification algorithm are stored in temporary registers used as working registers bV the Pro:essor. The segment numDer is stored in the Temporarv Segment Register lTPR.TS~). The of fset is stored in the Computed Address Register (TPR.CA). When each Effective Address computation has been completed, the C(TPR.TSR) and the C(TPR.CA) are presented to the Appending Unit for trans'ati~n to a Z~-bit flnal Add-ess (See Section V, Addressing --Segmentation and Paging). There are two types of Effective Address formation. The first type does not make expl lcit use of segment numbers. The algorithm selecte~ produces a value for C(TPR.CA) only. The segment number In C(TPR.TSR) does not changp. and is the segment rumber used to fetch the instruction. In this case, al I references are said to be "local" to the procedure segment as held In C(PPR.PSR). The second type makes use of a seyment number stored either in an IndIrect Word-pair in main store or in a Pointer Register (PR.n). The algorithm selected produces values for Doth C(TPR.TS~) and C(TPR.CA). The segment number In C(Tf'R.TSR) m..a~ change and, i f it changes,references are s~ld to be '"externalto the proceaure segment as held in C(PPR.PSR). REVIEW ORJlFT SUBJECT TO CHANGE October. 1975 6-1 AL39 The t~o tvpes of Effective Address formation can be intermixed. In cases where Effective Address calculations are chained toget,er thro~gh Pointer 'Registers or Indirect Words, each Effective Address is translated to a 24-bit final address to fetch the next item in the chain. This description of Effective Address 'ormation is divided Into t~o parts corresponding to the two types. The first part describes the type that involves onlv the offset value CCTPR.CA). The segm.nt number C(T~R~TSR) Is assumed constant and equal to C(PPR.PSR). The second part describes the type that involves both the segment CCTPR.TSR) and the offset C(TPR.CAa. nu~ber The Address ModifIcations described here produce values for CCTPR.CA) only. The segment number C(TP~.TSR) is assumed constant and eQual to C(PPR.PSR). Bits 30-35 of an Instruction Hord or Indirect Word constitute Modifier or ~AG field. The format of the TAG field isl the Address 333_____ 3_ --Ll-J 2 Figure 0-1 I J J Tml J I 5 Td I J I Address Modifier (TAG) Field For~at [ynction i~eral Tm The "modifier- field; specifies one of four general types of offset modification. Td The "designator- field; specifies a register Indirect Then Tal Iv variation. nu~ber or an Tvpe~~~-HQdifica~D There are four general types of offset modification: Register, Register Then Indirect, Indirect Then Register, and Indirect Then T311y. The general types are described In Table &-1 belo~. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 &-2 AL39 Each Effective Address for~ation for an operand begins ~ith a preliminary step of loading TPR.CA with the ADDRESS field of the Instruction Word. This preliminary step takes place durin~ instruction decode. The va1ue loaded into TPR.CA is symbolzied by NyU in the descriptions fol lowIng. Table 6-1 General Offset Modification TYD!S Til 1l..illu.J. H~rtiller t"pe o Register (R) The contents of the designated register, Td, are added to the current Computed Adjress to form the modified Computed Address. Addition is two·s comple~entt modulo 2··18 anj overflOM is not possible. 1 Register Then Ind irect eRU The contents of the designated register, Td, are added to the current Computed Address to form the mOdified Computed Address as for Register modification. The word at C(TPR.CA) is then fetched and interpreted as an Indirect Hord. The TAG field of the Indirect Horj specifies the next step in Effective Address formation. The use of du or dl as the designator In this lIIodi f icat ion type will cause an Illegal Procedure, Illegal Hodif i er Faul t. Indirect Then The Indirect Word at C(TPR.CA) is fetched and the modification performed according to the variation specified in Td amd the contents of the Indirect Word. This modification ty~e allows automatic incrementing and decrementing of addresses and t a I I y c ou n tin g. 2 Ta I I y (IT) J Indirect Then Register (IR) Tne register designator, Td, is safe-stored in a special holdin) register (CT-iOLO). The word at the current CITPR.CA) is fetched and interpreted as an Indirect Word. The TAG field of the Indirect Word specifIes the next step in Effective Address formation as follows: If Indirect lAL.U.L thiul!. IT Perform Register modificatIon from CT-HOLO. RI Perform R or using Td the .Register Then Indirect immediately and fetch the next Indirect Word f~om the result of that modification. modific~tion IR REVIEW DRAFT SUBJECT TO CHANGE October, 1975 Replace the safe-stored Td value In C T- P.OLD with the Td va I ue of the Indirect Word TAG fIeld and fetch the next Indirect Word from the ADDRESS given in the Indirect Hord. 6-3 ALJ9 The algorithmic flowc~arts depicting the Effective Address formation process are scattered throuqhout this section and are link!d together with -Go to" labels. The flowchart starts ~ith Figure 6-2 below. iI.AfU EA J I , \ ---*.-- \ Interpret \ Tm I \_----, J t I I • J I Tm:RI Tm:R I • • I I t Tm=IT Tm=IR Go to Go. to Go to Go to SIARI & mm llAJil SlAfll 1.I H.Q.Il s.I!fU 1& 1tilD. (Figure 6-3) Figure 0-2 Rl !.1211 (Flgure6-ItJ Co~mon igure 6-5) (F (Figu-e &-&) Effective Address Formation Flowchart RegiSter (R~ificat'Qn ) In Register modIfication (T~ = 0) the value of Td deSignates a register whose contents are to be added to C(TPR.CA) to form a modified C(TPR.CA). This modfied C(TPR.CA) becomes the Effective Address of the opera~d. See Table 6-2 and Figure 6-3 below for details. EXAMPLESI La..b.JU lotlI:.u.~.tiJm E11 s:~! ,&l.:s: 1. a • dd 'I 'I 2. a sta '1,n 'I 3. a 'daQ '1,au 'I 4. a tra 3.ic a + 3 5. a I dQ v,du 'I ; A..Q~5.~ + CIA)O,17 operand has the form zero 'I,D operand has the form zero 0,'1 6. a .x14 v,dt 'I; 7. a mpv '1,1 V + C(X1) 8. a stx4 '1,7 y REV lEW ORAF T SUBJECT TO CHANGE October, 1975 + C(X7) AL39 Table 6-2 (NOTE a AU Register Modification Decode examples start w Uh the preliminarv step, V -> C(TPR.CA» Register Coding Effective .ll.alw: s.H."-.te.d. t1D~mgal" A.~~ 0 none n or null 1 AO,17 au V + CfA)O,17 2 QO.17 QU V + C(Q)O,17 3 none du y; V becomes the uppe- 18 bi ts of the 3&-bit zero filled operand tt PPR.IC lc V + C(PPR.IC) S A18,35 at V + C(A)18,35 & Q18,35 QI V + C(Q)18,35 7 none dl v; Td ., y becomes the 10Me- 18 bi ts. of the 3&-bit zero filled operand 10 XO 0 or xO V + C(XD) 11 Xl 1 or xl V + C(Xl) 12 X2 Z or x2 V + C(Xl) 13 X3 3 or x3 ., + C(X3) lit X4 4 or x4 V + C(X4) 15 X5 S or xS V + C(XS) 1& X& 6 or xo y + C(X6) 17 X7 7 or x7 ., REVIEW DRAFT SUBJECT TO CHANGE October, 1975 &-5 + C(X7) Al39 ilA.&l & rulD. I t __lJ:.s._, I I I \ Td =0 ? \ \ I \ I I I No __~t___ J I I I I I I _______ t.I I I J No Set Direct Operanj Flag Forll Operand --1-________ I I 1 S I c:.=Td I I I J I \_l.e.s.-_ _ _ _ _ _ __ I \ S a \ 'Td=3 \ or 71 = Eff. Addr. C(TPR.CA) + CCr:J 1 +----------->1<---------------------------+ • EtiD. EA Figure &-3 Register Tb~~1-i&ll Register "odification Flowchart Modif i C a 1i2Q In Register Then Indirect modification (Tm = 1) the vatue of Td designates a register whose contents are to be added to C(TPR.CA) to form a modfled CCTPR.CA). This modified C(TPR.CA) Is used an as Effective Address to fetch an Indirect Word. The ADDRESS field of the Indirect Word is loa~ed into TPR.CA and tbe TAG field field of the Indirect Word is interpreted in t~e next step of an indirect chain. The TALLY field of the Indirect Word is ignored. The indirect chain continues until an Indirect Word TAG field modificatIon without indirection, namely, a RegIster modifIcation. specifies a The coding mnemonic for Register Then Indirect modification Is c· where c:. is any of the coding mnemonics for Register modification as given in Table 6-2 above except du and dl. The du and dl register codes a~e illegal and will cause an Illegal Procedure, Illegal Modifier fault. See flowchart in Figure &-4 below. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 6-& AL39 EXAMPLES' 1. 2. 3. J..aCUll lns..ll:J.t,.lJ.JlD 8 b Ida erg b.· y a b+C(X11 I dQ .,..g b.l· ....• tra Ittlc· arg Ct· C It. a b.C(XO) c+CCX1) y v v,au + C(A)O,17 8rg V Ix'lt btO. arg c.l· erg v.dl v; operand has the for. zero OtV I I \ \ Td=l or 71 \._--' I \-.:£1.1-._ _ _ __ I I • AB.QU 1 No I \ • , Td=O? \ II legal Procedure. Illegal Hodifier Fault \ ,, \-HQ~ • ____________ I t I I I Yes C=Td E f f. Addr. J I = CCTPR.CA) + CCc.) I J I 1 I I a J<-------------------+ t I J I I I I ! Indirect Word Fetch APPEND CYCLE (Figure 5-". I I I I 1 1 Go •to ~lAJU EA. CF igure 6-2) Figure 6-" REVIEW DRAfT SUBJECT TO CHANGE October. 1975 Register Then Indirect Modification Flowchart 6-7 ALl9 Indirec1-lh~~~c-1lRl Modifica~ In Indirect Then Register modification (Tm = 3» the value of Td deSignates to fo~m the final modfied CCTPR.CA) durin1 the last step in the indirect chain. The value of Td is safe-stored in a special holding register, CT-HOLD. The inital CCTPR.CA) is used an as Effective Address to fetch an Indirect Wo~d. The ADDRESS field of the Indirect Hora Is loaded Into TPR.CA and the TAG field field of the Indi~ect Word is interpreted in the next step of an indirect chain. The TALLY field of the Indirect Word is Ignored. a register whose contents are to be added to C(TPR.CA) If the Indirect Word TAG field specifies a Register Then Indi~ect modification, that modifIcation is performed and the indirect chain continues. If the Indirect Word TAG fIeld specifies Indire:t The~ Register modification, the Td value from that TAG field replaces the safe-stored Td value in CT-HOLD and the indirect chain continues. If the Indirect Word TAG specfies Register or I~direct Then Tal IV modification, that modification is replaced with a Register modification using the Td value safe-stored in CT-HOLD and the indirect chain e~ds. The coding mnemonic for Indirect Then Register modification is·C ~here C is anv of the coding mnemonics for Register modification as given in Table 6-2 above except DYll. EXAMPLESI 3. 4. L.ab.JU l~~tl.J...o.n Effecti~A~~~~~ a b Ida b,·n arg "1,2 V a b I x 12 b,·dl sta y,au eCT-HOLD = dU y; operand has the f:>rm zero 0, y a b c d Ida arg arg arg (eT-HOLD a b+C exu c IdxQ b,l· arg c,·lc arg 5, d I REVIEW DRAFT SUBJECT TO CHANGE October, 1975 b,·1 c,n· dt·" y,ql (CT-HOLD = n) = xU eCT-HOLD = x4. + CeX,.) y eCT-HOLD = Ie) a + 5 6-8 AL39 lliRl LR t1Wl I t - I a J Td -> CT-HOlO I 1 LI +----------------------------->J ______ ~t~_______ I I Indirect Word 1 Fetch I APPEND CYCLE I I 1 I J (Figure 5-4) .1- 1 I I t I \ Interpret \ Indirect TAG I --' \ \ I t 1 I 1 TII=RI I t I 1 I IJ C=Td J Eff. Addr. = I C(TPR.CA) + C(C) --1J 1 -_____________ 1 J t Indirect SliBl. 1& tum Tm=R or IT t r:.=CT-HOlD Eff. Addr. C(TP~.CA) = + c(c) t • . EtiIl .fA t------------t Figure 6-5 Tm=IR Go •to Indirect Then Register Hodification Flowchart Th~11L.1.I..lLt1~~SlO In Indirect Then Tally modification (Tm = 2) the value of Td specifies a variat 100. The lnital ClTPR.CA) is used an as Effective Address to f etch an Indirect Word. The Indirect Word is interpreted and possibly altered as the modification is performed. The TALLY field of the Indirect Word is used to cOJnt ~eferences made to the Indirect Word. It has a maximum range of ~D9o. If the TALLY field haS the value 0 after a reference to the Indirect Word. the Tally Ru~out indicator wi'l be set ON. otherwise the Tally Runout indicator will be set OFF. The value of the TALLY fIeld and the state of the Tally Runout indIcator have Effective Address formation. WARNINGI no effect on If there Is ~ore than one Indirect Hord in an indi-ect chain t~at is refer.nced by a tally counting modification. o~ly the state of the TALLY field of the last Such word will be refle=ted in the Tally Ruoout indicator. REVIEW DRAFT SUBJECT TO CHANGE Oct 0 b er 9 1975 6-9 Al39 The variations of the Indirect Then Tally modification are given In Table 6-3 below and explained in cetait in the paragraphs fo'loMin~. See floMchart In figure 6-6. Those ent r i es given as ··Undef i ned·· cause II I ega I Procedure t a" Illegal Modifier Fault. (See "Effective Address Form~"on Involving Both Segment Number and O'fset~ later in this section for certain special cases.) Table 6-3 Coding Td .. \lar1at10ns of Indirect Then Tally Hodification ~ H.o~k. 0 fl ~su::.i.at..i...suLtin.e Fau.t Tag 1 1 Undef lned 2 Undefined 3 Undefined It sd Subtract Delta 5 scr Sequence Character Reverse 6 fZ Fault Tag 2 7 f3 Fault Tag 3 10 ci Character Indirect 11 i Indirect 12 sc Sequence Character 13 ad Add Delta 1,. di Decrement Address, Increment Tally 15 dic Decrement Address 9 Increment Tally, and Continue 16 id Increment Address, Decrement Ta II y 17 idc Increment Address 9 Decrement Tally, and Contin~e Fault Tag 1 (Td = 0) Effective Address formation is terminated immediately and a Fault Tag 1 Fault is generated. A Fault Tag 1 Fault e~ecutes the Fault Trap pair at C + & where the value of C is obtained from the FAULT BASE sMitches on the Processor Configuration panel. This variation may be used in Indirect Word ~r program control transfer vectors or tr-ee structures to signal inval id entries or entries that require special handling. CCTPR.CA) at the time of the fault contains the Effective Address of the word =ontaining the Fault Tag 1 modif ication. Thus, the ADDRESS and TALLY fieldS of that word may contain information relative to recovery from the fault. REV lEW DRAFT SUBJECT TO CHANGE October, 1975 &-10 AL39 Subtract Delta (Td = ft) The TAG field of the Indirect Word Is Interpreted as a 6-blt. unslQned, positive address increment value, a~. For each reference to the Indirect Word, the ADDRESS field is reduced Dy ~~la and the TALLY fieid is increased bv 1 ~~ the Effective Address is for~ed. ADDRESS arithmetic is modulo 2··18. TALLY arithmetic is modulo ~09&. If the TALLY field overflows to Ot the Tallv Runout indicator is set ON, otherwise it is set OFF. The Effective Address is the value of the modified ADDRESS field. EXAMPLE: LiibJU 1~1I:J.ltl.1sm a b Ida b,ad vfd 18/c.12/t,&/d Reference CJwo.1 Effective Ta' I y A.g~r::e~~ ~ 1 2 3 c-d c-2d c-3d t+1 t+2 t+3 0 c-nd t+O Sequence Character Reverse CTd = 5) Bit 30 of the TA~ field of the Indirect Word is interpreted as a character size flagt tn, with the value 0 indlcatl~g &-bit characters and the value 1 indicating 9-bit characters. Bits 33-35 of the TAG field are interpreted as a 3-bit character position counter, kl. Bits 31-32 of the TAG field must be zero. For each reference to the Indirect Word. the character counter, kit is reduced by 1 and the TALLY field is increased bv 1 k~ the Effective Address is formed. Character count arithmetic is modulo 6 for 6-bit characters and modulo ~ for 9-bit characters. If the character count. ki, underflows to -1, it is -eset to 5 for &-bit characters or to 3 for 9-~lt characters and ADORESS is reduced by 1. ADDRESS arithmetic is modulo 2··18. TALLY arithmetic is modulo ~09&. If the TALLY field overflows to O. the Tally Runout indicator is set ON, otherwise it is set OFF. The Effective Add-ess is the modified value of the ADDRESS field. A 36-blt operand is formed bv high-order zero filling the character ~l of ADO~ESS with an appropriate number of bits. value of EXAMPLES. Reference LabJU lo.U~~ a Ida b,scr vfd 18/c+l,12/t,1/D,5/2 bcl "ABCDEFGHIJKL- b c ~~ 2 1 3 It 0 Ida b,scr vfd 1~/c+l,12/t,1/1.5/2 ac i ··abcdefgh" {lQi:CilDs:2 t+1 00 ••• 0"1- 5 5 It c t+5 OO ••• O"E" 1 2 2 1 J 0 3 2 c+1 c+1 c+l c c t+1 t+2 t+J t+4 OO ••• U··g" OO ••• O·f" OO ••• O"e" OO ••• O"dOO ••• O"c" ... 5 &-11 Ta It Y Ul.w: c+1 c+l c+l c ~ REVIEW DRAFT SUBJECT TO CHANGE October, 1975 "s1r:..tn 1 2 ... a b c Effective d t+2 OO ••• O··H" t+3 OD ••• O-G- t+~ OO ••• O"F" t+5 AL39 Fault Tag Z CTd = &) The action for this va~iation is identical to that for Fault Tag 1 except that the Trap Pair at C + 60 (octal) is executed. WARNINGI Fault Tag Z Is reserved to the Multics operating system for use in the Dynamic Linking feature. Its attempted use for ot~er purposes could cause serious system inconsistencies and/or system crashes. Fault Tag 3 'Td = 7) The action for this variation is identical to that for Fault Tag 1 except that the Trap Pair at C + &2 (octal) Is executed. Character Indirect (Td = 10) Bit 30 of the TAG field of the Indirect ~ord is interpreted as a character size flag, 1n, with the value 0 indicating &-bit characters and the value 1 indicating 9-bit characters. Bits 33-35 of the TAG field are Interpreted as a 3-bit character position value, ~1. Bits 31-32 of the TAG fIeld must be zero. If the character pOSition value is greater than 5 for &-bit characters or greater than 3 for" 9-01t characters, an Illegal Procedure, Illegal ModifIer Fault will occur. The TALLY field is Ignored. The EffectIve Address is the value of the ADDRESS field. A 3G-blt operand is formed by high-order zero filling the character ~ of ADDRESS with an appropriate number of bits. value of EXAMPLES. LaJull lnllCl.l.c...t..UD a c Ida b,ci vfd 16/c+l,lZ/O,1/0,5/Z bci ··ABCDEFGHIJKL- d Ida d,ci vfd 18/c,12/0,1/0,5/1 e f Ida e,cl vfd 18/f,12/0,l/1,5/3 acl .oabcdefgh- 9 Ida gtci vfd 18/f+1,12/0,1/1,5/0 b QAttaOA 00 ••• 0"1" OO ••• O"B" 00 ••• O"d" OO ••• O"e- Indirect (Td = 11) The Effective Address Is the value of the ADDRESS fIeld. The TALLY and TAG fieldS are ignored. SeQuence Character (Td = 12) Bit 30 of the TAG field of the Indirect Word is interpreted as a character size flag. 1Q, with the value 0 indicating &-bit characters and the value 1 indicating ~-bit characters. Bits 33-35 of the TAG field are Interpreted as a 3-blt character position counter, ~1. Bits 31-32 of the TAG field must oe zero. REV lEW DRAFT SU~JECT TO CHANGE October, 1975 &-12 AL39 For each reference to the Indirect Word, the character counter, ki. Is increased by 1 and the TALLY field is reduced by 1 ~11~ the Effective Address is formed. Character count arithmetic i i modulo & for ~-bit characters and modulo ~ 'or 9-bit characters. If the character count, ,,1, overf lows to b for &-bi t characters or to ,. fo'" 9-bi t char'acters. it Is reset to 0 and ADD~ESS is increased bv 1. ADDRESS arithmetic is modulo 2•• 18. TALLY arithmetic is modulo ,.Oq&. If the TALLY field is reduced to 0, the Tally RUDout indicator is set ON, otherwise it 15 set OFF. The Effective Address is the original unmodified value of the ADDRESS field. A 3&-blt operand 15 formed by high-order zero f111ing the value of character kl of ADDRESS with an appropriate n~mber of bits. EXAMPLES' Reference Lilb..li InUryctiQn a Ida b,sc vfd 18/c,lZ/t,1/O,S',. bcl "ABCDEFGHI~KL - b c a b c ~ Ida b,sc vfd 18/c,lZ/t,1/1,5/2 acl "abcdef gh- 1 2 3 4 5 It ... 2 1 2 3 2 3 Effective Talty ~~ ~ Qperand c c c+l c+1 c+l t-l t-z t-3 t-4 t-5 OD ••• O"E" 00 ••• 0 ··F- c c c+l c+l 9+1 t-1 t-2 t-3 t-4 t-5 5 0 1 4 0 1 5 2 ... Add Delta (Td k1 OO ••• O··G- OO ••• O"H00 ••• 0"100 ••• 0 "c" OO ••• O··d" OO ••• O-e" OO ••• O"fOO ••• O"g" = 13) The TAG flelj of the Indirect Word is interpreted as a 6-blt, unsigned, positive address increment value. ~~. For each reference to the Indirect Word, the ADDRESS field is increased by ~la and the TALLY field Is reduced by 1 a1~ the Effective Address is formed. ADDi(ESS arithmetiC is modulo 2··18. TALLY arithmetic is modulo ItOQ6. If the TALLY field is reduced to 0, the Tally Runo.Jt indicator- is set ON, otherwise it 15 set OFF. The Effective Add·ess is the value of the original unmodified ADDRESS field. f.XAHPLEI I~tryctlQn a b Ida b,ad vfd 18/c,1/t,6/d Decrement Address, Increment Tallv (Td : Reference Effecti.ve Ta I I V ~iUm.1 ~ddress ~ 1 2 3 c c-d c-2d t-1 D c- (0-1) d t-o t-2 t-3 14) For each reference to the Indirect Word, the ADDRESS field is reduced Dy 1 and the TALLY field is increased Dy 1 ~~~ the Effective Address !S formed. AOD~ESS arithmetic is mOjulo 2··18. TALLY arithmetic is modulo ,.09&. If the TALLY field overflows to 0, the Tallv Runout indicator is set ON, otherwise it is set OFF. The TAG REVIEW DRAFT SUBJECT TO CHANGE October, 1915 6-13 AL39 field of the Indirect Word is gnored. value of the modified ADDRESS field. The Effective Address is the EXAMPLE' tion Lab..tl I.~truc a Ida b,di vfd 18/c,12/t b Reference Effective Tally ~Wll a11.ar:~~ ~1wt 3 c-l c-2 c-3 t+1 t+2 t+3 Q C-n t+.o 1 2 Decrement Address, Increment Tally, and Continue (Td: 15) The action for ~hls variation is identical to that for the Decrement Address, Increment Tally variation except that the TAG field of the Indirect Word uinterpreted and continuation of the indirect chain Is possible. If the TAG of the Indirect Hord invokes a register, that is, specifies R, Rt, or IR modIfication, the effective Td value for the reglste~ is force~ to Mnull" before the next Effective Address is formed. Increment Address, Decrement Tally (Td : 16) for each reference to the Indirect Word, th! ADDRESS field is increased by 1 and the TALLY f·leld is reduced by 1 il.U..tt the Effective Address is formed. ADDRESS arithmetiC Is mojulo 2·.18. TALLY arithmetic is modulo 409&. If the TALLY field is reduced to 0, the Tally Runout indicator is set ON, otherwise it is set OFf. The TAG field of the Indirect Word is ignored. The Effective Address Is the value of the original unmodified ADDRESS field. EXAMPLE' LatLU Instryction Reference CJwnl a , da b,id vfd 18/c,1/t 1 b Effective lddtes$ Tall V ~ 3 c c-1 c-Z t-1 t-2 t-3 II c-(.o-1) t-.o 2 Increment Address, Decrement Tally, and Continue (Td : 17) The action for this variation is identical to that for the Incre~ent Aodress, Decrement -Tallv variation except that the TAG field of the Indirect Word ~ interpreted and continuatIon of the indirect chaIn Is possIble. If the TAG of the Indirect WorG invokes a register, that is, specifies R, RI, or IR modIfication, the effective Td value for the register is forced to "nul I" before the next Effective Address is formed. RlVIEW DRAFT SUBJECT TO CHANGE October, 1975 AL39 SlUl 11 Mil 1 __L - - Illegal Procedure, Illegal Hodlfier Fault !.Wl&l I ,I nter-pret , \ Td au·' t Tag 1, 2. or 3 Fau' t f \ r T d=unde f +--------->1 (1,2,3) I ,-----, ~l T ~ Td=fl,fZ,f3 I 1(0,6,7) I J t _-1. a I I I I I Td=ci,sc,scr (10,12.5) t Indirect Word 1 F etch I APPEND CYCLE J (Figure 5-4) ~~ Td=i,ad,sd,di,ld I td=dlc.ldc a (11,13''',14,1&) I (15.17) ____.---.t_ _ __ t .. Indirect Word Fetch APPEND CYCLE (Figure 5-'+) J I I 1 I I Indl"'ect Word I fetc,", I APPEND CYCLE I (FigJre 5-4) 1.___ " ,_, I 1 I I 1 1 Yes I I I I 1-JiQ._' Legal d ' 'value? , 1 t I I I I TALLY and for-m Eff. Address L -_ _ _-.... , 1<--------------------. t TALLY and form Eff. Addr. as required I I I I I __~.__ I 1 I , t , lnt erpre t , \ Indirect TAG' " 1 ___________________ •________ --1 I I TII=R • I <-------------t • .EWl EA 1 TII=IR or IT TII=RI 1 Indirect Word I Fetch 1 APPEND CYCLE I (figure _ _ _ _5-'+) _ _-1.1 ~ +------------> t ;0 to ll!UEA (Fig.Jr-e 6-2) Figure &-& Indirect Then Tally Modification E.EE.E..C.IlllLAIlllB..E.S.LE.O.&t1A.I.U N F'o~chart I NV 0 L VI N LaQI.tLSE (j HE NT N W:1aEJLA..tiP Of f SE I The second type of Address Formation allows formation of a modified Number and a modified Offset simulta~eously. See Figure &-1D. Effective Number Generation Flo~chart, for- details. RlVIEW DRAFT SUBJECT TO CHANGE October. 1975 6-15 Seg~ent Se9~ent Al39 0' In the foregoing discussion EffectIve Address Formation Involving Offset Onlv it "as noted that a preliminary step of loading the ~ODRESS field (y) of the Instruction Word into C(TPR.CA) was performed bef~re the specifIed modification was carried out. C(TPR.CA) was then used as o~e data inp~t to the _odification process. If bit 29 of the Instruction Word is set to "1", so-called Pointer Register modification is invoked and the preliminary step Is executed as follows. 1. The ADDRESS fIeld of the Instruction Word is interpretej as show" in Figure &-7 below. 2. C(PRn.SNR) -> C(TPR.TSR) 3. maximum (C(PRn.RNR), C(TPR.TRR), C(PPR.PRR» ~. C(PRQ.WORDNO) + OFFSET -> C(TPR.CA) o o 0 --'L- 2 3 J 1 _____________---1I I I J J PRO I I 1 OFFSET 3 Figure 6-7 -> C(TPR.TRR) 15 Format of Instruction Word ADDRESS When Bit 29 =1 After this preliminary step is performed. Effective Address Formation proceeds as discussed above or as discussed for the Special ~odifiers below. Special Modifiers Whenever the Processor Is forming an Append Hode Effective Address two special Address Hodifiersmay be specified and are effective under certain restrictive conditions. The special Address Modifiers are s~own in Tab'. 6-~ beJo" and discussed in the paragraphs follo"ing. The conditions for which the speCial Address Modifiers are effective are as followSI 1. The Processor must be forming an Append Mode Effective Address, that is, it must be in Append Hode or In Absolute Hode "itn bit 29 set in the Instruction Word. 2. The Instruction Word (or previous Indirect Hord) must s3ecify Indirect Then Register or Register Then Indirect modification. 3. The Effective Address for the Indirect Word must be REVIEW DRAFT SUBJECT TO CHANGE October, 1975 &-1& eve~. AL39 If any of these conditions is violated. the $pecial Add-ess Modifier ~111 be interpreted as a normal Address Modifier and wII I cause a~ II legal Procedure, Illegal Modifier Fault. Table 0-4 Special Append Hode Address ~odifiers Coding H~ik ~Qdlficati~am~ itp Indirect to Pointer its Indirect to Segment INDIRECT TO POtNTER (ITP) MODIFICATION If the condItions above are satisfied, the Processor examines the TAG field of the Indirect Word for the value ~1 (octal). If that value is found, the Indi.rect Word-paIr is interpreted as an ITP Pointer Pai~ (See Figure &-8 belo" for format) and the folJowing actions take placel For n = CfITP.PRNUH11 C(PRn.SNR) -> CfTPR.TSR) .axi.um (C(PRD.RNR), C(SOH.Rl), CITPR.TRR») -> C(T~R.TRR) CCITP.BITNOl -> C(TPR.TBR) C(PRQ.HORDNO) + C(ITP.WORONO) + C(e) -> C(TPR.CA) wherel c = C(eT-HOLO) if the preceding Indirect modification, or field of the I~struction specified Indi~ect Then Word or Register C(ITP.MOO.Td) if the TAG field of the I~struction preceding Indirect Wo~d specified Register Then modification ~ ITP.HOO specifies eithe~ Register or Then Indirect modification. Word or Indirect Register TAG Ho~d = z. c 3. SDW.R1 is the upper limit of the read/write Ring Bracket for the segment C(PRa.SNR). (See Section VIII, Hardwa~e Ring Implementation.) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 &-17 AL39 Even Nord o 0 0 -.Jl Z 3 I 2 3 1 : PRNUtU 0 o I 3 . _-.!Li _ _ _--L 0 0 0 0 0 0 0 0 0 0 0 DODO ODD 0 0 0 I 0 0 0 0: J (lt1)8 I I I I & 27 3 Odd Word 1 1 0 Z Z 2 Z I I MORONO I I 18 Figure 6-8 I SO 0 01 I 10 0 01 3 Z 3 3 -LZ__ 2 II -----1-L-L1 D ~ J BITNO --1 I 6 3 J HOD ~ J 6 I ITP Pointer Pair format Field liiUD.Jl PRNUH The number of the Pointer Register through which to make the segment refe~ence. NORDNO A word offset ualue to be added to C(PRn.MOROHO). 8ITNO A bit offset ualue for the data itea. Any normal Address Hoditier I~ itp or its). INDIRECT TO SEGMENT (ITS) "ODIfICATION If the conditions above are satisfied, the Processor examines the TAG fIeld of the Indirect Word for the value 1t3 (octal). If that value is found, the Indirect Word-pair is ihterpreted as an ITS Pointer Pai~ ISee Figure &-9 beloM for format) and the folloMing actions take placel CIITS.SEGNO) -> CITPR.TSR) maximum (C(ITS.RN), CISOW.Rl), CCTPR.TRR» ceITS.SITNO) -> -> CCTPR.TRRJ CCTPR.TBR) CIITS.NORONO) + elc) -> CCTPR.CA) .. herel 1. 2. C = C(CT-HOLO) If the preceding Indirect modification, or c TAG Wo~d = field of the I~structlon specified Indirect Then C(ITP.HOD.Tdl if the TAG field of the I~structlon preceding Indirect Word specifIed Register Then modification ang ITP.HOD specifies either Register or Then Indi~ect modification. REVIEW DRAFT SUBJECT TO CHANGE October, 1915 &-18 Word or Register Word or Indi~ect Register Al39 3. SOW. Rl is the upper I i ml t 01 the readh.... l te Ring Bracket for segment C(ITS.SEGNO) • (See Section VIII. Hardware Implementation.) the ~lng Even Word 0 0 0 _L_LL a J 10 0 01 2 2 D1 t SEGNO J I I .1 1 1 -L4 RN 1O I 15 3 2 3 _9 o I 0 0 0 0 0 0 01 -I .) 3 a ~ I I (43)8 I <1 6 2 2 2 3 :5 6 Z -La. 2 Odd Word 2 2 1 1 0 Za D I I a1 I I 10 0 01 WORD NO I I BITNO a I 0 OJ 3 () I 3 6 ITS Pointer Pair Format Field lUlu HeaDIng SEGNO The number of the segment to be referenced. .. ORONO Word of fset to be used in the effective BITNO The bit offset for the data ite •• HOD Any valid normal Address Hodlfier. The detaIls of Effective Segment flowchart in Figure 6-10 below. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 I 1 HOD I I I 18 FIgure 6-9 I J Number 6-19 generation address are formation • shoMn in the Al39 ~IA!u (S.H I _ _ -.i ___ _ I WclS IdSt , cycle dn , 'Indirect Word I 'J.~1c..!l.1. _ _ _ 1 -I~~I I I I I I I I I * Was it a , seQuential '_1Q. _ _ __ instruction I J I I , I I I No \_L~l~l ____1 __ 1--- I I a I I : I I I I I J I I No I O=C(TPR.CA10.2 I I Yes I \ " Is Dit ,_~ 29 ON? I \ _ _ _1 I _ _ _ _ _1 _ _ __ 1<----------------. -1_ I ______ _ I C(PRO.S~R) -> I C(TPR.TiR) 1---___________ I C(PPR.PSR) -> I a cnPR.TSR) I L _ _ _ _ _ -1 ~ I I I I +----------->1J <------------------------------------t ----*-----I EA CYCLE J (F Igure &-2) J J _ _ -i_ _ I \ Indirect \-1~ _______ , Hord fetch? I I I ' _ _ _ _ _1 : : I I I I I No I , * , ,_In-____ _ I I I I I I J<------------------+ I • No I t Go to "A .. ~o to -e- ( Fig ur e 0 -lOa» Figure &-10 \ RI or IR &. TPR.CA even?1 (F ig~,.e &-10 a) Effective Segment Number Generation ='oMchart REVIEW DRAFT SUBJECT TO CHANGE October. 1975 &-20 Al39 "8I ,--*--, _ _ _ _ ~Q._I TAG = I 'ITS? -L-_ I TAG \ ITP? I ='\ , _ _, '-Ie~ , • n No , , Normal '\ yes \ Indirect? , , '\ , \ , I I I C(Y+1)O,17 -> I C(TPR.CA) J J •I I J J<-------------------------+<-------------------+ • SIMI ES.!i (Figure 6-10) ______________ \ '\-1~ -' , I t C(y)3,17 -> C (PPR.PRR) No I CAll6 or \ Transfer \ Operand? \ I yes J I J 2 I ________ \ C(TPR.TSR) -> C(PPR.PSR) I C (lPR, CA) -> I 1. C (ePE, IC1 ____l J I I J I I J ~t_____ I I I J No t I C(Y+1)D,17 -> ____~ 1-k1E~~.~I_C~) '\ APU data \_u.NQ____ \ lIIovellent?' I I \-----------, I • 1 C(PRn.SNR) -> I C(TPR. TS'U I C(PRO. WORDNO) +1 t I C(Y+1)D.17 -> Go to • RTCO \ Operand? = C(Y)O,2 I ~~&a.A&..)_ _..... I No I C(Y) 3,17 -> C(TPR.TSR) _ _ _LI _ __ <-------------~---------t I J t _________ '--' I I '..:l~~ , Yes J •<----------------------+<---------------------+ • ftftl E.S..H Go to Execute Cyc'e Figure 6-1Da Effective Segment Number Generation F'ow:hart (Con't.) EfEECTI~E_A~~~HAIlQN fOR EllE~INSTRUCIION SEI A flowchart of the steps involved in Operand DescriptJr Effective Address formation is shown in Figure 6-11 below. The flowchart depicts the Effective Address formation for operand ~ as described bv its Modification field, MFh. This Effective Address Formation is performed for each opera~d as its Operand Descriptor is decoded. REVIEW DRAFT SUBJECT TO CHANGE October, 1975 6-21 Al39 SlAlU .lIS. fA I _riLl I \ f : --L- , MFJ1.10\-1._t_s_ _ __ = 1? \ _ _, / I ----*---I I I I ESN CYCLE :CFigure ;-10)1 J I I I I I t J I I J I ----*---I Operand 1 Descriptor I : APPEND CYCLEI l.-1E~_.i::.!tll J 1<----------------------+ / ______~I , --*-- MFJ1.A~\_~Y&e~$ \\ _____ = 11 , , I t _______ I ______At_____ _ J I I O=nul. 1-- O=C(Y)O.2 I (NOTE 11--1 ' • I t--------------+--------------+ -L_ / \ _ _ _-X.u.-/HF1s.. RE G\_11... o _ _ __ I \ = 01 I _____... t ____ _ t \ __/ I J t:=nul' J c.=HFiS.. REG L-_ _ _ _ .A- I I +--------------+--------------+ t Form E f f e c ti v t Word/Char/Bit Address f rom Y, CN. C. B. C(PRQ). : 1 C (I:,) (NOTL1..s.2) I I I I I t EtUl E.I.S. U Figure 6-11 EIS Effective Adress Formation Flo~chart NOTE 11 The symbol uy" stands for the contents of the AOD~ESS fitld of th~ Operand Descriptor. The svmbols "eN" and "C" st3nd for the contents of the Character Number fie 'd. The symbol "B" sta,ds for the contents of the Bit Number field. NOTE 21 The algorithms used in the formation of the Effective Hord/Char/Bit Address are described in "Character- and 81t~String Addressing" fot IOil'lin9. REVIEW DRAFT SUBJECT TO CHANGE October. 1975 6-22 AL39 The Processor represents the Effective Address bit-string operand In three different forms as follows& 1. a 0"' character-· 0,. Pointer Regist.r Form This form consists of a word value (PRn.WOR)NO) and a bit value (PRn.BITNO). The word value is the wo,.d offset of the word containing the first character bit of tne operand and the ~it value is the bit position of that character or bit within the wo,.d. This form is seen when C(PRn) are stored as an ITS Pointer Pair 0,. as a Packed Pointer (See "Indirect to Segment (its) Hodification" earlier In this Sect ion). 0,. 2. Address Register For. This form consists of a word value CARn.WORDHO). a character number CARn.CHAR), and a bit value (ARC.BITNO). The word value is the word offset of the word" containing the fIrst cha~acter or bit of the operand. The character number is the number of tne 9-bit character containing the first character or bIt. The bit ~alue is the bit bit position within ARO.CHAR of the first character or bit. This for", is seen when ClARO) stored with the Store Address Register Q (SARa) instruction. are 3. Operand Descriptor For. This fora 1s valid for character-strIng operands only. It consists of a word value (ADDRESS) and a character number (CN). The word value is the word offset of the word containing the first characte,. of the operand and the characte,. numbe,. is the number of that character within the wo,.d. This fo,.m Is seen when C(ARa) is stored with the ARC to Alphanumeric Descriptor (ARAO) or ARQ to N~meric Descriptor (ARNa) instructions. (The Operand Descriptor form for bit-string operands is identical to the Address Register form.J NOTE' The terms ·Pointer Regist.r" and "Address Register- both apply to the same physical hardware register. The distinction arises fro. the manner In which the registe,. is invoked and used and in the interpretation of the ,.egister contents. "Pointer Register" refers to the regIster as used bv the Appending Unit anj "Address ~eglster refers to the register as used bV the Deci_al unit. The three forms are compatible and may be freelv intermixed. For example, PRQ may be loaded in Pointe,. Register form with the Effective Pointer to PRn (EPPo) inst,.uction, then modified in Pointer Register form ~ith the Effective Address to WordlBit Number of PRO (EAWPn), then further modified in Address Register form (assumln~ character size~) with the Add h-Bit DIsplacement to Address Register 'A~BD) instruction, and finallv invoKed form by the use of HF.AR in an EIS Hultiword instruction. Cbaracter- and B~clng A~~~Llibmetic i~ Operand Jescriptor Algorlthm~ The arithmetic algorithms for calculatIng cha~acte-- and bit-string addresses are presented below. The svmbols "ADDRESS" anj "eN" represent the REVIEW ORN'T SUB~ECT TO CHANGE October. 1975 6-23 AL39 ADDRESS and CN fields of the Operand Descriptor being decodej. "1:,-- and --a.. are set according to the flowchart in Figure 6-11 above. If either has the value "null". the contents of all fields shown is Identically zero. 9-BIT CHARACTER STRING ADDRESS ARITHMETIC Effective CHAR = 0000 = (CN + Effective NORDNO = ADDRESS Effective BITNO CeARO.CHAR) + CeC» (CN + modulo + CCARO.WORDNO) + C(A~n.CHAR) + Cee» I ~ ~ 6-BIT CHARACTER STRING ADDRESS ARITHMETIC EffectIve SITNO Effective CHAR EffectIve WORONO = ( rZ, the procedure is a gate for ring rZ, accessible fro. rings no higher than r3; if r2 r3, tne procedure is not a gate. = Third, it "as found useful to relax, also for data seg.ents, the condition that_they be assigned to onlv one ring. One would like to ba able to specify that a segment resides In ring rl for ·write- purposes b~t resides in a less privileged ring r2 for -read- purposes. Fourth, several difficulties ~ere encountered in the Implementation of outward calls and their associated returns. Because outward calls were not found essential for implementing the Multics system. they we-e sImply declared illegal, and as a result, a procedure with ring brackets (rl. r2, r3) cannot be called from a ring R such that R < rl. In summary, the operations that are potentIally permitted to a ring process In R on a segment whose ring brackets are (r1, r2, rJ) are as foilowsl Write Read Execute Inward call I I I I if If if if 0 <= R <= rl 0 <= R <= rZ rl <= R <= rZ (Execution in ring R) rZ < R <= rJ (Execution in ring r2) The attempted operatIons are permitted if, in addition, the user has the appropriate access rights (read, write. execute) on that segment. The Multics Processor offers hardware support for the implementation of the Multics ring protection. A .particular effort was made to minimize the overhead associated with all authoriZed ring crossings, which the processor performs without operating system intervention, and to mInimize the overhead associated with the validation of arguments, for ~hich the processor provides a valuable REVIEW DR~FT SUBJECT TO CHANGE October, 1975 8-2 AL39 assistance. The rumber of rings available In the processor is eight, numbered from 0 to The current ring R 01 a process is recorded in a hardware register lPPR.PRR) • 7. The ring brackets (rt, r2, r3) of a Segment are rec~rded in the Segment Descriptor Word (SDW) used by the hardware to access the seg~ent. In addition, the SOW contains the number of gates (SOW.eL) existing in the segment. The hardware assumes that aJ. gates are loc~ted from ~ord 0 to ~lrd (CL-1) and does not accept an in~ard call to this segment if the word num~er specified In the call Is greater than (CL-1). The reason for this control is to prevent a malicious user from generating a call that would transfer control to any machIne instruction of the gate procedure. (Such a call would defeat the purpose of the gate.) The sow also contains the access rights (read, write, execute) that the user has on that segment. If the same segment is used by several processes, there is an SOW describing the segment!n the Oescriltor Segment of each process. In all SOWs pOinting ~o the Same segment, the values of r1, r2, r3 and CL are identical since they are user independent. The value of the access rights (read, write, execute) are not necessarily the same because they are user dependent. In order to provide assistance in argument validation, any pointer, being stored into an ITS Pointer Pair or loaded into a Pointer Register, also contains a ring number. Although the hardware does not prevent a process from writing any ring number in an ITS Pointer Pair, it ensures that, if (r1,r2, r3) are the ring brackets of the seg_ent in which the ITS Pointer Pair is located, the ring number field of this ITS Pointer Pair can be set or modIfied only from ring R such' that R <= r1. As for the ring number recorded in a Pointer Register. the hardware ensures that a process in ring R can set it to a ~alue equal to or greater than R, but never sa.ller. During the execution of a machine instruction, the hardware may examine several SOWs. ITS Pointer Pairs and POinter Registers. For any given such examination, the hardware records the maximum of the current ring, the r1 value found In an SOW. the ring number found in an ITS Pointer Pair, or the ring number found in an Pointer Register. This maximum, called the Temporary Ring Number, is kept In a hardware register (TPR.TRR) that is updated each Such exaalnatlon. The reason for having this Temporary Ring Number available at any point of a machine instruction Is because it represents the highest ring (teast prIvileged) that might have created or modified any information that led the hardware to the targe t segment it is abou t to re ference. Al t hough the current ring 1s R, the hardware uses the most peSSimistIc approach and pretends the current ring is CCTPR.TRR), which is always eQual to or greater than R. Thus the hard~are uses ClTPR.TRR) instead of R in all comparisions with the ring brackets involved in the enforcement of the ring protection rules given In the previous paragra~h. The use of ClTPR.TRR) by the hardware allows the gate procedures to rely on the hardware to perform the validation of all addresses passed to the gate by the less privileged ring. The general rule enforced here by the hardware regarding ar 1-t I t Go To ··A- (Figure 8-1a) Figure 8-1 Complete Appending Unit Operation FI~"chart REVIEW DRAfT SUBJECT TO CHANGE October, 1975 8-4 AL39 ..." I t I , 'Is SOW 'or ,-llA._ _ _...._ _ _ _ _ _ ~ \CCTPR.TSR) I I \1n-1WtWI I I Yes * -IA_',I . , ~SaR.U I 1 I \ ,~v.~S~ 01 , ___ I • ' I DSPTW 1 I ____ •I I t , I t V'S I , \ OSPTW.' \ set ON? \ , set ON? , \ , In1t1ate a I I I a MOSPT.U ____ 1 I,C-----.,---..+ __~t~.__ I I NSDW ~t~~ PSDW •I I I tI c,..-.. _ ---~---t , , ___v.'_$1 sow. \ set ON! , , F __ ,_tl~Q I I t I Directed Fault t I I Yes Load SDWA"I .r..-_ _ _ _ _.l • I \ DSPTW.U '_"_Q_~_ , .. 'I_"I&lQI&-_I • In1tlat. a Dirac: tad Fau' t +-------->1 • I I leISON.RU->1 IClRSDWH.Rl)1 I • I Go • to -a- (Figure 8-ib) Figure 8-1. Compl.te Appending Unit Operation Flowchart Ccon-t.) RE.VIEW DRAfT SUBJECT TO CHANGE Dc tober. lCJ15 8-5 AL39 I \ _ _-u.N2-1 C(SDW.R1l =< \ \ CCSDW.RZ)=< I 1 t \ C1.S.IHL..lUll._' I t I t Set F au It I ACVD=IRO Yes I L ____ -L I I I +-------------->1 _ _ -L-__ I Was last \ ____~N¥o_1 cvcle an \~ \ RTCO operandi J t \_Lel~ I I t __ 1 Go to "C" \ Is OPCOOE \-1~ \ CALL&? I I _-.\JNLlo(.o_1 \ t I \ I ITransfer or\ yes \instruct"ionl \ -1.Jt:tkht-1 (F 19urc 8-1el • Go to "E(Figure 8-1d) • • . I Go to I No "F" (Figure 8-1e) t· I \ \ I Is ita '_y._es...._ __ \ STR-OP? I _ _ _ fuLl I t I \ IC(TPR.TRR»\-I_e~$ _____ \ C(SDW.RZ)?I ,_ t I \ I I \ IC (TPR. TRfU >\_Y~e....s_ __ , t C (SOW. RZ)?I I a t J Set Fault ACV3=ORB I No I I I No '1 I a t , _ _ _,1 I I J I J I I J Set Fault: I ACV4=R-OFFJ \_:.r.N... o _ __ I I ' _ _ _ _1 t \ __ ----H~/C(PPR.PSR)='~_ I \CCTPR.TSR)?I I __-L__' , SO W. W , ON? I I t I I I 1 I J I <-------------+ t _ __ I ACV5 =) WB r , \_~ I J Fault L ___----1 1<-------------+ t --.bs.J so W. R I , ON? S~t I Yes I I ACV6=W-OFFI Set FaJJt I I 1--_ _ _ _1 I I J<--+<------------t 1 1 -____.-...1.. +-------->+----------------------~->I • Go to -G" (Figure 8-10 Figure 8-1b REVIEW DRAFT SUBJECT TO CHANGE october 9 1975 Complete Appending Unit Operation 8-& Flo~chart (con·'.) AL39 :0:: , J J t 1 , _ _ --.t1sL1 C(TPR. TRRJ < : , C (SC W. RU 1 t , ,~ I 1 I , , \ , ClTPR.TRR» \ ClSDW.RZJ? \ I '_yes 1 I I _, t _____ I I Set Fault No I ACV1=OEB l _ _ _ _ _...a. I 1<---------------------------. --L- , 2 \ 1 SDW.E '_N~o _____ \set ON11 I \ _ _ _1 t a I J I a J I Yes I I I I I I I I I I t t I I I 1 Set Faul t ACV2=E-OFFJ __ _ _ _ _1 I 1<-------------+ t , , , C(TPR.TRR»='_~~Q________ \ ClPPR.PRfU? , \ •1 J -' t Yes I Set Fault t I a a 1 ACV11=INRET: I I I I J 1 +-------->1<----------------+ --L1 ,RALR , , = 01 '---' I '~N~Q 1 Yes 2 2 1 I . _____ , I , C(PPR.PRR) \_H_o____ , < RALR?' I , 1 I J Yes +------------>1I : I _-,tL-....___ I I Set Fault I A:V13=RALRI L-_ 1 I +---------------->1I t Go to (Fj~u,.e a-1f) REVIEW DRAFT SUBJECT TO CHANGE Oetobe,.. 1975 8-7 AL39 "E" a __LI- , SOW.E \ , ON? I I _____ I ___1 - -__ uN~o ' _ _ _I I I Set F au 1 t I Yes I ACV2=E-OFFI1 ___________ J I 1 1<-----------+ I _--L- , _-""Y.... e_s _I SOH. G 'ON? I * ' ___ I 1 ' I ,___ 1- C(PPR.PSR)= \ \ C(TPR.TSR)? 1 -I No I __---.titLl I t I \ I I \ I C CTPR.CA) £t, 17 '-liQ. _ _ t >= SOW. CL? I. I \ I I J I , Yes I I I I Set fault I I t ACV7=NO GA'- ~1_- '1es I <----------f. , & _______---1 I t I I 1<--------------+ I \ , \ C(TPR.TRR) , C(PPR.PRR» , \ C(TPR.TRR)\ yes > SOW.R3? I I t \ 1 C(PPR.PRR)' __ ye_$_____ No , < SOH.RZ? I , a 1 t No Set Fau 1 t ACV10=SOC I 1<-------------+ * , ______________ CCTPR.TRR)\~No < SOH.R1? I , I I I t I 1 I \ I I , I Set Fault t ACV8=OC8 J I I I t I I No I >\_X~ews~_ I t I \ I 1<------------1<-------------+ T t I ~1 I \ \ , C ( TPR. TRR) \_1itL. _ _ > SD~.R2? I I I _ - - - L_ _ Yes I No Set Fault I ACV9=OCALLI t Figure 8-1d SOH.RZ -> I C(TPR.TRR)1 1 -_ _ ----1 I I I 1 l<-----------~----------+ I I 1 :<-----"----_ ..... _+ Go to "0" (Figure 6-1c) Complete Appending Unit Operation Flowchart (conet.) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 8-8 AL?9 ··fI • 1 \ _ _ _ tijLl '_In.. 2. 1 C(TPR. TRR) < \ C(SCW.Rl)? , t 1 C(TPR.TRR» , C (S 0 W. RZ ) ? \ 1 , 1 \-I~$~ J I I ________________~t J 1 • 1 No Set fault ACV1=OEB I I I 1 J<---------------------------t 1 -*--\ 1 SO W. E ',~N.>&o__ 'set ON?I t __~t~____ ' _____I I I aYe s S e t F au I t I I J ACVZ=E-OtFI I 1I I I .------------->1 , , • _ _~NCLI C( PPR.PRR)= \ I , CCTPR.TRRJ? ~ t \ 1 Set Fault Yes ACV1Z=CRT +-------------->1 • Go to '·0" lfl gure 8-1c) FIgure 8-1e Complete AppendIng Unit Operat1on Flowchart (con-t.) REVIEW DRAFT SUBJECT TO CHANGE October, 1915 8-9 AL39 "G" • t 1 , 1 C(T?~.CA)0913 , > , SOW. BOUND? ,~~ 1 1 ____ --.*---.. I I No Fault 1 ~et I I ~CV15=00S61 I L L 1 I 1<---------------+ • 1 , '_Xf!.L-__ Any ACV \ Faults? _---ti~_1 I ____~*_ ____________ 1 \ is , C(TPR.TSR)I ~~_I segment'-1~~s 1 I " • Initiate an Access Violation Fault , _____ , t '_~.aLI I PTW for' No 'C(TPR.CA) 1 'in PTHAH?I ~~/is I I a -, i PTW I I : t S I 1 J t I I 1 1 , _tll-I Is PTW.F'-H.~ : , set ON? I 1 ____~t_ , 1 • I Initiate a load I Directed Fault I J I I I I PTWAtt I ~ __ --1 I<~-------------+ ,, --*--I ,' ____' I Prepage 115 Hode? 1 J I J 1 J 1 I I I ,. No PTWZ I I I 1 iJ • • Go to Go to "I·· (Figure 8-1g) (Figure 8-1g) Figure 8-1f REVIEW DRAfT SUBJECT TO CHANGE October, 1975 I _1 , llS 1 Is PTW.F'_ti:t_ set ON? 1 I I "H- , t: a ,----, • I'\itiate a Directed Fault Complete Appending Unit Operation Flowchart (con-t.) 8-10 AL39 -H- -I- I I I t I I I I _ _-uNLI , 1 1 -~ 1 PTW , STR-O? &\-1-..e.... s _ _ __ PTW.I1=O 1 I ' _ _ _ _1 ---*---J 1 , from'~ye~s~ ___ , sfore l I HPTW;Setl PTW.H i. 1 PTW.U J J 'eIiL.JJ.~1 t_ I • S No I 2 HPTW;Set: 1 pTW.U 1 1 J L -_ _ _ _ _ I l +------------>1I <--------------t ~-- I FANP _____ I ~ I I I FAP I L---~ t J +------------------------>1 • , an Indirect 'J:i¥.o_ _ , Word fetch? / a / 1 Was this , / t an , 1 Was it I Yes Go •to / , RTCO operand , -.,J- (Figure 8-1h) fetcb? •I 'JiL_a I I Yes t Go to (F i gure 8-11) , .--JtL-.._ / 1 Is OPCOOE 'CALL&? , I I • ____ ',~N~o I / --*__ I 'fes Go to , /Transfer or'-H4---'Instructionl I __~tL-__ '~hI-_1 I 1 I Yes , data '~N~o___ • , movement? I I Go t o , I I 1 ~PU (Figure 8-11) I 1 Yes I a t 1 J I Load/Stor-el tlPU data 1 L_ 1 I I t I J t <----------+ E..Wl APPENQ Fgiure 8-1g Complete Appending Unit Operation Flo~chart (con·t.) REVIEW DRAFT SUBJECT TO CHANGE October, 1975 8-11 Al39 •• J" I t I \ RIoI' IR & '_~.~e~s____ I \ TPR. CA even?1 I ,______' ___L - _ I I No \ C(Y)30,35 I TS Mod? I , \ = \-HKo_____ 1 _ _......tI_____ _ I 1 , : Yes • \ C(Y)30,35 ITP Hod? , \ Go to = \-1i.sL-_ 1 I _, (Figure 8-1k) 1 I I J Yes • I a Go to ··P" (Figure 8-11) : I ____t_____ +------------------------------------------·>1 1 ______~y~1 C(Y)30,35 \ t C(Y)O .. 11-> C(IHB)O,17 C (Y) 30,35-> I C(tHB)30,35 LQ->C(IWBI29 I 0 =\ , ther , \.-io;lirect? I I 1 No I I I I +---------------->1t .Elifl A.eeEWl Figure 8-1h Complete AppendIng Unit Operation Flowchart (con-t.) REVIEW DRAFT SUBJECT TO CHANGE October. 1975 8-12 Al39 -K-a :t1:! =~ I ___ -*-__ __L--- I C(Y)3,17-> I I C(TPR.TSR) a I C(Y+l)l,17->1 " I ~ .l_klle.R...&AL-l. Is OPCOOE TSPQ? '_y~e~s~ I " J ---*.--- _--L-_ I I C(PPR.PRru No I I I t C(TPR.TRR»=\-Yes , C(PPR.PRR)1 , : , _ _ _ _ _ _, t I I I for i=O,7 I l <---------------------t C(TPR.TRRJ->' C(PR1.RNR) I I -1 L- I I -> C(PRn.RNR) C(PPR.PSR) -> C(PRa.RSR) I C(PPR.IC) -> C(PR~.HORONO)I J 000000 -> C(PRO.BITNO) I " I I No I J ___ I .--------------->1 t • C (TPR. TRR) -> I I C ( PPR.PRR) -1 +--------> t CCTPR.TSR)->I : C (PPR. PSR) I I C (TPR. CA) -> I LC.(PPR.IC) I I I +----------------------------------->.t I , _ _....yUle~s'_.1 C ( TP R.T RR) ,-tiL_ __ I • \ , = 01 I I I -*--__ I C(SDH.P)->I C(PPR.P) I L I J O->C(PPR.~) _ _---1 I I I +----------------------------->.t I Is thIs an' ,~ I RTCO \ operand '_~1~ J I No • flW. __1 I I • Go to "0· (Figure 8-1k) A.eeE.tiIl Flgute 8-11 REVIEH DRAFT SUBJECT TO CHANGE October, 1975 Complete Appending Unit Operation 8-13 Flowcha~t (con-t.) AL39 :rt: _ _tI __ _ , ~ \ ____1~_' CCTPR.TRR)= I \ ______~t_ C(PPR.PR~)? \ _, \_[,~Q____________ , I ______ -L-_______ _ a J CCPR&.SNR)->I I CCPR7.SNR) I C(OSBR.STACK) II C(TPR.TRR) I -> C(?R7.S~R) _ _ _ _ _--1.I .1-_ I +---------------------------------------->1t J C(TPR.TRR) -> C(PR7.RNR)1 00 ••• 0 -> C(PR7.HORDNO) I 000000 -> C(PR7.BITNO) 1 C(TPR.TRR) -> C(PPR.PRR): C(TPR.TSR) C(TPR.CA ) -> -> C(PPR.PSR)I CCPPR.IC) _ _ _ -1I J t Go to CFigur-e 8-1i) Flgu~e 8-1} REV lEW ORAF T SUBJECT TO CHANGE October, 1975 Complete Appending Unit 6-14 Ope~atlon Flo~cha~t (conete) Al39 "0" J . t 1 \ _ _ ti~1 C (TPR. TRR) >=\--1as. __ _ J \ ______t____ I \ \ _I RSOWH.R1? \ _I 1 I __ _____ ~t 1 \ \ 1 ______ ~_I C(Y)18,20 >=\_y&e_s_________-H~_I C(TPR.TRR»=\ I \ RSOWH.R1? 1 J . \ C{y)18,20? 1 _ _ _.... t___ • I J RSOHH.Rl->1 Yes IC(Y)18,20->1 C(TPR.TRR)1 J CCTPR.TRRJJ ; I J +------------------------------>+-------------->1 t EWl APPEND Figure 8-1k Complete Appending Unit Operation FlowChart (con-t.) :e.: I t 1 ___~N~I a \ RSDWH.Rl? t I \ C(TPR.TRR»=\~ \ _____ 1 J t I \ I \ ______~N~I C(PRn.RNR»=\-1&e_s____________~N~1 C(TPR.TRR»=\ \ RSDWH.Rl)? 1 , C(PRO.RNR)? I \ I t ,___ 1 t I RSDWH.Rl->1 C(TPR.TRR11 Yes C (PRO_ RNfU -> 1 ,C (T P R. T RR ) : . I L +------------------------------->+--------------->1 • E.NU A2.e.£tl.D. FIgure 8-1k R[VIEW Complete Appending Unit OR~FT SU~JECT TO CHANGE October, 1975 8-15 Opl~(Oation rolow.::hH"t (conet.) SECTION IX CACHE STORE OPERATION The Hultics processor may be fttted described in this section. ~ith an optional eache Store. The operatio~ of this Cache Store Is The Cache Store 15 a hlgh speed buffer store located within the Processor that is intended to hold operanjs and/or instructions in expectation of their immediate use. This concept is different 'rom that holding a single operand (such as the Divisor 'or a Divide instruct ion) in the Processor during execut ion of a singte l!lstruct ion. A Cache Store depends on the localitv of Reference Princlpte.· Local!"tv of Reference involves the calcul at ion of the probabll ity. for any value of £1. that the ~ instruction or operan·d ref,erence after a reference to the instruction or operand at location A 15 to location A.a. 0' The calculation of probabilities 'or a set of values~' U reQuires the statistical analysis of large masses of real and Simulated instruction se~uences ~nd data organizations. . It it can be sho~n that the aVerage p-xpected data/instructlo~ acces~ tim. reduction (over the rang_ 1 to is statisticallv significant in co.pari~lon to the "~ed Hain Store acceSs time, the, the Implementation of a Cache Store with block site ~ Hilt contribute a ~lgniflcant ,.prowe_ent. In perfo,.lIIance. The results of such studies for the Hultlcs Processor Mlth a Cache Store a~ described a hit probablltty ranging bet~een SOX and ~5X tdepending On Insfructlon ~lx and data organization) and a peformance improvement ~anglng up t~ 30X. s~ow be.o~ The Cache Store Is implemented as lOftS J&-blt Hords of high speed register storage MUh associated control and content dlrectorv clrcultrv within the Processor. It 15 fully integrated ~lth the norlilal data oath cirCUitry and is vi-tually invisible to' all programming sequences. Paritv Is generated, stored, and checked Just as in Hain Sto-e. The total storage is divided into 512 blocks of 4 word~ each and the blocks ar. orga,lzed lnto 128 "Colu~ns-. of four ~levels" each. REVIEW DRAFT SUBJECT TO CHANGE October, 19.75 9-1 ~) Cache Storell1aln Stote Happing Hain Store Is mapped into the Cache store as desc~lbed 3elow and shown in Figure 9-1. • Hain Store Is divided Into ii blocks of 4 wordS each ar·ranged 1n ascendIng order and numbered with the value of Finat Address bits 15 t~rough 21 of the first word Of. the bloc • All Haln Store blocks with numbers n modulo 128 are grouped associatively !llfh Cache Store Column n. • Each Cache Store Column .at hold any four biocks 01 the . ~ssoclated . set of ~~ln Store blocks. • Each Cach~ Stor~ column has associated with it a four entry directory (one entry for each Lev and a fwo bit "round ro~in~ counter. ParIty is generat~d, stored, and checked on each directory entry. • A Cache Ol~ectory entry consisfs of a fift~en ~lt AodRESS register, a pre-~ett T~G • or L~vel Number register and a level full flag bit. When a Main Store block is roaded into a Cache Sto~e block at some level I" the a;socia~ed Column, the Directory ADDRESS regIster for that Column and Level is loaded with the Final ADdress bits 0 thro~9h 14~ (~evel selection is discussed in Cache Store c6ntroi folloHing.) REVIEW DRAfT SUBJECT TO CHANGE October. 1975 AL39 two bit I I f I I Block Black 0 1 Words Words 0.3 ... 1 ... 1 I I I I Words 8.11 I I Bt ock 129 J 130 Words ( Words 51&',519 I 520.523 _1 I 1 I ... 2 Block I I Block 128 I Words I I 512, S15 I I Block I I Main Store I I I J I I I I li-127 I Block I I -t I I I I t 1 Column 'I 1 0 Level I I Coiumn I 1 level I I level .l ___ - - 1____- L J Cache Store Column I I a 0 I I Level 1 J 1 J 1 ___ ---1. I I I I I Coiumn 0 Level l CoJumr't Column I 0 I I I 2 I Level I 1 I L-.. I 1 I 2 Level I Level •I •I 2 I 2 1 Column a Column I 1 Figure 9-1 I I I I I J Column I I 2 I level I 3 I L- 508.511 Block 255 Words ... I 1 Words Words -8 .... 5 J - ... ~i tt-l i Level 12& 0 12& 12& Level - I . Co luiln 126 •I LeveS I 3 a * Co lunm 1 t 127 Level 0 I I 1 1 I 1 I I I I I I I I I J. I I Column I • --'- I Columr\ I 2 fi , I t I 1 1 I I I Bloek I I Column Hain Store/Cache Store ... I I I J alock I J I I I I I I I I I t I Level a I I 1 __1 -___ I J J Column I I I J I I I I Column J Level I Level 3 J 1.___-----1. _ _ 3_ REVIEW DRAFT SUBJECT TO CHANGE October, 1975 • ... I 1 I I J , 0 Level .1 I J. I I I I I I I I I Words 121 Words I J I I 254 Block I I I t ~ Column 2 I _._1-_ _ _ J --t I 0 ... I 1 1 I I I 1101&.101911020,10231 I 1 I I I __ --1 0 I •I S Block a Block Words 1 I I I I I I I • 504.507 J I I I I Block 12& Words I • •• ••• Block 1-_'_ _ I •I ti-125 ti"'12 & 1 Words I 1 Words 1-512,-509,-506,-5051-504,-5011 J ••• I I I t Column I 127 1 level I 1 . 1 Co1umn I I 1 I 121 Leve' 2 , I I J Column 1 121 Level 3 f I J I Happin~ AL39 For a read operation, the 2~ bit Final Address ~repared by th~ Ap~e~dln9 Unit 1s presented simultaneouslv to the Cache Control and to the Hain store po~t selection circuitry. While port selection is being accomplished, the Ca~he Stor. 1s accessed as 'olloMs. 1~ throUgh 21 a~e • Final Address bits • Final Address bits 0 through l4 are matched assoclatlveiv against the tour Directory ADDRESS reglsters for the seJected COlumn. used to select a Cache Store ColUMn. • It a match occurs fo~ a Level Whose Full fiag Is O~, a htt is signal ted, t~e Haln Store reference cvcle Is cancelled, and the TAG register Is read o~t. • The TAG vdlue and Final Address bit~ Zl and 23 are used to Select the Level and Word in the selected ColuMn and. the Cache Store data Is read out into t~e data clrcuitry. • 1r no hit is Signalled, the Hdin Sfore reference ctc.e proceeds and a Cache Store blOCk load cycle t~ Initiated (See Cache Store Control beloN). For a MrUe operation, the 24 bit final Address prepared by the Appending Unit is presented simultaneously to the Cache Control and to the Hain Store p.o'"t selection cH"cultry. While port selection is being accomplished, the Cache Store I~ accessed as to'to~s. a~e u~ed to select a Cache Stor~ • Final Address bits 15 through Zl • final Addres~ bits 0 through l~ are Matched registers Jor the selected Column. • It a match occurs for a Level Mhose FuJI flag is • The TAG value and Final Addre~s bits 22 and 23 are used to select the Leve' and Word In the selected Column, a Cache Store wri'. cvcle l~ .nabled, and the data is ~~ltten to the Hain store and the Cache Store slmuitaneously. • It no hit Is signalled, the Haln Store assoc1at~vetv ~ererence O~, Cot own. against the four 01rectorv ADDRESS a hit is signalled anj the TAG register is read out. ctcle proc.eds Mith no rurther Cache store action. The Cache Store Is controlled by the state of several bits in the Cache Mode Register (See Section IV. Program Accessible Registers, for a diSCUSSion of the CaChe Hode Register). The Cache Hode Register may be loaded Mlth the load Central ~rocessor Register (LCPR) instruction. . The Cache Store control bits are as follollSI b.11 The lower half of the Cache Store CLeye's 0 and 1) Is disabled and is totally inactive. The lower half of the Cache Store Is active and enabled as per the state of bits 20 an~ 21. 18 REVIEW DRAfT SUB~ECT TO CHANGE Octr ber, 1975 o 1 o 20 1 o 21 1 23 D 1 NOTE' the upper half of the Cache Store CLewets Z a~d 3) Is dlsab_ed and Is totally In~ctlve. the upper halt of the Cache Store 1s active and enabled as D.r .the state bits 20 and 21. 0' The Cache Store (If active) ~ ~ ~sed for Operands and Indirect Words. The Cache Store U f active) is used for Operands and IndIrect Words. The Ca·che store ( l f active) is. rutl ",sed for tnstri,Actlons. The Cache Store Ci' active) is. used for Instructions. The Cache-to-Register mode 11 lUll. ,,, et .ect (See "OuIIPlng t"te Cache Store" foil~~ing 1n th!s Section). The Cache-to-Register mode is. in effect. The Cache Store option furniShes a switch paneillaintenance aid that attac"es to the free edge of the Cache Store Control LogIc Board. The switch panel provides six switches lor manual control of the Cache Stj)-e. four of the sMitcheS inhibit the control functions bits 18 through 21 the Cache Hode and have the effect of forcing the correspondlng '.lnction to be disabled. The fifth switch inhibits the "store-aside- featur~ wherein the Processor Is perllitted to proceed i~mediately after the Cache Store write cycle ~n write operations ~ithout waItIng for a data acknowledgellent frOM Hain Store. (There is no so.tware control corresPOhding this s.lteh). The sixth switch forces the "~nabled" condition on all Cache Store con~rol$wlthout reg~rd to the corr5ponding Cache Hode Re91~ter ~ontrol bit. There &s no Switch corrspondjng to the CaChe-to-Re~lster control bit. 0' 0' Re~1ster Whl(e·the~e switches ar~ intended primarily for Malnt~riance seSSions, they have been 'ound useful in testing thf C~che Store durin~ nor~a' operatlon ahd lnperlttting oDe~atlon of the Processor with the Cach. Stor. In d~~raded or Dartially dlsabied 1I0de. CertaIn data have characteristics suCh that they should never be loaded into the Cache Store. Primary exaMples of such data are hardM~re mallboxes tor the 1/0 MultipleXer, aulk. Store Controller. etc., -status return wordS, and varlou~ dynallic system data base se~ments such as the Systel Seg_ent fable and shared Directorv SeQments. . In general, any data that Is purposely lIodlfied by an agency external to the Process~r , with the intent to convey lnformation to the Processor should never be loaded Into Cache store. Bit 51 of ttle Seg:lent De~crlptor Word is used to reflect this prol)erty ot .0enca::habllHY" tor each segment (See Section V. Addressing -- Se~mentatlon and Paging. for a disctission ot the Se9me~t Descriptor Wordl. If the bit 1s set ON, data 'roni the segllient lIay be loaded Into the Cache Store; If the bit 1$ OFF, they lI.av not. The enc3chabl11tv property may be treated asper.anent (e.go, for hardware lIall~oxes) or dynallic (e.g •• certain shared data baSe~) by the operating system. The op~~ating system sets bit 57 ON or OFF as approl)riate 'or the function to be performed on the segMent. The Cache Store 15 loaded Hith data impllclt.y whenever a Cache Store Block Loa1 is sIgnal led (See t~e discussion ot read operations in "Cache Store Addres~ing~ above In this section). There is no explicit method or instruction to load data Into the Cache Store. REVIEW DRAFT SUBJECT TO CHANGE October, 1915 When a Cache Store Block load is signalled. the Level Is Selected frOM the valut of the Round Robin Counter for the selected Column, and the C~che Store Write function Is e~abled. (The Round Robin Counter contains the number of the least recently load~d Leve'.) When the data arrives frOM Haln Store, It Is written into th. Cache stor~ and e~tered into the data circuitrv_ The Processor proceeds with the e~~cutlon of the instruction requiring the operand 1f appropriate. When the Cache Store Write Is complete. further Address Preparation Is InhIbltej, bit ZZ of the Final Address Is Inverted, and a seeond Hain Store access '01" the other hal f 0' the bloc~ is lIIade. When the second half data arrives from Hain Store, It is wrItten Into the Cache Store, Final Address bits O,through 14 are 'oaded into the ~'r~ctor~AOO~ESS RegiSter. the Level F'ul' flag is set ON, the Round Robin Counter is ad.,anced bV 1, and Address Preparation is permitted to proceed. I f all four Leve,' Full IIags for a Column are set IlN, a ColUMn Full remains ON until one or aore Levels In the Column are ctea~ej. flag 1s also set ON and Cache Sto~e can be tlea~ed In two ways; General Clear a~d Selective Ciesr. The clearing action is the salle in both cases, na,.ely, the F" .. flags the selected Column(sJand/or Level(s) a~e ~et OFF~ 0' GENERAL CLEAR The enUre Cache Store is cleared bv settln;a All Colulln and Level Full flags to OFF In the foiloMin9 s 1 tuat 'onsl • Upper or lower CaChe Stor~ or both beco .. ing enabled by appronrlate bits In the operand a Load Centra' Proce5~·)r Register (LCPR) Instru:tlOn. or by action of tha LOIJie Board 'ree edge swltche1 • E.lCecutlon of 0' a Clear Associative Hemory Seg.ents (::A"S) Instruction wUh. bit 15 of the address field SELECTIVE CLEAR The Cache Store Is cleared selectively as followSI • If a Read-and-Clear operation (LOAC. SINC. etc.) results in a hit on the Cache Stor~ block hit 1s cleared. • of a Clear Associative Memo~v PageS (CAH~) with address bit 15 set ON causes final Address bits Ii through lit to be .. atched against Cache Directory ADDRESS Registers. All Cache Store blocks hit are cleared. Ex~cutlon Cac~e Store, the ..au. When the Cache-to-Register mode 11ag (bit 2~ of the Cacna Hode Register) Is set ON. the Is forced to fetch the operands of all Dou~le Precision Operations Unit Load operations 'ro .. REVIEW O~AFT SUBJECT TO CHANGE October. 1915 AL39 Processo~ 0 the Cache Store. Final Address bits 0 throUgh 14 are ignored. Fina. Add~e~~ bIts 15 throu~~ 21 select a ColUMn, and Final ·address b't~ 22 and 2~ sele~t a levet~ All other operations (e.g., InstructIon Fetches. Sln91e Precision Operands, etc.) are treated norMally. Note that the phrase ·treated normally· as used he~. includeS the ca~e _he-. the Cache St~re In enabled. It the Cache ·Store. 1s enabled, the Wother" op*ratlons wi'l cause ~ormal Block Loads ahd Cacho Store Writes th~s destr~ylng the orginai contents of the Cache' Store. ~ARNlttyl An Indexed pr09~a~ loop inVOlving the LOAQ a~d STAQ Instructions wIth the will serve to du~p any or al' of the CaChe Store. Note I OPERATION CODE HAP lBlT 2' -..JlQ D Cache-to-~egiste ... lIode bit Is reset = d) 0 01 -.D..Ut_1l.Jl.L--1lDJt__ .D...ll.L-1.Il~I_--1l1L-u..1L-..IllZ."':---lI.J..L.__.ll.1L_Il.1.L_-JQiLoj1""'&~1-'0......110.&7_;IHHE JORL I IMMEl IMME3 I IHHE4 I INOP 'PULSllPUlS21 ICIOC I • 020 JADLXOJADLX1IADlX21AOLX3IAOLX~IAdlX5IAOLXoIAOLX71 o£) 0 J..A.Q~ADll_lAJl~Z.-1A1lU-1AD.l!t..J.AlllL1All.XLlAUll_L _ _1Ad.C A o~o aode bIt set ON If a Faul tor PrOgraM Interrupt shou1 d occur during the C!ixecut ion of a Cache Store dUlI\pi~1 loop, the Caehe-t~-~egiSter .ode bit would seriously Inferfere.lth nor.a) addres in the servicing of Such Fault or Inter~upt. Hence, the automaticallV by any Fault or Program Interrupt. APPENIlIX A 000 I Cache~to-Reglster I ilDQC tAOL IlOAC IA)tA IAO~Q IAOlACI IAS)(O IASXl IASX2 IASXJ lASX4 IASX5 IASX£) USX7 lAowPOt4)WP1lAOHPZIAOWPJfAOS tHA IASQ ISSCR. I AHCQJL.Rf.!i.-L_ _ LA:lA-1C1.lAoouQ.............lAwD.&J;A:u.QL-A,' REVIEW DRAFT SUBJECT TO CHANGE Oc'ob~rt 11375 9-7 Al39 100 :CMPXOrCMPXIJCHPX2ICHPX3ICMPX4JCHPX5ICHPX&ICHPX7' ICWL I. IC~PA ICHPQ CHPAQI 120 lSBlXO:SBLXllSBLX2ISBLX3ISBLX4ISBlX5:SBLX&ISBLX7J t I I I IS3LA ISBLQ SBLAQI 140 ISSXO :SSXl ISSX2 ISSX3 ISSX4 ISSXS ISSX6 ISSX7 JAOWP41ADHP5tADH~6IAOWP71S0BR aSiA ISSQ I 160 J.S6XQ Js.aXl ISBR.-1SJlX3 JSB~a.xLisBX6 ISBXl I lS-tCA I SHC.Q-1.I..PRI t JS1A.--1SlHl SBAe J 200 ICNAXOICNAX11CNAX21CNAX31CNAX41CNAXS1CNAxedCNAX71 .IC!oIK IABSA JEPAQ SSZNC JC~AA JCNAQ CHAAQI 220 JLDXO ILOXl ILOX2 'LOX3 :lOX4 ILOX5 IlOX6 :lOX7 ILSAR IR5W SLOBR tRHCH ISZN ILJA ILDQ LOAQ J 240 IORSXOIORSX110RSX210RSX3ioRSX410RSXSIORSX&IORSX7ISPBPOIS~RllISPBP2ISPRt3:SPRI tO~SA SORSQ LSDP I 260 .LQ.RXJL1Q.&XLl.QR!Z.-11l&U--lJlBK.!t-12RX2-1Q.1U6 ; ORX7 11SeJL1IiPl I ISPLI ISP3 .1 IQig.A-"JII..IQ","R~.>jQ~...L.lC.JQR~AI:a.lQIiL-.LI 300 :CANXO:CANX1JCANX2ICANX3ICA~X4JCANX5ICANX&ICANX7IEAHPOJEASPOIEAWP2:EASP2J IClNA JCANQ CANAQ: 320 lLCXO ILCXl ILCX2 IlC)(3 JLCX4 ILC)(S tLCX£) IlCX7 afAHP41EASP41EAWP61EASP61 ILeA ILCQ LeAQ I 340 :ANSXOIANSX11A.NSX2IANSX3:ANSX4iANSX5IANSX6:ANSX71E Pe.~ IEPB?lJEPP2 tEPBP31SrAC IAiSA JANSQ SICP I 3&0 J.ANXQ I Ali.U-l..AHXL1ANX3 I AN~Ll.AtiXLIAN X6 I ANX7 1Ee.e.L1E.e.eps I EPP£) I EPae? I A~la~N~Q___JI.: A;u.N:r. I:A:LliQ........ l 400 I JHPF IHPY J I JCHG. I ," - IUjE I IRSCR I lAOE I I I - 420 J IUFH I 10UFH I IFCHG I 10FCHGIESlN IFLO I IOFLO t SUFA J IOUFA I 440 ISXLO ISXL1 ISXl2 ISXL3 ISXl4 :SXL5 I-5XL6 ISXL7 ISTZ ISPlIC tSCPR 1 ISTT IFSl ISlE JOFST· t 460 J. tE.tfL..' IOFM? I ... J J IfSJR lEla _DESTR_PFR.O; IE!Q J JDEA • . 500 IRPL I I I I Jaco 10IV IOVF I I , IFNEG I IFCKP f 10Fe l 520 IRPl I J I IFOI·. 10tOl I IN::G tCAKS INEGL t IUFS 1 IOUFS I 540 ISPRPOISPRPIJSPRP2JSPRP31SPRP41SPRPSISPRP61SPRP71SBAR ISTBA :STBQ 'SHCH ISTC1 J I ISSDP I 560 .LR POI J 1F 0 V I IllEtlLL J --'---I F NQ f lES,13.--1 _ _......... 1 D.uF....SuB"--Lo1 600 :TlE IINZ ITNC ITRC 11tH IIPL t ITIF aR1CO I I IRCU IIEO n::u lOIS tTOV I 620 IEAXO :EAXl lEAX2 IEAX3 IEAX4 IEAX5 lEAX6 lEAX7 .RET I I IRCCL lLOI IEAA IEAQ ILor I 640 IERS)(OIERSX1:ERSX2JERSX3IER5~4JERSXSIERSX&:ERSX7ISPRI4ISPBP5ISPRI61SPBP71STACQ:E~SA lERSQ ISCU J 660 LERXO lERXl-1ERX2 1(R!3 IERX~~lERX6 IERXt-llS~I~P5 ITSP2-IJSPl JLte&-lE~A--l&E~RQ~-uIE~R~A~Q~1 70n lrsxo lrSXl ITSX2 IlSX3 IISX~ ~TSX5 ITSX6 J1SX7 ITRA I ICALL61 :I5S IXEC 'XED I 720 ILXLO ILXll ILXL2 ILXL3 fLXL4 lLXL5 JLXL6 ILXL7 I IA~S IQRS ILRS I lALS IQLS ILLS I 740 ISIXO ISIX1 ISI)(2 ISIX3 15IX4 JSIXS lSIX6 ISTX7 ISlC2 ISTCA lSTCQ .SREG (SrI ISlA ISIQ fSTAQ I 760 J LPRPQ I L.f.8f.11 LPRP 21 LPg? 31 LP&P41 1..e.ru!llLPRP& ILPRP II J AiL. I aRL JL&L IGTB IA~W.B J LLR I REVIEW DRAFI SUBJECT TO CHANGE October, 1975 9-8 Al39 (BIT OPERATION CODE HAP 60 lCSL 00 I HlR 120 ISCO f 140 . J 160 JHVT 200 I 220 2!t0 I 260 I 300 lttVN ·320 I" I JBTD DO!t ,: JJ1VNE ICHPN • I I 360 I I !tOO 420 440 460 SOD A9BO 520 S960 540 ARAO 560 ..LAAR Q 600 ITRTN 620 I 640 IARNO 660 I NARO 700 I I . I I J 34D 720 I I I 1 006 0111-1111 , I I L---L....----1----L I J I I QQ5 DOl = 0) 111L_..ll6-'-.lIQu lI.1.1_ J I J I I I I J t . • I t J I I I ICSR I: ISZIL1~z.ILICHeB I 1---L _1_·_ _ _ _ _-..a..1_ _...1_____Ja..-_--4I_ _--'-J· J HRl t I J I CHPC I I I I I 1 J I I ,seOR I :SCH lS.Ct1R I. I a I I 1 I I I t I J I I J I i I I I SPTR I I I I 1 ITer J IUlLl I I 1 J LPJR I 1--. t I I IA02D SBZO f I "MP2D IOV20 I t I J I , I ~A03D SB30 1 I I~P30 IOV3D I I tSDR I I J I J I I I J I t JSPBPOIS~Rll SPBP2 SPRI3JSSOR I J ILPTP _&.:OQII,.:IO'---_.a..D.1..---D.AZ_-1U 000 I 020 HiVE 40 I 27 10TB I J 012 013 I. t J t I '014 t _I_ _.... 1 _ _L_-L t I I I IEASpifEAWPi EASP31EAHP31 I J IEASPS,EAWP, EASP71EAWP71 I I IEPBPOIEPPl EPBP21EPP3 • I. If.fBf..UEf!P5 EpaPg J fPPl . I I I 1SPL I I ISAREGI I J IkARfGI IA60D lA,.BD IABO I 'S6BD ;S!teD IsaD I ILeL IAWO ISWD I a I I I J -1----1-_ I I I I JARA31ARA4 JARAS IARA6 IARA7 I I IAARZ..J.AA.ll-lAAR!t...J.AA.~lAA B6 1 AARl.-L-_L_ ITRTF J I aTHOl ITP~l ITTN I a I I I • I I I I I ICAMP J I I I I I ---1_ _...L.'_ _...L. I J I t t l 11 J II I· I I I I I I I I t a J I I I J SPTP Ji.-__~1_____-"'" lARA1 I aA&1 lARA~ J J IARNl I tiA&1 IARNZ JARN3 lARN'+ JARN5 JARN6 rARN7 ISPBP,.IS'RI5ISPBP&ISPRI71 ) I I NARZ I NQR3 J NARLlN!82-1 HARE? J HARl t I ~I_ _•.Io1_ _---...I_ _.....I____Ia.-_--I._ _...... I I I I J I I I I I I J I I J I f I I J I I I I I I I tIl REVIEW DRAFT ~U8~ECT TO CHANGE October 1975 9-9 I ---L_ I .~I_ _........_ _..4t_ _..... I 7'+0 ISARO JSARl ISAR2 ISAR3 ISAR4 tSARS ISAR6 tSAR7 I 760 lLARO 'L.AR.LJJ...ARZ....1LAR~ ILARLlL..!R.L1LAR6 lLARl I I I I I I I f 1 J J I J JSRA I1.RA J I I I I I J J AL39 APP£NOIX B ALPHABETIC OPERATtON CODE lIST This appendIx presents a list of al' Processor instruction operation codes sorted on mnemonic and giving the octal operation code value, the Instructron name, and the functional cate~ory. The function category codes are as followSI FXO BOOL fLTG PREG PRIV MISe EIS TXFR Fixed ,?olnt Boolean Operations FloatIng Point Pointer Register Privileged Hisce.laneous Extended 1nstruction Set Transfer of Control A4BD AGBD A9BD AARO ABO 502 (1) EIS 501 (1) EIS 500(1) EIS SOQ (1) EtS EIS ABSA AD2D AD3D ADA AOAQ 212 (0) 50-3 (1) 202(1) PRIV EtS 222(1) EIS 075(0) 077 (0) FXO FXD AOE AOL AOLA AOLAQ -AOLQ 415(0) FLTG 033(0) 035(0) 03·7« D) 036 (0) FXD AOlXn AOQ AOWPO ADWP1 AOWP2 020 (0) 075 (0) 050 (0) FXD FXO OSl(O} PREG 052(0) PREG 053(0) 150 (0 ) 151(0) 152(0) PREG PR.EG PREG PREG lbJ ( 0) PREG ADl-iP3 ADHP4 ADWP5 ADWP5 AOHP7 REVIEW DRAFT TO CHANGE ~UBJECT bctober, lC375 FXO FXO FXO PREG_ A~d 4-bit Character Disp'acement to AR Add 6-blt Character Displacement to AR Add 9-bit Character Displacement to AR Alphanumeric Descriptor to ARo Add Bit Displacement to AR Absolute Address to A-Register Add Using 2 Decimal Operands Add Using 3 Decimal Operands Add to A-R~glster Add to AQ-~eglster Add to E-Register Add Low to AQ-Reglster Add Logica' to A-Register Add L~gical to AQ-Register A~d Logical to Q-Reglster Add Add Add Add Add Logical to Index Q to Q-Register to Word Number Field 01 PRO to Word Number FIeld of PRl to Word Number Field of PR2 Add Add Add Add Add to Word Number to Word Number to Word Number to Word Number to Word Number Field Field Field Field Field PR3 PR:4 01 PR5 of PR6 of PRl of of AL39 AOXti. AlR AlS ANA 96tH 0) 17S(Ot 735 (OJ FXD AJ11 FXO fXO BOOL BOOl J-~fo)ister to !ndelC H left Rotate Shllt A-ReJ~ster Lelt to A-R~gister AND ANO to ANAQ 375' Ot 311(0) ANQ 37£)( Q) ANSA 35510) 3S6( 0) 800l AND to AND to ANO to 3ltn (D) 36nCO) BOOL BaaL AND to Sto~age fro. Index Q AND to Index Q 05"(0) 54n( 1) 711 t 0 J 64n(1) 131 (0) FXD EIS F'XD EIS FXD Add One to storage ARo to AI~h3numeric Oescrlptor A~ReglsterRi~ht Ldgtca' ShIft ARn to Numeric Descriptor A-Register Right Shift ASA ASQ 055 (0) FXO 05& (0) ASXO AweA AWCQ altulO) 071 (0) 072(0) FXO FltO fXD FXD AWD S0711) 505(0) EIS BCD 8TD ANSa ANSlCQ ANXn AOS ARA!). ARl ARNa A~S CALL& CAMP CAHS CAHA CANAQ CANQ CAHXn CIOC eHG CHK CHPA CHPAQ CHPB CHPC CMPN CHPQ CHPX.o aOOL BOOL MISC 301' 1) 713 CO) 532 C1) EIS 532 (0) 315 (U) 311 CO) 316 (0) 30n( 0) 01S UI' 40$ COJ 211 (0) liSt in 111 (0) 066(1) 101) (1) 303(1) 11& (0) 10n( 0) AQ-Reglste~ Q-Reglste~ Sto~age from A-Register Sfo~age fro~ Q-R~gl~te~ Add Add Add Add Stored to A-Register Stored to Q·Reglster Stored to lri~eK n With Carr, to A-Register Add Wl th Carry to Q-Re.gls fer Add Word DisplaceMent to Binarv-to-BCD At TXFR Binarv-to-Oecl •• ' . Call PRIV Clear Assoclatlve PRJ: V C'e~ Associ.ttve Memory Se,lIents Co.paratl~e AND ~lth A-Register COMparative AND III1,th ~~R.glster Co.paratlv. AND wI th Q"'R.~ist.r BOOl ·BOOL BOOL BOOL Hemory CO·ilParatlve AND Mlth t",de. D PRlv connec;t FXO FXD FXO COMpare "agnlt~d. COllpare !'tasked Co",t)8r~ 'If ith A-Register Compare "lth AQ-~.91st~r FXD EIS EIS EIS FXO F'XO Pages Compar~ Compare Compare Compare Compare Bit Strings Alphano •• rlc Character Strings NUlleric w:i ttl with Q-Reglster Index n NOt III1th A~Re91$ter Not wIth AQ-Register 215« 0) BOOl CNAQ 217 (0 J 216' 0) BOOl BOOL CNAXo 2DntO) 800l CSl 060 (1) EIS CSR C.Wl DI)Ut1) 111(0) EIS F)(O OFAD '+17(0) FLTG Combin& Blt Strln~$ Right Co~pare With Limits OoubltPrec:lsion f:loatlng Add OFCHG DFCHP 421(0)> 511eO) FlTG FlTG Double P~e.els!on Floating Compare Double PrecIsion floating Compare OFOt OfDV OFlD DfHP OFRD 521' 0) 4&3(U FLTG FLTG FlTG FLTG '+73(0) FLTG Double DOUble Double Double Ooub'e CNAA CNAAQ 5&7 (0) 433 CO) ComparatIve Comparatlve Comparative Comparative Q-Reglste,. NOT .lth Ind.~ n Combine Sit Strings left NOr wIth Precision Precision Precision precision PrecIsion 1'1 a g." 1 tude Floating Divide In\le,..ted Floating Divide F"loatlng Load FloatIng Mu It ipl y Floating ~ound REVIEW ORAfT SUBJECT TO CHANGE October t 1975 Ai.,39 DFSB OFST OFSTR DIS DIV 577( 0) 457(0) '+72(0) 61& (0) 50&(0) FLTG FLTG FLTG PRIV FlTG Double PrecIsion Floating Subtract DoubJe Precision Floating Store Double Precision Floating Store Rounded Delav Until Interrupt Signal Divide Integer ORL DT8 OUFA OUFM DUFS 002' D) rousc 305 (1) 437(0) ItZJ «0) 537(0) EIS FlTG FlTG FLTG Dera 11 Declmal-to-BInary Convert Double Precision Unnormalized Floating Add Double Precision unnormalized Floating Multiply Double Precision Unn~rmal ized Floating Subtract DV20 DV30 OVF EAA EAQ l07( U EIS 227(1) 507(0) E3S (0) 63&« 0) EIS FXO FXO FXO Divide Using 2 Decimal Operands DIvide Using 3 Decimal operands DivIde Fraction Effective Address to A-Register Effective Address to Q-Register 311 ( 0) 310(t) Effective Effective Effective Effective Effective Effective Address to Segment Numbe~ Field of PR5 E1fectLve 4jdress to Segment Numbe- Fie' EASPD EASP1 EASP2 EASPJ EASP4 313 (0) 3."51' 0) PREG PREG PREG PREG PREG EASP5 EASP6 J30( U 3.33(0) PREG PREG ~12« 1) B-3 Address Address Address Address Address to to to to to Segment Segment Segment Segment Segment Numbe~ Numbe~ Numbe~ Numbe~ Numbe~ Field Field Field Field Field of PRO of pR1 of PR2 of PR3 of PR4 The Other Computer Company: Hone)'"'ell HONEYWELL INFORMATION SYSTEMS
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Modify Date : 2014:11:12 21:11:07-08:00 Create Date : 2014:11:12 21:11:07-08:00 Metadata Date : 2014:11:12 21:11:07-08:00 Format : application/pdf Document ID : uuid:0cb6d306-86cd-184e-b754-78e1ac7c5a77 Instance ID : uuid:3567d8f9-ed9e-6c4b-9086-c3f37f94b700 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 405EXIF Metadata provided by EXIF.tools