MU5_Basic_Programming_Manual_Jul75 MU5 Basic Programming Manual Jul75
MU5_Basic_Programming_Manual_Jul75 MU5_Basic_Programming_Manual_Jul75
User Manual: MU5_Basic_Programming_Manual_Jul75
Open the PDF directly: View PDF
.
Page Count: 150
| Download | |
| Open PDF In Browser | View PDF |
m;rVEl\SI'".['Y
CHi' ~1.Al~CI-mSTEH.
DEPART11EN-T OF CQSrpU'I'ER SCIENCE
'I
MUS BASIC PROGRJ.].'iMING MAl-mAL
l
l
~
J
J
Jli1Y I975
• J
n
LI
n
Li
n
LJ
n
n
L,
"-I
r-l
11
LJ
n
~J
l_
I
I
eJ
CC:;TENTS
I
j
C'"dAF'I'ER
J
•
.l.
Introduction
CH.4..L'">l'ER 2
CHAl":l-l'ER 3
CHAPTER
-.-A
T119
B-l~ri thrnetic
Accumulato:;.~
Arithmetic
CIIAP1'ER j'"
CHAPTER 6
CEi\. P'l'ER
7
?ne Interrupt System
CHAFfER
8
Tho V Sto:te
CHAPTER
9
CI{AFfER 10
LJ
"
LI
l
"
Tho Basic
progr~~~ing
Language - XPL
II
L .!
II
LI
II
,c
'
I
n
LJ
II
LJ
n
,
j
~
I
il
LJ
LJ
L
j
~J
'--I
:
;
- l
cc:rll:)u-:':sticnal oz'de:.:s
~l
l.-)
111
f
4
I
9
'~
Th0 c:!.' bi ts def::!.;'''.!0 on0 of four types of ari tt:mEltic; ...
sigl".lod fh:od-point
docimul
float:tng-point
-
,
i7h1.10 "tho unsig;ned
ii:i:od-poi:nt~
d0fino tho opol'a'1:io1'l. to be peri'o!:med s. no N defines the opera:i.'ld
Co~npuJ.;~t:i.ono.l orders al~O of the single address type (eog O ?
A :::.: op0:;''':::','ld p A + opol"a."ld) 0
- l
0
The B-orders operate on t110 modifier register Eo
Tl1ey have
the i'ormat:-
f
1001!
4rrhe functions pl'cvidecl
9
cO:i:.~r0spond
,
J
to those 'I.'7hich operate on X but
the division ordo:\.·s are not implel'.:ented in MUS 0
is convenient to think of the instruction as being divided in the
L )
sarile way:-
II
10111 d I
f
'I
9
4
'- J
Howove:;."': the
tVJO
values of d give a
tot~l
of 32 possible functions;
some of theso ere used ior'mm1ipulating registers in tho s0cond&ry
operand unit,'which is closely associated vith all store-to-stOI'e
operations.
In
th:i.l~;:
orgro~isational
tho
orders, the instruction is divided
..
L i
000
6
3
The
Cl'"
bi tn
:;,·eg;is'~o:c.·
~l~!()
arG
7
zeTo, and tho 6 f ~ bits define both the orgo.l1isations.l
and the opel'atiml
r>l;!:'.inly cOl1.comod with
'\;0
be performed 0
cont~'ol
Tne organisation2.1 orders
transfers and
th~
manipulation of
llJ'I. 0pGrz1.d is spocifi0d by N (or N'), ~.nd is independent of
!'I.lr!ction.
:l
'n::-;.l"r.n 9) 9
f~"J. opol1~nd
01'
the
L !
mo.y be c. l:i:t~n.·alg a 'na.'11ed operand? (more siraply:
a sOCOndE'!.l'Y
operQx~d;
the various intel'nal :t'sgistel's (X,
. I
L
J
S1..1iiWuary of th.e (b?der Code
This section SUlilills,:rizes the oV0rall patt0Z'u of ·;::1'1e oras:>:>
L.J
co~eo
The detail is given in Inter sections
func·cions in MUS differ fl'om general
fOJ.."1l1.
~l
u
Chapter
registGJ..~
3
4
5
6
Accillilul::>.. tors
st;;;-ucture
Accessing an.d Store to
S-CO:;"S
Ol'c\ers
Grganisational Orders
:2
!
Literals
203
Variables
204
Internal Register
Gp0r~lds
205
2,,6
·1
Pr:l. vileged Opert;'!lds
207
Secondary Operands
2 a8
Descriptor Types 0 -
2011 - 20 1 4
3
3
i3, BOD
..
.d.
'
XD, DOD, DT,
EN
-,
X~f
Some
overleaf 0 which should
ReIerences
B
shcvn bslowo
03
Cor:lptltc.. i:icnal
.~
n
L
In
V32
vS.::!.,
S[l1]
S[B]
S[O]
n is G-bi t Si~!1.0c1 int0gel'"
n defines internal re3:istor, P /T' 1)0. ->
Gper8,nc1 is accessed c1il"'ectly at
(W3) + ul1signec1 11.; n is sca.led for V32
Gperand is accessed 'via ~i.
descriptor at (NS) + 11, using
B or 0 o.s a."'l index
Ie (Extended Operand) P.T.O. ->
!
I:
L \
11
l J
,\
L
J
l _I
()l"'(1e:r s
--
1311. 'l
l
Nl v
r
1
L{DOnot0 test r08tllt by T (= 0 for :t·rC), := 1 for ygG)
rfl10 OP01"a,.'>"}.(1 specifies the way in which mr is 30 t.
0
--------_.-----_._-----------_
... _--mr == 0
1 rm ;:\ T
1 TIN / ':\'1'
! SN = '1'
D•() .'7, tl./2
.
L
J
L !
10
r ~s i iT:3
! :t.
i
:::IT.\~
'--:--------~---I?
I SIT I F~5
!,lJ
i L!.
t
I
I
M
!~
!
------Si?
SIT
I31,[
---
,-------
i61'
--:-------lZ-J
_____________.____________
1 ~.() I
D
---------~~
i :1~! i
}~J)
11RI
fT.:----~~--------~-----------! 1.9~1___________7-------:C-T-)1-'----.
i 2.oi
Df_;i)
121i
12~~ I
<---------GL~.--------->
i 11~ l-~'
t.J.~~~
!
! Q/.~ I
TIel)
,J_ _ _ _ _ _ _ _ __
I
-:--.-,-,
~:?:
1' ... _,.:./
• ","",-<....:'' - - - ' - - -
,-J
il'?L____.
1-:>.11 _ _ _ __
1• ,),1.
,:,~ 1
L
:-~'....o.
1:::-;·..,.'---_·
. ,j.i;
__
~
IjlL____
_ __
)71
1·';-",,--:-.----------.
10
-', l
..:.,::.:..----------------
i !tl!______ _
!
.~~-----------------------
!?0i
21 -----------------_.
i5
l ~i3_·1___ .___.____
! .5 :-!
---------------------L
____________
j5~l
--OJ
j 3..J_l.. I
Ik' In 7 I
l.-l
1
,-_J
I
-1
i..J
I
~
/
1- 1
." == 0
le' == 1
r
I1
== 0
[ n, =
1
I n' == 2
r ,
LI'l'lI!RP.. L
Q
!-
11
I
r
n'
I
1, v :::: "
:J
,.-
l
r!..
==
-.J
= / .-
If,-bit
siZt:.Gc:
3~;~bit
oS :i.En8~l
,.. - t)J.
' >G
u!:.
0Ll,...·bit
lS-iJi \:
1l:13 i~1·3(~
3::~-bi t
un::3 i2::'.. e(~.
11'
=: \)
6L1_-bit
l
,...
o-
=:
7
0.5.-021:
c' , - .
j
rrhe
11'3::-::t
scale(~
8..n~~.
:lO 1)i t.J
(if
to "'cho
t"!..('(10<~
8)"0
P.0C9:3:3E:..;'-':I)
~Jf~.::;Q
un3 tac1\:s op,8r:a,.,.""1("i
'~SGS
Cl.~~..~re:!:::.t
ctoSC:;:-ipt01.' in D':
instead of
U
rl0\Y
fa ·'
l02~in~
on. o - vali(:
~- 1
.1.:''\,
,ope:L~X!.Ct
-
.-
I
!,'0'9
c'
..)')
r:::
U
fro!l1 (172)
opel'and :i).:'o!:'!. (::7'::3)
I O:~1 ---l
~,- , i -:----.
:.... f ..1 i Si .. 4
}
.:.: -::.':. (::: t~..~
i . 10 ;
i,; ~ o~i
~:: ~
.
1
I
O~ !~
~
~
1
_~
•
0
. -I
~==.
j
~Iol
1H~Gl
•
0
1. .
•
:>:5
'1
i2'Ti;"E4J.!.51·
=-'" .:::'!"=,{ :'-"'I-~
'~I
0f7J
o r-r?]
f
i7.;:.Cll;::
I
1
I
.';DC
t
~
1.Ft
1
l
"
ID.::=,
'"lr:
. 1/
!'
I SLGC.
:!:.__
~I
J
SM'J'!El .1l8&·SVB
t -S~:l~
f.
.
r--~--J--;'--l=- 1--===[~==~=-~=I7~
f 0
t
'1
I 0
1 'i
I
r;
t:,~~"~"~;=~:~"~~r~"~~x:i~;7:"':~~'-"~'~'~~1:i:"i:;:'j r·'·~~~·~.~1·1~~~:;~'~:··-~r.·
i
V.
SMVF
CD >lei
Q)
j
DUMMyl sse",
sc
".F I
•
SUBi
A
i=
&
,.
i
f>Ct..,· .
A~'
·loUni'.-W
AB·
Ic~gp-i-, e'
I
BITS
OJ
XC4.
I .xc 5
XNB'~'
.SF =
NO
~
I-
= '. I
..
X N B -]-
'.'-
NB::::SF-l--
I
. SET LI N l(
I'
X N B=>
~
.
•
.
Bn_2.X ._. ---~~-~~-.~
~X
.
~n_
X_._.
I
Bn v
:x
11l~1i;X
.
.a.~
).
~::~:
x .:.
'--.
Bn v
.
x.·.
_~_~':'_'_
j
s ••
note 3
f" BlTS
·B
~"¢l;.~~~n"':.~~~-:::-~~~o..7.:mz.~~:
x
Snv
1.' .' .
.'
. J Bn·&~~t
aX
ACC
:E,..·..~.:.~.::::.z;;::~r....s=.:.t~~'!:c."",..i] .... ~":'..~..'::;~~r=-..
AEX
B
BOD
t·ll~
•
I
I;A & X
.
DR
I·
I ,~ 11t1
STACK_:!
SF +
.,
>tOR
fiN
SN:=.
. -t-See M U5 :l3asic 'Programmlng t-,,1anUClI
[=~-,....:~- ~~_?!~~,,==-,=>_~J
t . ~C 6
M S : : : · : . Dl=_..
B.
AEX
.~ ·SUB2., .~ CD lD'uMtJl~:t~urvH'w~Y
,-. ){Ci---r-XC2-- ~C3--'
0
ICOMp'!'.
C~P=
_
;.
4U;V~}AY
I DU1/lMY
tD
(
. JI
I RETUi1N
xco
~o
_ o
~o
{\:.~ JA'i'CfRC .I,
td'.-
Sf~ r~
I
A
.JU~.-iP
t .:., .::: u
.....:1
DUM1-.IY! A V
'i' LO~
I SN J N B
-
~ ~
',:1
;:;"'Z~~DUN'''l' IUllPAC".1 CQ.N~_A
XNB
'1
DUMMY! A
v.
COMp . ACOM?
A'E.X ••. v
Ms-~~o~JI..
ITI
.
1
i
DUM:MY. DUM}JYt"
.'·&tAm::f}i" A
~ ifA~~DUMM¥1 -e
COM!"·I
DUM1..,~'" t~
A X.
'1'·* . JA ~
BlLGC
,~.... i~.·:;"n'l ~~\'~V£;·
°l~
f'~I-Q
I
;
AU
.J~~.i=l
lI'j'l!l; :.~ .~" .\" 1i)1Ln~;rJ""I~~~E;;:=' ~ =i:,~~~:
. ' If
1
:10
. : !
I,SUOD.I ~~~~D.
'1 :\!~.'jOl!) , IP.l~!!-oD , .. 1.
;~
.
~ k l ' GJ
t
il
~ iO~!
m_
~:[il
':t J0
1DO
-}-
~I
i
Slrs.f/Jj
~
.}:>::=.-.1 jl.OD~=1 k£~~=' ~ ~~
I
i :::;> . r~~fi}l:::::;>.·· ~~ ~::~ I ';"OD=?:'"t ;-:.1:;:1::-"> 1 -> i .'
~ ~[lJ:£I;:::: t [;;R -:-' ',-::1- l.fo. -!- I· tm;...J}.§Y ~ +1
I
J ;:Ci-3X- ~ .i.'~':llf_H! ,'1. "~ A - '. DUM}':':)" I. - J '.
1
·.·IIFW~
., '1
0H
I~~'~~:"~="~~l-;~;;~~~f~~;;';~~-:~"~~~"-"~~j'~:\'OD=~'rr:~;?~~;~~~ f "'"~~1~~1
J ={--:l1J iJ:D = II1I ID ==
~..
0 }-...~
10 ~
2 l~·-~
%
~
IS
~
OJQ
BOD
=
DT
XDT
~--·DOD
I--
•
I
z
NOTE:
I. -;:.,-. If TEST
E>nif TEST
(to given by operand)
3. S e:t Sn
'.
( X I.s. bi to'; ope.rand)
2. Set
\-_._------
-r-"-"I
=
Iiti.m
,
4.1.7,~
R.N.!.
_ . J.. ,'-MUS
..
>~
d··
INSTRUCTION SFT- FUNCTIOI\!'~ Af'''-lD -'NTEHNAL REGISTEHS
-.,-~'--'
.
,:r~~c
J-~~,
j~'~!
....... -
.
,i'-'~~~' ',r-·~~r~'
....
x·,~-c· "r~~~
.,
'.r~~~I=""'·::r-··-·C'·~·-r·~·-~·'·
J
1
,.J
,.
L
1
..J
~
o
C--c;
~
2
3
4
5
6
7
9
[J
10
r---f-----r-.--',--.~--]
13
~ of
;l-UN
4---
r----·-~·;_:--.;(~T----I(;--~~·;;)"-··~;~{;. .s~F--._....._-
..··'.. ··· ....i·6·bi·t·'!:.i~,:~; ...... - -,
___ LI - _ · - : - .. · .. · .. ·--- .. -· .. · ....· __ .... ·· .. ·1
~Gbhi·lo".(:
.~ __. . . _.J____.__. . . ._
.._......... , , . . . . . _.. ,,_.,. . . .1
. .i' r
~ J.'.".I'~t_'!'''': .. __ .. 1
JO~
.
D
.j
°l ___ ___ .
1-':1-'
~ '1---- x;~~ --.+~:~'.I ~'::::·::.-;,I
" 0 ill-----o--···--'r-\:;:--C.:l·· . ··«;:;·,:.U·. '. "'1
" -;tor---~-~-=I~~=~---_._·j
L....J.-Jl.!.NL:~_._...Jw_!2.~_:?__ ... ~: ..... "..
lf~-'--'--<----
.----_. ",. _......-.....................,... ".' .
»
--\
j
.......
c","
j
- .....
" - - .•','.- ' • • ' .
''''.0
"
. . . . . . . .'
-o··T~·II~~I~~~i;-;i:~;:i- -,
•
'.
1
: •• ;' '"
.1
•
I
~.--- .-_._1_. -_.....- . -_........ --.-. ,... , 'I
J_~J(b .~_I~i.~-_:~~i~~.~ ......... -... '" .1
"I 0 I~.! ~~_~!.:_ ~I~_~,.i_~:,,:~ d ................ ,
!
.,.,".
__
1',132
I "
bit lIi\:.i'::I:·.,~
!
L~ ,~~=j-¢·r6~~.~~-t·.·;;I;:;-i:~;\':_~:.,o '" __ ......
..
•
,;
',4
, "j- "
~ J
f~
I
, " ~~ .... .i
~ '-l'---I--·'I-'--:-';:.-::-:-;--·--· -:'.:;';~;;-""" .....
"'<>H3 14 15 L1 fc,,/'\L
I ,"~
"
15
C·\11-(-n
A r 11-', ., •
! .... .........
"
,.1 '.' I'\~ \ '''',
_i ...... : .. .-- I \ .-,. . '.
.--.
C·j !', ...
"_ ... t ..-
'i/~
•
o
__._._. '__".".'.
9 '10 1')12 13
.1"
,
'·j-t~rol--·-·~.··-·-~;-(i;l;··~{if-·-·-·--l
I-~\-'~
I Ace LOGiCAL
__ .~J__.__._________t
2
•
t.
0
l '.
.0
.
1
E
_ _.. ___ • __ • _ _ _
;,,;;
c
=-"··;t:~·=i;·~;;·· .'-. :.
·11
.____..__._ _ _ _ _1
o
U'.;
........_ . _ . - . - - - - - _ .-
Vo-r
1'--1
L
r:) gc '---'--1
.l
.
.
c~OI(~lliL::rul
I
;'
!......-."-..... <-... -".~
0"-- ';-1"
32 ..-.---- "'( I:; .~'1~:'- [;~, y.-... 1-',
1
' -;--v ;~ h;:;-:;--;,;,-,;.)-----I
l ' : -.
'
I
L
r:-·-FZ.T~1:·"-;2 r--~! D
____ '_H....
B
.
L_i0 _J
f
1.~
.
.~~L~,.Ir.·~:j,:;=~;;;,~~~:::~~~~=,~·1·
.
,', 1:;
~
1-
t.
fj'. :'--1--"--'-'"
r.r-;f;~;---I
.. : (,
if
--j
'-L -- --:j._-- ~-.-.-
. --------..-~
,
i:::
~2
L
.-.~--------------_-.<.I
t
.. ,.J
.~~.--
., Ir
~l
f!
. .1 . ..:)
.O .I
1_
'-
l\! I
n
Descl.·iptor Formats
--------
T' SF) must not bo accessed
this \'lr:,y J into:.':'!'upt :t'outL'l:;)S use the area in front of SF as working
The stack is designed both to provide temporary 'working spaco
'i-'n';
,."
\ '!-\
.-'-v
-",.
p.,.oc"'du...·
'"
GO
...
'"
1b
Q
(
~, Q: o.•
.....
"' __
fu-·.... ".0va_'U:~;c:tne:
1
. •
• • '!... " .
. ):
arl,'c.u"l1Gi:J,C
G:>:prGssJ.ons
a':l:'::.d
, ....
6 L,fJ c
e1so the space required for procedu:ra calls (se0 Section
Certain
Q
I
orders II e og. 0 S'fACK B, Cause an operand to be staal.ad - SF is advanced
by Z (3:z'-bit) words and thG opera:t,d is stored at the 64-bit wm,'c} specified
by the new value of SFo
'1'heso operands may be ul'lstackaa by specifying the
S'l'ACK as the operand part of an order,
A = STACK - the 64-bit
Gog'",
word at SF is loaded on to the highvh'l.Y ~ end SF is docreased by 20
that all unstacked opol'a.1.cis al~G :;l,t1cumed
be
-;';0
64
0
2 and
6
0
Not0
bits long ..
Ordors which alter SF ere described in Sections
6
L
4Q4p
3~2v
30
6.1-bit
'(;'ord 2.ddross !ol
,
15
1
'1'he Extra Neme Be,se Register }1ffi
The 0xtra name base ;r-sg:1.s ter ~ XNB i is
,
32
hi ts lcmg 0
Bits 2 - 30
hold the address of e 64-bit ,vora 2.L"lywhel"e in the virtual stol~e; bits 0$
""'ay aG NB s;nd SF p except that th2> operand is in the segment defined by
tha 'cop half of XNB (instead of SN)
must not oV0:rflow out of this
J~13
Q
Note thet the addi tiOJl of tho ne,llle
segme:!1t~
or there will be an. interrupt.
is designed to be a base register for non-local
n~ue8
used
C.
ir!
to:.
m~1.n:y
p:C'oc0dul'e, and will often cna..'1.ge its value in e
procedul~e
pzoogl"ams, the top half of
)a~B
vrill be zero (like SN).
which alter XJ."\ffi
~r~
describod in Section
0:;-d01'6
6
0
0
I
In
20
,',
1001
2
s e R;··n;':;,r.~ t
!
6.!\t~-oi t
\"'!ord
rl . ,
14
J..;)
').'11e data descriptor l'egist01'~ D~ is
the
deScl~iptors
64 bits
l'equil'ed for accessing data
an ordor which accesses a ds::ta
stl~uctul'$,
address 101
:1.
lone~ a..'lld is uS0d to hold
structm.'es
0
The operand part of
e-p;:;;cifies a descriptor and a modifier"
'rho deSCl'iptor is loaded into D £u1d then. combined with the rnodifier 'co define
'~ho
siza bnd address of the particular structm:'e"',element Z'equired"
D'atails of the descriptor types and the mechanism for accessing
~J0condary operands are given in Section,s 2
0
8 and 2,,11 - 2Q14G
D also plcys a major part in the ope:z.'ation of tho store-to-s-coZ'e
ol'dol'S
0
1)
in Che..pter
nllllAipulation orders
5.
t".:i.'0
1"',
d,escribed, with the store-to-store orders,
I'"
A literal
opor~,d
appears directly as part of the ordor; if e
I i tal.~al is specified as the operl",.nd part of a e;tore order ~ there \'lill
-l
be
~.h
interrupt 4
There are several alternativ0s:6-hit
(a)
si~1ed
(b)
16-bit unsig;nsd
(c)
16-bit
sig-ned
(d)
3~-bit
unsig.,.ed
(e)
32 - bit
signed
(f)
64-bit
The li tora-Is are copied to ti10 laast 3i§:,'7l.iiica.:;'lt end of the highway"
Tho
rsmaining bits of the higl1way a:;."o$ set to zeres fer unsigned Ii -Corals a.'1.d
to copies of the sign bit fo:.' signed l i tel.'als "
The precise fm,'mat of
Let L1 denote
:wt 1.2 denote
L3
wt 14
L9t
denote
bits to be loaded to highway bits
Ol'dGl'B
__ J
-,
0
16
to high<7ay bits 32
bits to be loaded to highw&..y bits
bits to be loaded
appear as follow8:-
Icr!f lk I
32-bit litel'als
6.6.-bit
literals
,
containing Ii torals is unehpected
denote 16 hits to 03 loaded to highway bits
Then the
16-bi t I i to!'als
16
16
16
Ol'cioI'S
lerl:!: lk I
0
40
150
31
0
4-7 •
630
1)
Variable Operands
v64;
There are two kinds of variable, V32 anel
bi ts &"1(1
64
bits respectively.
The operand part of the order spec:i.fies
the kin,
NB ;,:;>, SF ;;:;>, SETLINK.
Nota that the organisational cOIll1nands, input/output and CTL use
W01~c1S,
hi t
in the nama segment.
Thus when running under the operating system 32-
\'IOl'ds:-
o
15
should not be used when writing in XPL
o
96
Should not be used when using the Autocode machine o
"
In terTIal Regis ter
LJ
G'Per~. Xlds
.d"."1Y internal :;:,'egister may be specified as ths operand for a fetch
order; a stol'e order i:1ay v/rite to most internal registers» except '.:hose
LJ
within the primary opel'and unit, i.e o , MS g HB, C0 9 }GrB, SN, SFp
BH~
A table listing all the :t'egistel's or combinations of registers that
c~m
OS accessod in this way is given in section 102; note that only co,l1plete
u
lines may be accessed s for example, SF cannot be read by itself but
only in combination with SNo
Internal register
oper~~ds m~y
only be used with computational
end s tore to s tore orders, not with ol'ga.'"'lisa tional ord.ers.
L.J
The Internal Register Z is a dummy opere.nd. which is
'l;v.l.~itten
to as a means of suppressing overlap until the order is comp1etee
-1
L
J
LJ
L~
'-,
1
L~
L ..J'
"
,.
.'
'_ I
'I
L
2.6
,Stackad Oparands
When the operand part of the order speoifies
I
r,
STACK,th~
64...bit
word' at SF is loaded on to the highway and thEm SF is deorea.sed by 20
I,
Note that all operands c()ming from STACK are 64 bits lOl'a&;; this doas
l )
not mean tha.t only 64-bit opora.nds may be sant to the stack - shorter
operands will be extended by zeros on the way.
L J
[A store order specj.fying STAC!;': will store the, operand at SF
and then decrease SF by 2.
allowed] •
This is 'not a sensible order, but is
"
L
I
n
n
lJ
L
j
L
!
l
)
L )
,
'
1- )
L ,
l
)
-
Privileged
--
-----------------------
Op0re~ds
privileged operands are used by executiV0 to hold system control
informatiollo
c..J
They can only be s.ccosssd in 0:tscutiv0 mode and are of no
interest to the ordinary programmer.
Access can be made in
~vo
wayso
In the first case, a bass rogister
a.."ld a nalne aloe specified as for a. variable operand; the size is always 64
bits, and the address is calculated exactly as for a v64 variable.
However?
access is made not to tho virtual store of the program but to the local
v-store (i 6 e. U the addr0ss is interpreted as a local V-store address)o
In the second ca.6e 9 the Opel'2Jld part of th0 order is srrACK v the actiOl'l is
exactly the
-,
S8~e
as for other stacked
as a 64-bit word address in th3 local
opere~de,
but SF is now interpreted
V~st9reo
(The local v-store is
described in Chapter 8)0
~,
-'
.'
'-'I
.,
LJ
-~,
LJ
L .J
Lj
~l
L.J
L-)
2 .. 8 .. 1
2.8
Secondary Operands
~-
For a secondary opsr,e.nd, the ops:t'and part of the order specifies
a 64-bit descriptor and a modifier..
)
I:
Normally, the descriptor specifies
Lj'
the type and origin (i.s o , starting address) of the data structure
containing the secondary
operand~
particular operand is required o
and the modifier defines which
For example, if A is a descriptor
specifying a vector of 32-bit elements p then the orders
X
= ACS]
t
fS
= 25;
I:
would load the 25th element (counting from zel o) of A
'-
I
L
j
4
into the fixed-point accumulatoro
Descriptors can define vectors or strings of elenlents of va:l.'ious
sizes; miscellaneous special types are also provided o
The different types
I:
of descriptor are defined in sections 2 .. 1i - 2.140
L
}
i~
;
A descriptor may be specified in the same way as a variable or
"d!ta~ked
operand; it is a.lways 64 bits long, and is loaded into the D
register. Alternatively, the operand part of tho order may specify tha.t
II
the descriptor is already in D; this avoids unnecessary loading of D
if the same descriptor is
u~Gd
for consecutive aecondary oparro.ds o
The modifiel" used is normally I3 or 0 (1.0 4 , no mOdifier) 0
there are special functions (see Chapter
5)
HClwevm.',
{ 1
which allow any opera.nd to be
used as a modifier and also cause a special type of modification o
I
J
l
J
l
)
All
modifiers are interpreted as signed 32-bit fixed-point integers o
When access is made via certain types of descriptor (eog., vectors)
it is possible to check automatically that the modifier (if any) lias in the
range 0 ~ modifier < bound. The bound is held in bits 8-31 of the descl"iptol"Q
A
seconda~y
operand may not be used in conjinctton with the
following functions, D
=>~
XD
=>, nqs =>, NB =>, SF =>, SET LINK
0
rl
l
I
"
i I
"
{
J
.T.r:l11gth of .tho Ol'dOl'S
M ordOl' may bo 16, 32,
O~· 80 b:i,'O;G; lOl'1g.
48
Xi: \'till bo 16 bi ts
long whon: 80 bits
-
~
s~oond~y; b~so ~G~ista~
lo~g~
So
Ii\ g~ ..b:l.t
64...bJ. t U tG:r~l
j
l:i.torai e,."1.d will
In Q.ll other casas,
2.10,,1
r--;I
L i
'ripe 0 - VectOl' D88criptm.'s
Type 0 descriptors are used for vectors of elements of size Ip
4, 8, 16~ 32 or 64 bits.. The descriptor defines the origin of the vector,
the' element size, and
upper bound fm.' the modifier (ioe", the 11umber
aT!
of elements in the vector)..
IT/SIZE!
23
1
The format is:-
lustBC!
1 1
BOU1''ID
L
J
ORIGIN' IN BYTES
32
I'
T = 0
Defines type 0 ..
SIZE
Defines the element
(Coded as follows:011 ::.::
11 0
us
8 bitr;;
S:i.ze
as 111 4~
000::.:: 1 bit;
100 ::.:: 16 bits;
8:>
16~ ;'32 or
010 = 4-
64 hits.
hits~
101 ::.:: 32 bits;
= 6£1_. hi ts ) ~
L)
r,
l _,
rL~
e10~ents
... US =
-;o!::
~
BC
If Be
p~~
::.::
..
up
J..,
3
bits.
ti::0n
mo(::if1G:it~
:-LZ 1'l()"C
....
sco,J...co 0
1, then thOl'G is :no bcu:::-.d
ch.ec!;:()
IJ
upp0r bound for the modifior Q
to
0 f.Xld Be
=0
fJ
othO:;;"";'fise tho2.?e "ill be an in'i:or::.'<.::pt.,
I'
LJ
1_ I
ffiUSt
start on
&"
byte bounna.:cy"
to SIZE and US) o.nd c:,clded to the origin to give the address of the
Type 1 desCl'iptors are uS3d for strings of 8 hit elements"
The format; ia:-
descriptor defines tho o:;;:>;tgin. O-l"ld l.angth of the string..
ITlSIZE!
IE~GTH
1
T =1
SIZE
"',
32
Doiines type 1u
Must define the;') ele:nent size as
\vill occur
"
ORIGTN' IN BYTES
1
1
'rhe
8
bits (011), elsa an interrupt
i)
lENGTH
LSNGTH defines the numbe~' of elements in the addressed st:dng ..
ORIGIN
Defines a base
Action:
G.cldr0ss~
as in type 0 0
The r"odiiier (if any) is added to the ol'igin to gi V0 the address
of the f1tt'.rt of tho string
0
LENGTH defines the length of tho
!"J.O bour.:d ch.6clcing 4:
,
'l'he f~.nD.l op3!'and is
<:f.
string of 8-bi t elements
0
In store to
sto:;;:>e o::,aerG the '\7hole s'c:;"ing \7il1 be used as t:!'le operand (see Chapter
In computatio.'lnl orders, the opera..."1.d can. be at mcst
the strh1g is le3s -ens
64 bits, then it is zero
64
5)
0
bits long; if
filled for fetch? tl'unc~Lted
\1i th zGrO-Cb3cki:1.g :[0:;:" GtO!'0; if th:;; st:;;"ing is longer than
64
hits $ just
the first 6.q. bits ':::I th0 zt::;:'ing 8,re loaded on to or stored from the highwayo
-,
- l
~pe
2 - Descriptor Descriptors
Type 2 descriptors are identical with type 0 descriptors
(except that T = 2· instead of 0).
\TISIZEI
IUS!BCI
2.3
1 1 1
BOUND
ORIGIN IN BYTES
24
It is conventiQnal to use type 2 descriptors
32
to
address vectors
containing descriptors; type 0 is used for vectors containing data.
-.-~--
-.
10.8.72
,
r~
,
L j
u
Typa
~
- '\iisc'311::U""1.90US
Descriptor~
u
Typo 300 Ree.l Addr0ss
- - - UNIT NillImER
I
i
I
I
I
I
U
"I
!
LJ
I
J
,Tp T?
=
3v
0
T
T'
BOUND
2
6
24
SPARE
- : - - V-STORE
I
- - - REAL ADDRESS IN BYTES
I
I
1 I I
4 12 11 i
32
D0fine type 3 0 0.
BG"uND
Upper bound for modifier a.s in Type 0 0
ORIGIN
Co.":~e.ins
the real
stor~
address (the physical address ~ not the
"I
vi:-..~tuS1.1 store
LJ
significant bits are ignored
address) of a 64-bi t operand 0
The three least
0'
Actiot~: The op0raud is E),ccossed in th0
same' way as a type 0 64-bit element.
Tho lUo(liiiel' is always scaled, and bound checked if bit BeH! in DOD
U
is set to
I
0
Type 3,,0 descriptors may only be used in Executive mode o
0
"I
U
J
J
l
J
"
.,
\.'
,I
T
2
BOUND
Upp01.' hound
6
32
3:or modifier M in type
ORIGIN, Dofinas a 64-bit word address.
bitz are
ORIGIN IN BYTES
i~"l10red
00
The three least significant
0
Action.: ACGos::J is made in o:r:a.ctly the sama way as
£01"
a. type 0
elemont (nssuming US = Be = 0, so that tho modifier is
e.nd hound-chocI<;sd if bit BcrU in DOD is set to O.
~o~d
64-bi t
scs.led~
Note that the
lios on ~ 64-bit ~ord boundaryo
'11110 Gloccossing mechanism for this descriptor bypasses ell opel'and
bu~fel's, and
always accosses the real store corresponding to the
definod virtual address.
e;.:ocutivo procedures 0
This type of e?cess is needed in some
,
I
"
T
BOUN'D
ORIGIN IN BYTES I
6
T, Tt
= 3,
'I
32
:-,
Z definG type 302
BOlllilJ
Upper bound toJ:.· modifier as in type 0
ORIGIN
Defines a 64-bit word address; the three least significant bits
~J
,l
LJ
Action: Acc0ss is made
~n
exactly the same way as for type 301
descript02.·s, bypassing the operand bufiel"S 0
"-I
In addition, for
a fetch o:rdor, the value of the 64-bit word in the store is
finally set to zero o
I'
11
LJ
x
T
2
ORIGIN IN BYTES I
6
11
32
Li
x
Unused
ORIGIN
Defines a 32-bit word address; the two least significant bits
l
a!.'s ig;lored ..
Actio:;).: rrhe
J
II
LJ
64-bi t elomont at the ol"igin address is loaded into D a...""ld
L
then in terp:;;'€lted according to i t9 type
be indirect,
iT!
t1hich case the
whol~
0
process is repeated o
a modifier is specified, the modification
final (not indireot) stage c
J
The new descriptor may
trutOS
",.
If
place at the
il
I
J
il
'f
lJ
l J
11
L I
Ii
~_
1
11
~
J
J
Types 304 - 3.31
Procedure Call
'1' t
T
2
6
x
ORIGIN IN BYTES
32
Tp T' = 3, 4 - 31 Define the procedure call type.
X
(32 - 63 are illegal)G
Not usen.
ORIGIN Contains the address of the 'procedure call vector'.
u
The two
least significant bits of the origin field are ignored.
Action: iVhen an attempt is made to access an operands the hardware forces
a procedure call to the address held in the first 32-bit 'Word of
the vector, with the return link pointing to the instruction
attempting to make the access o
The origin is not modified (even
i f a modifier i3 specified by the
J
1
part of the order) 0
The type bits in D are reset to a type 0 32-bit vector with
-,
J
opel~and
US = BC
=0
0
The X and ORIGIN fields are unaltered o
Oi'l.e example of the use of the procedure ;~p.ll descriptor is an
If the
implementation of an Algol formal parameter called by name.
cOl.-rosponding e.ctuo.l parameter is a simple variable, then the parametel'
descriptor can be a normal type '0 desoriptor 0
But if the actual pararr;eter
is an e:{pression i then the descriptor will be a procedul'a call to code
which eva.luates the expression.
The value will be stored in some suitable
store location end D replaced by a type 0 descriptor pointing to it;
finally, the
tn set' bit in the stored link
and an EXIT obeyed"
(cfo~
Section
6
0
2) is set,
The order ca.using the procedure call will be re-obeyed -
th0 tD set t bit pl'events reloading of D and defines that the current value
of D describes the required operand c
(The 'D set? bit is automa.tically reset.
to 0)0
Note that a procedure call descriptor may be modified; the modification
'Will take place when the olOder is re-obeyed after exi t
fl~om
the procedure"
L
j
l J
fi
ri
l
j
I'
l )
[,
I J
11
Ii
l
J
Ii
I J
Ii
n
I J
--,
,
I
II
L I
!
J
3.1.1
!
J
Chapter 3 The B-Arithmetic
~1
i
I
LJ
There is a separate 32-bit B-arithmatic unit which operates on
the modifier register Bo
Although B is used mainly for modification
it is also used for some of the simpler integer arithmetic, for e,crumple,
i = i + 1.
The bits of B are numbered from 0 on the left hand (most
I
I
LJ
si~1ificant
end).
dO
l
dl
d2
d30 d31
1____________________________ 1
LJ
The operand connect:,on to the B-ari thmetic unit is from the least
significant 32 bits of the highway (bits 32 - 63) •
. The B-ari thmetic unit performs sig;ned 2' s complement arithmetic.
Thus B may take values in the range -2 ~". 31 to 2 l' 31 - 1.
If p after
any arithmetic operation, the true result is outside this range, the
overflow bit is set"
The overflow bit and a bit \.,hich is used to inhibit
the interrupt resulting from overflow are digits
5
and 0 of BOD (see 1.1 0 2)0
Thus digit 5 of BOD is set to a one if overflow occurs and the interrupt
will be inhibi'ced if digit 0 is also set to a one o
BOD are not
All othel.' digits of
signific~lt.
l
~--.---
..
"
II
~rhe
3Q2
B-Instruction.s
The order code p~ovid0a for 16 B-iunctions.
Gnly 14 of these
ase implemented on iViU5 snd the rest are dUlTh"11y instructions 0
rl
The
instructions nro:-
rl
LOAD (=)
Load B from the least significant 32 bits of the highway"
'I .
c
I
L
J
L
J
h11W & DECREAiENT (::::')
Load B from the lea.st significant 32 bits of the highway
then subtract 10
If
~~
overflow occurs digit 5 of BOD
is set"
ST ACre & ill.iID (*=)
'I'he stack front regis tel' (S17) is first a.dvanced by 20
The contents of B are pI,aced on the highway as for a
order (see below)&
This is then sent to the 64-bit \'lord
whose fLddress specified by the new vs..lue of SF"
",
8t01'0
Finally 1
the: 'operand
is loa.ded into B as in the load order (see ' ..
·~r,
LJ
.~,t
above)"
LJ
sri'Of'CE (=»
rrhe content of B is pla.ced on the least sig;nificant
bits (bits 32 -
63) of the highway and
32
L
J
zeros aTe placed
II
0:. tho most significa.T'!t 32 hits (0 - 31)0
The operan.d
L J
specifies the destination of this information o
L
,1I..1)D (-:-)
Tho operand is added to B, leaving the result in Eo
If
J
ri
an overflow occurs, then digit 5 of BOD is set Q
L
J
,i
SUBTHACT ( ... )
L!
The opera.nd is subtracted from B leaving the result in
!f ru"l ove;t.4flow occurs ~ then digit
MUJJrrJ?LY (*)
5 of
B~
BOD is set 0
ri
,.
B is multiplied by the operai1.d to produce a 32-bi t result
in B Which is the least
si~~ific~~t
bits of the true
a.~swer
and digit
L i
32 bits of the true
64 bits igned a."l.6Wer.. If the true product has more thru~
32 signific~~t bits, then B contains the least significp~t
32
I,
5 of
BOD is seto
10 8
0
0
72
L I
LJ
, i
--'
~I
DIVIDE (;)
A dummy instruction.
NON-EQUIVALENCE
(z.>
B ~~d the operand are non-equivalenced to produce a
result in B ..
-~
,
,
OR (V)
B
~d
the operand are ored to produce a result in B.
AND (&)
~l
B and the operand are anded to produce a result in
'l
Bo
SHIFT (1'1.)
B ''.'!ill be shifted arithmetically (left) by the
number of places specified by the signed iriteger in
u
digi ts
57-63
of the operand.
If overflow occm's digi t
.5 of BOD is seto
cmIPARE (CC}lP)
The
oper~.nd
is subtl'acted fl.'om Eo
Bits '1'1 GI.nd '1'2 of
the test register are then set iTom the result of the
subtraction (see section
6 4).
0
A true Tesult is
:?.lways generated and no overflow may occur.
The
overflow hit in BOD is copied to bit TO of 'che tost
LJ
register",
'fhe contents of B are not altered.
RE~lERSE SUBTRACT (e)
B
Bo
is subtracted from the opera.."1d leaving the result in
If an overflow occurs, then digit 5 of BOD is seto
CC:1PARE 8;; INCREM1;:NT (Cn-rc)
..4. compare opsi:,ation is performed (see above) then B is
incremented by 1.
LJ
Ii B overflows as a result of being
incremented then digit
5
of BOD ·is set after the compal'e
operation has been completed o
u
A dunur.y instruction.,
Ii
I J
,
)
I,
L
I
II
LI
,)
I J
il
~___ J
!
,J
Ci12.pter 4LJ
4.1 The
!~ccumulator
/tri thmotic
Accu:;';1ulator fU.).d i"1:8 Associated Registers
16
The function code contains a set of
functions for each of the
followinr; kinds of aritlunetic:-
fixed point signed
fixed point unsigned
floating point
decimal
In 1;1U5 there arc two associated registers:-
X which is used by the sig.ned fixed point m'ders
A which is used by the unsigned fixed point, floating point
~~d
decimal o1"'d01"'8 0
,-J
Each accumulator register is conceptually 64 bits long but digits
o -
u
I
J
31 of X will no'c exist on IliUS.
Thera are
t,,\'10
other visible 64-oit
rOGisters in the arithmetic unit, namely AOD a.'1.d AEX..
The hits of
AOD aro conce:rned mainly with interrupts whereas P.EX (the accumulator
o::tcns::'on .regist0:i.') serves to hold the least signiiica:.'1t pal'j: of double
lCl1.[1;th l'08ul"tn
8"(;0::"0
:::";ld
0
Because the accumulator
~ jl/
is shered p the load an.d
functions wouid bo the same in the fixed point unsigned, decimal
ilo..:>..ti:;'1g poil1.t instruction se-;;s.
Therefore the load and store
functioJ:1.s :i.11. the ibwd point unsigned set are made to ope:rate on AOD
:it is convEll1ien-i; to oonsider the operand for each function to 'be
tho 64-bit s.ccuxnulator input buffer AlB.
,
~.1.cc\.imulc.tol~
fUl1.ctions will be described by
Thus the ope:;.~ation of -;;h6
rafe:l.~ence
to the registe:rs:-
il
: J
402
i !
Allocation of Digits in ADD
f,
J
l
[,
digit
51
52
53
Operand size (O/! memling 32/64 bits)
L !
Inhibit floating point overflow interrupt
Inhibi t floating point undad'lo,'! interrupt
J
L
Inhibi t fixed point overflow interrupt·
55
Inhibit decimal overflow interrupt
56
Inhibit zero divide interrupt
57
58
59
60
61
62
Floating point overflo·v! indicator
63
Floating point underflow indicator
L J
Fixed point overflow indicator
rl
r~cimal overflow ind~cator
L I
Zero divide indicator
Inhibit rounding
rl
l.,
Double length.:!:
"
LJ
I:
L
L
j
j
L j
1-'
L :
~_ J
u
l.J
r;rul-::::i.plication 2..nd diviGion, the binary point is at the least
dO
q2·~·;::J:.
t
ell
d31
~----~.-------------,"""'-
I
i
.l...;-_ __
t_
binary point
si£~~
--- .....,,........, ..
I
l~
:r!'
~--
I
I
b:i.ns.ry point
d?d
-......-
I
q::-~.·-,b:.t
.:.~
...
I
A
I
binary point
.~
J
:5 0
6,.;, . ·~Qi t
r1:1.
_ d6;3
'~----------------------~'I
I
I
-.l
binary point
(0) Decimal
Dat~
15
is stored in si2;11-modulu6 form o
or
1.;_
b:l ts at the least siwdficant end ~
binaxy (0 .:: 0000, 1
means
-ve~
=.
000:1.9
0
"
D
Each decimal digit is coded in
=.
9
1901); the, sig;n code is 1101
8.11 other combinations mean +ve (1111
i''s
preferred) ~
multiplication and division:> the decimal point is at the least
significant end,
i.0~~
, J
4- bits each; and the sig,-n occupies
~l
decimal digits occupying
The modulus consists c.f
For
II
data is interpreted as an intagaT.
II
,
* -.;-~.:2-1ji t
d2.j.~·27 dz8-?1 .
00-::1 d/r-;-I
I DO 1 Dl 1
I
$'
,,00
i D6
i S
A ~\
1 I
!
"1
I
sig:.1.
decimal point
I'
d1·-7....,...__'--______--:_d..",;.t-i6-:--..,,'1"".q..l...;o_cl_6-::o:--_6-:.,..;;:\
dO-J
~?4:bi t
I
DO
I
Dl I
! s
!
ll. l~
i I
I
decimal point
I Dl4-
11
(d) Floating-poil!t
u
2;''1d
is
Q,S
SU1.
unsig:G.ou 11-bi t· ii7.tager
00000000000
->
-102t;_
00000000001
->
-1023
",rn.i~'1't!s
',.
o
10000000000
->
11111i~i11:1.i
->
o
u
1023
-,
J
1
-:~:_>"A~;~~_ .~
.:..
..- - - -
dO
dl
dl0 d11 d12
d6q
----~------.----------~--~----~--~--------------------------~--~
1
I
I
m~?}tissa
The Sign.od Fi::i.ed Po~.nt Accll\ntll~to:L' O;,.~do:i.'G
•
J
•
J
The;; a:d thmotio functions in this z:ot a.ssumo X and tho oporb;nd
to be s ignod
i~1. teg0l~s
0
Copy digits 32 - 63 from
LOAD (::::)
ArB to
c J
LOAD DOUBLE (=')
Dumnty instruotion.
J
L
sr.l'ACK AND LOAD
<~~=)
63 of the ne:;~t £1'00 6t:j.··bi t
word on tho staal.. making digi tG 0 ... 31 in this "(!lo:t'd
Sto.01, X in digi to 32 ..
Than 0p0l'a:to
zero o
STORE (=»
for
aD
ri
,'.
)
'
wAD.
Copy X to digi tEl 32 - 63 of the Highway and
to
2:0:1;'00
digits 0 - 31 of the Highway.
.i-lDD (+)
Digi 1:3 32 r0tul~l10d;
ADD is
63 of AID
to Xo
SQt
a:i:'O addod to
X al'l.d the a:'oaul t :l.s
!f -the addiUon oV€ll'flo'lld, d:1.gi t
59
O:i~
In this case the result in X 'will bo the
0
J
I
II
leo.st 13ignifioa!lt 32 bits of a 3Z·. . bi t o;nS'i'IO:r.
SUB'I'RAC'r (-)
Digi ts 32 -
63 of
A:£B are subtl.'E).cted from X and the
:i'Gault is l'etu:rned to 21::0
digit
iJULT (*)
59
If tho
:;.~asul·l;
ovol'flo,\'is,
of AOD is set.
X is multiplied by digito 32, ...
63
of AlB
·to fo=-:',n a
signod sil.gle length re81.11 t in
ovel'flows, digit 59 of ADD is set ~ and the result is
the least siguifica..'1.t 32 bits
DIVIDE (j>
X is divided by digits 32 - 63 of AlB, to :fm.'m a
C!uotient in X, v/hich will be rounded down"
divisor is zero, than digit
61
1f the
of ADD is set~ ~~~nd
X will be unal tared ..
N02{ EQUIVALENCE
OR (OR.)
DUiTImy
instructions"
- l
J
11
Digits
59 - 63 of
AYB are interpreted as a signed binc.:::.'Y
intGgsr 'which sp3cifies the number of decimo.l pl:;:;,co3 by
which A is to be shifted (left).
over digits 0 to
59.
Digits 60
,-
a left shift overflows digit 60 of AOD is set ..
:Dtl~1uny
COMPARE ADD
Digits
AOD o
,- -
The shift is logical
i:nstruction oK
51 - 63
of ArB are anded with digits
51 - 63
of
The overflow digit of the test register will be
set to Ojl depending upon the result being non-::::;erojze:.:'oo
:1
L
J
cmlPARE (CG:flP)
p'. is interpl~0ted us a decima,l number according to the
63) of Ao
is set as the sign (bits 60
&
The logical
of A a.."1d AlB is formed, and bi tTl of the
register is set according as the result is
to zero o
Bit T
o
-eElS t
= or
1
of the test register is set to bit
60 of AOD (decimal overflow)o
U}iPACK
This instruction 3e-::s AEX (32 - 59) = ArB (32 - 59)
~Ld
.A.EX
0
-
AEX (60 - 63) = AlB (60 - 63) v A (0 - 3)Q
(0 - 31) are unaltered • It also shifts digits
59 of
A
four places lefto
are set zero and digits 60
REVERSE DIVIDE (¢)
Li
L~
u
Duml~Y
instructicn·o
l""
Digits 56
63 unaltered
- 59
0
of A
'I
4,,7
~lon.ti!lg-Pc>int
Tho ACC
Acculr,ula'.::o:e OJ.'dors
For soma of the floating-point a:l'i thn1eti~'f instl~uc-::ions ~ A ;::'''ld
AEX aro regarded as a doublo-length result rogistor, A holdil''l.g tho
11,OSt
significant half ~ a..'1d AEX tho least significant
~uli
Both wilL
0
i
I
have tho format of page 403D3Q
In ull instructiono AlB will
51 of AOD is one.
fOl~ tho
64-bit operand if digit
If ADD is zero digit3 32 - 63 of AIB will form tho
.
most signiiicant part of tha 6.d.-bit opora:..d· of '\;ihich tho other half
instj.~uctiCl1S
The operation of tho floating point
upon the setting of digits
62
al1.d
63 of AOD o
sp0cial doub10 length vorsio.1s of c.dd ",nd
~I.d
is ignored by' all other
subtl~act
I
,
are dep0:ldent
62 is tho il..hibit
into digit 63 of
Digit
Rounding:13 p0rformod by fOl'cing 1
rounding digit.
1 j
and roverso subtract
opel~a tions ~
'-,
LOAD SINGLE (=)
51 of AOD is set to ze" o, then digits
32 - 63 of AIB a .... e copied to digits 0 - 31 of A.
Digits 32 - 63 of A a .... e cloared~
Fi .... st, digit
4
L
,
"
W.A..D DOUBLE (= t
)
Fi .... st, digit
51
of ADD is sot to a one, then AIB
is copied to AI>
A (or digits 0 - 31 of A) is s tackod then A
is loaood as in = / =V if digit
Digit
s'rORE (=»
51
51
of AOD is 0/1 0
of AOD is unaltered Q
A (0 .... digits 0 - 31 of A, az for X) i~ stored
depending on whether digit
51
of AOD is i
(or 0)0
,--
P-.DD (+)
The oper2.."'1d f:-0111· AlB is addod to JJio
l1'irDt the
GxpO;i1en ts of A llil.d AIB al'-'e ccmpo...:i.~0d ~"1cl the e:-:pOl'1011 t
field of A is :i,'eplaced by the larger
0
The ma.""1tissa
associated with the srr'.a,ller eXpOn8l1.t is then shifted
right by the :.lumneA' of hexadecimal pluces given by
the exponent difference o
Also tho digits which are
shifted out are placed in tho ma\'1tissa field of AEX
the res'c of AEX being clea:o..':;d.
of A is set to the sum of the
The IM.ntissa field
mantiss~.
fields of A
B..'1d AlB (ana of which may have be:e,n shifted).
nOl'J:m.,liss.tion shifts 'l.'lhich follow apply
shift of
13
he:~8.decimc,1
places.
<:~crOS8
The
the
If both ma.."1.tissa
fields are zero a stD..Tldard flo<:.ting point zero is
geneZ'ated (403.3)0
The. exponents of A and AEX 8,1'e
both set to the exponent of .the double length result
- 1
and rounding is porformed as described above o
When digit 63 of ADD is set and A e..."1.d AEX contain a
double length number smallsr t11.o..."1. AlB a correct tmroundod
double length result will be formed o
If either of the above C:luse exponent overflmv/tmderflow
digit
57/58
of AOD will be seto
- 1
SUBTRACT (-)
The operand from the highwcy is subtracted from Ao
~J
The operation proceeds in the same general
j:lJJD 0
tho
1fULTIPLY
However, if tho numbe:1' to be subtrl:,c ted is
it is nogated and thon tho add operation
smal1er~
(~<)
A is mul tipliEld by the oper2.:.""1d to give a double length
result in A rolci
ft~X.
This result is standardisedp
and AEX exponent BElt as above o
if digit
62
of AOD is not set..
(0Z' underflow) digit
- 1
u
as
is performed Q
--1
LJ
w~y
57
Rounding will occur
On exponent overflm:.r
~/58) of ADD is
seta
DIVIDS (j)
A is divided by the
to gi va a single lengtl1
0p0:;"f!.l."1d
stendo.rdisad (possibly :i:o:.mded) result in ,P!..o
divisor io
2001'0
digit
61 of J.,.OD
is
overflow or undiElrflow occurs digit
s~t
or if
. If
t;'ho
o:q;O~:"&:'lt
. j
57 (158) of AGD
is set ..
NON EQUIVPJENCE (E)
, J
Tn0 J..·c8u1 t of combining A and AlB with logical
.E
L j
is l'etuTned to Ao
OR (V)
The result of combining f. an.d AlB with the logical V
is retu:l."J:lod to A"
SHIFT (a)
A is shifted circularly (left) by the number of places
specified by digits 58 ~ 63 of AlB"
pJ{D (&)
J.·esult of combiIl.ing. A :::;':l1d AlB "lith a logical
. The
&; :tS
returned to AG
REVERSE SUBTRACT (e)
'1'his is the
Sallle
as SUBTRACT g
subtracted from the op0ra..."'ld
cm~p J.lRE (CGvl?)
A is compa.red wi th the
registor is setQ
CONVERT (CGN-V)
h';
J_",
""'- L:.:>
that A is
Q
ope:;,~~~.d
in AlB and the tes t
Both are assuMed to be floatingTO of the test :;,~egister is set if any
point numbers o
of
e~:cept
J"'7 , J"0° ,
il
61
are set"
L
j
Tho only conversion function provided in the
floating-point set is one which converts the integer
part of A to a signed
fi::;~ed
!
L
j
point number leaving the
If the result is too big digit
result in PiliX o
L
59 of
ADD is set,.
REVERSE DIVIDE (0)
This is the
is divided by
s~~e
as DIVIDE except that the
op0r~ld
A~
il
~.
I
i
U
!
LJ
I
This chapt0:i.' defines the registGrs Dp XD a,'ld DOD (Sectio:::.
5
0
2) s..,.d dsscribos the ordors
(c) S'l:01'0 to Store
(Section 505)
The
:i.'I~giste::·
mCl1ip'l11ation.
ol~ders
are concerned with loading
are co:wo:rnod ,lith modifyil1g descriptors a>"1.d accessing elements
u
Cl'10 stl"i11g to. E..lLoths!"', C:t-
CClnpE~il1.g
"(:\70 strings
G
Tl1G registers
D a:-.d XD aro used to hold the r'loscrip'col's of the stl'ings.
",
7ho STACK ordo= is described in Section 503, chiefly
because it isn't described anywhere Gls0 0
'rhis cha.pter
diff(n~ont
eSSUfilOS
tOed; the reader is familiar with tho
types of. d~scriptor defined in s0ctions Z~11
",
_-1
I
_1
-,
j
~
.J
--,
J
-,
J
I
J
10 0 8.7"2
Intornal
:) 02
i~ef;istors
in the Secondary Operand
Ul~i t
(SEOP)
7110 two main registers in the SEOP are D and XD.
64 bits long and are used to hold
are both
I
d63
TYP}~
BOUND (DB)
24
ORIGIN (DO)
32
TYPE
BOUND (XDB)
ORIGIi.'l' (XDO)
24-
32
-8
()
0
fol1owin~
The
notation is used for various parts of D, XD:-
(d3Z-63)
the orip;in field of XD
(d3Z-63)
D''''''
0
tll0 bound
field of
(d8-3 1 )
XDB
the bound
field of XD
XDO
tllt~
lYf
XDT
J
I
the origin lield of D
t"I'....,
l-'U
L
rleseriptors~ so they
dO
XD
J
ann origin fields as shovm below:-
havo typo, bound
D
~
They
])
top half of D
the top half. of XD
(d8-31)
(dO-3 1 )
(dO-31 )
The only 0'[:h01" 1".:,.gistoX' in SEOP which can be used by the p::,,'ograGlmer
:t~:;
DDD;
DO:D~
Sto~e
DB ;;:::
Lead the bmllld of D (bits
D in bits
of the oporai1.d.
XDO
XD
::
,;\.!;B
-
Note:
stOl'O
D at new SF)"
of the ope:t'a.nd 0
of the operand g
8-31) fl'om
bits
40-63
The rest of D is unal t0red 0
)
As for DO
::
XD =>
of the op~rand 0
of D are unaltered.
Load D from bits
LJ
32·-63
=,
D
=,
D =>p DB = but operate
on XD instead of Do
r
J
So:ne of tIl'';>S0 m.'dors may blS used wi th secondary opcrands;,
Pcr 8[3] u.:l.d S[O]
DO == J
D-..::~
op0r"1..1·1ds~
the effect is as follows:-
DB=:
D 1.7ill fi::.rst be loeded with the S operand descriptor; then
tho socondary operand will be acceslJed and will replace
the \'.'1':.ole 'or pert of the new value of Do
(b)
D *==
The
~):dginel
contents of D will be stacked before the
,S descript.or is lqaded into Do
(c)
X.DO
=,
AD
=$
XDB
=
I'lork as G:i:pectad 0
The ol'de:cs D =>
opel'and (S[B] ~
<1J,..d
S(oJ,
XD => ma.y not be combined with uny secondary
D[B] or nEo]);,
"
UYono of those o:rders mo.y be u::.;ed vIi tl1 socondary opel'andsJ,
"
L
Uscs bits
:::0:.'
32-63
t:.1e descriptor in D"
(~ftor
origin field
d0S0;.~iptor8) ~
The modifier is added to ·tho
scaling if US = 0 in type 0 or Z
aD.a subtracted f:l.'om tho bound field
A
Q
l :
bomld check in:i::errupt will occur unless 0 < mociiiiel' <
b01..l:r:.d (2.ssuraing bound checking is not inhibited) (';
The
bo"1ci
ol'dcl'S
p
copy) ~
C~l~ists
of tb0 specified byte rapestad as often as
n0cassa~1.
~l
.J
The table look-up
orci0X' SC2.rtS
',\
:::'~:,~,
--,.~
....
:,:/,S~~
------
, i
~
p:.~ocessed
by the
O:!~d01~,
bi ts C01'x'espena i:ng
u
u
,~
LJ
lo~2~72
~~€(-Str.~ng
Orders
For 2.11
strin~-string
orders, XD contains the source st:!'"l.::2:
desc::"iptor a,n.d D tito destination string descriptor
lUU3':;
htrl/0 type
o~ 1
;\
or :2 and elemellt size 8 bits, othe!'v!ise ths!'e
,\7ill be an I'l'S interrupt.,
~1d
The descripto::s
0
J
I
The operand defines the MASK (see abovo)
The FILLER is not in fact used for 2.11 the orde!'zo
a FILLER.,
lJ
OPERA.I'JD
\ J
l )
If the sourco
nlove one byte from source to destinationo
string is thfj null st:ring, ;nove FILLEn to dastination
If DB ::: 0 there vlill be a BCI{ in terl.·upt 0
Updates
l)O~
Q
DB~
XDO p YJ)Bc
,,--,,
[if DB ::: 0 then ByH interrupt
L J
if XDB :::: 0 1:h0::1 (FILlER :::> DrO]; MOD 1)
r~
,
19180
(YJ)[O]:::>
I
D[O]; MOD 1; ki'iOD 1)]
L _,
c1'3stination there 'will be an SSG interrupt; but note that;
this will simply' i:sl'minate the operation if the inh:l.bi t
bit SSS! is seto
Updates
DO~
DB, XDO, XDB ..
[Li:
g
eJ.~
(KDLO] :::> D[O]; UOD 1; XlViOD 1); -> L1)]
DB
P
0 then ( i f XDB ::: 0 than SSS
L ,
interl~upt
l J
r- ,
,
Moves source to destina.tion o
'
If source runs out, then uses
~- ,
XDBo
'l
[L1: if DB l' 0 then (SMVB OPE Rf:1w ; -> Ll) j
L:
, !
i
j
-,
J
SQ,lP
Compal'~S
in
'Ci70
I
LJ
corresponding bytes 0
If source
out ~ FILillrt :i.e:;
l't.!nS
'l'he tost rogister is set = 0 if no iboqunlity
used 0
I
source c.nd destination strings loo1dng for inGCluaJj:t;y
iou.\'ld ~ > 0 if sourco byte > des tination byte p < 0 if
J.S
50U::CO
byte < destination byte; foX' comparison ptlrpOSef; 3 the bytos
I
J
D.~ce
tre8,ted as ullsign(;)d integers.
DO p DB, XDO p XDB are
updated 0
[Ll:
if DB
-
=0
i f XD3
=.:
then (T
= v=~.
-> T4)'
-·!'of 9
,
0 then (if FILLER
~
D[O] then -> L2 else
(1Il0D 1; ->, Ll
~lsG i f XD[o] ~
»
D[O] then -> L3 elso (MOD 1;
X?l!OD 1; -> L1);
"-~1
I
L3: if XD[O]
I
-'--
els0
T
= '>i
;
J
80U1"C0
and d0stination are logicl?lly combined and the :cosult,
stoZ'0cl in destination 0
fm~
g D[O]; MOD 1; ::S]{:OD 1; -> Ll)]
r,
I
,
•.
J
'.~\
,--,,
string
'wiIl be
:;);:1
ITS' interrupt; XD is not used
doscr~pto~
i J
0
(J
d6'.)
..)
OPER;\ITv
!tlASK
BYTE
I J
-------~--------
l
a:re-
ltpd~.tGd
.J
Q
r-
]
L ;
c)
"
L.I
u
---,
I
~J
D 'i18.Y cOiltain
C.ii)'
d08C:i.':1.ptor
0
The opel'al1.d conto.:1.wJ no
o';;11c:: tnc,l;. the L[ASK~ speci:Eied as usual in bits
i(L;:Or-"~CI,~', :~'.:
48-550'
!
'c
J
.J
~
I
I
contain. a byte V'<:ic\:or doscriptor 0
[Ll:
:J.I
1mB? 0 thZln (D(XD[O]] :::> XD[O]; XXiOD 1~ .,.> i,:C)]
If tll0
\.J
lo~. s·;;
If no 1 ).s :fo:.r::'=-~
.,
D "'lill
.!.."
of D(XD[O]] :;:: 0 thS
u
else BN = 0)]
'. ..J
._J
~,
;unspecified manner 0
_J
j
(~G.ICD
C'
:.:
.) Q.J
This ordex" enables a fast 80 [:.n. to be mad0 fOl. .
equal to the operand.
6
tXt.1. 01cn~::~:;;t
D contains a descr5,ptor which
the 'caol0 - origin in DO, lengt;h in DB.
in byte 1.mits.
Q
d8J:'Ln·:):~
71'.0 long'j;:l is
oxP:::'c:,;;:;e,~
'1'110 descriptor must have typo 0 or :? :::'::VI
hi ts corr0Gponning to 11 s
in the MASK are
with each ,31eTJ1ent of the table in
i~no:;;'0(;
tm.'l'l. :f.Ol'
e}i3EKn,·;;
r
1
,
j
0
eCiClali ty
,-
(U:.1('[8.['
,
I
If no equality is found, then 'Chl11sl'!t
found, with the bound field updated.
[Ll: if 1)13 := 0 tl10n T
~
'1
> t else
r
'LUi] truces operands directly Leorn stor,2>"
L
J
,~
:;
I J
l. !
---_.:;;-..,
eJ.:""
0
I
I~J
~I
(ci)
(e) Spsoial
LJ
J
__ I
LJ
o~dsrG.
_~
J.
6
9
N'
7
l
'-1
In the following ol'deX'8, it !JhC(l:lci to
remembered that the least significant hit of each
is pOl'manOi1'l;ly
so that the least sign.ifica'·'lt bit of the operal.1.d nill have
201'O D
N13
-
:Coarl
}ID f 1--' orC!
SF
:::
Lead
SI:~
--
Xl'fB
registoj,~
bits j<~8
fY'ol1l bits lt8
,
ll,ad }J-lB f.l"om bits
32
63 of
63 of
:;10
effect"
th0 opel'and o
the operand 0
63 of the
op01'and o
NB+
r 1
is
8J'?
-
Nt:{ +-
1:'0t
allowed)
Add liB to
in t(:n'X'upt
XB
-
S:B -r
1
0';'1-
Add SF to
0
("J=.)e1:Oj~d
bits 4.8
f;': €'i.;:r20n t
oV0j.~i'low
opeJ..~a:n.d
bits
48
- 6Q
..... 9
:'11'.d sto):'s
tho
.~ ~,..,
rt=;sl:}:2;
..~ l;!,
~~6su.l t
i~"'l ~;!~J ;~
Sl? 3
0
-
63?
f:;md
store t110
interrupt on DElgment overflow"
l
b'ut th(-;l opor::::nd is
2.
signed 16-bi t ird.:eger
I
r
0
NB =>
The opel"?.nd may l:.ct bo
opsl-"tU1.d
.( .,
{:I
SF ::=>
As for rYE =>1 but 8to:;.'e SN
Xl([B =>
ft.J3
f():l:'
NB
=>,
~J1d
SF'o
but store (all 32 bits of) X"NB"
SN :::::
l
:
L_
i
I
LJ
I
6 7
r.'
1
(;
J
U
L.
Ir!11ibi t Program Fattl ts ,
J
This
(lIS -
o~d9r
various bits of hlS to 0 or 1
S0~S
d0~8n~~~~ ~p~~
oi'cs
o < i
~J
,
i, n.)
if
!'·:6
c:] s :::-::~1. cl '..... ~" .,-<- (, .J
;.
if
OPS:':'f);'ld
;:) )
.:...;~
'Di ,.~
( c)
j
l j
I
U
( .~~8
(56
-;-
i
\
/
= 0.
1\;8(8 .....
\
~ /
== 1 , 1\18(8 + i
'.
)
i)
(c
)
if
Of.; aI' ~1.I.~i..d
bit
C::.o +
i)
-
O~
(d
)
if
01~3::"2.).1.d
;):Lt
<40 +
i)
::::
1 • 1\18(i)
MS(i )
(cl) ftb~)v.3 app ly ~
set ~s8
u
l
D...nc~
bit
+ i )
= ~sg = hlS12 = 0,
hlS13
= MS14
~LS
\:~·l~1-~Cl""0d
is
Z:'0'C
.~.:)
::':1:: 0 :.' f::::, ,~~
·J
'-1
I
MS
~6
NB
CO
j.o
32
7----:.--~--
CO is
'Ch& 16-b:i.t word :iddross of the order currently being obeyed; the most
co
sig,'71ifican-c bit of
is .always zero ~
'. J
->
2 'l S cOluplemo:lt intcg0:t..
~~"i'1d &l"e added
1-,
to COl)
till 2:c':;empt to
l )
•
J
Symbolicdly :-
Sy:m~Jolical1;7:
[MS
-
NS. CO] - [SF]
(~Tote
t11t};t: if tl18 Oper8.Ild specifios
Symbolic 2,11y :[CPER/um] == [IliS 0 lXB, CO]
I"
1
11
{ !
------- - -
J
l
----
-----
-
----
"rill be:-
LJ
SF
The call '\7:£::'1 lock like:. J
ST ACK LINK L1
S'I' ACX ;-",2
. J
L1:
I
'~--'
th.0 s
·~a.c!<
loo~(s
lil~e:-a
'_.J
SF
The procGdu:l:"e i tS01f 'will con "cain orders:-
PRCCEDUR3 P
3
SF +
'1'118 orcie:r-
~ffi
to sa";; NB for use
for -ehe n local
11
== SF - 3 sets NE -->
LII~r{ 211.
9.. S
:rl.l:"'.1i:0S
a
b~:.S0
or the
ths staclc p :;:l1.d SF ..:-
..1
.J
I LE~3:1 Ail
A21
;-\3 I
',''
1\
'/
SF
i:n, the prccedure
Pl"OC0Clure
:11. ~dv8..J.i.ces
SF 0
"
6.4
Conditional Control Transfers
. The tes t bits TO, T1, T2 are hi ts 4- g 5 a.'1d 6 of the machine
status register MS (see Section 6.2).
They are set by the computational
orders Cu,MP a;.i.d CINC (see Chapters 3 and 4) and by some of the s tore to
store orders.
The signifioance of these bits is generally as follows:-
TO
set to 1 if overflow
T1
set to 0 if result
T2
set to 0 if result> 0, 1 if result < 0
= 0,
1 if result f 0
A set of seven orders is provided which causes a relative jump if
MS is suitably set.
If the test succeeds then the jump is carried. out in
exactly the same way as for ->.
r
IF
= 0,
->
jump if Tl
IF
...t.
r- 0,
->
jump i f Tl == 1
IF > Og ->
-
0
jump i f T1 == 0 or T2 == 0
jump i f '1'2 = 1
IF < 0, ->
=0
="
IF -< 0, ->
jump i f Tl
I}'
> 0, ->
jump if Tl
IF
OVERFLOW, ->
jump if TO == 1
'1'11.01'0 is an
1
.1.
or T2 = 1
and T2 = 0
r -\
eighth conditional jump order which may be used to
test the Boolea.i." BN, desoribed in the n0:;t s0ction
Q
II
IF
-"~...,-----
.....-.-
BN~
->
jump if EN = 1
\
.\
r
,
---------
',!
7
The BooleaJ.1., BN, is bit
L
J
Thel~e
are two kinds of orders which set EN.
with the result of a test p
J
i
mac~,i~Le
of the
~d
status register 1{S.
The first kind combines BN
uses tho operand to define '\'lhat logical
operation to perform; ·the second kind comhin0s EN" directly with the
opera;.J.d.
The iir3t kind of o:;.~dGr tosts MS in one of
I.
8
'Ways to produce
a result R equal to 0 or 10
=0
R ::.: 1
p
R
if Tl :::
. 0 othsl"l'fise
O~
~l
--
0
> 0
=1
R ::: 1
o
if T1 ::: 1,
if 'I'1 ::: 0
or T2 ::: 0, 0 othe:rvlise
o
< 0
- ,,
Bits
" .J
'i
1•. .1
=
otherwise
1, a other,vise
< 0
R ::.: 1
if Cl'l ::: 0
> 0
R ::: 1
if T:i.·::: 1 a.i''l.d T2 ::: 0, 0 othorwise
OVFLOW
R::.: 1
i f '1'0 ::: O.
o
EN
R ::: 1
if BN ::.: 1,
o otherl"fis0
or T2·
otherwise
59 - 63 of the operand define the way in which th:i.s result R is
mr
as follows:-
BN ::: 0
set
to be combined with
- 1
otherwise
0000
0001
i3:.:r ::.:
0
and BN vii th R
0010
EN/go
invert EN, then and wi th R
C011
EN :::
load BN wi th R
0100
BN &/
at"ld with inVG1'Se of R
0101
t
not equivalence with R
0110
BN
0111
EN V
01'
1000
BN/&/
inveTt EN, then a.:.d with inverse of R
1001
EN ==
equivalence 'with R
lel0
Bli/
invert EN"
1011
BN/V (implies)
invert Br-T, then
1100
EN
1101
EN V/
or with inverse 01 R
1110
BN/V/
invert TIN,
1111
EN = 1
set EN ::: 1
,vi th R
:.J
-I
L.J
'.
j
,.J
=/
01'
with R
load EN with inverse of R
The second kind of order use
4 of
th0l1.
or \vith in,lsrse of R
the f1 bits to specify the function
as above? ai1.d takes the oper8.1J.d R from the least significant bit of the highv!2.Y.
u
I'
Special Dreier:s
xco-6
Stack the oporz,l1d p m'l.a jump to zc:.::,L:::mt
locations 0 -
g193, 32-bi t y!o:rd
6 X'ospectively.
DL=
The Display
SPM
This function
is
L~~ps
may also
for US0 'vli til the System l'orfOr:ffi2.l1c0 Moni tOl"'
.,
rl
7. 1 • 1
Chanter
Z
The Interrupt System
.. J
There f!re eight -eyp'.::>s of interrupt divided into tyro grou.ps of four,
"'t:he System interT*upts and Process l')8,.sed 'inte:i.I'trllp"t:s
0
"rhe syste!!1 in.terrtlpts
are concerned with activities external to -ehe current process (e.gog
control).
The process based inte:.'rup-cs
th~00
as n. result of specific 'actions
The interrupts are sno'ilTI bolow ~ each associated with
in the cu:crent pxocess.
2
OCCU1~
p8:..~iphe?:8.1
bit interrupt number.
\.J
( 000
Sys "caIn ErrOl"
i ~O'
CPR Not-Equivalence
I
'1
U
J...
010
lOl1
periphoral Wind a"'!
("100
Instruction count Zero
PH.GCESS BA.SED
r\ '101-
Illegal OrdEll'S
DJTERRUPTS
'-1110
P?~ogram
11
'I "
\..-'--'<'
I
Faul t8
Software Interrupt
:.J
interrupts occur sirt1ulta:neotlsly? tha first to be clG2.1t with
When an in.te:crupt occurs ~ the h8.1'(1\'7&,1'8 stops Y:hat it is eloin;:; a.."1ci enters
an intsl.'l'upt seqUG:les o
SG't
During this entry sequ0nce the 'Interrupt Entry Bit' is
This atlovlS tl10 soq:'lence to run in a sp0ci~i,.1 non-interruptible
(.l
ln009
of
operation c1esc:dhGd by t:'1G tao1e in 702.
'The fi:::st [..ction of this sGquenc0_ is to
Y:Ol~(:<)
1._)
T118 fc~~"r;1at of this linl\: is the
SaTI16
l~'0tain
th0 state of the machin.e
(?wS the control registel'" consisting
of i,lachine State J.'G[;iste:c (16 bits)? Na..1l8 Base 1'0[;i81:0:;:' (16 bits) and the 32-
bi t
cO:"1 t1'ol
a(l<~l'ess.
In addition ·co reta,inirlg a lil1k, t116
ill';~err'L1pt
sGC!1.1once also
trUJ,lsf81"'S
I
co:ntrol to tl1B aPiJrop:ciate interrupt pl'ocedure ~
acl1ievecl by resetting the
,701'(1
u
bits (r.IS, i\lBp CO) fl~om the second half of the
of this entry is used to hold the link
lor~g 2.11d starts
L~
64
2,1:
vio:::-d
7'!'lis control transfer :.8
0
16 of the first of the
This table is
16 x 64 bits
COm111011 segme:i1.ts (S0:-cme~1t SIC) ~
Y!hen a Cl)l1
t
int0r~:--upt
occurs t}-;,e linl:: 'vlil1 :point to tIl0
\
I
be cornplets G
Ot1'16::' interrupt s11tries all in.structiol1s up to t118 0110 addressed by
tho link vdll be cO!l(plete.
r
Unservicec1 intorl'llpts r.1ay be read in Prop V line 26.
Before discussing the intorrupts in detail it is nocessary to
~escrihe
the
~achine
State Rogister.
,
\
i
)
r \
I "
r
)
{
, I
'I
,
}
r
I
t
J
,",
bits
4
to
7
are test :'."'0gisters o
Til-is bit
is set by interrupt entry or by t1:.e fllit.ctiol".I.S
o
Q
XC 6
6.6)0
BIT
Force LRL ] insteaD of S[ J
o
.-.-1
1
z
Sy3 tem Perfo:;;yna.:.1.ce
i~Ioni tor
3
OV8rflo~
4
5
6
7
0
ve
7
_I
8
9
J
10
11
iL1.
12
J
l
J
For desc:ciptiorJ. of hi-;;;:; (0
~
7)
see
o
7.2.2
"
" I
Effects of System Mode Bits
J
I,
'-I
I CFr\. by-
Cause
!pass
!
1N8.l11e store I Ins tr 0 1 B or D I ACC • undel'IExElC lI~oc1el L1IFl LOIFI Interrupt
I flip-flop I
I
I (2Intry bit
I by-pass
I counter I under I Exec
I
I off
1Exec
,control
1
1
I
I
o
I
Q
10
I
p'Y-Pi:1SS CPR 1 s1
.j
----~----~--------~-----bY-P0_58 Name I·
stcro .
I
Effect
~··:::3truction
I
lcontroll
()
11
I
12._ _-;-_ _1....:''''''2_--;-_1-'4-;1_1_,~'-;-;-_ _ _ __
1
1
Counter off I
Allow V-access
V
: _J
('I
J
.;
J
V
j
\/
Allow system
TI10de bits of
(-"(
I )
£,IS to be
Inhibit Ll
Inhihit LO
J
'/
j
.,
Inhibit SysteTit
Z"orce
j
'/
1
Erj.'"'or
r-;
./
. I
l'e 1 ElV2..n
pro~rs.rJ1
t
V
-I
faulti
to be systern
I
I .j
!
I
errOl'"
Use LD nl?J',le
store o:iJ.ly
'1~(6"f
.:..t:
...:c. b~~. 1-v
1'; 1"' 0'"
_
B
...
-I
o;:Jo
,j
I
I
,
)
D intel'l'Upts will be forced as system errm.'s if D11 is set and a.1'l ACe
01'
interrupt vlill be forced as a system error if D12 is set.
All oth0l' program faults
l I
7,'ill be fOl'ced as system errOl'S if D13, D142 Di5 or the Interrupt bit is set.
(N .B.
The Na.'lle store is by-passed when the interrupt entry bit is set since
r,
a~cess
r \
to common segm8nts cannot be made via the naIne store).
If:)
Ii 1".)1'.8 Store
:1
15 set) the 8 32-bi t lines of naT.l0 store are used as fast
The hardwaro interprets only the bottom 3 bits of a VnarilO typo' operand
In La mode (bit
rGgisters.
address and maps it into this name store.
.
b
' as 0
0
reg~ste:r's may
e usea.
x
:No store accesses occur.
?-....
3--01
.... nar.1es or
4-
'X
L
These fast
0"..-011: nal.\1es.
f'"A'"
r '
1
The System (L,.:lVeJ. 0) Interrupts
The procedures which service t},'J.es0 interrupts must be written
as to not ceuse &l'1Y othol' Level 0 8y.;:;te!l1 inter:fupts ~ foZ'
00
ex~.lnp10 p tn.::>
Peripheral 'Window Interl'upt procedure should not cause a CPR Not Equivalence
Intel'rupt o
L)
This requil'es that a. fow CPR's are permaJl.ently allocated to
covel' the program and world.l'lg store used by these Ir.;.vel 0 Intel'l....<.lpt prOCOd1.11'eS"
If a CPR
t
interrupt occurs while the Level Zero Interrupt flip-flop is
then a System Error interrupt is caused o
set~
This also occurs if an illegal
hardware function is executed while the Level Zero Intel'Tupt flip-flop
In this scmS0 the SysteLl Error Interl-upt difZel"S from the other
is 'set 0
System Interrupts o
does occur it cannot recur until
However, once
the System EZ'X'ol" Status regis tel" (see below) is reset, or unless th.e
Engineel"s 'Interrupt' is pressed o
",
The System E:;"Z'Ol' Interrupt is caused by :1S,.rd-rlare or Executive
failur080
The System Error
exact cause 0
St~tus
register
shc~~ bel~l
can pinpoint tho
The soft,lare aetiO!1 on this intorrupt is to perform erTOl' diagnosis)
a.>."'ld res~.::art nO!"ll1a,l
system operations if possible"
error indication
L.J
Engineers Interrupt (Console)
(fel'ces CPR
bYPV,8S)
l ..J
'~I
49
50
SAC Po.r:1·cy
51
52
NQlne Store T,rul tiple cqui valEmco
53
54
55
CPR Multiple equivalence
aES Multiple Equivalenc0
Spare
IEV i\iul tip10 Etiui v&.lonc0
B or D error & OiSll)
...J
57
& (1)1S12)
!11ogcl function & (LoIF + L1IF
Ace error
59
60
61
CPR exoc Illegal
CPR
t
Spa.re
& (LoIF)
~
3XEC)
,
!
CPR Not-Equivalence Interrupt
This interrupt can be
Mode procedure.
procluc~d
by a user program or by
alL
executive
, .'
It oocurs when an attempt is made to acoess an,address
which does not lie within the addl'ess ;fiolc1 defined by the contents
:.
of the CPR'so
)
If the required address lies in local store, the procedure
il
will free a CPR and allocate it to the page containing the address o
Control is then returned to the interrupted process.
If the page containing the required address is not in local
organise its transfer
, J
In this case control is not returned to the interrupted
r-l
store, then the procedure will locate the page
to local store.
~"d
process (which is hal ted awaiting the termination of the tra>."1sfer) and
, J
a process change may occur.
Exchange Interrupt
This interrupt is set by the Block Transfer Unit on completion
r -:
t
(or termination) of a Core to Core Transfer.
)
Peripheral Window Interrupt
This Interrupt is caused by an external device (eog., peripheral
processor, drum) writing to the Peripheral Window V-line or by an il'l.to:;:'rupt
from the console (e.g., TTY, CLOCK)o
61 and 60 in V-line
%011A,
The two are distinguished 'by bits
the first l1ndicating peripheral window
0
r -,
The
information sent to this 32-bit V-line consists of the sending unit
number and a message.
The Peripheral Window procedure must queue up
this message for subsequent processing o
.. 1
,
)
r
1
"
J
'Writing to the peripheral Window V-line sets it not busy in
'readiness for another message.
The Peripheral Window procedure runs with
interrupts inhibited, so a subsequent message won't be acknowledged until
the procedure is e:d ted
0
This interrupt is also entered for console interrupts (Teletype
and Clock).
Prop V-line 26 contains the cause of interrupt.
,- 1
L J
t
!
7.4
Process Based
I~~errupt~
The Instruction Counter
~e~
Interrupt
This interrupt is set when the instruction counter becomes zero,.
It may be inhibited by tho 'instruction counter inhibit' bit being sot
in the Ma.ohine Sta.te Register.
~ .p~egal ~
In!errupt
This interrupt is caused by program fault conditions detected by
the hardware; these conditions set bits
status V-line.
48 - 53 in the program fault
(See next section).
The Program Fault Interrupt
--,
LJ
This interrupt is caused also by program fault conditions detected
58 in the program fault status V-linGo
by the hardware which sets bits 56 -
The following table relates the assignments of bits in the Program
Fault Interrupt status V-line to specific fault conditions:V-line bit
condition
.:18
.
Illegal function & (LOIF + LlIF + EM)
49
Name Adder overflow & (LOIF + LlIF + EM)
50
51
Control Adder overflow & (LOIF + LlIF + EM)
52
CPR EXEC illegal (illegal access via the CPR's
Illegal V store access
\
when not in the exec mode)
LJ
u
'~I
u
53
Parity
54
Sys tern Pelof ormance Monitor
55
Spare
56
B fault & MS1
57
D fault & MSl
58
Acc fault
&
MS1
IJ
When a program fault occurs, the hardware may not wait until the
arithmetic and control units have finished their current operation(s)g
so that multiple fault conditions may not be completely recorded in the
Program Fault Status register.
The
~tware
Interrup~
This interrupt occurs in user mode only When the software interrupt
bit is set.
u
(See
8.3.3).
10.9.73/2
.
\
)
r
~\
C11p.p~~-:o:r;)
Tne v-StorG
Irr troduc t:LO:.1
ThB V-storo contains hardware registers used to control
2,:n.d/m.' diaG;J.1.ose parts of tho
rllUS
processor 0
not include tho IntoJ."nal Registers ~ which aro ",ddrossod by u
diffsl"ent Tl1Gchrulism o
a
J
I
'-1
use:..~
Tho v-store is not genexally
prOgra..'11 but is accessible fl.'om within
diaS;llostic progra;aS
lIm5
f~ccessible
to
to
Exocutive~
0
The figuro in 1"Z.3 shows the instruction format required to
obtain e. V-store Op0!'w"1.d G
The V-storo is dividod into
1z8
blocks of :256 linos oacho
:i.'.:c:ch line is n.ormally a 64 bit quantity but many of the 1:i.n03 will
contain less then
64. bits, in which cs-sethe bits 'will app0ar right
justified in a 6L~. bit 'Wo:·d.
they ""lould appeax' O~'1 a
64-oi';; wide highway.,
gives tho :.::.110ca-<::1.on of block numbers to sections of
V-StO::"0
J
i
o
1
Ll
"
3
CCG>Isom V-STOIB
S!:..C V --S'T05!S
5
6
L_
--,
L.J
",,
in the
System V-storo (S81q2)
~
k
256 V-line addresses are mapped into the first 512 x 32
bit wozods in segment 8192, the fil"st of the comnl0n segments. by the
These
PROP before using them to access store.
This gives the executive a
simple moans of communicating between processes and approximates the
Atlas working stOJ."e.
Starting at the 32nd 32-bit word of segment 8192 are
8 pairs
of new amI old links used by the interrupt entry sequence"
V-line
(Decimal)
64- bit
boundaries
16
20
22
26
Virtual Address (88192)
Name
size
\
J
l
}
~
I
. Hex specifying
32-bit boundaries
20
System Error Old Link
22
System Error.Entry Link
2426
28
CPR
~Achange
2A
Exchange Entry Link
2C
Periphera.l Window Old Link
2E
peripheral VlindO\'1 En try LinIe
30
Instruction Count Old Link
32
Instruction Count
34
Illega.l Order Old Link
t
CPR t
Old Link
En try Link
..
r'-·
Old Link
Illegal Order
28
I
,~-
Ent~J
~~try
r '
-
~,
Link
Link
Program Fault Old Link
Program Fault Entry Link
!
I
30
Software Old Link
Software Entry Link
L i
,1
L
)
--~~------------~
Addrass (Dacimcl)
~;8J110
81.20
j~ccess
specifying
.
6L -bi t ooundaries
o
(hi ts
4.8 -> 53)
and the System Po:-dormanco l\!on i t 01'
~,
.'
-1
~
.1.
1'5
2
t..
~
_1
,
-~
-.!
R/Vl
°l
L )
I)
o
'._.!
i-i
\ oj
12
Vi
9
SEARCH MASK
12
''-1
.J
The mask operates on the search (block) address,
specifies that bit to be ignored
Q
.R,
16FL7
NS LIl'f."8 COpy
('Yo.) 10/ %11 )
These lines contain a bit significant indicator sho'wing
'
.'
C
!
.
whic.h namo store entry received the last valid name store
aCCGSG
G
V stm:e 'without disturbing NS LINE COPY.
Resetting sets tIle p0inte:c to
t~10
l
,
l
I
:
)
line 17 causes all entries in the na,ne store to be
10.,:;.,,73/1
IJ
25
l'0Iel'enCes
I.J
-,
,.J
U:r.:.s0:;:-viced sof>t';:'!2. . :L'G i~~l to::"1'11P .;;
Uns0l."'vic r.s.d.
'_I
-_.
,1
I
I
__._---
p::C)g:r'~':J:r!
fE.;21 t
TJ"nserviC0ct psZ'ipj Jt;j,.... ?l
Unservicc(: e:::cl-:.t:;:lgc
Unsor"v"iC0cl CP£~
UllS0J..~viced
t
i:::1·:·~;}::·1~U.::lt
~ai:,i(~O\:l
vi::::::.dG,(.~.;r
i~'i ~~el.. ::..... :.!p·;:
~~T;, t~.~.l~~t:.:?':t:
:11'1 to::'::"'~i~)'~~
syst0zn ·S-r70:"'"' i~~v:~·:'~:''''~'iJ.~)t
27
\
I
\
I
1
,~
\
l
I
II
l
I
11
r-
~I
()
()
Tl:o OT3S v-Stol'e (Blocl{ 2)
TI1G followi.nG sho:.'t ctescription
system will
1
cl~'ify
points in ons V-sto:ce control.
The OBS contRins
3..s."'1.
0
,_"
operand store similar t'J tli0 PIZGP 1'12,2TlC store
bu'\: 'vlhic11 is not :-c'ost:ric-cerl to doaling "I..vit11
0111y
:.n.Zj::e 80g,'illO:n..'t; opGl---a;1.ds
All operu.."1ds which ,:;,,1'0 not nmaes and all opo:r&<'1c\s in accumulator
o1'(103:'s (names included) are buffered in the OBS opel't..nd
stol~e.
(This means
part
~:
-
-,
'__ J
'--1
LJ
--I
Ro4Q2
Name
Ac1rlress
S:t~~e
l
Access
(Decimal)
I~
aBS.ClEAR
OBSoPURGE
0
'Writing a
to bit
VOl
Vi
1
63
Causes th0 nBS to 'be CL'8AHED e
a.ll tal te:;:oed Y operands in the aBS oper8J1.d sto:ce
to :ma.in store
a1'0
This means
written back
'i'hey are also retained in the> operand store and
Q
vunalteL"ed~",
reset to
Wri ting a
vl'
to bit
63 causes th(;] GBS to be PURGED"
all 'a1 tared v opel'ands
8.1'0
This
lnaa;.1.S
writta]!'J. back 8,3 in the CLEAR but in
addi tion a.ll lines in the ope!'e.nd s tO~.'0 :;.o);e set El!r.pty. i ge .. t
the aBS ope!'$'ld store is left :111 a ?:ES3T ::-;t2.t0 o
~
1
(Unassigned)
:2
DES "MASK
l"
I
w
r)
".,
1~
-----.~,----
.--------....
,52
63
~-
'l~his is used
A
!
to
mask the X field of
1 7 in tl:.e lllask
to be
~.grlOred
caUSOS
the
\:;3,:'8
CBS .FIND line (see below) ..
COJi.'1"0SPO::,.<:H11g
bit in the Find operation
0
3
30
L '
~I
I
\
l - ,'
I'
is set non-zej.. . o
othe~vis0
t110
test :.. . G:;i8t::;l~ is set: equal to zero
0-
-----------
LJ
(JBS o DultIP
L!-
vr
29
u
1
U
vrri tins to this line C2,uses tho £1.111c-::;io"5 on the Ace queue and
J
their opel"8.J.i.ds to be ~~..rritten to the sPGc:tf1.ed
All useful information in the oper.and
8tOl'O
t116 lines are rLo""C all RT~SErr) but the ,Ace'
16
i.s
Crt1.,f.t:..1G
x
64 bit block o
l'et8-i:t8cl
(i.e.,
is l~etu1"ned to
the 'eBpty' state.
Each dumpod entry consists of 2 x
-l
-\Vords.
.?:..o______?~~ ___ .1._____....1.::1_·______-:..;1_2:I TIE I p i S
X
I
._---------._------------_
..----..;.....------",-o
63
~'<,.,,---,___ ~ _ _ _ _
Word 0
1..J
'rhis contains
u
64 bit
FUNC 1
DOP
A.cc func·~iol1 (?Dl'JC)
t116
al)'<"l
the time of access is i:1 E (e:,:-cec1.l·i:i V0) "
SOlTtO
harc1v/are information
Tile T bi ts specify the
type of opora,11.d:L_J
o
u
Inva:!..icl· (Empty entry)
1
u
If the opoI'a:n.(l is a Ii ·ter2:..1 t119
and tl10 litera,l is 11Gld i11
~tlle
virt~-1al
2,i:L"lro3s field is irreleva11t"
secol1.cl V10=CC; of tho
on~~1"'y"
u
- 1
V[O l' tl 1
L~
I
I.zITE~1A.L
-o----"-------·~-·---63
!
-1
Note th9.. t when the
il'1'eleva,nt.
LJ
-,
u
-
u
1
oper[~d
is not
8.
li teral type 9 \'IO:i.'d 1 is
,-1
Vf
nBS. mrDlJ1'.;p
5
<, •
1
.L J.
s
p
1'\1
-------'~r;"
3-4
\..-..)
,-
above aci.clress 8pacifies
bit blod: from rl 11.00
::::
::::
not empty
not full
I
I
J
I
I
, I
I
!
!
1
I
i
J
~1
i
I
iunctioTIo"
DBS o liTIS3''i'
'~rri ting
to tl1.is V-line
C~UfJOS
a resot of
tn~
C3S Buffel Store
ll
I
'!
I
I
I
, I
6 8,,73/2
0
I
'/
-!
--------
Q
control Console V-Store (Block
~)
--~--.---------""--
,
rrhe console V-linos 8,::'e as follows:-
!~c1dr0SS
Access
(Decimal)
Specifying
c
•• '. ,oouncar~es
l'
04-03.1,
o
CONSOLE INTEmmPT
Each. of t118se is '1
R/I'!:
IJ
''.vl1en set
tj
is tho fast clock intex':cupt u
(Currently 1/100 sec).
is the teletype character interrupt.
(Currently 1 sec).
(S0e line
Y/ri ti:ng to tl'!.is
to be l'esel"l::
li!:~e
J).
ca.nnot
caU.SG
tIl.e
'1":
oE 0 I" I
0
bi t
This can only be achieved by resetting
0
.
li!l€)
Yij.~i tine; a "1
2
T!11E
--------
70
TJPPl~I~
c;r
to bit 62 resets bi t 62,"
13
V!ri ting a
,f
1
t
to
I
~
I
3
15
TUlB Wi'iER
R
~
I
I ~\\l\~\~~~\~\~SW' W\l~L
,-I
4
j"
T
U
£'
---4 ---,.-
I
u !
T !
FRAcrnON
OF SECS
s~cs
32
63
"
Seconds and fractions of seconds '/ in b.cod o as
~
shown 0
4
This line is staticisod by reading TIMEQUPPER o
DJ.l{fE IGiER
11
R
LJ
J.
it
.'----'
10:i,~W0l~®\\\WI
32
U!
4'
-:----'-
UI
'1'
MONTH
DAY
~
Months and days appeal' in bi:i'1ary coded decimal in
8
5
R
4-
:-\~i\\In\' \\'\\\\\"'''\''
I
I --..:.-1'"
--\ \ I' \ \ '.;...'\\\\'\\\'\\\"\'\\,\\\
\
, \ \"
\1'\\ltI"\\1
.}j
32
u :1
YEAR
63-
!
L..J
f\.ltl:.cugl1 this li:c.e l!.2"s :r9ad o:nly access,
bit
6
to
63 at -erda add:;"08S 'will operata the hooter.
rrELETYPE DP:rA.
8
R/W
8
I ~\\\\\\W\ \;~.\\\\~~,\I\W\\.f'W§\\'!
32
To output a
DAT A
56
charnct0l~,
.
1.8
LJ
TELETY?E CONTaOL
63
TELETYPE CmITROL must be in
output mode? thEm Ylri ting -;';0 this line
7
'wl~i ting
8
.
,ene
st2l~ts
the
character parity.
R/i'f
8
L..J
LJ
Each hi';:; has indiv::dual significance 8.l1d is '1 9 when
-I
set active.
LJ
Dig~}:.!
=
56
57
PRn~r
58
59
Input/Output Toletype (Vi: for input)
60
VAccept V
61
'Cancel Mesoage V
62
Teletype start
ON/OFF (OF},
t
n
1' )
L
~
I
Input H.equ0st 9
L 1
Teletype online
When tho TTY is onlino, bits
59,
60~ 61 will cause ;;.n interrupt.
ON LHT.E (Pe:dphe:raJ.)
~
j
•
j
OFF LUT.E (Ins true tion Source)
! lI;U S'l' ·l:SI~ I
I:
I :
10
1'10Di~
SVTI'TCl-IES
R
Tho 1eaGt s~.2:nific:~lt
of t!1is lirlG
8 bits
and tiLl;) rr:.ost significant
Sp~~c~i..:fy" vZ'l.,ri0t18·
rrrHDsa
4 bits
lilodes of oPGration when set to
are used
fOA~ s'~!itc11il1g
\:>f th8 Loc9,,1 oF.L'fid
!~1a,ss
t~·
the stacks
stores off-line.
1.,9".<";:;1 0
:112hi.oit Clock Into!"rupt 1
No overlapping of instructions o
60
Bypass
61
62
Inhibit Clock Interrupt 0 0
N:.ll110
H.eset parity
Store
0
l J
Q
28.6,,74/2
n
11
16
R
10
R
,/ /5.S-6-::;
)
,
~,
i
LJ
Z...
~Auto?
::.:.11
LJ
55
:i·r--:.·~
-~ ...........
LJ
0-
r-
oo
b:..
~
u
"
'~1
L..J
,....,..'\·t '}
-:'-'.'.
$'
,;.;.nd 12
II
_ _ _ _ _ _(}3Ioc~;:
_ _ _ _ •_ _
.1_
S,AC V•_. -store
~t)
SAC unit.
11
. 4.rldress
.
n
(Decim:;!..1)
LJ
o
30
...... _
L
VI
lA
is
... ..l _ _ _ _ _ _ _ _ _ .'_~ _ _ _ _ _• _ _ _• _ _ _ _ _
1
P
1
i::~
}
t
).~
-.:.:-";-.-.---.-.-----.---------~-;~
jL:.
Tha
U30
of
L
V.j
~hio
line ia'doscribed later under line
"
5
•
I
L_J
1
(0
L
2
C?ii, V:\
J
R/".'i
....
__.:.2:.'A__J._..___ ~'"l:~~~_____ . ___~;____
___~;~L____,_3.____. . . .__·
,
I
;~
....,
R/Vl
3
S iZ'38
6Li..I~
, -
~f'he
AC
16 \vords
bi is are
(S11oYt.n. bslo'w)
0;
o
Q
p:C~(jgrD.Jil
o
o
1
1.
bit
35 -
0
u
Dnta
n
8.6.2
32
CPR registers o
Each of the30 i:J G0::.1'::;ep'cu2.11y divided into Virtual
Address part a,'ld RGnl Address
p~,t
0::: '2;110 :i:or;r.at illustr.r:.ted in CPR VA
!?!'ld CPP. RA.
operation to the VA half oJ! )=:'A heJ.f of the CPR
:registe:;.~
specified
by the con ten ts of CPR }nJMBER.
must be written to irrunediately
4
b8~:0l"(;;
t~'lC
V:i,z"cuul AddreSS part.
'Ynis
CPR IGNOI{E
T11is vector
5
CPR FIND
..
-
"I;l::"~''t.:U~
ho.If of
...J
.--)
U
i
~
6
CPR
.llj.rlS~1J
32
r~/\V
7
CP!\.
REFE~U.~l~CD
32
R/V!
"
'. .J ,
_J
i
...J
Ll
00 o
<)
16
CPR FIND MASK
1
hO ~.)
....
14
11
,-J
1
I Pf---,-s----C\W\\W\\';\\m\~!
37
63
The use of this line is
The Find
mech~ism
d05C~:ib0d
opec:>ate,s
ovel~
unde:;:"
lillS
.5
CPR FIrTD
,'I
0
each hit of the segment
field whereas tl18 P r.i.nd. X fields both merely have a
'--'
,
,
Ii
,,---}
CPR X FIELD
11
<%
B)
l
p~:rpoGes
~1d
is fully
R,A'l:::Reset
17
R
CPlt lq(IT EQUIVAIEliCE i.3
(fa 11)
Line
17
holds the sEliE,."ment
L J
J
U
The ac tion of
'\J:'.,':i. ti;;lg
their norlja,l state
~-l
LJ
during the CPR
t
as system e1'1'01'3
,..J
has been
.4J::.y CPR.z:
il1"i::er;,.~upts
which occur
in-carl'upt p:1."OCedUl'0 \'Jill be nonitored
0
If thesa ceCti::'" before th", PSX lino
reset, thoI'G will bo no information in PSX
about the address
---,
0
to ';;h:::: PSX line rctUl"nS both to
c~uGing
the system error CPR
tG
~
20
SAC PA..l.\ITY
8
R/W=Reset Bit
57
---]
<0/1>14)
:~
._.•_1___1___,__
-I
1!
~
-=03 !
i
I
EJ(EC rJODE
P:{OP (NG:i.' 013S) OPERAtm
IKS'I'RDCTlmr (Ncri' OP~Rj.ll\TD)
B::T 1 '~,
B T.T 0
j"
L..'1CAL STOR'S STACK NO u
3}:CI{,'::.i~Cs;3
DA.T/l (iJC".c IDC.B. .L STOP.:s)
LI1-rg V..4..T.JID: .:1. D.P-/F:,l.t Pi\.RI1rY 11. 4..S
.
OCCUR}1En
'IE-lEKS I-ij~G Ef8:2I~' A. p!Ll!r~.,y F ll~L IlT E~{EC 1l10DE
P[JS S I BI·Y S I~GB J3Ir-i' 5~1 BECl:.1iE SEi'E D
u
,
l:iB.I'I'HTG TO BLCCK
LJ
7
LTNE i
~i
U
U
21
SAC I'.'iODE
<%15)
L.J
:;:I',TJ:r}J:A~f:: ~-'lt.l.~I:r·~"
Il'rrERRUPT FOR OPERft.1IDS
FOR OPER.Lll'iDS &,
::1\r.H1i~r'T l:)i0.~r~r·'[ I}?"f~RRupr
Ii'JST~~uCT 1 O~t1S
II~tr{713~~'I' ~~:'~Cl::ltl'H~~E I.)/0~7..'l'1"-'l
PQ:2,CE :£ P .t:.i?.j.:rl~Y
FORCE p~.Jrfl!'iy (j>TG? :~'O?:lli'tL ?itR}:r:..~y)
II'J"'TErtl~UPT
.22
ACCESS VIOLlt?IGN
60
I
62
R;v{=Reset
61
Bits
&
63
, J
()q
-------_.-""
Ii!
I
!~CC1!:SS VIOL·A.TIG~
Il~Sl;itUC:'T':tC12'r ()'~iJT GPT~RP..N1))
S":lSTErr'1 ERn,OR Pl.CCESS
Bit
Il\[ OBS
CAUSED ACCESS VIOI.ATION'
~
'VIOj:"AT~m,r
I
[,
61
and refers to
progr~ti
faults only.
n
vrri ting
'- J
to this line.
,'l
23
R/W=Reset (see below)
I';
/
'l
PARITY FAIL 0:;,.
n~cc::,~Il\:G
FROi',~
I~}(G~1AJ,!CE
IIJ.':l\J--J
.
rmquES'l'S
EXCHANGE
PA:"(I'1'"tl Il,r'TB11HUF'}'
sr-r !1.CI{)
s"rjJ::~~~ :!:.I.?~.I L (Y1I(O~\SG
"
,~
W:t'iting to block
7
line 1. clo9.rs tho bottom
4
bits¢
R
UNIT ST A.'ruS
1
r- "
02;
2
~--l
w
25
I'lr'iting' to this line
to be sent to
tll(~l
19051~
CP':'US8S
S~
interrupt signal
¢
~_J
LJ
8&7 The !BU v-store (Block 5)
The instruction buffer unit ma.intains a record of the eight
LJ
most recent control transfers in.
-
wi th a
~,
f
jump to t address.
th(~
form of a 'jump from' address
This tabla is Imo'Wn as the JUMP TRACE
and software communicates "lith it by'means of the :lEU V-lines.
The
u
J~clP
TRACE is not maintained in any interrupt mode c
Since V
store access can only be obtained in these modes this ensures that
IBU V store is used sensibly when Jmjp TRACE ia static o
u
-Address
Name
Size
Access'
FILL-POINTER
4-
R/W
64-bit
boundaries
o
1
lvl-,\\ " \,
32
The line points to the entry in JUMP TRACE Which is
the next to be filled 0
When the hardware fills an
antry the FILL-POINTER is incremented by 1 (modulo 8).
Reading this line
~ives
the format
sh~m
above.
The
Valid bit (bit 32) indicates whetheT that entry has
been filled by tho hardware since the last process
u
change (see PROP V store 8 3)0
0
Vllien writing to this lihe the format is as follows:-
61
Bit
bit
off 0
59
60
causes the FILL-PO}ITER to be written to when
(Trace on) is zero, i 6 e o9 the Trace is switched
To switch tho Trace on the line must be w:d ttan to
again Vii th bit 60 set to a one 9
- l
u
63.,
I LiNE NOI
"
0:1.'
a. general reset gi van.
L
1
J
R
, J
'i
n
This line contains the
of the last
9
J"{JMP FRG},l' address (the address
16 hi t section of tho
the ent:!'y in J-m1P T?l.AC'i pointed
N oBc
The
~ JliMP
~t
JtJMP
instruction) in.
,',
by the FILL-POINTER.
'i'O' addrosses in JUMP 'l~RA.CE
as V store
,. !
Call1''lot
be read
G
It ca."Ulot be l'oad unless bit
60 in line 0 has been set
to zero"
.1
__ .I
~. J
n
t
j
'.
I
rl
,-,
,
,
:-1
L
J
c_J
P0::'iphoral Window V-Store (Loc;?l Block
6)
- l
'.J
ltddrGss
Namo'
Size
Access
o
r.!ESSAGB WINDON
32
R/W=Reset
- 1
'fhis 11egistol" belongs to lliU5 v-stOJ.'O but i;l addition
m~y hQ,V0
infol~mution
in th.o system o
T110
wri tten to it f:-com othe:c units
'\-r.ci-cing of tl1is il1IormatiorL
caUS0S
attempt to \'iri. te to the line from within MUS will mel'ely
:...J
cs-use tho line to be set not busyo
u
,
-~
u
~J
-,
j
_.1
14 8.72
0
u
n
Parity V-store (Block 7)
L:
Address
Name
Size
./J.·ccess
(Decimal)
64-bit
bOlli"1dary
L'
o
i
MUS RIPF
This provides a
me~"1S
R(\'l
of inhibiting further requests from
9 2 1)0
lIDS to exchange (see also
0
0
General reset resets this to zero o
L)
1
EXCHANGE REQUEST Pft.RITY
60
R/W=Reset (see below)
4
6;:s
1--,-....:-..,.-;:-,.-:...-:--· I
I .I
I
,_ DATA (V VlRITE
1_ j.\.DDRESS
-
Crnri':i\oL & UNIT NO
J'
requests from
excha~ga
c.
J
~_
J
1- EXCHANGE OVERDUE
Writing to this Irme resets all bits and resets the
4 bits
of block
4
line
,-----.
20~
L
This line is resat by:-
.:
Writing to this line
4
Writing to Block
line 230
,i
This line
i~
duplicated in block
4
line 20
0
" !
l
;
'-1
c
J
Vx-store consists of registers which control and/or
d~.Qgnoso
~o.d
- 1
zyst0m ha.rd~;;tare ::md which aloe com!ll.ul'l.ica.ted with from MUS
other units in the
rIms
bet,70en
syst~:nno
It defines the means of communication
and the other uni 1:8 of' -;::h0 system
Q
MUS may only access
ViC-store whon in executive mode or 8.n.y interrupt mode.
-,
Access is
achieved by a. real 2.ddress in a rea.l a.ddress mode descriptor or by
CPR bYP2.SEl 0
a. list of tha syst0m Vx-stores:-
E01mv is
MUS Vx
'-~
9v3
Disc (Drum) Vx
Block Transfer Unit Vx
~J
-,
905
19o5E Vx
96
Loca.l Store V-x.
907
008
Mass
0
'. J
Store Vx
System Pel'i'ormance Monitor Vx
LJ
A pl'obl$m 0xists when writing to the Vx-store and ".:hen cha.nging
NcB"
,-I
the status of the ruachine..
As fuz- e.s MUS is ccmcer:ll.ed p a. write order
is ccmplate whoD. it is accepted by the st01"e access cord::rol and it is
'--I
£01"
or(~or
uctually
:LS
a
lal"g~3
possible
number of iz:atl"uctions to be obeyed before the
executed~
A soft'\va:re interlock muat be applied in
C9.ses wna;,.~e this could cause t:;:-ouble, 19 "g 0 ~ 'W!'i ting to. :reset a BTu 5.nter:rupt
~_J
L"_nd t:':1ea relea~dng tha intel'rupt flip flops in Machine Status may Teeul t
i:1.
2.
second BTU il'1torrupt II which ....lill apparently va.."'1ish and may look like
p,,~::'i-:;y
"
intor:;:-up'cs p a::.'1.d local store fail soft 0
There are many ways of providing such an interlock
~~d
two such
are illustrated:,_ .J
=> Vx-Sto!'e
En ::
'.~
S(;Jlle
Vx-store
(destroys Bn)
b)
=> Vx-Sto:ra
B ¢ saine V;::-stOl.'e
B j2} 0
( imlOcuous )
.'\. und X ardEll'S etO not provide a satisfactory interlock o
.
~--.,
u
n
L
rrho normal iVIU5 Vx-store consists of the following:-
r.rh(~
P81'ipheral Window (Block
6,
Line 0)
This line falls into the Vx category because it is the
ll1ea:n,s by which other units in the system commun.icate 'With MUS 0
These have 'Write only at::cess and use this to put informatiml
into ';;11e 32 bit line 0
This causes an interrupt in MUS Which
al10',::8 the information to be read 0
'1'110 Parity V-Store (Block
7)
L J
63 of line 0 of MU5 V-store block 70 I t has
ro:?d/w:d te access from all units in the system including lroS.
Wh0n C-'1Y bit in the exchange Vx line UPF becomes set (see 9.4) ~
MUS RIPF is bit
exchange sends a sig;:nal to every unit in the system.
This ia
ig,"110red if the unit has the mar.rual
g
ignore parity 9 switch set 0
If not ~ and the !UPII' bit is set to
t
1 v then no further accesses
, !
are permitted iro,n r:IUS to e:;:cha..ge until appropriate action is
In normal circumst2.1"1ces this is a complete description
fIowover ~ i f the HEi\iOTE switch is set in MUS
of HU5 Vx.-a tore.
Console V store (Line 12 bit
54 see 8c5> then blOCl{S (2
->
5)
ci I\ms V S'l::ore becomes available as Vx-stOl.'e in addition to the
t,70 lines just described
in chaptel' !3 e
lO~
"1'110 MUS V-stm:'e is completely described
<.8
access as 0>$ f
S;?)ilEl
0 ;))
01'0 "
3
a".~d
5
55
r-1
become treated as
However, bleck
does hav0 scme changes on access.
11 a:r;,d 12 as V store have only READ access.
accesc
a.'1d
:
All V lines in blocks 2,
Vx lines vrith th0
Console V--store
Q
3 the
Lines
The per,missible
",8 Vx linos is REJU)/WRITE with the eJec0ption of bits 5J(
of line 12 'which
8
tay READ only 0
Access to the Peripheral Window and 1JUS RIPF is unal tared
(
)
rl
~l
~
__ J
L1
'i'he Disc Vx lines exist in ono block (Block 0) which COllsistn
:~
of :)2 liaas of 6~~ bits
0
- l
. J
16(1
\ -r -b';-
o
Name
Size
Accesr;
DISC ADDRESS
2:2
R/Vl
t word)
'_J
'" .J
p
is ths internal rea.d request
bi:~
and
if,~
set (ioe o , = '1') override~ bit 330
U
('1'hereiol'e normally a zero) ..
-1
'__J
R/Vl
specifies ·whether reading from or Tlriting
D
specifies th0 disc number 0 ->
-~1
L_J
30
Each
has 64 bands containing 37 blocks of 256
'l
words (32 bi t8 + 4. parity bits)
,-.J
specifies the
SIZE
for tr8.J."1.sier
numbel~
0
of blocks rElquested
Q
VIri ting to this line initiates a disc tral1sier;o
Note
"
1
'rna
block and size digits are updated dm.'ing-
29
S'i'DRE ADDRESS
The
28
transfer
R/N
tl.
24
I ~r\\~l U~M\.SS /LiJCAL P..EA.L
4
J
So
ADDRESS I
bits specify the real address in what is the
receiving or sending unito
Hardware ignores the
l~Go
eight hits of the address; it is a!3sumed to point to
L..J
at least
size)
L.J
-,
l~
0
8.
256 wm.'d block boundary (minimuw tra'i.sier
'l'his line is altered during a tr8..nDier
0
0
DISC STATUS
(see bolow) _
The description bolo",. is of the status bits
W:"011
sot :::
r
?., 1
.l.
•
Decorie the rost of the st.1.tt!S line.
,
Tilis is 0xalninecl by software on
c
"
L
I
L
)
completion of 0&.ch transfer. _ If set,
set~
come further action is requiroct.
re~,Gt
This digit is
by writing a '1 v
to it.
Dgeod 0
33
v,~
1 ine
7.
1',
This ind:i.(;&.tes an operators request to go
onto SELt" TEST.
Fur-chol' information about
7.
tho request is held in line
34 -. 41
same sig11iiicance as bits
+'7,
->
"-1.9.
Disc 1 absent.
Set
mG.!'1uall~1
L
to indicato the disc is off
'
ri
line i.e., cannot be read from or written to
l
J
by a CPU.
43
- 44
Spare
...At:::
r .....1
Disc 1 on SQlf Test.
,-/16
Disc 0 ahsent.·
47
- 40"
Spare
49
Disc 0 on Self Tost.
50
Illegal roquost to the disco
51
-- 52
WIlen input" p2.1'i t:;' error occurs th030 hits
define whether it pc cured in data, address or
con trol inf orm2,tion ~
Input parity error.
53
This callses a bit
l
i
l
J
to be set in th0 exchange Vx. l-ine UPF .-Resetting of both bits is achieved by
writing a '1' to this bit.
Bound locked out (see line
55
Data
18.1:;0
5).
(Hardwa:re el'l~or).
il
10.4073/1
rl
_
J
~r
u
~isc).
)0
Column. parity error (internal to
->-
How parity e1'ro1' (internal to disc)
';)1
~n
:J< )
Ignol'0 P'i"':o. ty fault - applies to
59
60
End
')'{
'oJ
tra.nsf0:'~.
i
0
J.' :::: ENDED.
Di::;c unit number (:::: 0).
-l
/~ccess
1
C. )
All bits of S'i'):J.'US
ca.n
,_J
be read.
C2.n
too
32, 50, 53, 53
Cnly bits
Eaci1 is 1'0Se',:; by wri ting a
to its bit positiono
.,
LJ
3
CTJHH.Ei?r
:2-4
P03I:-LI(Ji~S
R
·-l
.-
1---1
t..)
---·1--
6
6
6
j -WI\\' \.'1' \ 1
Dl
DO
'_"_;_'_'~i~~,____~~__~__1)2
~____~__
~~__
~
D3
32
6-=<
II
j 1
I
,}
DISC 0 PACKING DENSITY
DISC 1 PACKING DENSITY
rrhis line gives the curl'ent positions of e:;>.ch,
of tho discs, and also recol'cls which packing
density is current (VOi - HAIF P.D., t1 f
-
FULL
PoI)Q)o
L_J
R;t'l
28
1" \\\\\\'\1
''o,' \ '.
'">0
I(EAL ADDil.ESS
------------------------~-
i
63
,)"
This line holds thE? a4d~ess to be 'written to on
disc transfer corr.plet0.
is the STATUS line 2..
Tile ,'information written
Thi~" address must not oe a
disc address;;:
I!JCKGUrr 01
16 lockout switches for
This con".::ains
discs 0 al1d 1
bit locks out
~
oach of
rl'has0 are set mfulually.
4
bands o
Each
II
6
IDCKOUT
23
ji..fj
fOl' line
5
I
R
32
,-,,
appli(3d to discs 2 and 30
L
7
REqUEST SEL-:''' TES'r
59
->
60
5
Reservod for Request Self Test
on dices
61
62
,
2,
r-l
3 ..
a..11.d
inOtlU0st
solf test' on disc 10
~Request
self test' on disc 0
fl~equest
self
test~
0
is set manul?lly
0
'CPU permission to self test 1 ..
ACCG8S
All hi ts can be READ 0
Only hi t
63 can be vll'i tten
to"
8
7
R/Vl
1 1
I I I
57 - 59
60
61
!
:2
I
Margh1.s
L
A/D Required
,1
_~
Self Test
Disc number
•
j
L
j
I
'
.,
I
'
,_J
--,
26
,."
,.J
~-
'j
"I
.~
.,
1_
J
.
,
6
6
R
6 _
6
3
AID holds the AID conversion value •
Ct.:I':"Emt Bf'lm,
-(
59
..J
60
--,
LJ
--1
,-_J
-,
L.-J
--,
l.J
--,
L.J
~I
LJ
---,
L.J
-:
,~
.,
L_J
--,
L_!
--,
L.J
,
~,
,
L.J
Print fVD
Surface Error
--1
62
The
BIJJCK and TRACK is maintained"
l_J
LJ
111 1 1
l-jVDI-;W-@0,\\'IBAlmiB:LDCKjTRACKllll!1
32
63
Address Error
Self Phasing Error
The Block T:r8.Usfor Unit is desifs'Tl.ed to perform autonomous
bloc~..
transfer:::: between six possible stores in the system (2 mass
5"1:;Ol'03
and
4- local stores).
Up to
4
block
tl~t'.nsfero
may be specified
n
cO!1currcl"l.tly rnd these are cD.rried out on an equa.l priority, timeSh2XGcl b~s:ts
0
A blo0k
out one
tr~l.nsfeX" :f:r-~
i~'ord $;''; 8.
masS to local for instance is carried
timo th:;:ough tho 0)Ccnal1.ge..
. I
'rhe 'Word to be transferred
is buff',n'od ill tIl€! BTU boiore being sent on to the local store..
'rhus
t
j
I.
J
the t:l.'X1si'e!' mn,S8 -> local actually consists of "boIlO transfers:-
Ma.ss -> BTU followed by
3TH
A block
.v> Local
tl'B:.nsfe::..~
4
has
controlling V-lines associated with
4 sets of those V lines allowing; 4- COl1.curren t tra..""l.sfers
22.;:;:1 set is sitt"io;ted in c~e of the 4 block addresses 0 -:> 3 of this
it c
'1')::.61'0 iU'0
Po. blcek
of 64 bits"
of B'1'"(j V;;:-store consists of 32 lines
Wit!:.:!.!! blocks 0 -> 3 the VX lines havo the following
BIJJCI{S
o
3
~>
l
.1
,.
}
l
}
(Tra1"l.sier control V lines)
c! r
-----/,.."~
0
Access
SiZe
~:) fJ :-;
'--1
Sps'cify"i:ng
G~tI . . . bi"'~ bcu~-'lcQ.ri0s
'!
o
SOUF~CE
PJ)DI~
E/l'l
32
4
28
i ~\.0\~.m~\\~!----~----~-R~A~~Q~b~~:--~I----1
\. \1" I
oource '. "OJ: 1..0C \:
L )
to a botL"1.dary that is a multiple of the block
size obtained by l'ounding the txs"ilsfel' size up
to the nearest power of 2.
In addition the
10:?st si@;nificG4l.t o.dd;;:·ess bits are alw2.ys
4
intGZ'p~·\)ted
I'
\ __I
by the hardware as zero (16
'.11Ol'd
minimum boumlary) <>
A tranSf0l"' of all zeroes (null tr~"1.sfer) is achieved
wh0n bit
41
of the source RoA. is set to 1
unit no (bits 36
~~d t~e
.,
'1
DESTINATION ADDR
3Z
j
l.
1~~\'Tl)estinati0l1
32
J
R/W
z8
R.Ao of block
63
I
This address is interproted by hardware in
the same way as the source address
SIZE
"1
0
R/VI
20
",
At the start of a block tra.;."'1zfGr N spocifies tho
LJ
trg.,"').sier size as 2 less thun the number of 32 bit
words due for· transfer
0
(NIZ will al'7l:::tys be odd).
The ma::cimum tr:?.nsfer size is 64K and the minimum
theoretical size is :2 words
0
the block backwards to the fir'ot
l.J
Each time
0
V/ord is b.'aJ,lsferred N is decremented by :2.
:?
64-bi t
on
= -2.
completion of the trans for N will be
Ul is the number of the unit which is to be
interrupted on complotion of the transfero
3
L
TRANSFER STATUS
J
R/VI
4
28
1 1 1 1
I ! I
I ~\\' \0lli-w\\\Wi,"".\\\T"M\\\"T>'\\\,",",\\\\\\\W'i\.\W\\\\\\\\\\ 1 I
3Z
I 63
.I!
",
1 I
I
'I
I
1
,
,_
SPP.J~E
PDT
I ,_ TC
1- TIP
",
Bi t
60 is the 'rransfer in Progress bit
this bit initiates a block rrra:nsfer 0
0
Setting
It may be
=teset by software to terminate the t:caTlsfer midway
HS.l·dviare resets this bit on transfer complete
(successful or not).
28.6 74/1
0
0
r~
.
I
I 1
Bit 61 is the TrD.:nsfer Complete bit
rtardWal'0
0
sets this bit on completion (successful or not)
of the block transfer.
This is what cause:;; the
Block Transfer Cor::plote in te:L rupt in Ui
1
r-.
'1'he
0
I
interrupt may be turned off by resetting this bit.
Bit 62 is the Parity du;ing Tra.i1.sfe!' bit
0
I
When
set this bit indicates that the current tra:.'lsfer
has been terminated by hardware because of a parity
fault (sge BoT.U 0 Block 4 - Parity V lines) ~.-Bit
63
L _'
is a spare fault bito
L
o
PFO
R=Reset
1
.10'....L
;.J .....
oc. ::..)
r~
of this line is sot if parity is detected
on address or control bits sent to the B.T.U.
f:l'om 0:1:chal'1ge.
e;cchange and
'l'his signal is pass€)cl back to
S'ZltS'
EY-change V:g:-sto!'e
line 2).
a hit in the UPF line in the
(S00
BTU
Vx-sto:.~e
Block
l
•
l
I
l
j
5
Both of these bits are reset by
reading the PFI bit only.
R/yr
(
1
1
Bi t
63 of this 11:.'161 is a means of inhibi ting
fU"Hthel'
_ J
from the BoT ~ U to excha:n.ge 0
Z'e,~ue8 ts
When :a:l1y hit i:a the UPF Vx 1 ine (S00 block
5
line 2) becomes set as a result of some parity
fsult eXCh!:1ng0 s(mds
tl1G systerrt o
:l
_
J
signal to 0;;:.ch unit in
1V1:,J3Xl this sig'nal appears in trla
B., '1' • U O? p!'ovided pari ty in terl'upts are
r1
unhinhibited, the RIPF line if set will stop
fUJ:'th6:;'~
2
TH.ANSFER
to 0xcha.1'lge
1~6ques ts
CG:/iPLE'fE
4
,
J
\
J
0
R
56 - 59 conta.in the trunsfel' complete bits
for chBnnels 0 -> 3 respectivolyo
Bits
rl
NoBo Early morning reset sets these bits to zero o
1---
]
l
j
'_J
o
SUPF
13
?his line indicates scndine; lli"1.it parity faila
f'.cidr8SS
~1.d
control information. is ChElCK;3d forIf tho check fails a bit is set
:1.11 St]PF COl"'rGS pond ing to the uni"i: \Yh.ic h 8011. t
"C:1G
-,
,-1
12
---,
~._J
~~
1
,j
-[
__I
-1
TIe:..=..dirJ.g' this 1ir1e causes it to be 'clea.x·ud {}
.J
Lit
!f
cont:L'cl
[
0;'"
8.dd:!.'0SS
S&t~
indic::;/cos a
pari 1:y <>
-.J
"
13
UPI'
J
1
"
J
-l
.J
-,
J
~~on
units 0 -> 11 rospectivoly.
R
r --,
This VX-store consists of four lines in block 0 0
Accoss
(Dacimal)
O<.-bi t
boundaries
o
VXINT
VI
1
W:2.'i ting to this line interrupts the 1905E at the
n0~ct-occurril!.g
Normal-Mode instruction-fetch time
(The value of bit 63 is irrelevant)"
0
Writing to
this line also sets bit 220 in the 1905E~8 internal
V-line 129, (knovm as SR129) 0
1
VI
1
5ERIPF
W:d ti'ag a 0 to bit
flip~ilop 9
~et8 the 5ERIPF
63 of this line
(thus allovling requests through Exci12..>.'7.go
:tn tho SV9n t of a pari ty f ai 1)
W1"i ting a 1 to
0
bit 63 ~et~ 5ERIPF ~ (thUG inhibi ting 1"e~u0sts in tho
even 'C.
0
f
.1 )
a par:!.. ..... . y f al._.
·""R-P'r.'O
5J:;;:\.i
r
.. ",21
appears as •OJ.·C
.:.,
in the 1905E t s internal V-line 1290
2
RPS
w
1
to
V-lino resets
(Tho value of bit 63 during' wri ting is i1"1"01ev2.1:1 t) 0
Pi'O) \7h.ich indicates a parity f8.il detected by the
1905E on info1"m::l..tion received via
appears as bit
( Spare)
2 18
1
E~l:Change,
also
in the 1905E9s internal V-line 129.
w
(Writing to this line causes no action).
28.6 74/1
I
,
\
i
0
-
\
<....,/
iJ)
~J
'i.'fie following
a list of
:loS
l'01(,nrG:,;i-:.t
bits
~l
,!!108.11i11g
Adv1;1.\").ce W8.l'Tt.i:n.g of Power 17'ailu:t'e
~J
'-,
{s:truilar to bit 49 in s.lD.) System
Sl·::"C:r'
V-lin·3)
I\~U5 ~ c
Remote switch on/off
0
0
.. .J
lillo\~t/In:nibi t
.
-,
KiDS co:mrllul1icatio:1
IJtlit fail - (sirililal' to t110
OvIO;::,'dU0
signo,1 at bit
60,
EXCflC?.11g0
MUS V-line
i_I
23 in block 4)"
this is
25
Z0t
in bloele
by w:r:i ting; to 1m5 V-line
4.
L.J
.. J
-,
,' () '7-2
1 J"ooJ
L.J
~Cl1.e
~cr~1.
L.
---,,--
Store V:n:-·S tors
.......-----~------
'l'his Vx-store consists of
llt~d:r-eSf:3
-----
5
lines in Block 0
0
Size
Access
6L~:"~bi t
bO~.l.J.~da.:r-ies
a
()n incoD1in.g a.ddrE:sses or cOZ'ltrol bi ts fronl
r.rh.is l"'asul ts in a bit be::":n.g set
by vl:i.'iting to PFO o
8
F A,IIrSO]TT
R/Vl
I~~~\i\~\\l\~m\\s\\)\\\\~\§l\Wrt1..t. . .-;--4'-·1
32
!
63
I
I
I_- OFF
i
56
-,>
59
Ti1.eS6 bi:.ts CB:n. be Get to sp0ci::y'
a failsoft m::JGe.
(See bele/H)
Q
;
has no effect.
!
,-I
rrhGR0 r!1a~i
'co
C!.
bo
Get
:i1 n108.l1.i:rlsful
";:0
11l1il1be:rs
r,xldo of op~ration of tho Local Stol~0,
Q
Each ntllnbol' corrosponds
as below:-
i .. J
o
o
Norm~l
- nIl
4
stacks interleaved in
1011
I
I
L',,
l'~on-iTl·cerJ.0f'1.."io(1
<.Ie
,,-
of S0('!t1C'1'..tiaJ.
I:~~?Cll
s tacl< con tains
:.;v1dr03SGS:)
liOrl-i1l tG:._ll'.:~~:l..\t("lIi .::.pC 0::: Go,:uon t~~::~l
~CaCll
ill
o!,(1.0r
s t:;:.C!I,= corl t8. ins
il1. O!,r1ox·
8/\(:1""03808,
1
:2
3
I, -::;--Q'l
t . oJ
I 1
I I
I
I
-r,-
1,':- I 11:2-·!
,
! tj.K , ![iF: I 112KI ! 161(1
1 I
I
I
10-
t -r
11-
1.'1~-!
\ j,~:;Z!
1
1"1:2:1 ! 0- - i -;-':-1
i4J{ I i ;11c I
1
1
1 I
''"j'
10:"-
1!i.- -
11-;;-:'\
I
..... ~
I
I
I Dr< I ! L~K 1
1
! 1
1
-~I
I
11GKI
1
.-'! ,-.. ~ ". :
1 J, .:.1,-'
,--J
ITo:!.-:L11.~:8r18;::.V0rl
!~(
of
-
se~uentinl
:2ach. stucl.::
add~ea8081
C011tairlS
in order
!:l.2:':1
!~r.:.-!
1"()..:'-
116K!
11STCt
I LGC I
I
Into~10avod
t1..I'!.'::
1
E~, :~,
')
in
~airG,stecks
F~(:d~"c:n:;sfJd
i11
0
&3
Ol"(~ or
I
L__
10 11
1 ()-
I
.r=:--"=I,.
! 0 11 I:?'::'!
! [i- 1 18- i
1..-----·----··-;
__ _.c:----=:l
. 1
L,xo:c'lO:'l.vor' in l,ail's ~ s ta<:ks 1 g.,
a11(~
0
2:.
3,
Il1 t0~["le~\ro::
~-V~~
1 2·,
3,
?,
adCi l"0ssrad in o~rc1er
in. pai.1"13 , fccncl-::s 0 2~ 2
a6/;rGsse,~1
in order
10 11
101!
_I.
1231 12 31
18- I 10- ! 10- : 18- !
11()~1 InK I 12 rc 1 1J:]~i
[--10 :l.1
10- 1
l'iI£.J
__,..----L-,.-L.. ____:. . __I.
10 1\ 12 31 12 3;
l~- I 10- I l~- I
I. j ,0,.'.,
,... T-I
L_J
6)5.74/1
1,:,,:,~,
n., 1 I"
c: y-'
• ,c\;.cl
J).ltS:i.'loavocl in p:::d.rs p stnckG 1 &.
s;'i.d 0 &. 2, e.dd1'0:::;God on
3
ol~dol"
•______ or1
12
Irrtol'l10f':;ved
/:4:.d
3
i11
pairs p stucks 0 & 1
& 2, Qdd:,;"'ossod in order
1
J.~'-""l
\0 11 12 31 i2 v-::!
10- I 10- I 18- I
/=.171
18K 1 18K I l'~t
In.t0~~10eIoVDd
:121 pfLi3:~;-!';
1>
stncl~s
QllC: 0 ['..; 1» ;:;.ddl'0:!:sed in ordor
3
F~
2
(ell
18~
,!
119El
,._.- ......".... !
,
,
1
13
I~
!
-'-31 ,:;-;t.'J 1'0
(011 12
11
18·· I 18- I 10- I 10- !
I 16Kl 1:t6Kl 18?~ I 18IC I•
J:..I
'-l
..
8ui-c~~bJ.o prG(~4utionrs mud~ DS t(;),k'?JTl to ensure that the setting o.f this line
-1
"
l?.j\'T
:i.1.
tl10se bits specify throE!
53 -
states as fol10,,!s:-
"
00
Normal
01
Normal
10
Il~~.rel'se
11
Ohoy console switches
Ene1 Action -
of console s'.vi tcr"!.8s
'1
.
Continuous self test
'0 i
t
~l
00
O",l}r
the oc1.cJ
6.~:.-rJ:!. t
'rlO:!... ·.:1S
C~'l11~r
t110 evon r);! -bj {.
.o;;tO:'"'{(D
~,
10
c ......
• l,t
.Jt-"
" • I
._'
:.}:t
I."IU11C
t ion
",
'.~~
TIea':.l H.Gstore
12
1
~ ••'"
.>
12 b:V<:s
6.6.74/1
9. 6 .5
PST
See Bolow
5
Digits
59 - 62
REft.n ONLY Fault bits - one per stack
Rji'l - this bit initiates and term:L11a.tes
s01£ test when set
= OG
':
--1
l
J
Size
JI.Jl;i~~"(:ls
------:3
~
A.ccess
~ \:1~ -"iJ~~.:;
".1
!
b~1Jl":.dc:~~i'
l
o
PG~·tER S'rAC~I
b
8
1.
PG~'lEi~
srr !~C!~
1
0
0
R/W
R/I'l
'I
:"i
":' .... r ... -:·r;t---~
;;''''L.:I~.6.:\.
S:l'/~CI{
:2
8
R/W
P0~;\T}.?:?t.
STAC:f. J'-,
()
0
RjiN
o
,
~
o
I::\\\\\W\\i:\\\\W\\\\'~:\WS\\\\,I,\\\,\
\ W~~~Stj t::
..-..;..;.I--..
---~
50
3:(.;
i
J
Eif.~~~. t~1
-,r.:..
.:JiJ ->
-::;'1,
...;.
PCflJ.Yel~
Bupply 0
58
60
~>
"""
v'"
\..~
PO'7J01'"
SUlJply i
->
·51
T'O\78:t~
Supply 2
,.
>.:;2
_.>
63
POW02'
SUPJ)ly
p1_
3
'lalue
u
00
Roduced ID2.rgin
11
LJ
u
Irlcrof1.sod margin
II
l_
OFF LDm STACKS
R
Ii
L.
28
1 1 1 1
I ~'1\S\\\\W\~\\I,S\\\\\I\\Vj\,N\\\\'0\@W:\W I !
[!
2
3
I I ! I
i-
I I
I
3
I I 1_-STACK
Srjlo\no,o7 ~
A.h.·..... .!.:.. :4
I 1_ STACK 1
~-
I
1_ STACK 0
r,
~ d0f ine
'rheas hi to when set to v1
m'i..7 LUTZ..
a s tack to be
This is achieved mal'l.t:l::?11y 0
r~
,
5
WORKING ST ACES
I
Rji'i
This line has tho same format as line 40
L '
Each bit wb,m set specifies 0.. stack to be vlm:,king
n02'mally.
RGset to put a stack on -Cos';; 0
6
RjW
2
Bits
62 and 63 of this line
stacks 0 to
define which of
3 is on self test.
~!
Rfi'l
7
Sottins: bit 63 in.itiB.tes self test
spGcified in line 6"
8
To
6
SELF TEST Crn-rERGL
tho stack
reset testing a,fto2"
I,'
'I
,
,C - '
011
I
<''l.
RjW
.J
!
L
Before putting any stack
(58 -> 60)
Wj,'i tten
al'l.d
all
self test, patt01'ns
operating modes (61 ->
63)
08.11 bG
to thi;:; line ..
I
-
'
I
:. 1
n
l
J
LJ
R/W
3
Sit
61 is SEQ
~d specifies only ono cyclc of
all addresses of 'che stack on toot (' 1 V) or
continuous cycling (V O')"
Bit
62 is ST a.."lu for the stack on test specifies
?stop at end of current
stOl'O
cycle V (t1')0
Bit 63 is CON' c",.nd specifics (for the stack on
tos t)
'1
s top on
,,-~J
1./;,
13:;:'1'01'
th:ts hi t
('
0~)
CM
0
To continue aftel"
be reset to
t
1? then
17
10
u
stop on erTOl" 'l
• ')
h
rl'i.lis lLto holds the address at which 8,..'1.
03.'1'01'
---,
1
"I
I
LJ
"
12
6
H=Reoet
26
,
1111:1.1
I ~\SW\\,&\\\0\\WlWW0\\\"";\ ·.\C\'15\""\~"'\"'\\\, I I ! I I
I I
I I I I 63
32
1 I
I I
I
I I
.
PFAC
I
I I
\ i 1 - PF3
I I
i 1_ PFZ
I
1__ pi<'1
I 1_ '0"'0-I 1_ PJJ;V-1_ INVALID P.J)DRBSS
\\T1\
~J
]):.~~i t
Sg--(PFV)
Pnri tios
V store liP date.
59
(PFO)
Stack 0 riP or OIP data
60
(PF:~)
Stacl~
1 liP
01'
DIP dZ;Ct"
61
(PF.2)
Stack 2 liP
0:;:-
DIP data
62
(PF3)
Stack 3 liP
OJ:'
alP data
63
(PFAC)
Address or Control bits
[l
~l
f:t'·or~1.
E::!:changc
57
(INVAL)
INVALID ADDRESS SOl'l.t
i.,0 q
to
int0rf~C0
to high fo:;;, numbol' of si::ac1c.s
working
If
~!1.y
of tl1GSe bits is set a sigl1al is sent to
eJrohan.go end to the Engineers Door 3.l"1d Consolo"
ST ACI{ 0 S'I'.A.'rUS
3
serACK 1 STATUS
3
ST _/!.Cli :2 fIf ATUS
3
R
3
R
•
R
J
,_ J
1
>_
15
~l
<% 1";
ST ACK
<70
to)
3
S~f'/lTUS
'['he formats of theso
Ri;~(i
6:1.
62
4-
~_
J
.
J
lines are the s::,.me.,
t
Power Supply on margin
Stack or. self test
Error during self test
RfVl
2·
~1
Tnis specifies 'which section of the data or
address word is to be reo.d 'whsn reading '!,'DO
or 'fA lines 24 and 26
0
._ i
~o~
:'ofers to the most
'23"
:cof e~s to the leas t s ignif ican t: sec tion.
significant section,
(i
'__ I
9 aE~
Tr.~e Sys tom Po}:f :.J:l'ma:ac:o Uoni tor Vx-s tore
follGwi~"1g:-
The SystmTI PerfOrri1.a,·lce Monitor Vx store consists of the
This line is accBssed by using a real moele
spGcified in the
origir~o,
de5c:ciptor~
with
V·-::;'t:e2·'~
The real address part specified is irrelevant"
Tile top 32 bi t:J 0':: 'che V-linG are '\'!:d te only (if :read, they retu:"n 0).
o
nesats
J.
~~d
icitiates
histogr~n
logic
2
RCV/iL
CV03:,:;,·idcs validation lines for hi3tograi11 input
3
~li'TOI~F
Tu:cns off interrupt
4
E:~ablo bits
u
5, 6, 7
Initiates fast counters
~i
6
H,t)sets
7
3I rf
f~st
counters
()
0
9
l~A.!O
:i.0
1:1.
L.J
BIT
R/~J:l
Used as RAIO
12
13
Rn,!:l_ i
:i..:t
~nr.IS.J
15
t.t'
CCl1tl'ol the input mode on
'~he
histogrz-.l·I\ input cha.""1nels
Allows DV!G1.1
Histogr::~,m
logic to cOT.tinuo
upon overflew of Y-Counter
2IT·
'.,
16
17
1G
,/
Set the scale factor
18
19
two
P:rsscalar
P1..~:'.:;:3:"
BIT
20
Enable bits 23g 2L!.p 251
21
Not usod
:22
Not used
HSAC
7,0, 27 ~ 28, 29; 30
Allows CPU to ·wri te to or road
tho :real star0 via ExchangG
RSlV)
Initiates the display of the store
contents on the VDU
25
iiSAIE
26
RSAID!1
J:ncl'Erment/Decremont Histogram 1.10de
27
RSAECF!
Clears 'l'i tle store
nO
Dwell
..t,()
H:i.8togr~.rn
2()
RS[;.DAD
Direct Addressing rno(1e
30
'27
RSARD
Clears Data store
be
zn
&:;
30
29
NOTE =
,, ,,
mode
CIoal's ti tIe store and data
,
st01:'O
~,
E::-::.8.Elpt for those pairs notecl t only one bit in tho
abov0 group should be set at a timoo
BIT
Turn off parity fail indicator
BITS
32
BIT
60
Not used
61
}:ioni tor is in Ma."lual Mode
->
59
Not used
J
c
~\
BIT
BIT
6~
..J
in one of the i'ollowing
:·;106 c:;
:
i
~-. ~!
111 ANUAL, DISPLAY ~ CLEAl1.-STORE
. ,
r~
l J
'l
~l'hi8
cor:.~~is·t.s
of
3
bloci:::s of store addressed as follcN1S:-
~J
Size
----'
o
R/W
8
.
tore bi ts LtS
16 :;;: 32
To z"Gad thas3
cou~t0rs
bits
- 63
bits
- 63 of the highway
u
256 x 7 bits
i
U
,J
L-J
LJ
u
--1
L~
-
1
'I
~-
u
I
of the highway
I!
_J
I,
.
)
_
)
'l
,
J
Chapter 10
The
Basic~~rogramming
Language - XPL
XPL compilers e:dst for MUS and the 1900.
bOtt:C01l
unG..voidcblo
diif'3:;~e:nc0a
Sin.ce tbOi
1900
vers:.1.on~
difforences
b$en a.imed for, however, there are
h~,6
the compilers
Cornpatibili ty
0
compiler will be used rnore extensively than tho
~m5
th:to doscription applies to the MUS version, any
be~7e0n
the compilers will be mentioned.
':
o
--,,
Prog:i:'am & Statemonts
"
0
LJ
Blocks "
Declarative:,;
l
u
G
"
10 0 5
•
0
"
" " 10
"
0
"
..
•
0
$
000
' ..
o
0
•
o •
o
o
"
"
c
Q
e
•
000
(1)
Var:!.s.bJ.e Declarations
(2)
Literal Declarations
0
•
•
0
0
•
"
0
•
....
o
0
..
0
"
. .
o
The T0S~i; Bits in v.lS
. 1
u
u
'J
"
..
"
0
o
•
•
•
0
•
•
0
"
0
•
"
0
6
1007
"
" .
"
P.lto:l"n.-a"Cive Punching Conventions for the VDU's
Special DirectivG Stutements
"
. .. "
..
. . ..
o
o
0000880
0
"
0
(I:
•
0
0
o
0
o
•
•
"
10 0 i!.
II)
a
Procedure C811'Facilitias
o
•
.. "
Conditional
0
0
"
(4.)
•
o
"
D~~ga:rdsational
0
•
"
(3)
10.,3
•
o
Store to store
0
•
" "
(2)
..
o
"
Comput8:i:ior~al
o
•
"
(1 )
" 10,,1
•
Q
"
..
o
" .. . .. • • •
"
LJ
-,
.
" "
" " "
G
..
"
"
"
0
G
10 a:i.:l.
10,,1,,1
Modified BNF (Backus l'faur FOl'm) is used to define any
The mOdifica.tions to the BNF are as follows.
(1)
'.
)
~-
.'
Xn the order of alternatives and of elements within alternatives:=
eo
Any
no
If one
alte~native
which is a stem of another comes after
~~lte:t'i.'l.ative
it~
is a special case of anotherp it must
comG firsta
CoO
In recursiv0 d'afillitiol1.s g thel'e must be at least one
Several
alt0rn~tiv0S
s..l1.otha:..~
by ene'losing them in square brackets II
may be specified as an element of
-1
'-
.
)
J
. J
~
!
.'
',.
::=
*SEGMENT
BEGIN
L.J
END
*END OF SEGMENT
The
COi."Lsists of So nltmb~r of sta.tements g EJ.nd hene,,,, Ii
Ll
~::.-: <81'ATEMENT> [
I ]
L1
"
::= I
<1'ABLB> I
<'I'EX'I'>- I
I
t
I
':::SE;P>
::~
!
and ':7110:;;'0 com."1l0nt comm(ll1ces wi t11
.-.-l
:i1.0\11i~e
0
t\'lO
colons and terminates 't7i th a
1"01' 1:1.;:';'0 cOTI.tinuat~"C:Il1, purposes 11' is ignored It
Th.) ooven tYP0S of XPL stataments ara explained in the
" J
u
fol1cw:l::.i.g s0otion3
Q
10.3 l
Q
Name~.Litera18 &
Since the busic
lit~rals,
(1)
Labels
oper~,ds
in the language are names and
it is convenient to define them first.
Names & Literals
::= I
%!
~ - .'
!~ !
I
::= [+1-1 ] [ • I ]
::= [!]
::=
::= ~!11213141516171819!AIBICIDIEIF
[I«I~~EGER»][I]
::
= [ I ][ I
]
!:=
::== a ve:c'tical bar
::= 1
::=
r 1 I .][ I
]
::= D I[ I ]
I[.[.I]I
]
(2)
::= 0111213
::= 0!1121314151 61 7
Labels
A label talces the form of a nama followed by a colon, i.e og