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 PDF.
Page Count: 405

DownloadAL39-0_MULTICS_Processor_Manual__Oct75 AL39-0 MULTICS Processor Manual  Oct75
Open PDF In BrowserView 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, 1
RPO) 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 TRACI'. 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                      : 405
EXIF Metadata provided by EXIF.tools

Navigation menu