FHP Program Arcnlte:tJre
DOCUM~NT NUM~~R: 90-000005-01
UATE: Novemoer 6, 197~
ABSTRACT: This dO~Jment defines tho$! FhP . ar;hitectural abstra:~
tions visible to the functioning program.
~EYW0RDS: FHP architecture
uata General Corporation Company :bnfident;al
fHP Pro~ram. Architecture
OOCU~ENT NJM~~~: 90-00000~·Ol
AU1HORS: Various
DATE: NOV.~Der ti, 1979
AbSTRA~l: This aocu~ent oefines those FHP architectural 8Dstrac·
tions visiole to the functioning pro;ram.
KEY~ORDS: FHP architecture
Data General C~r~oration
Company Confidential
COl"lte"t s
Chapter 1--Introduction • • • • 1.1 Objects • • • • • • • 1.1.1 Designation • • • • 1.1.2 L:>9i~ail Ajdress • • • 1.1.3 Accessing and Protection 1.1.4 Proce~ure Objects • • 1.1.5 Ubjects of ~xtenaed Type
1.l.b Ooject ~a~a3ene"t • ..
1.2 Procedure Objects. • • • 1.2.1 InstrJctions • • • • 1.2.2 Procedures. • • • •
1 • .5 0 oj ec t ;),r o/t ItC t ; on. • • •
1.l.1 Subjects • • • • • :hapter 2--0bjects • • • • • • 2.1 Object Designation • • • 2.2 Loglcal Addresses. • • • 2.3 Object Protection. • • • 2.4 Object ~c:e3siI"l3 Functions.
2.4.1 ~rite_object • • • • 2.4.2 ReQj~o~ject • • • • 2.4.3 Fetch_from_object • • :hapter 3--Procedure Object StructJre
•
•
•
•
•
•
..
•
•
•
•
•
•
•
•
•
• •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
..
•
•
•
• •
•
•
•
• 3.1 Introduction • • • • • • • 3.2 Procedure Object ieader. • • • 3.3 ~ntry Descriptor • • • • • • 3.4 Ar9_i'fo~array. • • • • • • 3.5 Procedure Environment Descr;ptor • 3.b Instructions • • • • • • • 3.b.l Opcooe • • • • • • • • 3.0.2 O~era,ds • • • • • • •
3.b.2.1 ~ame Syllables • • • •
3.7 3.S
3.0.2.2 Literals • • • • • • 3.b.2.3 Relative dranches • • • 3.&.2.4 Aos01ute Branches • • • Pointers. • • • • • • • • Associative Adoressing • • • •
• •
• •
• •
• •
• •
• •
• •
• •
• •
..
•• •
• •
..
•• •
• •
• •
• •
• •
• •
• •
• •
• •
• •
• •
• •
• •
• •
..
•• •
• •
• •
• •
• •
• •
• •
• •
Data General Corporation
C:>1T108r,y Co"'f;der'\t;al~
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
" • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• •
•
•
•
•
•
• •
•
•
•
•
•
•
•
•
• 1-1
1-1
1-1 1-1 1-1 1-2 1-2
1-~
1-2 1-3 1-.3 1-3 1·4
• 2"1
• c;I-1
• 2-1
• c:!-1
• 2-~
• 2-2
• 2,-.3
• 2-4
• .3-1
• 3-1
• j - j
• 3-4
• .3-t1
• 3-10
• 3-10
• 3 .. 10
• 3-11
• 3-11
• j e l l
• ~-11
• 3-12
• j-1:,1
1~~o:4ti 14/No~/7~
3.8.1 The Asso'i~tej Aaaress Taole • 3.8.2 get_asSoclated_aodress. • • 3.9 keferenci,g Static Data • • • • Chapter ~--Architectural Base ~egisters •
4. 1. 1 4.1.2 4.1.3
Frane PJ~nter. • • •
~tatic Oata Pointer. • Pro:ejure Base Pointer.
•
•
•
•
•
•
Chapter 5--Name Table ana Name Resolution
• •
• •
• •
• •
• •
• •
• •
• •
5 • 1, I''i am era 01 e :: n t r 1 e san d i\l a "e Tab I e Fie 1 d s 5.2 Adaress ~esolution • • • • • • • 5.2.1 Resolution of a Name faole Entry • 5.2.2 eASE Field. • • • • • • • • 5.3 01SPL~C~MENr Fielj • • • • • • • 5.4 INDEX_NAME Field • • • • • • • •
S.~ lES Field • • • • • • • • • • 5.b LENGTH Field • • • • • • • • • 5.7 Name rao~e Entry EvaluatiJn • • • • Chapter b--Tracing Facility. • • • • • •
Contents
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• •
• • •
• • •
• • •
• • •
• •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• 3-14
• 3-1S
• j - l b
• 4"1
• 4-1
• 4-1
• ~-l
• ~-1
• 1;\-5
• 5-b
• 5"0
• 5-0
• 5-1
· 5-,
• 5-7
• 5-8
b.l Trace Data Structures • • • • • • • • • • • 0-1
6.1.1 Trace Pointer. • • • • • • • • • • • 6-i
6.1.2 Tra:e Table Header • • • • • • • • • • • 6-2 6.1.3 Trace lables • • • • • • • • • • • • • 6-4 6. 1 •. ~ Cia s s • S :') 1S:1 f ,i c
r
rae e :: v en t T a ::>.1 :t S • • • • • • 6 - S 6.1.4.1 S-Op Trace Event Table • • • • • • • • 6-5b.l.q.~ Name Resolve/Eval~ate fra:e Eve,t Taole. • • 6-6 6.1.4.3 Procedure Transition lrace Event fable • • • 0-6 6.1.4.4 Data Store/Fetch Trace ~vent laole • • • •
a-a
6.2 Considerations For SPRINT • • • • • • • • • • 6-9 6.3 Access to Macrostate. • • • • • • • • • • • 6-10 0.4 Debugger/Namespace functions • • • • • • • • • 6-10 b. 4. 1 Get _C ;J r r e ~ t _F P (c u r r e , t _ f 0) • • • • • • • • 0 -I L 6.4.2 Get_Previous_FP (fp, prev_fp, err). • • • • • 6-11 6.4.5 Get_SJccessor_FP (fo,succ_fo,err) • • • • • • 0-12 6.4.4 Get_State (fp, state_ptr, err) • • • • • • • 0-12
6.4.~ Set_State (fp, state_:>tr, err) • • • • • • • 6-12 6.4.6 Swap_trace_pointers (new_trace_otr, old_trace_ptr) 0·13 6.5 Macro State Def;n1t10n • • • • • • • • • • • 6-13
Data General Corporation Company C,nftje,tial
13:0:48 1/.+ /i~ Oi\l I 71
7.1 Introduction • • • • • • 7.2 Condit1i::>l"Is • • • • • • •
7.2.1 lLLEGAL_S_OP • • • • • •
7~2.2 1~L~G_L_O~ERAN~_SYLLA3LE_Sll~
•
•
7.2.3 NA~f_OUT_OF_kANG~ • • • • 7.2.4 ILLEGAL.fAR.TRA? • • • •
7.~.5 INCUNSISTENT_N~Mt_1A~LE_~N1HY 7~2.b l~V~LIO_POINTER • • • • 7.2.7 INVALIO_cNTRY_U~$CRIPTUR • 7.2.8 l~V~LIO_S_l~TEHPRETER • • 7.2.9 INACTIVE_S_INTtRPRETER. •
7~2.10 ~_OP_TRACc • • • • • 7.2.11 NAME_RESOLVt/~VAL_TRACE • 1.2.12 PRJC~OUR~_CALL_TRAC~ • • 7.2.13 PROCEOURt_RflURN_TRAC~ • 7.2.14 PROCEDJHt_LEAVE_TRACE. • 7.2.15 PRUCEOURE_RtENTER_THACE •
7~2.1b DATA.FETCH_TRACE • • •
7.~.17 DATA_STURE_TRAtE • • • 7.2.18 NO~RESOLVA9LE_POINrE~. • 7.2.19 SfATIC.DAlA • • • • • :hapter 8--Call and ~eturn • • • •
•
•
•
•
•
•
•
•
•
·
•.
•
•
•
•
• •
..
• • •
• •
..
• • •
• • •
• • •
• • "
• •
..
• •
..
• •
..
• • •
• • "
• •
..
• •
..
• •
..
• •
..
• • •
• • •
• • •
• •
..
•
• ..
• • •
8.1 Call • • • • • • • • • • • • •
8.1.1 Phase one - Lomolete_:A_L!Rs_'cti~at~~n
8.1.2 Phase two - Locate_lARGEr_Environment • 1:).1.3 P"tase tl'tree - Build_T4R:JE.T_Act ,ilfati:>,., • 0.2 Return • • • • • • • • • • • • 8.3 Nonlocal ioto • • • • • • • • • • 6.3.1 Restrictions on Nonlocal Goto " • • 8.'s.2 Semahti:s of, \loi11ocal G:>it:>1 • • • •
Chapter 9--S-Languages • • • 9.1 Bra1ches. • • • • • 9.1.1 Relative Branches • 9.1.2 Offset Branch. • • 9.2 ~xception Conditions. • 9.2.1 Protect i 0', Exceot; 01"\6 9.2.2 Namespace ~rrors.. • 9.3 L~n~ Instru:ci01s. • • 9.4 Overlapp;ng Operands. • 9.5 Definitiol"\ =ormat. • ..
• •
" •
• •
• •
• •
• •
• •
• •
• •
• •
• • •
• • •
• •
..
..
• •• • •
..
• ••
..
••
..
••
.. ..
•
.. ..
Data General Corooration C:>moa,,\y ConfiJe.,tiall
..
•
..
•
..
•
•
•
..
"
Contents 3
..
..
••
..
•
..
• •
..
•• •
•
..
..
•• •
• •
.. ..
.. ..
•
..
..
•..
•..
•..
•• •
• •
..
•..
"• •
• •
• •
•
..
• •
• •
.. ..
•
..
..
••
..
•
..
• ..
•
..
•
..
•
..
..
•• •
• •
.. ..
•
•
•
•
..
•
"
"
..
"
.. ..
•
•
•
•
..
..
•
..
•
•
..
•
•
..
.. ..
•
..
•
•
•
•
•
• •
•
•
•
• 7-1 .. 7"1
• 7-1
.. 7-1
• 7 .. 2
" I-e
• 7-2
• 7-}) .. 7 .. 3
• 1-4 .. '7-4 .. 7-4
• 7-';)
" f-r;, .. 7-5 .. 7-0
• /-0
• '7-1
" 7-7
" 7-6
• 7-8 .. 7-9 .. 8-1 .. 8-1 .. 8-1
• (;i"2 .. d-4
• t)-5
" 8-5
• t;"5
• 8-0
• 9·1 .. 9-1
.. 9-1
" 9-2
• 9-2 .. 4-2-
• ~"2 .. 9-2
• 9 .. 5 13:0:48
14/N:>,v/7~
9.b • Chapter lO-·&PL S-Language • • •
10.1 Jata Types a,d Their Represe,tatio1 • • • • • • lU-1 10.1.1 Integers • • • • .. .. • • • • • • • • 10-1 10.1.1.1 Jnsigneo Integers. .. .. • • • • • • IJ-l 10.1.1.2 Signed Integers • • • • • • • • • 10-1 10.1.2 3it, Stri,g . . . J.O-2 10.1.3 Pointers • .. • • • • .. • • • • • • • 10-2 10.1.4 froei uperators. • • .. .. .. • • .. • • .. IJ-2 10.2 SPL Exceptions .. • .. • .. • • .. • • .. • • 10-3
10.,5 SP .. i S-.1a1gJaSle Operation Definitio"ls • • • • • • 10-3 10.3.1 Control Instructions • .. .. • • • • .. • • 10-3 10.3.1.1 jR4N:H IF- INnG£~ lERO .' • • • • • .. • 1J"'3 10.3.1.2 dRANCH IF I~TEG~R NOt ZERO. • .. .. .. .. .. 10-4
10.3 .. 1.3 ;h~~:\I:H IF: II\!TE~E~ .ESS T-IAIJ lE~Ll. • • • • 10-4
10.3.1.4 SRA~CH IF INTE~ER LESS THAN OR EQUAL 1u ZtRU .. 1u-4 10.3.1.5 ~HAN:H If INIEGEq GREArE~ rH4~ lERU. • • .. 10-~, 10.3.1.6 dRANCH IF l~rEGER GREATtR THAN UR E~UAL TU ZER010-S 10.3.1.7 :3RAN:i"i 1;;:' INTt:;E~ :'QJA.I • • • • • • • • 10-5
10.3.1.8 8RA~CH IF INT~GER NOr EQUAL • • • • .. • lOeb
10.~.1.9 3RANCH IF INTtGtR LESS l-lA~ • • • • • • IJ-~
10.3.1.10 dRANCH If INTEGER LtSS THAN UR EQUAL. • 10-6 10.3.1.11 tHA\JC-f If- bIT SfR!1\i:;i ::r.,JjA .. fO ZERO. • • • 10-7 10.3.1.12 8HANCH If diT STRING NUT EQUAL TU ZERU • • 10-7 10.1.1.13 8RA~CH IF BIT STRI~GS ~~U~L • • • • • • IO-!
10.3.1.14 BRANCH IF bIT STRINGS NUT EQUAL. • • • • Iv-B
10.3.1.15 d(,(A\ll..rl I f 811 SnUN:; .. tSS T-iA\I • • • • • lO-j'
10.3.1.1b bRANCH I~ bIT 8TRING LtSS THAN UR tQUAL • • 10-9 10.3.1.17 a~ANCH If l~ dUJNOS. • • • • • • • • la-~
10.3.1.18 bRANCH IF NOT IN bOUNDS • • • • • • • 10-10 10.3 .. 1.1~ dRA~Crl IF SUbSEf. • • • • • • • • • 10-10 10.3.1.20 bRANCH IF NUT SUBS~T • • • • .. • .. • 10-11 10.3.1.21 b~A~C~ IF POINT~R E~U_L • .. • • • • • 10-11 10.3.1.22 BRANCH if POINTtR NUT EQuAL • • • • • • 10-12 10.5.1.25 FIN) FIRST ONE ELS~ B~A~C~ • • . . . . la-12 10.3.1.24 FIND ~EXT ONE AND ~RANtH • • • • • • • 10-13
10.3.1.2~, FIN) PH~VIOUS O~E A~D d~A~C-l. • • • • • IJ-IU 10.3.1.2b FINO LAS1 ONE ELSE bRANCH. • • • • • • 10wl~
10.3.1.27 LJOQ )0~N TO ZEiO • • • • • • • • • 10-16 10.3.1.28 LOOP UP. • • • • • • • • • • • • 10-10
10.3.1.2~ LOOP JO~N • • • • • • • • • • • • IJ-16 10.3.1.30 bRANCH IF ~ULL POINTt~. • • • • • • • 10-17 1,0.3.1.31 tSRA'~C1 If- NOT NULL: POINrt~ • • • • • • 1:>"1,7 10.3.1.32 SELF RELATIvE ~RANCH • • • • • • • • 10-18 10.3.1.35 PROCEJURE OtiJECr RELATIVE a~A~Crl • • • • lJ-18
Uata General Corporation Company C~nfije'tial
1.3:6:48
14/1\1 :::>jIIl 7 ~
Contents 5 10.3.2 Integer ~rithmetic a,d Bit String Instructio'6
10.3.2.1 CL~AR INTfGER • • • • • • • • • 10.3.2.2 CLEAR BIT SlRING • • •. • • • • •
10.j.~.3 SET INTtbtR. • • • • • • • • • 10.3.2.4 SET 61T Sl~ING. • • • • • • • • 10.3.2.5 S~T TO UNE • • • • • • • • • •
lO.3.2.b :O~P_E~ENI ~lTH uNE OP~R~N) • • • • 10.3.2.7 CuMPLtMtNT • • • • • • • • • • 10.3.2.8 ~N) ~ITH T~u O~E~A~DS • • • • • • 10.3.2.Q ANU • • • • • • • • • • • • 10.3.2.10 O~ NLIH T~O UPE~A~US • • • • • • 10.3.2.11 OR • • • • • • • • • • • • 10.3.2.12 A~O COMPLEMENT ~ITH T~U O~ERA~DS • • 10.3.2.15 AND COMPLEME~T • • • • • • • •
10.3.2.1~ ExC~USIVE UR • • • • • • • • •
lO.3.2.1~ NEGATE INTEGEH WITH ONE OPERAND. • • 10.3.2.1& N!GllE INfEGER • • • • • • • • 10.3.2.17 ABSOLUT~ VALUE INTtGER. • • • • • 10.3.2.13 INCRE~ENT INTEGER wIT~ JN~· JPER4NU • • 10.3.2.19 INCREMENT INTEGER • • • • • • • 10.j.2.20 OECREVlE:.NT INTEGER wITrl ::IN!, JPERAi\JU. • 10.3.2.21 DECREMtNT INT~bER • • • • • • •
"JY
10.3.2.22 A)D 1'IJT:.GEH WIT; TW) JP~H~N)S • • •~. \ 10.3.2.23 ADO INTtbER • • • • • • • • • 10.3.2.24 SJBTRALT INTEiE~· NITH I~U O~t~A~DS. • 10.3.2.25 Su~TkA~T INTEGER. • • • • • • • 10.3.2.2b MULTIPLY INTEGER ~IrH l~U OP~~A~OS e • 10.3.2.27 MULTIPLY INTEGER. • • e • • • • 10.3.2.26 DIVIDE INT~GER • • • • • • • • 10.3.2.2Q REMAINDER INTc6ER • • • • • • • 10.3.5 ~ijscellaneous Instructions • • • • • •
10.3.3.1 MOVE bIT STRING • • • • • • • • 10.3.3.2 INTEGE.R "lOvE • • •
.< .
e • • e~
' 10.5.3.3 POINTER MOvE • e • • • • • • • , 10.3.3.Q :REATE POINTER. e • • • e. • • • 1v.3.3.5 CREATE GE.NERAL POINTER • • • • • • 10.3.5.b STJR: ~U_L POINT:R • • • • • • • 10.3.3.7 RESERVE • • • • • • • • • • • lO.3.3.ij ~ELE.ASE. e • • • • •. • • • • •r 10.3.4 Architectural Instructions • • • • • • 10.3.4.1 :~_L • • • • • • • • e • • •
~ 10.3.4e~ RE.TURN • • • • • • • • • • • ) 10.3.4.3 ~OP • • • • • • • • • e • • Chapter l1--Fortran S-Language • • • • • • • • •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• •
•
•
• •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• 10-18
• 10-18
• lJ-1~
• 10-19
• 1U-19
• 10-19
• 1J-~1)
• 10-20
• 10-20
• 10 .. 20
• 10-21
• 10-21
• 1 :>-21
• 10-22
• 1 J-22
• 1u-22
e 10-23
• 10-23
• 1 :)-2's
• 10-24 .1J-2A
• 10-24
• 10-25
• 10-25
• lv-2S
• 10-2&
• 1 )-2b
• 1 O-~o
e 1 J'" ~7
• 10-21
• 1 J-,ij
e 10 .. 28
• 1;)-2d
• 10-29
• 1,)-29
• 10-29
• 10-30
• 10 .. 30 .1:>-30
e 10-31
• 1 v-.51
• lU-31
• 10-32
.. 11-1
• • • • • • 11"'1
Data General Corporation Company t~nfide'tial
13:b:48
1"II\I:)rv/7~
Contents 11.1.1I..U,;,r:AI..I • • • • • • • • • • • • 11.1.2 INTEGER • • • • • • • • • • • • 11.1.3 PUl~rER • • • • • • • • • • • •
11.1.4 FLOATING POlN1 • • • • • • • • • • 11.1.5 CHARACTE~ STRING • • • .' • • • • • 11.2 FURTRAN Exceptions • • • • • • • • • • 11.3 FU~TiA'J; S-.ienguage Operat;on Oef;nitions • • •
11.3.1 Control Instructions • • • • • • •
1~ ~R~N:H IF lERu. • • • • • • • •
~ t:3RANCH If NuT lERO • • • .. • • ..
1.t.5.1.~ "RANCH IF LESS T"'iA\j ZERO • • • • •
~ I3kANCH I F LESS THAf-J OR t:.QUAL TO ZERO •
11.3.1.5" jR~N:H IF! Gf.\EArE~ TH~N Z::RJi • • • •
H.3.1.~ 8HA~CH If GREATER lhAN (J~ EQUAL TO ZEHO rr.3.l.1 dRANCH IF ll\lTEGER :I.IlUAI..'., • • • • •
0.3.1.8 BRANCH IF- I~TE:.GER NUl E.QUAL • • • •
~ jR4NCH IF INTEGER I..ESS r"1A'J • • • ..
'1J.3.1.10 BRANCH IF INTEGE.R LESS THAN OR c.('!UAL ..
vll.3.1.l1 o~A~Ci IF FL.OATIN:;' ::QJA_I • • • • •
~1.3.1 .. 12 t:3RANCH If fLOATING NOT EQUAL. .. • • Jl1.3.1.13 t:3RANCH If fLOATING LESS T1AN.. .. • •
~1.3.1.1~ BRANCH iF fLOAT!N~. L~~S THAN OR EQUAL ..
-1.1.3.1.1" tjRA'4Cri IF CHARA ... IL .. R f,QU4L. • • • •
~1.3.1 .. 1b bRANCH If- CHARACTt:.R NOT f::;JUAL • • •
"'l.1.3.1.17· tiRANCH If' CHARA:rrEH LESS THAN • • • /11.3.1.1d bRANCH If LHARACTEk L~SS THAN O~ EWUAL
-t1' • 5 • 1 • 1 9" L J 0 ;) ) 0 tV I'~ T 0 l E. ~ 0 • • • • • .. •
11.3.1.20 LOOP UP. • • • • • • • • • • vt.l.3.1.21 ADD AND t:iRANCH IF LESS rH"N u=( EQUAL •
vfl.3.1.22 ADu AND BRANCH IP GREA1ER. • • • • 1 ~1 • 2 3 S E. t:F R Ed. A T PI to
a
~ A 'V(; H • • • • • •~ PR.OCf:OIIRt, (JBJE.~v.t-~H • •
11.3.2 lnte;er Arithmetic a,d Logic!til I"str..Jctlons
11.j.2.1 ~. • • • • • • • • • • •
1,1.3.2.2 ~ • • • • • • .' • • • • • 11.3.2.3 ~cT
ro
UN~.• • • • • • • • •
t.1.3.2.4 INTEGER '4Q..VE. • • • e' • • • • •
11.3.2.5 -€er"PCE/OIe:I~"f • • • • • • • • • •
1.1.3.2.0 AI~O""' • • • • • • • • • • • •
11.3.2.7 .lJ.i.-.- • • • • • • .. • • • • • 11.3.2.8 ~XeLJSiVE Ok • • • • • .' • • • 11.3.2.9 ~. • • • • • • • • •
11.3.2.10 N~T:' INTftWf:.R • • • • • • • •
11.3.2 .11 AB~·J,NTf GfR. • • • • • • • 11.3.2.12 I~G~i~~~r lWTEGiR WiTH 2 JPER4~DS • • 11.3.2.13 f*G"'i.MfNIINTt:.GER • • • • • • • 1.1.3.2.1:f ;;:rciiE\1ENT INTEGER Wlrri-2
3P6~A~~S
• •11.3.2.15 Jli-Gr:<EMEI.'IT INTEGEP==:-. • • • • • •
Data General Corp~ratio,
Compan) Confidential
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• •
•
•
•
•
• •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• 11-1
• 11-2
• 1 1-oS
• I1-j
• 11:-4
• 11-5
• 11-1
• 11-7
• 1 l'" 7
• 11-1
• 11:-,'
• 11-8
• 11-6
• 11-9
• 11"~
• 11-9
• 111"'1u
• 11-10
• 11"10
• 11-11
• 11-1.1.
• 11-11
• 11-12
• 11"'12
• 11-1..$
• 11-1.5
• 11-14
• 11-14
• 11"15
• 11"1~
• 11-1b
• 11-16
• 11-10
• 11-1b
• 11-1.7
• 11-11
• 11-1,7
• ll-U~
• 11-18
• 11-U,
• 11:-1~
.. 11-19
• 11-20
• 11-20
• 11 ~ ~O
• 11"21
• 11.-21
• 11-2C!
13:b:Li6 lLiIt-.ov/19
Contents , 11.-3".2.15 ADD lNit:-GE:R ~IrH Z (Jj.)kF<4~-U..{5 • •
~.2.17 AJO INla~R • • • • • e •
11 . l . 2 • 1 t) ~ IoHH I< ACT 1 t-.; T f. I; E R ti I T H ~ l;I P E: Io4-A NOS - 11.3 .2 ~ : ~BfR4CT INrE.3E~. • • • • •
11.~:C::£)
ljL1PIT
INT;.t.;ER WIHI , eF'~NDS11.1.2.21 111\111 TIPI Y Ui-T-fGt:.1. • • • • • 11.3.i.2c UIYID~ lNTEGtR w~TM 2 U~tRANO~ • 1-l--.h-2-. i OS t> I V 1 0 e: I !Ht GE R • • • • • •
11.3.2.24 Hi:.MA-lj~Dl:k Ht-fEGcR • • • • •
11.3.3 F1Jeting Po;~t Ar;th~etic Instructions
~.3.3.1 NE.GATE. fLOATlNG • • • • • •
~1.3.3.2 _BSO~UTE FLOATINJ. • • • e . •
~1.3.3.3 MOVE. FLUATl~G • • • • • • • Jtl.3.3.4 ~D): FLJAfli\4G vdT'i
c
JP;;R~N)S • •~1.3.j.~ ADD FLOAflNb • • • • • • • ql.l.3.b SuaT~ACT fLOATIN~ NI1H i U~ERA~OS
~1.5.3.7 SUBTRACT fLOATING. • • • • • .11.1 • ,) • ,s • 8 \1 U L.r
r
PLY F L 1I A Ir
N :; ."f 1 T H20:;) ERA ~ 0 S~11.3.3.9 ~ULTIPLY FLuATING. • • • • • v11.,S.j.l0 OlVIO~ FLUATING • • • • • •
11.3~4 Character Instructions • • • • •
~.3.q.1 ~OvE CiA1ACTERS • • • • • • vl1.3.4.2 MOVE SPACES. • • • • • • • 11 • 3 • 5 llii see J I a n e 0 u sIn s t rue t ion s • • • •
",11.3.5.1 SET' EXCEPl ION RESPONSI;. • • • • -J,.f.5.5.2 GET E.XCE.PllON RE.SPONSE:. . . .
tr:"':t;-5 • ;) M tnt f: POI rq T t-R--. • • • • • •
11.1.S.~ :~,~Ti P~~. • .. • .. • • 11.3.0 Conversion Instructio~s .. • • • •
"'~1.3.0.1 :U~V::Rr INTEGER TU r .. lHUIN:;· • •
~1.3.b.~ CONVERT FLOATING TO INTtGER • • 11.3.7 In~ut/Jutput Assist Instruct;o,s • •
~11.3.7.1 CONvERT INTtGE.R TO CHARACTER S1RING
..)!-.1.3.7.2 CCJ'\Iv':'RT CHARACrE.~ STR1'lG TJ' HHE.GER
~1.3.7.3 CONVE.RT fLOATING fa CHARACTER STRING 11.3.d Ar:hitectural Instru:tions • • • ..
~ CALL • • .. .. • • .. .. • •
11.3.8.2 RETURN • • • • • • .. .. •
~ NOP • • .. .. .. • • • .. •
.. • • at • • •
12.1 Data lypes and Their Representation 12.1.1 Integer .. .. • • • .. • 12.1.2 F10ating Point • • • • • 12.1.3 )e:·illal1 • • • • • .. • 12.1.3.1 Packed Decimal.. • .. ..
• •
•
..
•
•
•
..
•
Data General Corporatio, Company Confidential
•
..
..
•
•
• •
• •
•
..
•
..
•
..
• •
•
..
..
•• •
•
..
•
..
•
..
• •
.. ..
•
..
• •
• •
• •
•
..
..
••
..
..
•..
•• •
• •
• •
..
•• •
..
•• •
..
•• •
•
•
•
• •
• •
..
••
..
•
..
•
•
•
•
..
•
•
..
..
• •
•
..
•
•
•
..
.. ..
..
•
..
•
•
..
•
..
•
•
•
..
•
• •
•
•
..
• 11-22
• 1 b" 22
• 11-23
• 11"~~
.. 11-2j
• 11:-2L1 .. 11-24
• 11-25 .. 11-2~
• 11;eo ~b
• 11-2b .. 11:-2b .. 11-21
• 11-27
• 11-2t\
.. 111"'28
• 11-28
• 11:- 29
• 11-29 .. 11- 30
• 11-30
.. 11-30
• 11-.H
• 11-31 .. 11"'31
• 11;eo 52
• 11-32
• 11-32
• 11- 33
.. 11-33
• 11-33
• 11-3L1
• 11"34
• 11:-S'"
• 11-35
• 11-3S
• 11-30
• 11.- 3b
• 11-30
.. . .
• •
• •
..
••
..
•
..
..
•
•
..
•
.. lc:-1
• 12-1
• 1c:-1
.. 12-2
.. 1t:!-2 13:0:4:;>
11l/l\ovl'79
Contents
12.1.3.2 Character Decimal. • • • • • • • • • 12-2 12.1.3.2.1 Jnsigneo • • • • • • • • • • • 12-~
12.1.3.2.2 Separate Sign Leaoing/Trailing • • • • 12-3 12.1.3.2.3 Over~unched Si~n Leaji,g/fra;ling • • • 12-5 12.1.4 Character Strings • • • • • • • • • • • 12-4 12.1.5 Translate Table. • • • • • • • • • • • l~-q
12.1.0 Boolean Vector • • • • • • • • • • • • 12-4 12.1.7 ~olnters • • • • • • • • • • • • • • 12-~
12.2 COBOL ExcePtions. • • • • • • • • • • • • 12-~
12.2.1 Error rla,dli~g • • • • • • • • • • • • 12-5 12.2.2 Exceptions • • • • • • • • • • • • • 12-5 12.3 :O:W~I Jperation )E!fil"lit1:'I"s • • • • • • • • • 12 .. 8 12.3.1 ~trol Instructions • • • • • • • • • • 12-8
~.1· dRANCH IF ZERU. • • • • • • • • • • 12-~
1~~2 dRANCH IF NUT ZERU • • • • • • • • • 12-~
~3 3R~N:H IF, GkEATE.< THl\rll £:'1'<)' • • • • • • 12-9
1~ • 1 • ~ t:) RAN CHI F r; F< E. A H. R r HAN u R E. W IJ A L TO L t R 0 • • 1 2 ... 9
~5 jRANCH IF LE:SS T~A~ lE~u • • • • • • • 12-1
~b t:)RANCH.if LESS THAN ul-< l:.QUAL 10 ZeRU • • • 12-10
1~? ,R~N;;H IF; INTE:.GE.~ ::QJA ... I . • • • • • • • 12-10
<1 2 • 3 • 1. d k A N CHI FIN rEG E:. R 1\1 0 T E.laI U A L • • • • • • 1.2 - 1 0
~q 6R ANCI1 IF- 1 NTE:.Gt:. -t LE: S5 T ,A~ • • • • • • 12-1.1 12.3.1.1Q BRANCH If INIEGER-L~SS THAN UR EQUAL • • • 12-11 12.3 .-h-H-iHA \JC"~~i~ • • • • • • • 12-12
8e ;; .
1 • 1 2 8 RAN C t I f fo FLO A Til'll G ,~o T -t. QUA L . .. • .. • • 1 ~ .. 1 2 17."""5.1.13 --tt"RA'4CI"I IF F'LOAlfi"ttj tESS "iA~' • • • • • • 12-12 t-2. j . 1·.,-tt4 8RANCFr 1 fi-F-L(J A 11~G U. S&- T riA N--trR~ EI1UAL. • • 12-1 ~'1.2.3.1.1V I'j~A:\iCH If- DECIMAL EQUAL • • • .. • .. • 1~"13
~2.3.1.10 BRANCH IF uECIMAL NOl £UUAL • • • • • .. 12-13
~~.3.1.17 dRA~Crl If DECIM4L LESS IH~N • • • • • • 12~1~
vI2.3.1.18 BRANCH IF DtCIMAL L~SS THAN UR ~QUA~ • .. • 12-14
12.3.1.1~ B~A~C, IF DECIM~L EJU~L l~RJ. • • • • • 12·1S jl2.3.1.2~ I'jRANCH If DECIMAL NUT E.QUAL ZERO • • • • 12-1S 12.3.1.21, 8RA~CH IF DtCIMAL GREATER TrlA~ ZERU • • • 1~-15
J12.3.1.2i ~~ANCH If DECIMAL GRE:.ATER THAN OR E~UAL 10 lER0 12-
~12.3.1.25 ~RA~C~ If OECIM_L L!S~ rl1~N l!RJ • .. • • 12-1b J12.3.1.24 I'jRANCH If DECIMAL LtSS THAN OR EUUAL lu L~kU 12-1b
_ 1 ;a • 1 • 1 • ! 5 I f5 R A;"q C r1 if C ~i A Ft ACT
c.
R bW ~ L . .. • • • • .. 1 2 - 1.7"'12 • 3 • 1 .. 26 BRA iq ell 1 F (; II ~ r. A I; TE Ii wn>! QUA L • • • • • 1 2 .. 1 7
t'~ • 1 • i T I:Hi A.AI G H 1 F G ~ A I< A : Lf ; f4 L. Ui S f t 16; N'" • • • • • 1 2" 1
a
7
2 • 3 •1;28 KRANeH IF CI"1Afi«AeTE.iol I fSS T~APol un t'QUAL • • 12 .. US12.3.1.2~ dRA~CH IF CHARA:JERS fRAN3LAT!D EWUAL. • • 12-19
~2.3.1.30 bRANCH IF CHARACTERS TRANSLATED L~SS fHA~ • 12-19
~12.3.1.Jl 8RA~C~ If CrlARA:WERS 1~~N5L_T!D NJT t~U~L • 12-20 J12.3.1.3i 8RANCH It CHARACTERS tRANSLATED LESS THA~ UR EWUAL
J12.3.1.j~ BRANCH If IN stT. • • • • • • • • • 1~-21
~2.3.1.3q BRANCH IF NOT IN SET • • • • • • • • 1~-21 J12.3.1.35, aRA~CH If CHARA:rERS SP_L!S • • • • • • 1~-~2
Data Genera1 Corporation
COITI;:>a"lY Confb:tential:
13:0:41)
14/Norv 17 ~
\.Jr1! • .) • 1 • .5 b a ~ A \I C "'I If- C H A R A : iT :: tot S~ uT' :) P ~ C :: S • l.4-w 3
.-t-.!""'
L UOP L>uwN 10 lE RO • • • • •12.3.1~~ PERFURM. • • • • .' • • •
Li.l.l.~9 PERFOR~ ~ND • • • • • • • lh-J. 1.tJ.O SELF RE.L.ATIVt BRA'4Crl ._ • • •
~.3,1.~1 PROC~DU~E. OBJE.CT RELATIVE. BRANCH 12,,,),2 Inte:3er Arlthmetic I~structij'H' , •
.--1-c-• 3. a-"-i:- M 0 V E. 1 N T E:. G t:. k • • • • • • • 1 ~.
-z-:-..2
S E. r lOu N t . • • • • • • •~~j."?-.3 AbSl.ILlJTt:. INTtGER • • • • • •
12.3.~.q ~EGATE. I~TEGER. • • • • • •
~~.s INCRE:.ME:.Nl INTE.GER ~!rH ONt OPtRAND n.3.2lb )E:R::ME.NJ HHE.:"E.~· NITH U'II!:. O;)E~A~O
12.3--.-1.7 ADD INlE:.GE:.R filTH 2 OPtKA.NDS • •
~.8 ADD INTE.btR. • • • • • • •
[2.3~.9 SU~TRACT INTE:.GE.R WITH 2 OPERANDS.
1~.;~~ SuBTRACT INrEGE~. • • • • • 1 .- • • 11 MULTIPLY INTE.GE~ WITH 20PE.RANDS
~ MJLflPLY INTE.GE~. • • • • •
~ DIVlDE. IN1~bEH • • • • • •
~ ~ 2 • 3 • 2 • 1 q seA l.. E I iH f:. G E:. R B Y 1 O. • • • •
~2.3.2.15 SCALE. INTtGtR ~ITH ROUNDl~G • • 12.3.3 ~~jatin9 Point Arith~etic Instructions
12.3.3.1 MUVE FLOA11NG • • • • • • •
12.3.3.2 40) FLOAflNb wIT~ 2 DP:R4N)S • • 12.3.3.3 ADO FLuArlNG • • • • • • • 12.3.3.4 :W3f~A::T FLOATIN;ii rHTH 2 O;)E~AiJDS
12.3.3.5 SUBTRACT fLOATING. • • • • ..
lc.3.3.Q FLOATING NEGATE • • •. • .. • 12.3.3.7 MULTIPLY FLOATING wITH 2 OPERANDS
12.3.3.8 IIlUL.rIPI.Y f'LOAfIN;i, • • • • • • 12.3.3.9 DIvIDE fl.UATING • • .. • .. • 12.3.4 i)ec;"al Arlthmetic ll"lstructi:>rts· .. ..
~12.3.q.1 CL~AR Dt~IMAL • • • • • • • .J12.3.q.2 SET DECI\-1AL TO O'JE • • ' . . . .
~2.3 .. q.3 MOVE DECIMAL • • • .. .. .. ..
1112.3.4.1.4 \lE.:.7ATE DE.CIMAL. • • •. • .. • J12.3.4.5 INCHEMENr DE:.CIMAL ~Ilh ONE OP~RAND
~12.3.q.b JECRE.~E.NT DECIMAL.! fH Tt1 O\lt. OF't~A"lU
~12.3.4.7 ADD DECIMAL WITH 2 uPE.~ANUS • ..
~12.3 .. 4.8 I\D), )E:,IIi1AL . . . .
j
12.3.4. 9 SUBTRACT DEClMAL WITH 2 OPERANDS ..12.3.4.10 SUBTRACr DECIMAL,. • ._ • .. • J12.3.4.11 MULTIPLY Dt.CIMAl.. wITH 2 OPERANDS
~12.3.4.1~ MULTIPLY DECH1AL, . . . . J12.3.4.13 DIVIDE DECIMAL • .. • .. • •
u1~2.3 .. 4.1~ SCAL.E OE.CIMAL. • • ", . . . .
~2 .. 3.4.15 SCALE OtCIMAL ~ITH kOUND1NG • ..
Data ;eneral Corpor3tio1 Company Confidential
Contents 9
• •
..
•..
....
•"
..
• •
•
..
.. ..
.. ..
•
..
• •
• •
•
..
•
..
•
..
..
•..
•.. ..
•
..
•
..
• •
..
••
..
•
..
•
..
..
••
..
.. ..
•
..
•
..
• •
• •
..
•..
•• •
• •
.. ..
• •
• •
..
•.. ..
• •
..
•• •
• •
..
•.. ..
..
•• •
.. ..
..
•
•
..
.. ..
•
..
•
..
.. ..
•
..
.. ..
•
•
..
•
•
..
..
• •
..
•
•
..
•
•
..
..
•
..
•
•
..
•
..
..
•
•
..
• 1~-2c
• 12-23
• 12-;U
• 12-23 .. 12-24
• 12-2'"
• 12-24 .. 12"2"
• 12-2S .. 12 ... 25 .. 12-25
• 12-20
• 12-2b
II 12-20 .. 12-:U .. 12-21
II 1?~27
.. 12-28
• 1,-28 .. 12-28 .. 12-29
• 12-29 .12-50 .. 12-3U
• 12- 30 .. 12-30
• 12- 31 .. 12 ... 31 .. 12-3c!
• 12-052
• 12~32
• 12-3~
• 12-3,)
• 12-~3
• 12-53 .. 12-34
• 1~~.s4
.. 12-34
• 12-55
• 12-35 .. 12-35 .. 12-:St>
• 1~:-3t>
• 12-3b
• 12~ ,s.?
• 12-.37
• 12-3<;
• lc-.5tl
13:t>:4tl 14/Nov/'79
12.3.5 Str;ng Instructions • • • • •
~12. j . 5.1 ..,0VE. FROI4 ~u3STRrN:; • • • • 12.3.5.2 iViO VE:. TO SU8STI-<H~G • • • • •
~12.3.5.3 IJIOVE. SUHtiTRING • • • • • • ..112.3.5.4 SCAN SUb6TRING • • • • • •
-1 2 • :5 • 5 • 5---loH) V E e tfA ~ A C TE R S • • • • •
v1~.3.5.0 iVlUVt SPACES • • • • • • •
~ "lOVE. C1A~ACrERS fR t\N SL H ~l) • • 1112 • .3.5.8 tOIT CHARACTERS • • • • •
\/12.3.5.9 E01T Nut~E.RIC • • • • • • 12.3.0 Miscellaneous Instructions • • • 1C:.3.0.1 INlflAI..IllE • • • • • • • 12.3.0.2 CLEAR • • • • •
..
• • • 12.1.8.--3-- CONVERr HHEGI:.R TO F L(J A T 11\1 ;;.'
~ COf\JVERl FLOArINb TO INTE.GER • v12.3.b.5 ~\JV::R
r
INTEGER ro DECIN\~L • •~2.3.6.0 CONVERl OE:CU·1AL TO INTEbE:.R • • .J.2.3.b.7 :O\iVE.RT FLOATl~~G fJ )E.:Il1A .. •
\lI2.3.o.8 COi~ VE.R T utCl!'IAL TO FLUAI1N(" • 12.3.7 12.3.7.1 Size E.rr:>r lnstructions CLE:.AR SllE. tRROR .. • "
.'
• • •"
..
12.~,,7,,2 SE r SIZE E:.RROR • • •
..
".
'12.3.7.3 CHECK MOVE INTf.:.GER • • "
..
12.3.7.4 :H:;C<: iIlOvE. I)=:CIM~L • • • "
12.3.7.5 oRANCH If f\lO SIlE. /;.RRUR • • • 12.3.8 Architectural Instructions " • "
12.3.8 .. 1 CALL
..
• • • " • "..
"12.3.8.2 Rtf URN
" • • • " • "
12.3.8.3 NuP • • • •
" • " • •
Data General Corp:>ratio, Company Confidential
Contents
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
• • •
" • •
" • •
" • •
• • "
• • •
• " "
..
• •" • •
" " •
" • "
• " "
• " "
1 (l
• • 12-38
• • 12-39
• • 1.2-39
• • 12- 40
• • 12-40
• • 1
::-!H
• • 12-tH
• • 12"'1.12
• • 1~-42
• • 12-~3
• • ie-if':>
• • 12-4b
• • 12-40
• • 12-40
• • 12-1.+7
• • 1 ?-4 7
• • 12-47
• • 12-4d
" • 12-48
• .. 12 .. ~tj
" " 12-'-19
..
• 1 ~-:49• • 12-li9
• • 1~ .. 50
..
" lc:''''SO" • 1 ~":>0
• " 12-50
" • 1 ::- ,,1
" " 12 .. 51
13:0:40
14/~ov/79
Data General Corooration Company Confidential
9:3S:l:::b
5/~ov119
Rev. 1
Chaoter 1 Introduction
Objects are the basic units of storage ;n the FHP system.
~ach ooject is distinct from al I other ooJects and;s inoividually addressed and protectea. The primary use of an ooJect ;s as a :ol'l,ta;"Ier oif data. Each ooJect :e,. co,·tai,: f·r;)f'/i 0 to' 2*111.,;2-1 bUs where each bit 1S directly addressable.
~ach object is identified by a unique 60 bit name or unique ipentif.ier U.Jl),). UID's are urli=lue across alII F1P systens for slilll
time; they are never reusee. 32 of the 80 Ul~ bits designate a i..ogi:a!; Allocation UI'IH (LAU), the mO~:tble ul'l·it of stora;e 1n the FHP system. fhis 3i bit LAU identifier is also unique across al I FHP systems. The re~ain;ng 48 bits of the UID designate the ooJect seriai number (OSN). OSN's are unique within eaCh LAU.
1.1.2 .bgical ~d~ress
The directly addressable virtual me~ory of an rhP system
allo~s 2 •• 8U ooJects where each object is jirectlY ~ddressable to each of 2 •• 32-1 bits. A logical aadress is co~posed of a co~bined Jl~, bi~ offset· ~air of, 112 bltS. Thi~ :o,stitutes a st,gle, fairly large address space which is usee by all FHP systems; there is only one address space tor all systems for al I time. ~ach time the virtual memory is accessed four items ~ust be provideo: object
,a~e ". the forfTI of· UID, offset olf the f1rS.t b1.t to oe refere,ced, number of bits to be referenced and fu~ction which is usually read
:>Ir wrHe.
1.1.j Accessing and Protection
Oojects are use~ for two primary ~urposes: to store cata for future processing and to store instructions. There are three fundamental operations that can oe performed on an object: reaj bits, write bits and fetch instruction bits. Each function must be explicitly allowed for each Object. Thi$ is done oy atta:n;n;
Data General Corooration Company Confidential
9:3~:2b
;)/ 'Jov179
Rev. 1