e&~omputin6. - nasa...structure charts, data flows, and intermodule interface definitions....
TRANSCRIPT
UncI asG3j61 06779
Report No. 75 - 0044Contract No. NAS8-26990
HAL/SM SYSTEM FUNCTIONAL
DESIGN SPECIFICATION
(NASA-CR-144098) HAL/SM SYSTEM FUNCTIONAL N76-14843DESIGN SPECIFICATION (M&S Computing, Inc.)72 p HC $4.50 CSCL 09B
December 1, 1975
Prepared for:
George C. Marshall Space Flight CenterNASAMarshall Space FlightCenter, Alabama 35812
E&~OMPUTIN6.INC.
https://ntrs.nasa.gov/search.jsp?R=19760007755 2020-03-22T19:43:17+00:00Z
PREFACE
This document presents the functional design of the HAL/SMprogramming system. The HAL/SM programming language is definedin the "HAL/SM Language Specification, " and the requirements for theprogramming system to be used as a guideline for this design aredescribed in the "HAL/SM System Software Requirements Specification. "
Prepared by:
C. RossG. P. W. Williams, Jr.
Project Manager:
J. Pruitt
Approved by:
•
•
T.
•
•
TABLE OF CONTENTS
Section
LIST OF FIGURESLIST OF ACRONYMS
iiiiv
I.
2.
INTR ODUC TION
PREPROCESSOR
I
3
2. I
2.2
2.3
Input System
Output System
Semantic Routines
6
9
12
3.
4.
HALLINK
RUN T!ME LIBRARY
17
23
•
APPENDIX
REFERENCES
HAL/SM Working Grammar
i
51
67
(BLANK)
Ii
•
LIST OF FIGURES
Figure No. I!lli. Page
2-1 HAL/SM Preprocessor Data .Flow 42-2 HAL/SM Preprocessor Structure Chart 52-3 HAL/SM Input System Data Flow 72-4 HAL/SM Input System Structure Chart 8
• 2-5 HAL/SM Output System Data Flow 102-6 HAL/SM Output System Structure Chart 112-7 HAL/SM Semantic Routines Data Flow 132-8 . HAL/SM Semantic Routines Structure Chart 14
3-1 HA LLINK Data Flow 183-2 HALLINK Structure Chart 193-3 HALLKED Data Flow 203-4 HALLKED Structure Chart 21
4-1 RTL I/O and Error Systems Structure Chart 244-2 RTL Initialization, Error, and Real Time Systems 25
Structure Chart4-3 RTL Real Time System Structure Chart 264-4 RTL Real Time System Data Flow 274-5 RTL Control and Display System Data Flow 294-6 RTL I/O System Data Flow 304-7 RTL Error and Real Time System Data Flow 32
PRECEDING PAGE BLANK NOT FILMED
•
iii
CVT
ERP
I/O
MOSS
PAF
RTL
SUMC-S
BVC
LIST OF ACRONYMS
Concept Verification Test
External Reference Point
Input/Output
Modular Operating System for SUMC
Program Access File
Run Time Library
Space Ultrareliable Modular Computer - Simplex
Supervisor Call
-iv-
•
•
1. INTRODUCTION
This document describes the functional design of the HAL/SMprogramming system (a version of the HAL programming'language specifically adapted for use in the Concept Verification Test (CVT) environmenton the Space Ultrareliable Modular Computer Simplex (SUMC-S) underthe Modular Operating System for the SUMC (MOSS). The HAL/SM pro~
gramming language is defined in the HAL/SM Language Specification(Reference I), and the HAL/SM system implementation requirements aredefined in the HAL/SM System Software Requirements Specification(Reference 2); familiarity with both documents shall be assumed herein.
As described in Reference 2, the major subsystems of the HAL/SMsystem and their functions shall be as follows:
o HAL/SM Preprocessor - convert HAL/SM sourcelanguage modules into HAL/S source language modules,perform minimal syntax verification, and providevarious support features which cannot be convenientlyor adequately performed by the HAL/S-360 Compiler.
o HAL/S-360 Compiler - convert HAL/S source languagemodules into IBM S/360 compatible object modules andperform complete syntax verification.
o HALLINK - combine HAL/S object modules into loadmodules, calculate run time stack size requirements,and add the stack to the load module and add and! ordelete certain other CSECTS from the generated loadmodule (depending on options specified).
o Run Time Library (R TL) - when properly linked witheach HAL/SM task, provide computational routinesand MOSS interface routines to support variousfeatures of the HAL/SM language.
The functional design of the preprocessor, HALLINK, and RTLsubsystems is described in the following sections through the use ofstructure charts, data flows, and intermodule interface definitions.
Structure charts and data flows are defined and illustrated in the,HAL/SM System Design and Implementation Plan (Reference 3). Thisreference may be used as a guide for interpretation of the structure chartsand data flows which follow. A structure chart and a data flow diagramare included for each subsystem. Also a group of intermodule interface
-1-
definitions (one definition per module) is included immediately followingthe structure chart and data flow for a. particular subsystem. Each ofthese intermodule interface definitions consists of the identification ofthe ·module, the function the module is to perform, the identification anddefinition of parameter interfaces to the module, and any design notesassociated with the module.
-2-
Z. PREPROCESSOR
The HAL/SM Preprocessor is represented by the data flow andstructure chart shown in Figure 2-1 and 2-2. These figures give an overview of the preprocessor. More detailed descriptions of the input system,output system, and semantic routines are given in Sections Z. 1, Z. Z, andZ.3, respectively. The remaining modules are described in this section.
Module: XREF Processor
Function: Receives and alphabetizes the HALISM identifiers to producethe cross-"reference listing included as part of the preprocessor outputlistings. Each usage of an identifier is referenced in the listing.
Parameters: HAL/8M identifier. Referencing statement number.
Module: PAF Processor
Function: Processes all variables declared with the access attributeagainst the Program Access File (PAF) to determine the legality ofaccess to these variables.
Parameters: Variable identifier with access attribute.
Note: This module reads the PAF data set.
Module: Directive Processor
Function: Processes both HAL/SM and HAL/S directives. HALlS directives are passed through to the output system for inclusion in the HALlSsource. The HAL/SM directive selects the processing options for thepreprocessor.
Parameters: HAL/8M directives. HAL/S directives.
Module: DDIU Processor
Function: Create·s preformatted display messages for the CIltD consoles.Coded references to the messages are placed in output HAL/S code whereeach message is referenced. The display messages are stored in astandard data set accessed by the R TL during program execution.
Parameters: Display statement symbols.
Note: The DDIU module consists of several ·subroutines; one for eachdifferent display statement symbol.
-3-
J.,
00>:J:l \:tj
~~~~~~~~~:
SymbolicLibrary
"O;".~~
HAL/8M PREPROCESSOR D.ATA FLOW-
PAF
I~
",_.•",0
XREFocesso
Figure 2-1
C&DDisplay
Messages
M&CD
HAL/SMSymbolsHALlsSytnbols
s,.",~SoJ. HALls
Source
HAL/SM PREPROCESSOR STRUCTURE CHART
U,:;;},.'r':t). r~,...l
",;j,D
'6~~~
\~~~.
HAL/SM
Root
SemanticRoutines
,~, AI
,.....---.."...Input
c.nl System
H
,\nnW
Processorl
~J
M&C
Processo
Figure 2-2
I JI ) I G ::::::::-;.
---- K,D~
J
f
OutputSystem
B
~\PAF
Processo
F
~
IProcesso
XREF
#
HAL/8M SymbolsHALlS SymbolsHAL/8M DirectivesHALlS DirectivesIdentifiersAccess VariablesXREF TableDisplay Statement SymbolsERP Names"0" NamesOutput Options
'irectiVEl
IProcesso
A.B.C.n.E.F.G.H.I.J.K.
Module: M&C Processor
Function: Converts each reference to 31-character External ReferencePoint (ERP) names to 9-charaeter "O-names" in the output HAL/S code.The M&C Definition File is used to verify all ERP references and theircorrect usage.
Parameters: 31-character ERP name from HAL/SM source statements.
2. 1 Input System
The input system data flow and structure chart are shown in Figures2-3 and 2-4. The input system reads the primary and symbolic source filesand prepares the symbols for processing by the semantic routines. Theinput system interfaces directly with the output system to produce theHAL/SM formatted listings. The modules of the input system are givenbelow.
Module: Get Statement
Function: Provides characters from the current statement. When thecurrent statement is entirely processed. the next statement is read fromthe primary input file or the symbolic library. Incoming MACRO definitions are passed to the MACRO processor. Incoming directives arepassed on to the directives processor.
Parameters: Character buffer to return the next character.
Module: ·MACRO Processor
Function: Processes MACRO definitions and MACRO expansion requests.MACRO definitions are placed in the MACRO table. MACRO expansionsare handled through the MACRO table. The parameters to the MACROa'te expanded according to the model definition.
Parameters: MACRO Definition, MACRO Name, or MACRO Parametersfor expansion.
~: The MACRO Processor will be divided into two modules for detaileddesign - a MACRO definition processor and a MACRO expansionprocessor•
. Module: Symbol Processor
Function: Builds HAL/SM symbols (the smallest logical parts of a source
-6_
,->,
~~~ts
~tIe~~
~;
Syrnb:olicLibrary
HAL/SM INPUT SySTEM DATA FLOW
'SJ..~~_'?d ~~~
Lnout SV8te
Figure 2~3
HAL/SM INPUT SYSTEM STRUCTUR.,E CHART
SemanticRoutines
Ge'Symbol
Conte~
PrOCessor
OutputSystem
PA" \Processo.r----______ A \r----~---,
I·~ Symbol f---o\
XRE"' ~~/~·oce~so.PTocessor ~
IDirective Ge. \ MACRO:Processor Statement Table
" E r
SymbolTable
A.B.C.P.E.
HAL/SM SymbolContext InformationSource. Charactere:MACRO DeiinltionsMACRO Replacements
D
Innut Svstem
'\\,.........L-~-+,1MACRO 1Processor;;>
Figure 2~4
-8-
statement) from source statement characters. The symbols and theirassociated context are maintained in the symbol table.
Parameters: Symbol locator giving the position relative to the currentsymbol. Symbol return buffer.
Note: 1. Symbols which are identifiers are passed to the XREF Processor.2. Symbols which are access variable identifiers are passed to the
PAF Processor.
Module: Context Processor
Function: Maintains the context of the symbols relative to the HAL/SMgrammar. Also allows the context to be selected to obtain a symbol fromthe Symbol Processor.
Parameters: Context Selector, Symbol Locator, Symbol Return Buffer.
Module: Get Symbol
Function: Returns a selected symbol based on context and symbol position.
Parameters: Context Selector, Symbol Locator, Symbol Return Buffer.
2.2 Output System
The output system data flow and structure chart are shown inFigures 2-5 and 2-6. The output system performs the output functionsfor the preprocessor including HAL/SM listings and HAL/S listing andsource file preparation. The HAL/SM directives indicates the listingoptions to be performed•
. The output HAL/S source code is maintained in two temporaryfiles - one for global statements, the other for local statements. TheHAL/SM source statement can cause the generation of global statementsin the HAL/S source (which must be placed at the beginning of the program).In order to avoid a second pass to produce the ordered HAL/S source, theoutput system maintains separate files which are merged for final output.The modules of the output system are described below.
Module: Put Symbol
Function: Receives symbols to merge into source statements for output.The symbol may either be HAL/S symbols or HAL/SM symbols.
-9-
,~
o,
HALISM OUTPUT SYSTEM DATA FLOW
Global
Statements
Local
Statements
Output System
Figure 2-5
~if~"-
HALlsStatement
HALlSSource
,.HAL/8M OUTPUT SYSTEM STRUCTURE CHART
Input Semantic M&CSystem Routines Processor
~ 7~ Put VSymbol
A
!Directives StatementProcessor Processor
~ B
~lListing
Synthesizer XREFProcessor
C 1/
Local & Globa; - -- ~ /Data Setsor HtL/S
ou ce
HAL/8M D_ LineRoot Merge Output
Ou.tuu.t SvatemA. SymbolsB. StatementsC. HAL/8M SourceD. HALlS Source
ORIGINAlo PAGE ISOF POOR QlJAUr'l Figu;re 2-6
-11-
Parameters: Symbol to be included in the output.
Module: Statement Processor
Function: Combines the symbols to form source statements for output.
Parameters: Symbol buffer.
~: Also processes HALlS directives to be output.
Module: Listing Synthesizer
Function: Builds and formats the listing sndHALIS source files for output.Maintains the dual output files for HALlS source which are merged to output at the end of the run. HALISM source statements are formatted andsent directly to the line output module to be printed.
Parameters: Statement Buffer.
~: The output options controlling the processing of this module areprovided by the directives processor.
Module: Merge
Function: Combines the local and global HALlS temporary files to producethe HALlS source format suitable for the HALlS compiler.
Parameters: None.
Note: The HALISM root module invokes this module at the end of thepreprocessor run.
Module: Line Output
Function: Performs the actual output to the printer of HALlS source fileon a line basis.
Parameters: Output statement line to be output.
~: This module also processes the XREF listing produced for theHALISM formatted listing. .
2.3 Semantic Routines
The data flow and structure chart for the semantic routines areshown in Figures 2-7 and 2-8. These modules are responsible for the
-12_
..
• .,
HAL/8M S~,MANTICROUTINES DATA FLOW
Semantic Rout:",0\&
Symbols Flo'in and out
of eachModule
,w,
Figure 2-7
HAL/SM SEMANTIC ROUTINES STRUCTURE GHART
HAL/SMRoot
-I~
CompileBlock
/ ~,J
Templat Block ClosingBody
A
..----.. -- ,.
Procedure Function Definition LabeledHeader Header Group Istatement
1. /Statement
~ocessor
Replace Declara- Structure rExpression l A A
Definition tions Definition 1Processor
T[rari4ble IProcessor
Semantic Routines
IEach Module
~---"'- ---;: DDIU M&Cuses the in .. - ------put and out ..
Processor PraceS$or
Input OutputSystem System
-,
•
Figure Z~8
~14-
semantic processing and output of HAL/8 code for the HAL/8M sourcestatements. This processing is carried out according to the HAL/8Mgrammar in Appendix A. The grammar defines the successive buildupof symbols into the HAL/8M statements and buildup of statements intothe compilation as a whole. The figures for the semantic routines showonly the top level definitions to. illustrate the basic structure.
The semantic routines consist of a module for each HAL/8M symbolin the grammar. The code generation is carried out in the statementprocessors (one for each HAL/8M statement) according to the templatesdefined in Reference 2.
Each of the semantic routines is driven by the symbols obtainedfrom the .input system, and those generated and passed to the outputsystem. Individual module descriptions will not be provided for the semantic routines.
-15-
(BLANK)
-16-
3. HALLINK
_ The HALLINK data flow and structure chart are shown in Figures3-1 and 3-2. The necessary modifications to adapt HALLINK for use withthe HAL/8M Preprocessor system are in the HALLKED module. Themodified data flow and structure chart for HALLKED are shown in Figures3-3 and 3-4. The following paragraph describes the changes made.
The HALMAP control section has been suppressed in the EntryProcessing and in Phase 4A. Cost-use arrays have been suppressed inE8DLOOP. RC has been modified to limit the number of process controlsections per load module to one.
-17-
HALLrNK DATA FLOW
(OPTABlE )-=~~_
PARM/OOUST
l.!STS,., I. Ens!.3
ORIGINAL PAGE ISOF POOR QUALrrYi
LIST 2
LlM<LIe RET~RN CDor:
INVOKE
LINKUB RCT:,JrlN CDOC:
":JFigure '3-1
-18-
i•
/f!II
//
I
I
HALLINK STRUCTURE CHART
CSYSLlN
1-1"'1.OB../ECT
HOCULES'TL PR1VAn:
,"AI.U:CO ~
IF.~
I-OADMOtJULf:
TEMPI-DAD
\HALLKED ' .
~~~CK cSEcrs._LUDE T81"') 'JAr' C),
t'NTRY HAI.STM~~"' RD.
STACKOBJ
IF.:WL2
Figure 3-2
-19-
ORIGlliAL PAOm 18OFPOORQU~
PH....SE4A
,~·si~.AO<
#:'[$<lIn:;~
~INT
I~ll~'~'
FIN9X
tlPROOINTI!TIME
'''T I\~
ST.\Cl( S'1,ES
#-~
C"'LLING1'1/;:r:
.. ••• <OCt;:>' 'O<:.r>, )17;:;~,.~__~_
SYMl2!2!
~\
PCALLED
~~'i[~le'SM·E'
$'/;
VE.RSION
rU~r OAT'" ;'
(,--')\')
rC",JIl.-,lrt.l:·ru.,~
[:<!lro.
1I!r C>l.:~
ESOLOOP
Figure 3_3
HALLKED DATA FLOW
~..$'~ "LUS
~.
~..
(:SE4D)/~
,~,
PHA5E4C
·nf.:1.~IiAl':"ARl
STACK08J
NOXREFP
~
lI~tlNG
,
'<
""''''''~"'-~~~~.
eTL
RECORDs
I'fl.t/.w£~
S"SLIN
,No,
I
.-i.J ,
- I
---,
IljJ~
!,ifI
~
-tt~ I
I ~ r-----,
r:r~
~
1- .
• r;r1 ,
~5 ---,,
i~i
!
I:f;•t
7tr~
ORIG.INAL PAGE 18OF POOR QUALITY
(BLANK)
-22-
•
4. R UN TIME LIBRAR Y
The only portions of the HAL/SM R TL considered in this sectionare those modified portions of HAL/S R TL which are included in theHAL/SM R TL and modules which are to be created for HAL/SM R TL.
Each module that appears in the structure chart and data flow inFigures 4-1 through 4-7 is described in more detail by an intermod uleinterface definition. More detailed definitions of module interface parameters for those modules being created for the HAL/SM RTL may befound in Reference 2.
Module: ONERR
Function: To transfer the error information associated with the ON ERRORstatement to an error stack. (The module shall have two entry points,ONERR 1 and ONERR 2, to perform this function. )
Parameters: (For ONERR1) RO - error group number and errornumber within the group.
R 1 - error action indicator.R2 - program flag descriptor.
(For ONERR2) RO - error group number and errornumber within the group.
R1 - address of statement to whichexecution is transferred whenthe error occurs.
Notes: 1. The first execution of this routine links a portion of the errorstack to the executing program by placing a pointer to thespecified portion of the error stack in the ERROR LINK parameter of the program stack. Subsequent calls to this routinereference that link.
2. Each call to this routine fills a double word in the error stack.3. This routine is invoked by using the HAL linkage convention.
Module: OFFERR
Function: To delete a specific error specification from a program errorstack.
Parameters: RO - error group number and error number within the group.
PRJ<;CEDING PAGE BT Ah
. ~d( NfYf F.IT.MEQ -23-
,N..,
R TL I/O AND ERROR $YSTEMS STRUCTURE CHART
SKIP LINE PAGE COLUMN CHAN FILEIril FOREND PROGEXC IOERR EOUT
, I , I
1 ', ,
1 II I ,1 1 I I1 I ' 1 1 1 ~
8 eI, , I' I 1 MOSSI I I I I I EAD.'
I.l\RIT:O: DUMP TTERM.,
I I , I J, II I I1 ,
I I I 1 I
MOO ~1 I I ELECT»INPUT , I I I IOINIT ONrROI, ETFD.I II I I I I I CLOSE ELEAS
I I :; I J I I I I
I :I I 'I c..4 I I I
I I, , I J I I I ,
I
I®'I I
:~:I I
,tMOSS I I 1,
ELECT, I JI I I I DUMP,
IiERRORMON
I READ II I I GET FD I 1, I I I I I
, I I, I I
'\1, I I II I II L.. I ,
I I
!~',.I ~- J- - 7/· J I I r- - j - -lI I lOSS 11
I I II LEAS;;, I I ' I I I I HERROR II : II DUMP II I I I I 1 II II ! I, I' I , , L ___ __ .J
,I I I L II
I ~, , - ,
I, \ I-
OUTPUT
I
r- 1l --\I HALSYS J,- - --"""
Figut'e 4-1
..
..
RTL INITIALIZATI0~• .E:RROR, AND REAL TIME SYSTEMS STRUCTURE: CHART
MOSSmIT
MOSSLOG
~~~{;S?$~
:~
B~~
fJliJ
IIIIII__ J
IONERR t ,II ~FF~~ I:I LOCK :: CANCEL :: SLOG : : UNLOCKM :: LOAD :: mPT : :SCHEDULE I
I i I I I I I i I r 1 I r
I I·I t
I II I
I I ILA~_Jt 1I I
CTOI
I I1·1I 1t II I1 1- __ ,..1I II II II Il / 1- ~
ERRORMQN ~ ..l.~ ERROR \rJ \_~~~K_ ....lII
ERRSENDX
TIIIIIIr<----1I/' _.3 _
\ HALSYS \__ :L __ }
r------,I HERROR :IL J
(CTOE)CTOD
EOUT
HALSTART
Output
2
10~,
Figure 4_2
RTL REAL TIME SYSTEM STRUCTURE CHART
WTO SELECT RLSE ISSUE SErn APPLY AVERAGE SENSE
MOSSWRTERP
,'"~,
TIME TEST eRIC DISCON DISBaCKD DISADD yIm~o
,TITRANS TIDATA QSTKYBD
TTERM
,
JTERM JABORT JDEL TDEL
Figure 4-3
SIGNAL
MOSSSET
RESET TABORT
MOSS'TABRT
...
RTL REAL TIME SYSTEM DATA FLOW
OPTIONS BIT VEeTASK DE'SOPTIONS
• OPTIONS
I ~ISClEDm 'k + .---•• --'1RETURN CODE
USERDATA
14
~o'J:j~g~:~
ir:::~
fJf;J
• JOB DES
t JOB DES
RETURNCODE
.JOB DES
JOB DES
!NIT
LOAD
MOSSLOAD
USERDATA
16
ERR *GRP*
MESSAGE
RETURN CODE
t LOAD MODDES
MOSSRETURN CODE(UNLOCK
CHAR STG_.cAD MOD
DES
ERR *GRP*
MESSAGE
WTO
REPLY OPTCHAR STGREPLY LOC
~MESS LEN• MESS""REPLY LEN1 REPLY BUFF
"MOSSWTOR
USERDATA
15
RETURN CODEREPLY LENREPLY
1MESS LEN~MESS
t CHAR STG
RETURN CODE
). ~rSLOG
ERR *
TASK DES (c ~ GRP *)C ... CANCEL MESSAGERETURN CODE
,N...,,
Figure 4-4
RTL REAL TIME. SYSTEM DATA FLOW
MOSS'ASKAm
tTASK DES
'ABORT
MOSSEVNDEL
hVD
RESET
TASK DES
APPLY OPTIONsOPTIONAL DATA
.ERP DES 4EVD.
# ERP DESMOSSTEST
MossALERT
RETURN CODE
t 'EVD
tEVENT OPT
4ERP DES"OATAAREA.U DATA BYTESplO ERROR EXIT
EVD
EVD,PTIONAL BIT
VEe
MOSS"RTERF
~IONS
#READ ERP DESOUTPUT AREA
+ERP DES.. DATA AREA.. # DATA BYTES.. I/O ERROR EXIT
hERP DES4DELTAS OPT4ERP DES
OUTPUT ARE
VERAG~. I
4 ERP DES.. DATA AREA• READ OPT• I/O ERROR
EXIT
,N00,
Figure 4-4(Continued)
...
RTL CONTROL AND DISPLAY SYSTEM DATA FLOW
MOSSPDSIM
+ PROG ill.4CRT #
PAGE if.UfO ERROR EXIT
I PROG ill'4CRT #
PAGE #P/O ERROR EXIT
CONTROL FUNCCRT #
PAGE #
4 VAR LIST4 LEN LIST4 CRT #
PROG ID
~RT-PAGE OPT
CONTROL OP CRT ifCRT_PAGE OPT PAGCRT #PAGE if
IIPAlR VARVAR LISTBLINK OPT
CRT &: PAGE OPr
USER~ IDATA iI
13
IlSCON
CRT #PAGE #
• BLINK STATUS4I/O ERROR EXITt PAGE #
CRT #PAGE #
PDISM
4 PROG ill4 MESS ill+BLINK STATUI VAR LIST
4CRT # \ / CRT-PAGEI PAGE # '-....-/ CRT # OP41/0 ERROR EXIT PAGE #
PROGI4 PR OG lD MESS... MESS ID BLIN"K STATU CRT-PAGE OFT
BLINK STATUS CRT if: ISBACK PAGE if
+CRT #4 PAGE #11/0 ERROR EXIT
,N-D,
MOSS'IEALLSP
MOSSTITRANSI
Figure 4-5
MOSS'READ
3
ERR #GRP #MESSAGE
ERR #GRP#
MESSAGE
~~§~tl:l~~"d~~::1 tcJ~th
~DATA
mATA LEN'.FILE DBSH/OERROR EX!'
SKIP
FILENAME
KIP COUNT
RES DES /BLOCK IDFILE #
IDATAillATA LEN
.+.RES DES}ACCESS
"RES DESI RGHT.
.II0 ERR OR EXIT
~FILE# ILE
NAM~-- - - . -
+FILE DES.+ DATA AREA• DATA LEN
FILE INFORMATION
'ILE DES"DATA AREA~ATALEN
~/O~RROR EXIT
MOOSWRITE
2
~CURRFC
RTL I/O SYSTEM DATA. FLOW
'~FILE DES,ACCESS RG
SKIP COUNT
+FILE DES
hlLE DES
MOSS(sELECT
3
+FILE DES,ACCESS'I' RGHTS
KIP COUNT
KIP COUWT
~CURRFCB
.mATA·IDATA LEN
'!DATAtDATA LEN/FILE DES
/IJ~RR#ERROR GRP#EXIT MESSAGE
ERR #GRP#MESSAG:
Me,READ
2
HERRORr ERR # (4 GRP#
MESSAGE
,wo,
Figure 4-6
R TL I/o SYSTEM DATA FLOW
USERDATA
8
BUFFINDX
ERR #GRP#:MESSAGE
ERR /IGRP#
MESSAGE
+ DUMP CODE+ CHAR STGI DUMPADR
/.r--../".'.... CHANNEL # kURR FeB -"'-./
hCB
FILE
IDUMP CODE'CHAR STGtDUMPADR
I FILE DES
Figure 4-6(Continued)
-31_
USERDATA
4
LOCI( GROUPBITSLOCK
DAYS
USERDATE5
j TIME CODE~TIME VALUE
JEVENT
IEVD
tRES DES
.• ACCESS RIGHTS
IEVD
TJl<IE
MOSSSET
T~ T'l"PE
". DUMP CODEt CHAR STRINGt DUMP ADR
MOSSDUMP
1
IRES DES
IACCESSRIGHTS
\ TIME CODETIME VALUE
lEVD
'DUMP CODEj CHAR STRING
STRING
tBUFFER
DTOC(EOUT)
DATA LEl'f
ERR LINKS
ERR /IGRP#
ERRLOCERRPARM
ERRNUMS
USERDATA
3
CONTROLCODE MESSAGE
UN STACK1
BTL ERROR AND REAL TIME SYSTEM DATA FLOW
OUTPUT1
ERRNUMSERR PARM
ERR #GRP#
ERRPARM
ERRLINK_ERRUNK
ERR #GRP#
RROR CODEGNADR
ERR #GRP#
I,RECOVTSTATE:
ERR #GRP#
ERRPARM
_,LEN PARM"( FIELD
TOE(CTOD)
fCL PARM\ FIELD
USERDATA
2
ERR #GRP#
ERROR CODEPROG FLAG
US.E:RDATA,
WN,
ERR #GRP#
!lRROR CODl!.:?ROG FLAG
Figure 4~7
Notes: 1. This routine uses the ERRORLINK in the program stack todetermine the address of the error stack then zeros thespecified entry in the stack.
2. This routine is invoked by using the HAL linkage convention.
Module: SIGNAL
Function: To establish the parameter list for the MOSS SET SVC andinvoke that SVC as required.
Parameters: FLAGyIST - a list of the program flags to be set.
Note: This routine is invoked by using the linkage convention for NON -HALprograms.
Module: RESET
Function: To establish the parameter list for the MOSS EVNTDEL SVC andinvoke that SVC as required.
Parameters: EVENT_VARIABLE_LIST - a list of event variable descriptors of event variables to be reset.
Notes: 1. The event variable must be communicated to MOSS as an eventvariable descriptor.
2. This routine is invoked by using the linkage convention forNON-HAL programs.
Module: CANCEL
Function: To establish the parameter list for the MOSS CANCEL SVC andinvoke that SVC as required.
Parameters: TAS~DESCRIPTOR - descriptor of the task to be canceled.If no descriptor is specified, the requesting task is canceled.
Notes: 1. If an error code is returned from MOSS, this routine mustalert·the HAL/SM error monitor.
2. This routine is invoked using the linkage convention forNON-HAL programs.
Module: TTERM
Function: To invoke the MOSS TASKTERM SVC as required.
-33-
Parameters: None.
Note: This routine is invoked using the HAL linkage convention.
Module: JTERM
Function: To invoke the MOSS JOBTERM SVC as required.
Parameters: None.
~: This routine is invoked using the HAL linkage convention.
Module: JABOR T
Function: To invoke the MOSS JOBABORT SVG as required.
Parameters: None.
~: This routine is invoked by using the HAL linkage convention.
Module: TABOR T
Function: To establish the parameter list for the MOSS TASKABR T SVCand invoke that SVC as required.
Parameters: TASK_DESCRIPTOR_LIST - a list of task descriptors oftasks to be aborted. If this parameter is omitted, the requesting task isaborted.
Notes: 1. If no parameter is specified, the calling task is aborted.2. This routine requires NON-HAL linkage.
Module: SLOG
Function: To establish the parameter list for the MOSS LOG SVC andinvoke the SVC as required.
Parameters: RO- the address of the character expression to be writtento the system log.
Notes: 1. If an error code is returned from MOSS, this routine mustalert the HAL/SM error monitor.
2. This routine is invoked by using the normal HAL linkageconvention.
-34-
Module: UNLOCKM
Function: To establish the parameter list for the MOSS UNLOCK SVCand invoke that SVC as required.
Parameters: LOAD_MODULE_DESCRIPTOR_LIST - list of descriptorsof load modules to be unlocked.
Notes: 1. If an error code is returned from MOSS, this routine mustalert the HAL/SM error monitor.
2. This routine is invoked by using the NON -HAL linkage convention.
Module: LOAD
Function: To establish the parameter list for the MOSS LOAD SVC andinvoke that SVC as required.
Parameters: JOB_DESCRIPTOR - descriptor for the job to be loaded.
Notes: 1. If an error code is returned from MOSS, this routine must alertthe HAL/SM error mointor.
2. This routine is invoked by using the NON-HAL linkage convention.
Module: INIT
Function: To establish the parameter list for the MOSS INIT SVC and invokethat SVC as required.
Parameters: JOB_DESCRIPTOR - descriptor of the job to be initiated.
Notes: 1. If an error code is returned from MOSS, this routine mustalert the HAL/SM error monitor.
2. This routine is invoked by using the NON-HAL linkage convention.
Module: JDEL
Function: To invoke the MOSS JOBDEL SVC as required.
Parameters: None.
Note: This routine is invoked by using the HAL linkage convention.
Module: TDEL
Function: To invoke the MOSS TASKDEL SVC as required.
-35-
Parameters: None.
Note: This routine is invoked by using the HAL linkage convention.
Module: SCHEDULE
Function: To establish the parameter list for the MOSS SCHEDULE SVCand invoke that SVC as required.
Parameters: OPTIONS_BIT_VECTOR - bit vector indicating the presenceand format of the scheduling options.
TASK_DESCRIPTOR - description of the task to be scheduled.OPTIONS_LIST - list of the options indicated by the bit vector.
Notes: 1. If an error code is returned from MOSS, this routine mustalert the HAL/SM error monitor.
2. This routine is invoked by using the NON-HAL linkageconventions.
Module: WAIT
Function: To establish the parameter list for the MOSS SUSPEND SVCand invoke that SVC as required.
Parameters: OPTIONS_BIT_VECTOR - a bit variable indicating the presence and format of the WAIT options.
OPTIONS_LIST - list of the options indicated by the bitvector.
Note: This routine is invoked by the NON-HAL linkage convention.
Module: ALER T
Function: To establish the parameter list for the MOSS ALER T SVCand invoke that SVC as required.
Parameters: EVENT_VARIABLE - bit vector corresponding to theevent variable to be alerted.
OPTIONS_BIT_VECTOR - bit vector indicating presenceand format of optional parameters.
OPTIONS_LIST - list of the options indicated by the bitvector.
~: This routine is invoked by using NON-HAL linkage convention.
-36-
Module: AVERAGE
Function: To establish the parameter list for the MOSS RDERP SVC andinvoke that SVC as required.
Parameters: RD - the number of ERP readings to be averaged.Rl - address of the descriptor of the ERP to be read.RZ - address of variable into which the average is to be stored.
Notes: 1. The address of an I/O error exit routine shall be provided viathe SVC for resolving I/O errors associated with the readoperation.
Z. This routine is invoked by using the normal HAL linkageconventions.
Module: SENSE
Function: To establish the parameter list for the MOSS RDERP SVC andinvoke that SVC as required.
Parameters: DELTAS_OPTIONS - a number indicating the presence ofthe read AI delta option.
NUMBER_OF_ERPS - number of ERP's to be read.ERP_LIST - list of ERP descriptors of ERP's to be read.OUTPUT_AREA - list of variables into which the results
of the read are to be placed.
Notes: 1. The address of an I/O error exit routine shall be provided viathe SVC for resolving I/O errors associated with the readoperation.
Z. This routine is invoked by using the NON -HAL linkage.
Module: ISSUE
Function: To establish the parameter list for the MOSS WRTERP SVCand invoke that SVC as required.
Parameters: ERP_DESCRIPTOR - the RD ERP designator to which theissue applies.
RD DA TA - the list of parameters which form the data tobe issued.
Notes: 1. The address of an I/O error exit routine shall be provided viathe SVC for resolving I/O errors associated with the writeoperation.
-37-
2. This routine is invoked by using a NON-HAL linkage convention.
Module: SETD
Function: To establish the parameter list for the MOSS WR TERP SVCand invoke that SVC as required.
Parameters: NUMBER_ERP_DESIGNA TORS - the number of DO ERPdesignators to be set.
ERP_DESIGNATOR_LIST - the list of discretes to be set.NUMBER_OF_DO_VALUES - the number of output value to
be set.DO_VALUE_LIST - the list of output values to be applied to
the DO.TIME_VALUE - time in milliseconds that DO is to be pulsed.
Notes: 1. The time value may only be used when one DO and outputvalue are specified.
2. The address of an I/O error exit routine shall be providedvia the SVC for resolving I/O errors associated with thewrite operation.
3. The routine is invoked by using a NON-HAL linkage convention.
Module: APPLY
Function: To establish the parameter list for the MOSS WR TERP SVCand invoke that SVC as required.
Parameters: APPLY_OPTIONS - indicator of special options for WRTERP.NUMBER_OF_ERP_DESIGNATORS- number of AO ERP
designators to which a value is to be applied.VALUE LIST - list of values to be applied.ERP_LIST - list of designators to which values are to be
applied.
Notes: 1. The address of an I/O error exit routine shall be provided viathe SVC for resolving I/O errors associated with the WRITEoper'ation.
2. This routine is invoked by using a NON -HAL linkage convention.
Module: WTO
Function: To establish the parameter lists for either the MOSS WTO orWTOR SVC and invoke either of these SVC's as required.
-38-
Parameters: REPLY_OPTION - a bit variable indicating whether or nota reply is to be expected.
MESSAGE - a character string to be transmitted to the operator.REPLY_BUFFER - the character variable into which the
reply is to be stored.
Notes: 1. WTOR is to be invoked if a reply is required.2. WTO is to be invoked if no reply is required.3. This routine is invoked by using a NON-HAL linkage convention.
Module: DISCON
Function: To establish the parameter lists to the MOSS ALLSPAGE,DEALLSPG, or DISCON SVC's and invoke one of these SVC's as required.
Parameters: CONTROL_OPTIONS - the option indicator as to which control function is to be performed.
CR T_PAGE_OPTION - bit vector indicating the specificationof a CR T and PAGE number.
CR T # - the number of the CRT to which the control is directed.PAGE_# - the number of the PAGE to which the control is
directed.
Notes: 1. The ALLSPAGE SVC is invoked if the control option indicatesallocate page.
2. The DEALLSPG SVC is invoked if the control option indicatesdeallocate page.
3. The DISCON sve is invoked for all other control options.4. This routine is invoked by using a NON-HAL linkage convention.
Module: DISBACKD
Function: To establish the parameter list to the MOSS DISBACKD SVCand invoke that SVC as required.
Parameters: PROGRAM_IDENTIFIER - the iclentifier by which the dataset containing the message is identified.
MESSAGE_ID_# - the record number within the data setcontaining the message.
BLINK.-OPTION - a bit variable indicating the blink status option.CRT_PAGE_OPTION - indicator as to specification of a
CR T and PAGE number.CRT_# - the CRT number.PAGE_# - the PAGE number.
-39-
Notes: 1. The address of an I/O error exit routine shall be provided viatheSVC for resolving I/O errors associated with the displayoperation.
2. This routine is invoked by using a NON-HAL linkage convention.
Module: DISADD
Function: To establish the parameter list for the MOSS DISADD SVC andinvoke that SVC as required.
Parameters: PROGRAM_IDENTIFIER - the program identifier by whichthe data set containing the addon message is identified.
MESSAGE_ID_# - the number specifying the record numberwithin the data set which contains the message.
BLINK_OPTION - the bit variable which indicates theblink status option.
#_PAIR_VARIABLES - the number of variable controlword/variable pairs which follow.
VARIABLE_LIST - the list of variable control words andassociated variables.
CRT_PAGE_OPTION - indicator as to specification of aCR T and PAGE number.
CR T_# - the CR T number.PAGE_# - the PAGE number.
Notes: 1. The address of an I/O error exit routine shall be provided viathe SVC for resolving I/O errors associated with the addonoperation.
2.· This routine is invoked by using a NON-HAL linkage convention.
Module: UPDISM
Function: To establish the parameter list to the MOSS UPDISM and invokethat SVC as required.
Parameters: #_VARIABLE_PAIRS - the number of pairs of variable control words and associated variables to be transmitted.
VARIABLE_LIST - the list of variable control words andassociated variables.
BLIN~OPTION - the bit variable which specifies the blinkoption.
CR T_PAGE_OPTION - the bit variable that indicates thespecification of a CRT and PAGE number.
CR T_# - the CR T number.PAGE_# - the PAGE number.
-40-
•
Notes: 1. The address of an I/o error exit routine shall be provided viathe SVC for resolving I/O errors associated with the updateoperation.
2. This routine is invoked by using a NON-HAL linkage convention.
Module: T1 TRANS
Function: To establish the parameter list for the MOSS T1 TRANS SVCand invoking that SVC as required•
Parameters: TYPE1_PROGRAMJDENTIFIER- the program identifier ofthe TYPE1 program in the program library.
CRT_PAGE_OPTION - the bit variable which specifies thepresence of a CRT and PAGE· number.
CRT_* - the CRT number.PAGE _* - the PAGE number.
Notes: 1. The address of an I/O error exit routine shall be provided viathe SVC for resolving I/O errors assbciated with the transmitoperation.
2. This routine is invoked by using a NON-HAL linkage convention.
Module: T1DATA
Function: To establish the parameter list for the MOSS T1DATA SVC andinvoke that SVC as required.
Parameters: TYPE1 PROGRAM_IDENTIFIER - id.entifier of TYPE1programfor which the data is specified.
*_OF_VARIABLES - number of TYPE1 update variables.VARIABLE_LIST - list of update variables.CRT_PAGE_INDICATOR - bit indicator of CRT - PAGE
number specification.CRT_it - the CRT number (if specified).PAGE_* - the PAGE number (if specified).
Notes: 1. The entry point to an I/O error exit routine shall be providedvia the SVC.
2. This routine is invoked by using a NON-HAL linkage convention.
Module: RQSTKYBD
Function: To establish the parameter list for the MOSS READCD and invokethat SVC as required.
Parameters: ADR CHARACTER EXP - address of character data area.
-41-
-42-
WAIT_INDICATOR - the a.utomatic wait indicator; also theparameter in which a return code is specified.
Notes: 1. The entry point of an I/O error exit routine is provided via theSVC list.
2. This routine is invoked by using a NON-HAL linkage convention.
Module: SELECT
Function: To establish the parameter list for the MOSS SELECT SVC andinvoke that SVC as required.
Parameters: DESCRIPTOR_LIST - a list of paired variables; the first variable specifies the resource descriptor and the second is a bit vector whichspecifies access rights.
~: This routine is invoked by using a NON -HAL link convention.
Module: RLSE
Function: To establish the parameter list for the MOSS RELEASE SVC andinvoke that SVC as required.
Parameters: DESCRIPTOR_LIST - list of resource descriptors.
~: This routine is invoked by using a NON-HAL linkage convention.
Module: CHAN
Function: To determine which of the MOSS SVC's CONTROL or CLOSE is tobe invoked; establish the parameter list to the appropriate SVC and invoke itas required.
Parameters: CHANNEL # - channel to be controlled.FUNCTION_INDICATOR - control function to be performed.FILE COUNT - if files are to be spaced, this specifies the
count.
Notes: 1. This module must invoke the RTL routine IOINIT to determine therequired file descriptors for the SVC invocation.
2. Also the entry point to an I/O error exit routine shall be providedwith the CONTROL SVC.
3. This routine is invoked by using a NON -HAL linkage convention.
Module: GOCRIC (STOPCRIC)
Function: To invoke the MOSS CRITICAL SVC with the enter critical processingmode parameter.
•
Parameters: None.
Notes: 1. This routine is invoked by using HAL linkage conventions.Z. The mode parameter sent to the SVC is determined by which of
the two entries, GOCRIC or STOPCRIC, is invoked.
Module: TEST
Function: To test an event variable; if the variable is zero, a zero is returned; however, a non-zero value is assumed to be a MOSS event variabledescriptor in which case the MOSS TEST SVC is invoked.
Parameters: RO - the event variable.
Note: This routine is invoked by using the normal HAL linkage convention.
Module: TIME (DATE)
Function: To establish the parameter list for the MOSS TIME SVC and invokethat SVC as required.
Parameters: RO - an indicator of the type of time value requested.FO - return time value (TIME Entry).Rl - return number of days (DATE Entry).
Notes: 1. This routine is invoked (as a FUNCTION by) using the normalHAL linkage convention.
Z. The value returned from the TIME Entry is a double precisionfloating point number equal to the value of time in milliseconds.
3. The value returned from the DATE Entry contains the numberof days portion of the MOSS GMT value.
Module: COLUMN
Function: To increment the column index count of the associated I/O device.
Parameters: RO - the buffer index count (I/O Column Counter - 1).
Notes: 1. The I/O device to which the COLUMN is directed is determinedfrom the global data area (HALSYS).
Z. All data associated with the I/O device is found in the File ControlBlock data section.
3. A check is made on the index to determine if it is within the allowable range. If it is not, an error message is sent to the errormonitor.
4. This routine is invoked by using normal HAL linkage.
-43-
Module: FILEIN (FILEOUT)
Function: To initiate and perform file I/O operations.
Parameters: RO - block identification.Rl - file number.R2 - address of data area.R 3 - length of data area.
Notes: 1. This routine uses the file number to index into the FILES tableto find the associated file· control block. If no file descriptoris found in the file control block, the MOSS GETFD SVC isinvoked with the file name as a parameter to yield the filedescriptor. If no file descriptor is found, an error messageis sent to the error monitor. If a file descriptor is. found,it is placed in the file control block.
2. The SELECT, READ, WRITE, and RELEASE SVC's areinvoked as required.
3. FILEIN performs input; whereas, FILEOUT performs output.4. This routine is invoked by using the normal HAL linkage
convention.
Module: IOINIT
Function: To initiate sequential I/O operations.
Parameters: RO - I/O mode.Rl - channel number.
Notes: 1. The I/O mode is checked for accuracy. If inaccurate, theDUMP SVC is invoked.
2. The channel number is used to find the associated filecontrol block, then the file control block is interrogated tofind the file descriptor. If a file descriptor has not beenentered, the MOSS GETFD SVC is invoked to determinean appropriate one. If none exists an error is sent to theerror monitor.
3. If a file descriptor exists, it is entered in the file controlblock.
4. This routine is invoked by using the normal HAL linkageconvention.
Module: INPUT
Function: To perform input from a specified sequential I/O device.
-44-
Parameters: None.
tiotes: 1. If data is read, RO contains the length of data and Rl containsthe address of the data. RO = zero indicates data is notchanged.
2. Error checks are made on parameters in the FCB associatedwith the device. Any errors are sent to the error monitor.Severe errors require use of the MOSS DUMP SVC.
3. The MOSS SELECT, READ, and RELEASE SVC's are used toperform the input operation.
4. The routine is invoked by using the normal HAL linkageconvention.
5. CIN and SKIPIN are entries in INPUT. Their parameters are:CIN - R3 = address of character string to be filled.SKIPIN - RO = skip count (must be >0).
Module: LINE
Function: To perform the LINE function associated with sequential I/Odevices.
Parameters: RO - desired line number.
Notes: 1. The FCB for the associated I/O device is determined frominformation in the global data area.
2. The calculation of the number of lines to be skipped is.determined using FCB information and SKlPOUT orSKIPIN is invoked (depending on the I/O model to performthe required skip operation.
3. Any line errors are reported to the error monitor.4. This routine is invoked by using the normal HAL linkage
convention.
Module: OUTPUT
Function: To perform output to a specified sequential I/O device.
Parameters: RO - length of buffer segtnent.R I - address of buffer.
Notes: 1. This routine uses the buffer index, etc., in the FCB as wellas the file descriptor for preparing the output data fortransmission to MOSS.
2. The MOSS SELECT, WRITE, and RELEASE SVC's areused for data transmission.
-45-
3. COUT, HALPRINT, FLUSH, and SKIPOUT are also entriesto this module. For COUT, R 3 contains the address of acharacter string to be output. For HALPRINT, Rl containsthe address +1 of a HAL type character string, and ROcontains an output spacing control code. For FLUSH, ROis used to return buffer position on first entry and to setbuffer position on secondary entries. For SKIPOUT, ROcontains skip count.
4. This routine is invoked by using the normal HAL linkageconvention.
5. Error checks are made on mode, etc., and severe errorconditions detected require use of the MOSS DUMP SVC.
Module: PAGE
Function: To perform the paging function associated with sequential outputdevices.
Parameters: RO - page count (number of pages).
Notes: 1. The FCB for the associated output device is determinedfrom the global data area.
2. The number of pages is resolved into number of lines tobe skipped by using maximum lines/page. SKIPOUT is theninvoked to skip the appropriate number of lines.
3. Any errors such as negative page count are reported to theerror monitor.
4. This routine is invoked by using the normal HAL linkageconvention.
Module: SKIP
Function: To position a particular I/O device ahead by a specified numberof lines.
Parameters: RO - skip count (number of lines).
Notes: 1. The associated I/O device is specifed in the global data area.2. The line information is found in the FCB. The skip count is
determined from the line information and either SKlPOUTor SKIPIN is invoked.
3. Any errors detected are reported to the error monitor.4. This routine is invoked using the normal HAL linkage
convention.
-46-
.
Module: ERRORMON
Function: To process certain program errors as to any action that shouldbe taken on their occurrence.
Parameters: None.
Notes: 1. The error location, option, message address, group, andnumber can be found in the global data area •
2. The routine finds the program error vector from the stackERRORLINK parameter. This vector is interrogated fora match with the error that has occurred.
3. The MOSS SELECT, RELEASE, SUSPEND, SET, TIME,and :JOBART SVC's are used to perform the specifiederror recovery action.·
4. This routine is invoked by using the normal HAL linkageconvention.
Module: LOCK (UNLOCK)
Function: To perform coordination of accesses to individual data itemsby update blocks.
Parameters: RO - lock group bits.
Notes: 1. The lock group variable shall be placed in·a job common. area which must be SELECTed and RE.LEASEd usingMOSS svcrs.
2. The MOSS SUSPEND SVC is used to wait the task on thecompletion of use of locked group data.
3. The MOSS SET SVC is used to indicate completion ofuse of locked group data.
4. This routine is invoked by using the normal HAL linkageconvention.
Module: HALSTAR T
Function: To perform task initialization prior to initiation and cleanupprior to termination.
Parameters: RI - address of JCL parameter list.
Notes: 1. This routine processes execution time options specifiedvia JCL by doing error checking on the specificationsand then initializing the associated global data parameters.
-47-
2. This routine initializes such area as the error vectorstack, etc.
3. Any errors detected are reported to the error monitor.4. The MOSS TTERM SVC is used to terminate the task
after the required cleanup is performed.5. This routine is invoked by using standard OS/360 linkage
convention.
Module: PROGEXC
Function: To process MOSS program exception interrupts.
Parameters: None.
Notes: 1. The SUMC registers are interrogated to determine the location of the error and other errOr information.
2. Errors are handled by reporting to error monitor; continuing by use of MOSS CONTINUE' SVC; taking a dump byusing the MOSS DUMP SVC; and/or task termination byuse of MOSS TASK TERM SVC.
3. This routine is invoked by using standard MOSS linkageconvention.
Module: FORCEND
Function: To process MOSS fault or error conditions; i. e., errors notprocessed by the program exception or I/O error exit routines.
Parameters: None.
Notes: 1. The SUMC registers are interrogated to determine thelocation of the error and other error information.
2. An error summary is performed by the routine and theMOSS DUMP SVC is used to perform a system dump.
3. The routine is invoked by using the standard MOSS linkageconvention.
Module: IOERR'
Function: To process exceptional conditions encountered in processingI/O requestes.
Parameters: None.
-48-
•
Notes: 1. The SUMe registers are interrogated to determine the location of the error and other error information.
2. The error is reported to the error monitor.3. There shall be entries into the module for each of the types
of I/O errors.4. This routine is invoked by using the standard MOSS linkage
convention•
-49-
(BLANK)
-50-
•
APPENDIX,HAL/8M WORKING GRAMMAR
Following is the HAL/8M working grammar, written in standardBNF notation.
-51-
-.-----56
~~~ BNF XREF ~~~
------~-._._-_._------_. ----~------
1 <CUMPILATION> ::= <COMPILE LIST>_I-
2 <COMPILE LIST> ::= <COMPILE BLOCK>----3-3--· I <lOI'PILE BLOEI\) <EBtlPlLE LIST> "-.,•.. --._.... _.
----4--~-<t_BIlPlLE ilLOEIO-:-:--:' <LAdEt) : <~LEO COMP BLOCK> ; <CLOS IlliG>
<LAB ELED CBliP iH;;iJC I\) I: -- E)( fE I'( NAt---(-fE-Mj>-LA TE >I <COMP BLOCK DEFINITION>
----------------------_..._•.._--.7 <TEMPLATE> 1:= <CUMP BLO~K STMT> <DEFINITION GROUP>
8 <COMP BLOCK lJEFINITION> ::= <COMP BLOCK SHIT> ; <8LOCK BODY>
9 <C OMP BLOCK STMT> ::= TASK <ACCESS OPT! ON>-·---ttr-·--·- I EBtlPBOL (1(16113 Ii AECES5 BPTI0NS)--·-_·- - -.-._.._.. . -.--
11 I <FUNCTION HEADER> <REENTRANT f. ACCESS UPTIONS>.--- ..-1-2---- I·(PROCEDURE IIEAlJER> (REOffRMH' f.ACCESS BPlIONS>
--- ··-1-3-'14
(I( 16IEl UfTION) :.- RIGI!)I <N I L>
-_.- .. - -----------------_.15
---1-(,----<ACCESS DPTIDN> ::= ACCESS
I <NIL>
--"H·------<R-!-fih}-t-A-€-eES5 UP TI GN 5> I: - <I'( lifrBUPT ION> <ItCCESS-oPTIUN'>-18 I <ACCESS OPTIiJN> <RIGID OPTIUN>------------------------_._-_ -'-- _._ _-_.. -- _ _ _ _ .
19 <FUNCTION HEADER> ::= FUNCTION <TYPE SPEC> <PARM LIST>
20 <PROCEDURE HEADER> ::= PROCEDURE <PARM LIST>
21 <REENTRANT f. ACCESS OPTIONS> ::= <REENTRANT OPTION> <ACCESS OPTION>
<REENTRANT OPTIUN> ::= REENTRANTI (PH L>
----z<r-----«'P'p.-AR-M-tl5+> :: - ( <ffi Lf Sf>25 I ASSIGN ( <ID LIST> I210 I I <19 LIST> I AHliON ( <1Q..-4.1~T->-4-··
27 I <N I L> .---~-----_.__.•._----- .
28 <10 LIST> ::- <IDENTIFIER>---·~---·--··-+~I9ENT+H~,(19 -H.S-i'-}-.-
ORIGINAL PAGEJS_.... ._OF POOR QUALITY
36 (H8CK B8tlY) :s = (9EF I NIT 10/1 GR8UP·~·+H-A-1EHENT..,-IH>_ _ __.._--._"-.
---~-l··-··-·-·_<&_E.f·HIInGN----4RGYP> '-:'+-=--..(.lK.f-I-t>U+~ ON.cLEMENT>32 I <DEF INITION ELEMENT> ; <DEFlfHTI ON GROUP>
.-_._--
33 <STATEMENT LIST> ::= <LAB STHT>--~3"'4- I EL"" STIlT> I (SHTEIIEIH LIST> .-._--..... - ... _'---_._-"'_.-.._'---
-·--ys-·---<t-Afl STMT>-: 1- <STATEMENT>36 I <LAbEL> : <LAB STMT>
------------52~
--------------------------
79-------------1- FLA"8Q , Dew8 1 I EAIl IT II SPEE> (8PTI8NAL PR~5~€C>
-i!l------- -<tli'-HtJ-rt-A-l:-ARRAYNES S> .:- t <01 MEtiSfONS> I83 I <NIL>
84 <ARITH SPEC> ::: <uPTIONAl ARI TH TYPE SPEC>------a5-5------iI~<eop_pTT-f-<IOEl1tit1Ul-iL=--I'P'-I'RCEE-€C--5Si>PrE(r»----
•
-86----87
------8-8-
----8-9----90
91--- ---~---
93--'Tlr-
(PREC SPf(;-)---ll- Sl--N~------
I DOUBLE--- '(RAD£)() ---------
El:)pTIONAl Pit EC Sf'E C> 1:_ <PilLe SPE-€7t <Nil>
<ARITH TYPE SPEC> ::: INTEGERI SCALAR -------I MATRIX <uPTIONAl ARRAYNESS>I 1'[€TOR <OPT IOtU,L ARRAYN[5-5->----
-9-5-- (9 I' Tl Q IIALAin TH TV P[ 5 I'Efo-)----}-t-.=--<-AR IT H Tv I' ESP E()96 , <NIL>
9798
------9-'J---
100101
1021031041&5106167108Hl9110
<lITERAL EXP OR "> ::: <LITERAL EXP>
I '*(L ITERAL [xP-~--H-~--tt-XPI\E5S1aN-)------
<llINUR ATTi< LIST) ::= <tIINOR ATTRitiUTE>I <MINOR ATTRIBUTE> <MINOR ATTR LIST>
<MINOR ATTRIBUTE> ::: STATICI AUTOMAT! CI DENSEI ALIGNEfJ--I ACCESSI LBC I{ I (LIT [RAE EXI' OR ") I···I RIGIDI NDNIIAL ( (tjWIB[R) II <INITIALIZATION>
115116117
III - <INITIALIZATION> ::: INITIAL I <VALUE LIST> I-----,1l-1l-i2r-------+1--ICE-IO:H'N/-:!5nT~ArflNH'T'_t1~(~... AA-ll:;1UI:/-lE:--lL:-Jlt-;!Si-fT7)-t/-
113 (\' AlUE LI S T> :+=--(-V-A-k-U [) OIiZG7'h -___1_1_4 '_<_V_A_L_U_E_>_, <VALUE LI Sf> OF P~.t1L P4Gli1
<VALU~> (~:;E~Z~T~::~ ;X~R~:E:;Aal_E_-V_ALUE> ._ 'Ii QlT~ _I t <DC W VALUE LI ST> 1
118 <REPEATAblE VALUE> ::: ( <VALUE un>119 I [<!lew VAlUE UST>}----12() I <L1 TERAL>121 I <lQEN THIER>122 I <NIL>
123 <OCW VALUE LIST> ::: <DCW COLOR OPTION> • <DeW CHAR SIZE OPTlON> ,-----l-&2-3-3---------_-------e;<rl.jo'\;;-e...w_ab..Ii--j~_jK UPTHl!>l> , < Dew I NIE NSH¥ 0 PTWN > -,
-53-
_____ 123 --<nc"'-- O.i.JlP-llLf URMAT OPT! ON>
-----l~4__------ ..WCII CtllOll OPT! ON)1251 ORANGE126- 1 - YELLGW127 I GRE EN128 - t-<-N rl>
---l--t-9-..- (D eli eliAR-5+l-E OPT ION) 11= 15 11/113r I 1( 14M
-1:H- ------------ f---1-.-5--MM-132 15MM133 - --------l-<.U-I-W------- ------ -----------
-1 3-4- ----·----~_f*"*f_I.~'II~<...,88-PP;Tf.,IH8e1:lf.J)......,:~'....·'-!8H:L::-lI'-I1N/i<KHa~Nf-135 I BLI NK OfF136 -- -- --- ---+...(./1;11.->------ ----------------
- -- ~O-El/--HHE-N-.s-H'YDP-H 8J'.'}---H~-~- I 1I 2I 3
------- ----------1---4--------------- - --- ----------1 5
------- -----1--&-------------------.:.---- -I <NIL>
137138
c. H9--.---.14')141142143144
145 <DCW OUTPUT flJRMAT OPTION> ::'" TIME146----- --------l--eIlC QI C <IlC W -f--Q-k-ID----------- -147 1 <NIL>
____ e • _
148 <DCW fORM> II'" CHARACTER.-~--.-. Il-ill-f.~Il-lT'-€e;iob_€e,i4~--------
lSI') I DECIMAL-l5+------------1 BI NMl-Y------ ---------.-_._-152 I DC TAL}.5-3-- --.-~ ..------,.-_t HEX 10 EC I MAl: .--'--.._-
---"T5-4-- <Cl05Iri6) :1· CLOSE155 I CLOSE <LABEL>
---1--5f>--- ----------I--~lABEL> I «(-lOS IN6)
-54·
- -- -i-5-7---m -----(-S-+A-T-EM-EIrl-)--:-I. EXI T-<ilP-T1 fj rlAt -t-Atltt >-158 1 REPEAT <OPTIONAL LABEL>
---!-59 I GO T8 (kAtiE 1;)
16'J I RETURN---+b-l----------l---J\-Ef-UR N <EXP f(.£-5-5-lGN-)------ ---
162 I SEND <ERROR SPEC>-1-6--3------- I _Off -< ERi<DR SPEE> ---------164 I UN <ERROR SPEC> <ON ERROR OPTIONS>
--·--1-6--~---· I SIGNAL- <FLAG LIST>166 1 RESET <EVENT VAR LIST>
--- --1-6'1---- . u __ -+ CANCEL <OI'T--I-Q.#.A" I-AIl€l ,,-l-$T>168 I TERMINATE <JOB OR TASK>
~- -1-6-9----- I ABBItT <dOB Oil T-A--5* EJR LA-B-H-HST>17" I LOG <EXPKESSION>
----17-1--- -------on I tlNL til? K (L AB EL LIS D172 I LOAD <LABEL>173 I INITIATE <Ullel>174 I DEl.ETE <JUIl OR-TASK>11&--m---~-- I (CtJN9ITlONAL SHIT>
- -- - ---- ---------------
176----- I <ASS-l~m_-S_T_l'lM_+T~>---
177 I <CALL 5TMT>-----·--178 I <SCIIEBl:lLE HtlH
179 .1 <WAlT STMT>--Hl~- -------------+-~fH_ 5 TIlT >
181 , <READ SHIT>182--- - -·----------+~WR__HE--S-H+H------------
183 1 <AVERAGE AI STMT>-------184 I ({lH9 EoRP &TlH)
185 I <ISSUE STHT>-- ---1-86---------- I <5 ET il-I--5€-Rt--fE--H~--
187 1 <APPL Y ANALOG .STHT>------1-8-8 I <WTG STIlt)
189 I <DISPLAY CONTROL STMT>--+*- I <BISPlAY BATA SHIT> --.. --------
191 1- <MODI FY VCW 5TH T>1-92--------- I <REQY EST K-HB-e---S-HH-~------
193 1 <SELECT STMT>1-9-4 I (RELEASE ST/H) ---------195 1 <CHANNEl CONTROL STMT>
---196 I (IiESTEB SCOPO------197 I <N 1L>
.-------------------------
<ON ERROR OPTIONS) I:e SY5T~fJtt--EkROR TAIL>I IGNORE <ON ERROR TAIL>I (STAT EIIENT>
<LABEL>... .. --<OPTIONAL LABEL>I (til L)
198------1-9-9--
-----zee-&e--~(e_lE:_tR<j;RH"6IHR,_5S.p.Pf_Ef_Or_f-1t-:=..-fE:_tRHlRciJOIflR"'--<:(-5-SttUIt651SeEiR<CfHP>-1TF-r> ---
-----~9_t_
202---'?-C'3--
2e" (ON EJ,ROR TAIL> I:e AND SIgNAL <fbU,-iD>205 I <NIL>
----_... -----~-----------
206 <FLAG LIST> 1:= <FLAG 10>207 I <FhAG H) , <FbAG UST> -
298 ([HNT "AI, LIST> II- (EVENT ~AfO
209
210----- --2--H---
212
1 <EVENT VAR> , <EVENT VAR LIST>
<OPTIONAL LABEL LIST> 1:= <LABEL LIST>----t <NIL>
(LABEL LIST) : 1- <LABEl>213 I <LABEL> , <LABEL LIST>
214 <JOB OR TASK> ::= JOB------21--S---- +1-Tf-JA\-!SH'Kr--------
.-- 216 (JOB 81, lAS" DR LABEL LIST) II- <J-Ofl- UR TASK>217 I <LABEL LIST>
----- ---~.---
218 <CONDITIONAL STMT> ::= <IF STMT>-~-<119 I <11" SHU> ; IiiLSli <STAUM-E-m..>---
--~
----~2-l-1--
<I F SHIH II' IF (EXPRESSION> TIIEIII -<-5-TATEI1ENT>
(AllS1GNMENT ~-> ::: <VARIAflbE-U-5-T> : <exPRESSION>
<VARIABle LIST> :1- (VARIABlE>-55-
223 ..... ._ _ m_L<.lr'.AIUAliU>__.•_.~\lAlU.A.aLL_LlST)oH
----2:-i2!-"i4.----- (GAU· SHIT> ZI· GAll (lABEl 'IAR) '**R-t>VMENTSH-~
--2-2-!>----m--_~_£_llM-8fT- ~E-T)-~': ",.<A-RG---l'l-5+>-220 I <ARG LIST> ASSIGN ( <VARIAbLE LIST> )
227 <ARG LIST> ::= ( <EXPRESSIUN LIST> I~2 6 I (Ii I 1:) -.------.-------
--2-2-9-· - -- . -- - (E XPR~SSHl_N__kl__S+> -- --:--:-=--<e*,,~E S-&I-oN>230 I <EXPRESSION> , <EXI'RESSION LIST>
_______ ••__ • m~~~ • ~ _
231 <SCHEDULE STMT> ::= SCHEDULE <LABEL> <SCHED PARM uPTION>-- -·H-1--- - -- ---------«-5S~G+!II-E-Efl-9_fT_t_lI+H-E-E-,l:H4-HI-#)O <5CHED-E V-E NT ilPTI-{H-I)
231 <SCHED CYCLIC OPTION>
232 <SCHED PAKM OPTION> ::= ( <EXPRESSION> )----2-3 3- ----·----·---+-<M-l.+-~m--------
--2.~.-.-
235-2-36- ---- --
(SO-lEiJ TIME OPTION) ·1= IN (TIHE·-V-AldJEi>I AT <CLOCK> <TIME VALUE>
__ u_ ---'l--<-N-lH---m--~__._-- -- --- -----
---23-1-.----- <SCHElI--€-\I-ENT fdP+-i-fl-N>--~-:-:-·-_fl.H_E.N.-·-<EVENT EXP> <SCHED POST-EViNT TiME VPTluN>238 I <N I L>
239 <SCHEO POST-EVENT TIME OPTION> ::= THEN vlAlT <TIME VALUE>--2~ I <11 I to) .--.-----.--
--24-!- .. ----(-5 CIIE 0 evc II C-1:Ji'+i--flN7---H-=----,--RffEAf<-SCHED IN TERVA L OPT! lHt>242 I <N Il>
243 <SCHEO INTEkVAl OPTION> ::.= AfTER <TIME VALUE>24" .--.----+- (N lL>-------·--·
245246
-<C LOC I(>---H-- G!HI MET
---~._---------------
247 <TIME VALUE> ::= <ARITH VAR>2" 8 I <TI HE bl TE II. Ab >
---2--4-9-- --. <ARlTlI-\l-AIO It· ('lARIABLE>
--251 {WAlT HIR OPTION> ::. fOk ... (OPTIGNAL -CLOCK> <T1M-EVltlUE>252 I <NIL>
------_ .._-----~-----------
253--2--5!>-"<'"--
<OPTIONAL CLOCK> ::= <CLOCK>-+1-(g'iHlIi-j,b~>'--------------------· ......---. -.-=------.--------.--. ------
~m---m----_<_W_A++--WHlb OPTION> ·1- U1>l+1-b---4:\ilONl--EXP> <THE-N-l'lAH DPTHI-N}>256 I <r.1l>
25725 8
<THEN vlAIT OPTION> ::: • THEN WAIT <TIME VALUE>, <NIl> ... __ .. _
-259 - .... ·--<E-V-Eill T fXP> :: - <E 'JE NT TE ft 1'4>----.-,-260 I <EVENT TE~M> <OR> <EVENT EXP>-.--.-.---- '--=56.-
----2-t..l----. <EVENT TERM> .:= <E"ENT rACHlR>262 I <EVENT HCTOR> <Il.NO> <EVENT TERM>
263 <EVENT FACTOR> ::= <EVENT PRIMARY>264 I <NOT> <EVENT FACTOR>
--y2-fr65- <EVENT PRIMARr> ::- ( <EVENT tXi>>-t-266 I <EVENT VAR>-----------------------_ _ __.._----_._---_._. __._--._._--261 <EVENT VAR> :;= <EVENT 10> <SU8SCRIPT'>
268 <AND> ::= AND---<2~er<;q'-------lIHt.~-----~----- --.---
---Z2C17~e>---~~(8El1R~)HIHlt-o">_60*R------------ -------.- ------ ....211 I- I
------------ .
272 <NOT> ::= NOT273 I '
274 (ALERT STHT> II" ALERT (E VEIn \'AR~·T_&·-<h'·ENT>- ...
275 (E'/ENT> 1:- TERIHNATION OF <LABEL>---276 I <FLAG 10>
---22'-'17-1- I <ELoe K) <lIE lOP) (T! lit -Y-Ai.-lJE-> -278 I <DATA 6US EVENT>
279 <DATA 6US EVENT> ::= <ERP DESIGNATOR> <RANGE OR LIMIT>----------------------_.__...
280 <RANGE OR LIMIT> ::= <REL 01'> <QTY OR AEXP>281 I IS (OPTIONAL NOT> 8EHIEEN<tHYORAEXP> AJlH) <IOn' OR AEKP>
2822832842852eb28728a289
(REL 01'> I ,- ( _.._._------- ,-. ".-...-....•._,.
I =I )
I < =1 >I <NO T> =I (NIH) ) '---"~ •.._._-~.._-_...- ."--"-'_. -,-- ..
I <NO T> <
290 <OPTIONAL NOT> ;:= NOT291 I <IH L>
----;2>-<9l-?2>----~<f;\trT-TYY--iO'HRr_lAtfE'-ll)('PP~)____t_I_t_I ...=-+1~(~AHRHIi-'lT"IIt--f'E-lf)(.p.P ~)-+---- -.._._-- -.. -.--.------..- --- - ... . - ..293 I <DIM LITERAL>
294 <ARITH EXP> ;: <EXPRESSION>
295 <DIM LITERAL> ::= <NUM6ER> <DIM>
296 <DIM> ::= VDe--~29-·1-7-----_t1----Of'J---·--------
298 I KV299 I H\I300 I UV~Dl I A302 I Mil.303 I UA
ORIGINAL PAGE ~OFPOORQU~
304"'" I HZ--~3ee-5~----_+I--*'I(IHill1:---'--------::_ 57---~ .. ---..... --
------~--_.
__ 306 1 Mhl
307 I PPS----3-6a-- --.+--K#£
3091 DA Y310 . I HR311 I MIN312 1- SEC313 I MStC
--.;l31-l.14-·--····-··_- I IJS Ii-(..__...._._....---.-.•-----.-.....
315 I OHM- 3-16 .. lKGl'ltol· ----- .
317 1 MOHM31S--··-·---jtt· ..-- ..·· .. ---- .. ---319 I MH
-·-~2~-· ----.---l-l,IJ~tl~-----
321 I' FD322 .--f-~.g--.--.-.--323 I PFD324 .- ----+-W-~·--· ....-'.'-325 I KW3 2~-_ ..-.----I-lll"W- _327 1 UW
-. -32% - ----- --I-.-V-A-R-... -----------...--329 1 DB WBO·-· - -------+ 08 - ..--~-..... - ..--331 I KVA332 I K'iAR333 I DBM
-----334-..--·----- I PCT335 I PSIG
~ -33tr-------.. I PS I trA---~.--.----.--- ....------337 I PSIHe , MMOl~
339 I INHG--3-4-9-,,-,,- I MB
341 I IN--44-2---.--- . I FT ------
343 I M344 ·--1I-1<K~M'--------------
345 I MM-~---~-- I Nil
347 I FT I SEC--3-4$ I />l-,l ·£.5~ECb--
349 I KT359 I 'IACII351 1 DE (j
-~3.J;5..;)2---····· --1I--.1A.J<k.<;C~Mi_JI-t<N~-------~-~.... -353 I ARCSEC
--35 4 -----.. ------+- RA 0355 I MRAD
-----3-~---. -JI--ll.R-l;~JJ.I! _
357 I DEGC-..... 358----.-- ..- .. -+-l»'.w:----~---- --.--- - ..
359 1M ISIS- . .- ;l...O ..--- ----- IF! S ! S
361 I G- .9-0-&-.. -.- ·-lI---'b~P-I\M----------
363 I CFM- 3b4~--l..g. ! HI<
(it fA!) HM> .. -••
366367
<READ STMT TYPE> ::= READI RE4BALL
---'-3-6-&--- <wRITE SHIT> ::- wRITE I <NUMeEk>' t-"(SEioI 10 LIST BPTIUN>
-------3-6-9370
<SEQ 10 LIST ONtON) ::= <5EQ-t-& LIST>I <N I L>
371------3-12---
<SEQ 10 LIST> ::= <SEQ 10 ELEMENT>---- I <SEQ 10 ELEMENT> • <SEQ -I&-UST>
-- ·33-71'3:l-----«~S_<:E~I;j_+lOD--jEEtb:--lE;.JoMH,E;.t,NI-'lT=-»-:-:4-;.:---+<SS1Eo-...HIKOHCmH R-DL>374 I <EXPRtSSION>
375 <SEQ 1-0 (ONTROL> ::= <SEI; 10 CONTKDL TYPE> ( <EXPRESSION>
376---3-"R-
378319
<SEQ 10 CONTROL TYPE>I CUUJ'" NI SKIPI b [II 'e
::= TAB
380 I PAGE-_.. _---------------<AVERAGE AI SHIT> ::= AVERAGE <ARITH EXP> READINGS Of <ERP DESIGNJl.
<A;;S 1 (iN ;>--<V-AR lJl.llL E>381
-- -3-3-8-1--1-----------
---'3~&'+-;2;>----~<*A.J;5.J;5.j..;Ib~-rll'j)~IHlf_<o._.lAc!I).J;5+119-6"'"N--------·-·-···.•.. -..-- •.383 I AND SAVE AS
384 <READ ERP STMT> ::= <READ ERP KEYwORD> <ERP DESIGNATOR LIST>384 <OELTAS--l:J-P-f--HlN-> <ASSIGN> <VARIABLE LIST>
385 <R fAB ERP I(E '( .. ORO) I:· tlE ASURE .---..-.--.. .--.--.--..---..386 I SENSE
387 <ERP DESIGNATOR LI ST> ;:= <ERP DESIGI'IAHJR>388 f (ERP DESIGNATOR) • (ERP --GESI-GNATOR LIST>
389390
<0 EHAS 01' TI ON) :I. OE LTASI <NIL>
391 <ISSUE STMT> ::=·ISSUE <RTIO VALUE LIST> TO <ERP DESIGNATOR>
392 <R TIO VALUE LIST> ::: <RTI 0 VALUE>393 I (RHO 'HUIE) , (RHO VALUE bl-5·T-:>···--·-----··· ... ----- ....--.-. _.u_394 <R TI8'JAlUE> 1:_ <'JARI ABLE>395 I <BIT LI TERAl.>
--·......31-<;91-te>------.4I-<:<.f+AR-R-ll.+T-MM---kl-I-I.+TE-ER-R,A-Ab-l>->----...:.--.--
ORIGINA.to PAGE ISOF POORQUALl'fif
<SET IHSCR'eH HilT> II SET ~--J}.E·S·l('NATDR l.IST> <TO \/·AUJEOPTlONC:<PULSED OPTION>
<TO VALUE OPTION> ::: TO <RTIO VALUE LIST>I (f'lI D
<I' WI. seD I:ll' THlN> " - FOR <T I ME ....\I..M.ut.>-59-
___ 403 . I <tdl.>
---4lJ4--~---~A.f>f'lY·AffAi::&b-5-H+H-:,- <APl'l-l'- 1{E'f~aR{)-)--<A-Ht;'f-'VALUE L1S·f> TU404 <ERP DESIGNATOR LIST> <APPLY TAIL>
405 <API'Ll' KEYWORD> ::= APPLY4~- I SEND
-_499+7 ----~~¥-VAb i,jE-l-~~·- H=--~\lI-H--BR--M:*fl->·-
408 I <CTY Uk AEXP> , <APPLY VALUE LIST>
4D9----410
<APPLY TAIL> ::= FOR <TIME VAlUO <RAMPING>-l-<-fJfb+-A S-- -01' :r-WI>I->-
----I,B ------ -- <-it-AW>·I-/H;'~-f-t· <R'd'PPI6 1{El'I/BRti)----<~TI' (JR-- 4E)(~)-'412 I <NIL>
413-----414--
<kA,,",PING KEYWORD> ::= UNTIL1-l'A-M-P-E-l}'--fO . - - --- -
--4-1..··417
--<;w-lO--TAR->--:-+-=----.- -A-f{;Ef'-T REP-l ¥ I-N <CH AR VAk >I <N I L>
418 <CHAR VAk> ::= <VARIAdlE>
419 <DISPLAY CUNTROL STMT> ::= PAGE St~ECT <CRT OPTION>--~ - ~-----+8oE-A*-'-«-R-T-'{}PHBN)-
421 I ALLUCATE <CRT SPEC>--4-2,0-.---- - ~-- -+O-E-A-l-l 0CATE--<C-R-f--S-P-E-C )-
423 I <VIDEO> <STRlJ/(E UPTIUN> <Ct< T OPTION>
424 <V IDEO> :: = VIDEOl-<r4t-'25-·-- -------I---H9-EG-2---- - ------ ---------
'-42-0---"-'427
<S-'HhJ-K-E-t"i''f-I-VN~--l+~-S-lRfrKi: I <NIL>
------_._---------428 <CRT OPTIUN> ::= <CRT SPEC>
---4-2-9 - ----. ------/---(-N--1-"'->----------- -
--4-H--- <9ISPlAY JHA SHIT>:: fl!5PbAV--(1[IE-NTlHE-R->-«-RlOPTiON:>-432 , DISPLAY <BACKGROUND OR ADOON> <CRT UPTlON> <BLINK OPTION>
----4--3-2- ------.------ ------- -------------.- -(l}-f#L-A Y FORMAT UP TI oIi> .<VEC TOK UP TION>433 I UPDATE <IDENTIFIER> <VARIABLE LIST> <CRT OPTION>
--4;4-----.- ·.---'-'_!~A·Tf: (bA~l_>n--------
-4~- - "'''ACK G.W'bN9 QR A~fl ON> .: - BGIHHJlH}------436 I AliDON
437 <BLINK OPTION> ::= tiLINK STATUS---4-~8- --- - - ---+ <#.lh+-------------
-4-39---'-.n·--<tlI5-P-LAY F[ill. "AT OP TI ON> H - -(-v-l-S-PlA-Y- FO***fl-l-ST>440 I <!'ill>
441 <DISPLAY FORMAT LIST> ::= <DISPLAY FURMAT ENTRY)----4-4-2-------- .. -- I <;(,1 SPLAY FORIIAl EIHRH·r(tlI-SP-l-A-Y-f-Git*-AT LIST>
~6u-
443 <DISPLAY FORMAT ENTRY> ::= /-444-- --- I (SF LINE UP TI UfO (Elf CUL -BP--HUi'/> <OF DATA OPTIUN>
445- . ··---...<1:f.f.-L.INE-- dP+HIN> .:-:.=--L-l-N-E---<·mJlH'I-ER:>446 I <NI L>
447 <OF COL OPTION> :: = COL <NUMBER);-- -·4irtr------ I (1'1 f E)
449 -<D-f--DA-TA·-l}Pf·f·O·ti)·:::-*ftiTtI <NuMBER) <liCk YAR> FOR <YARIABLE>45'1 I <OPTIONAL OCw YAR> TEXT <CHAR LITERAL>
451 <CHAR LITERAL> :t= <CHAR STRING>---4~- - I CHAR I (l'/U/loER) I (€+H\·R··SfIHNG>
4 53-· - ·--~f l-fl-#-A-l;;-M--1i· ·YAR)-·: +"- .<f1£-lf-VAR>454 I <NI L>
455 <DCk VAR) ::= <VARIAbLE>
456 <ViCTOR OPTION> ::= <VECTOR LIST>4-57------4 <1'1 I L+---·-···----·--·-.. -·
458-- -- -<v--E-C-T-tll{- Ll5f+--+-:-~--6tf_€_mR- S1'E£ > .459 I <VECTOR SPEC> <VECTOR LIST>
---_ .. -_._----- -----------46U46;;-
<VECTOR SPEC> ::= VECTOR fROM I <NUMBER.) , <NUMBER> I TO ( <NUMBER>·-----<NUMBER+--~-·<OPTHJNAL DCw VAR>
-·--·-·44-6i>~2----~(Il-R .eEQ-lillfUe-E-S-S+.1..,K~EE'yy.,Il~99-SS'TTl/'!-'lTr-;>~-·l-II-=-""RHEO-\Qt\,UI-!E;'£S.f.- EN TRY FRO M < KEY BOA R0 > AND SI\ VE A5462 <CHAR VAR> <POST OPTION)
463 <POST OPTION> ::= AND POST <BIT VAR>---- ---4-&4-----+ <N I b> ----------- ---'
------465 (BIT 'I All) 1:- ('1ARUI:lLE>
••__n_ -4~ ( Sf LECT Sf MT> -:-;=--£E-H--8' (R ESOUR (E TV PE> <SELL CT LI S T>
-----4f>-1-·-----<J< ESO un CE TV PE>--:-:- ... -fl--5-1)------ ---'- -
468 I oA TA.. 69 I Pft86R Atl
470 <S ELECT LI.s-f-)· ::- <Si:--l-Ef-+---E-L·EMENT (. MODE>471 I <SELECT ELE MENT (. MODE> , OELECT LIST>
472 <SELECT ELEMENT (. MODE> ::= <SELECT ELEMENT> <SELECT MODE>
413 <SELECT ELEMENT> ::= JUB COHHuN <LABEL>---- --474-..-·--.... --·-+-s-¥S-H:....,..,-W#IWN-·-<-L-A-B·H~·-- ORIG
475 I CHANNEL I <NUMBER> I <OS OPTlONSUFpIN.ALPAGEIS...--.. 4'1-b- ... ------l--1'-ILEI .(}Wj,I.flf-R.>--l--<-nS.-01'. nuNS > OOR QUA.Lr1Yt
------4+7--·----<SEL ECT 1o\~9D • I EXCLUSllf.E----·-----478 I SHARED
----4-+9- --+-<tH·k)-..---- '---------..
-_._-4-8-f---.... (9 S [jf"T ION S) -4-: - <DS-A-C-€·H 5 MOI}E) ., 0 IS P = <OS 0 I SP>-61-
481._----4-8..1- - "- ..
4 834&4
48548b
487
488489
·49-4·491'on
<us ACCESS MOLlt> ::= lUAU+.!4:-;\{J. -AN [)- -"'*1 TE··.I .," I HI UP t.l ATE
<os DISP> ::= LEAVEI RE"IND
<KELtASE STMT> ::= /{ELEASE <kELEASE LIST>
<RELEASE LIST> ::= <RELtASE ELeMENT>I <kElEASEELEMENT> , <i(ELi::ASE LIST>
(<< H EA Sf· d.E ME N:r-)··: :=-.~ A1:Hi l >I ChANNEL ( <NUMBE/{> II FILE I <NUMbER) I
493 <CHANNEL CONTROL SHIT> : I = CHANNEL ( <NUMllER> I <CHANNeL C TRL TAIL>
···4-9-449549649749S
<fHA·NNR·CTKLTAH·). .1 l-=··'<;·5·P.ACER> <OI'TIoNAL Ali·X?> <FILES>I RtWINDI UNU]A [;I Er;O FILEI CLOSE f I.LE
.. ··499··· ..... (Si' ACbO H-= SPA·CE5 lJ I BACKSPACE
SCI <LPTIUNAL AExP> ::= <AkITH EXP>·!>ft2 I <N I l>
._-~-- ··<f.1 bE·S:;' l~- f'·I-bE-·---·----· .. -5~4 I FILES
5('55'M····507
.. 5{J-8-.5'-9
51 l'
511
<N ESTED SCOP E> 1:= <DU BLOCK>I <Pt<OCEOU*1:flLBCK>I <FJNCTluN blOCK>
+·<lfP-DA FE -deGCt'\) ..... -I <CR IT ICH SECTItlN>
<COMPOUND TAIL> 1:= <blOCK dODY> ; <CLOSING>
<LiD BLOCK> ::= DO <DO UPTIONS> ; <STATEMENT LIST> ; <ENDING>
512 <PROCEDUkE BLUCK> ::= <PROCElJURE HtALiER> ; <COMPl,.iUNO TAIL>
513 <FUNCTION BLOCK> ::= <FUNCT1UN HEADt>O ; <CUMPOUND TAll>
514 <UPDAH bLOCK> 1:= UPDATE; <COMPOUND TAIL>
515 <CRITICAL SECTION> :1= CRITICAL SECTlllN ; <COMPUUND TAIL>
51b <ENDIN"> ::= [,,0 <OPTIONAL LABEL>
517··~U-·..,.-·.·
519520521
<DJ OPTIDNS> ::= <DO OPTIONS> <FOR LIST>·-_I··(~.().j24:IOi>JS> ~L<;·.UAtJSE>
I CASE <EXPRESSION> <OPUONAL ELSE>·1 <{la· UFT lGNS-)--«lPT HiNAL iEMP LI ST >
I <NIL>..-., ...'---"'" .-.--.-----~--------.--- -62-
5.22 ... c:.oPTWi~A.L··-··El H·).· ::-"-·;'-E~-<~r-A.H·IHNT>523 1 <NIL>
5245.25
526527
528
, 529530
-531-532
533534535
-53-tl -537538
539541'
<L~Tl~NAL TEMP LIST> ::- <TEMP DCl LIST>.. --1 <1'iI!;;)- .. - ...-----.--....----
--<TEMi' Oel II Sf) :: ;--·CTt1'I!>·OCL>f <TEMP DCL> ; <TEMP OCl LIST>
<fOR lIST> ::- <fOR KEY) <ITERATION>
<FOR KEY> ::- FOK H:MPURARY <IDENTIFIER> . -----·--·-I-H;" <V-A-R-IAllL€->'--=--·--
------~_t_f-ffi-A-Tl6rO +:. (E *PRE55I Jli)t <EXPRESSION> <ITERATIUN'>
<I TERATlUN ,> ::- , <EXPRESSION>------I--,---(-I;-)(P-R-E-S£f-tmi>-·-<lfcRA H ON'>
I TO <EXPRE~SlON>
I lb (cliPltb51I3h> (HERHiOff')I BY <EXPRESSION>
-.. -·-+B-Y·-~-Rf£51GNi>--<-I-H RA-T I UN ' >
--u-<-W-HiLf-el:A-tt5-f7--:~- iii if l:E<t:XPIU SSI ON>I UNTIL <EXPRESSION>
541 <E XPRESSION> ::= <OPERAND>542 . --~-·-+-<-fH)·E*AtID>---<-UP-E-R*fflR->-<t}PERA NO>
I <REL OP>--..------+- <N I L> -----.----------
-···-~E-RA-faJ<->·--:--:~-+------·----I -
_._._-----+-+------~
I I------+.--.-._--------~~-
I **... - -----+--«:~-------------_._. _un.
I <AN 0>I «(;R>
543544
.--._- 5-4554654154854955:;
--5-5 -1--552
-----553- .
554--·-- .« A-T-i>--;-:.;..-E-A-f---.. -.--.------..
555 I "
•
556 <OPERAND> :: - <PRI MAf<Y>. -- .-5-5-1--- -------~R+I'I_A_R'0--«._~-R-l-P-l-L;>-
• u _ 558--.------<HlijSCRIPT ,>_: h <SUIlS-GR-I12-T'}:"·-559 I <SU8SCRIPT> <SU8SCRIPT'>
560 <PRIMARY> ::= ( <EXPRESSION> I_ -_ $<.I---.-.----+--*-C-lWERANO> - .__ u
562 I - <OPEKAND>---.---563------·-·-~--<-tW.+.>-~~Am>----
564 I <LITERAL>- _.- »-5---. I (114 R I A6L e>
566 I <FUNCTIQN HEAD>5&1 I (F-lJut-TlQN HeAII> I <EXP-K-e&-S-lDN568 I <INLINE OEF> <COMPOUND TAIL> ;
-5-69- - -----+--+A-1H+-H-HJ N" ER5 I ON) _63 _ .
LIST>
57} I <BITCON~HSlOIllL
571 1 «HAkACTEk CONVEkSION>-. ..5·7-2---·-- -._-- .... I .<IH-J:-12-5-HID-a---ltA.iI.->-.--- ..---'-.'
573 <AKlTh CLNVCkSIGN> ::= <ARITH CONY> <.>U8SCRIPT'> ( <CUNY PAkM LIST> )
574 <CONY PAkM lISi> ::= <CONY PAkM ELEMENT> • <CONY PAkM lIST>575 1 <(I]NV PAkM ELl:MENT>
576577
5185H
... 5 ilL
581
<CONY PAkM ELEMENT> ::= <ARITH EXP> # <EXPRESSION>1 <E XPRc.>SION>
<AK lTH CON v> :J =1IE( TOil1 MAnu x
.....J. S.(A4.~··_·· .-.....--------.-.....-.I INTEGER
•
582 <BIT CJi~~Ej{SION> ::= 8tT <CUNY TAIL>
.5 83
584
535
<CHARACTER CONVERSlON> ::: CHARACTER <CONY TAIL>
<BIT PSEUDO VAR> ::= SUbBIT <CONY TAIL>
<CONY TAIL> ::= <.>U85CRIPT'> ( <EXPRE.>SlUN>
586 <FUNCTIUN HEA,» ::= <PREFIX> <FUNCTIUN lD> <SUBSCRIPT'>
587 <lNLlNE DEF> ::= FUNCTION <TYPE SPEC> ;
58858959('
- ..-5-9-1-._-- -.59259-3594
595'·"596
<VARIAdlE> ::= SUbrll T <SUtlSCklPT'> ( <VARIAllLE>. -l -FI LE-·+-<NtJtli3i::·R),<:-EXf'·RESSl ON) I
1 NMt ( <NAME VAR> II (E'JENT 'JAR) ------...- ...I <PREFIX> <VAR 10> <SUBSCRIPT'>
'1- Ct+ARA{.'-TER-·<5-UB·XRIP1-'> <ARG lIS1>1 BIT <.>UBSCRIPT'> <ARG lIST>
<NAME VAR> ::= <VARIABLE>...-.. ---t-.<-t:*ltt-t-'{A il:> .------....
. -59- 7-
.... 5 9-~. ·-(P R·H;H>::-=~S11<(1-(1 1-11-)-"599 I <STKUCT ID> • <PREF IX>
_.-6+'-"1- .. -----··---I-·..;-N-H:>---- ---'-_.---...
.. (}('-1 .. . ...... <,S·UtlS C-" I f1T)....t ~=·4--·<"'lJl>·S(R I jJ·T- -L 1NE>6e 2 I <N I L>
bC3·'''004
6(":5
6G60(·7
-·onz.6e96 If)
611612
<S UBseR 1fT Llt~E> ;:= <NUMBER>.. ...----1---( v,~ RI Al'4.-E->---------.---.-.-.•. -- .
I ( <SUB LIST> I
<SUB LI S1> :: = <SU a>-t~·Sl~-..<~_Ll-S·l-J.>- - .
-<S~-S-J L). :: = , <: s,,~ >_.__. .n••_.
J , <SUB> <SUB lIST'>I: <SUil> -------- .--I : <SUB> <SUB liST'>+.-j <Sid-B·:> .--' ... -.... -----64-
6Ll
614------~{Ii:ri-H..---------------615 I <il <PREC SPeC>616 - --~-- t <f.*P-R E5 S I ilN)-<-5-ttlr--Ul t>617 I <SUB EXP> <SUB TAIL>
618---619---
620
<SUB EXP> ::= #I N I (EXPRE5510~>
I # - <EXPRESSION>
621 <SUB TAIL> ::= <AT OR TO> <Sull EXP>622 ------------~--+Af_-O_R TU><EXP-RE-5-5HJN>623 I <NIL>
624 <ATORTO>::=AT625-------J--+{j----
626627
--- 628629
- -- CR-Ait-I~~-: ...I OCT
----- I BINI DtC
HEX
,,30 <L IT ER AL> :: = NULL631- ------- --- --+fJ-N-- ---632 I Off-63-3---- - +-f,Hft- ------------634 I FALSE635 ---- - -----l-OP E-N-- -- --------636 I CLOSED
-6 37 - ------- --+ -NAME- { - 1'I-lJt-l-- +----638 I <RADI X> ( <NUMBER> I (CHAR STRING>
-------&-39 I -<f<-Afli X) (EliAil STRING:>----640 I <CHAR LITERAL>-641------~--- I <NUIIB H-:>-------------
-._--------_._._---------_._----_.-_.--_._._---
. -._--- .... __ ._--_..-~-----_._-_ ...-
~65-
(BLANK)
-66-
•
•
REFERENCES
1. HAL/SM Language Specification, M&S Computing, Inc. Report No.75~0043, November 21, 1975.
2. HAL/SM System Software Requirement Specification, M&S Computing,Inc., Report No. 75-0045, December 1, 1975.
3. HAL/SM System Design and Implementation Plan, M&S Computing,Inc., Report No. 75-0030, August 7, 1975.
PRECEDING PAGE BLANK NOT FILMED
-67-
•
•