DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦80cfba38b⟧ Wang Wps File

    Length: 18692 (0x4904)
    Types: Wang Wps File
    Notes: Spelunked
    Names: »~ORPHAN52.08«

Derivation

└─⟦7f5d2b450⟧ Bits:30006107 8" Wang WCS floppy, CR 0170A
    └─ ⟦this⟧ »~ORPHAN52.08« 

WangText




…02…CPS/SDS/039

…02…840601…02……02…
USER VDU
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS








       4.2.6 VUS Initialiation Subpackage........... 
          
         4.2.6.1 Functional Specification ...........
                     
           4.2.6.1.1 Start up Information
                      Interpretation ................
                         
           4.2.6.1.3 MDCO VDU Software Initialisation
                         
                     (3.0).......................... 
                        
           4.2.6.1.4 MSO VDU Software Initialisation.
                         
                     (4.0) ..........................
                         

         4.2.6.2 Software Structure .................
                     
           4.2.6.2.1 Process Start (1.0) ............
                         
           4.2.6.2.2 UER Subprocess Init (2.0) ..... 
                        
           4.2.6.2.3 MSO Subprocess Init (4.0) ......
                         
           4.2.6.3 Dataflow and Control Logic within.
                       
                   VUS Initialisation Subpackage.....
                       

         4.2.6.4 VUS Initialisation Module Specifi
                 caions............................. 
                    
           4.2.6.4.1 PROCESS START Specification ....
                         
             4.2.6.4.1.1 Functional Specification ...
                 
             4.2.6.4.1.2 Module Interface ...........
                 
             4.2.6.4.1.3  Module Components .........
                 
           4.2.6.4.1.4 Data Description ...........  
             
             4.2.6.4.1.5 Module Design ..............
                 

           4.2.6.4.2 USER SUBPROCESS INIT Specifica..
                         
                     tion............................
                         
             4.2.6.4.2.1 Functional Specification .. 
                
             4.2.6.4.2.2 Module Interface ...........
                 
             4.2.6.4.2.3 Module Components ..........
                 
             4.2.6.4.2.4 Data Description ...........
                 
             4.2.6.4.2.5 Module Design ..............
                 

           4.2.6.4.3 MDCO SUBPROCESS NIT Specifica-  
                        
                     tion........................... 
                         
             4.2.6.4.3.1 Functional Specification ...
                 
             4.2.6.4.3.2 Module Interface ...........
                 
             4.2.6.4.3.3 Module Components ..........
                 
             4.2.6.4.3.5 Modul Design .............. 
                

           4.2.6.4.4 MSO SUBPROCESS INIT Specifica-  
                         
                     tion............................
                         
             4.2.6.4.4.1\Functional Specification ...
                 
             4.2.6.4.4.2 Module Interface ...........
                 
             4.2.6.4..3 Module Components .......... 
                
             4.2.6.4.4.4 Data Description ...........
                 
             4.2.6.4.4.5 Module Design ..............
                 


         4.2.6.5 Common Subpackage Data .............
                     
         4.2.6.6 Common Subpackage Procedres ....... 
                    
         4.2.6.7 Subpackage Interfaces ..............
                     

       4.2.7 User Procedures Subpackage .............
                 
         4.2.7.1 Functional Specification ...........
                     
           4.2.7.1.1 Display Procedures .............
                         
           4.2.7.1.2Syntax Procedures .............. 
              
           4.2.7.1.3 Semantic Procedures ............
                         

         4.2.7.2 Software Structure .................
                     
         4.2.7.3 Data Flow ..........................
                     
         4.2.7.4 USPR Module Specification ..........
                    
           4.2.7.4.1 VUP ̲SYNTAX Specification .......
                         
             4.2.7.4.1.1 Functional Specification ...
                 
             4.2.7.4.1.2 Module Interface ...........
                 
             4.2.7.4.1.3 Module Components ..........
                 
             4.2.7.4.1.4 Software Design ........... 
                

           4.2.7.4.2 SEMAN ̲VAL Specification ........
                         
             4.2.7.4.2.1 Functional Specification ...
                 
             4.2.7.4.2.2 Module Interface ...........
                 
             4.2.7.4.2.3 Module Components ..........
                             

           4.2.7.4.3 DISPLY ̲FIELD Specification  ... 
                        
             4.2.7.4.3.1 Functional Specification ...
                 
             4.2.7.4.3.2 Module Interface ...........
                 
             4.2.7.4.3.3 Module Components ..........
                 …86…1         …02…   …02…   …02…   …02…                 
                                      
4.2.6  V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

   This subpackage performs interpretation of start up
   information delivered by SSC in the registers when
   the process is started.  The coroutinesconstituting
   the VDU User Software are initialised.



4.2.6.1  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

   The subpackage contains the following functions:

   - Interpretation of start up information
   - Initialisation of VUS Coroutines

   Fig. 4.2.6.1-1 presents the unctional breakdown.…86…1 
          …02…   …02…   …02…   …02…                                  
           













































Fig. 4.2.6.1-…86…1         …02…   …02…   …02…   …02…                                   
        
4.2.6.1.1  V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ (1.0)

   - Executes pre-initialization.



4.2.6.1.2  U̲S̲E̲R̲ ̲V̲D̲U̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲(2.0)

   a)  Coroutine Monitor Initialisation (2.1) Performs
       initialiation of the Coroutine Monitor Data Structure
       by a call to Coroutine Monitor.(VCO is also initialised
       by this call)

   b)  User Coroutine Initialisation (2.2)
      Performs initialisation of the 3 remaining VUS coroutines
     by call to Coroutine Monitor.
   c)  User Semaphore Initialisation (2.3)
      Performs initialisation of the 5 VUS semaphores
     by call to Coroutine Monitor.

   d)  User Operation Initialisation (2.4)
     Performs initialisation of the 9 VUS operations by
     call to Coroutine Monitor.

   e)  Sart VCO (2.5)
     Performs start of VCO (VCO is initialised when Coroutine
     Monitor is initialised but it is not started)



4.2.6.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

   The Software Structure is shown on fig. 4.2.6.2-1.
   The initialisation subpackage contains 2 moduls.



4.2.6.2.1  P̲r̲o̲c̲e̲s̲s̲ ̲S̲t̲a̲r̲t̲ ̲(1.0)

   This Module is a mainmdule and calls upon PRE ̲INITIALISATION
   and VUP SUBPROCESS INIT.




4.2.6.2.2    V̲U̲P̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲I̲n̲i̲t̲ ̲(2.0)

         This Module containes the functions:

         a)  USER Coroutine Init (2.1) that performs initialisation
             of the 4 coroutines.

         b)  USER Semaphore Init(2.2) that performs initialisation
             of the Semaphores.

         c)  USER Operations Init (2.3) that performs initialisation
             of the operations.

         d)  Starts VCO
















































                     FIGURE 4.2.6.2-2
                    SOFTWARE STRUCTURE


4.2.6.3  D̲a̲t̲a̲f̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲ ̲w̲i̲t̲h̲i̲n̲ ̲V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲
         ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The mainmodule Process ̲Start calls upon module VUP
         ̲COPSY INI.



4.2.6.4  V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲a̲t̲i̲o̲n̲



4.2.6.4.1    P̲R̲O̲C̲E̲S̲S̲ ̲S̲T̲A̲R̲T̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.6.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This module acts only as a mainmodule and makes the
         call to the actual INIT̲MODULE after preinitialization.

         This file is intended for COPSY environment. To belinked
         with file VUP ̲COP ̲INI.L.



4.2.6.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             N/A



4.2.6.4.1.3  ̲M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

             N/A



4.2.6.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             N/A

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             N/A

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             N/A




4.2.6.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Two calls are performed.

         One upon PRE ̲INITIALIZATION and one upon VUP ̲SUBPROCESS
         ̲INIT.



         P̲R̲O̲C̲E̲S̲S̲ ̲S̲T̲A̲R̲T̲

         CASE RO OF STARTUP ̲ACTIVE ̲TYPE:

             DEAD1?  -START ̲UP:      =START

             DEAD2?  -START ̲UP:      =START

             COLD?   -START ̲UP:      =START

             WARM1?  -START ̲UP:      =RESTART

             WARM2?  -START ̲U:       =RESTART

             OTHERWISE? V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

         END CASE

         USER ̲SUBP ̲ID =R2

         MDCO ̲SUBP ̲ID =R3

         MSO ̲SUBP ̲ID  =R4

         INIT ̲COMMON (VCO ̲REC,VCO ̲PRIO,USER ̲SUBP ̲ID,VCO ̲ID):OK

         U̲S̲E̲R̲ ̲M̲D̲C̲O̲ ̲M̲S̲O̲ ̲S̲W̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲6̲.̲4̲.̲1̲-̲2̲)̲

         V̲C̲O̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲)̲

         END MDULE














Fig. 4.2.6.4.15-1…86…1         …02…   …02…   …02…   …02…               …02…                     
      
         U̲S̲E̲R̲ ̲M̲D̲C̲O̲ ̲M̲S̲O̲ ̲S̲W̲ ̲I̲N̲I̲T̲

         USER ̲SUBP ̲ID ̲ EQ 0?

         U̲S̲E̲R̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲6̲.̲4̲.̲2̲)̲

         MDCO ̲SUBP ̲ID EQ 0?

         M̲D̲C̲O̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲6̲.̲4̲.̲3̲)̲

         MSO ̲SUBP ̲ID EQ 0?

         M̲S̲O̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲2̲.̲6̲.̲4̲.̲4̲)̲

         END


























Fig. 4.2.6.4.1-2…86…1         …02…   …02…   …02…   …02…               …02…                      
     
4.2.6.4.2    V̲U̲P̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.6.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This module interprets the start ̲up parameters, initialises
         the user coroutines, semaphores an operations, and
         starts VCO.



4.2.6.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  USER ̲SUBPROCESS ̲INIT

         b)  VUP ̲COPSY ̲INI           R0: START ̲MODE
                                     R1: SUBPROCESS ̲ID
                                     R2: SUBPROCESS ̲NO
                                     R6: LINK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0      SART ̲TYPE
         R1      SUBPROCESS ̲ID
         R6      LINK                DESTROYED
         R2  SUBPROCESS ̲NO

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 - R7                     DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



4.2.6.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         N/A




4.2.6.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         Refer source listings.

         b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             Refer source listings.

         c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             N/A



4.2.6.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This mdule interpret the start ̲up type and initialises
         the coroutines:

         -UFCO
         -VDIA
         -RETR

         by call to Coroutine Monitor,
         initialises the semaphores:

         -VUS ̲S1
         -VUS ̲S2
         -VUS ̲S3
         -RETR ̲SEM
         -SPLIT SEM

         by call to Coroutine Monitor and initialises th operations:

         -RETR ̲OP
         -NOT ̲OP
         -ANQ ̲OP
         -FC ̲KEY ̲OP
         -VDU ̲OP
         -SEM ̲OP (1..4)

         by call to Coroutine Monitor




4.2.6.5  C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         None.



4.2.6.6  C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

             N/A



4.2.6.7  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

             The initialisation subpackage call VCO direct (by
             procedur call).  All other coroutines are called
             via Coroutine Monitor and will all end up waiting
             in their waiting points.





4.3      M̲E̲M̲O̲R̲Y̲ ̲L̲A̲Y̲O̲U̲T̲

         As a basis for calculation the following figures are
         used:

         D̲I̲V̲C̲O̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲

         8 Modules x 0,125 K         1,0
         11 Procedures x 0,025 K     0̲,̲2̲7̲5̲ ̲

                                               1,275

         U̲F̲C̲O̲ ̲C̲O̲R̲U̲T̲I̲N̲E̲

         11 Modules x 0,175 K        1,925
         33 Procedures 0,050 K       1̲,̲6̲5̲

                                               3,575

         V̲D̲I̲A̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲

         7 Modules x 0,175 K         1,225
         24 Procedures 0,050K        1̲,̲2̲ ̲ ̲

                                               2,425

         R̲E̲R̲T̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲

         1 Module x 0,30 OK          0̲,̲3̲0̲0̲

                                               0,3
                                                ̲ ̲ ̲ ̲ ̲

         T̲O̲T̲A̲L̲                       7,575  statements

         Thus 1 Source statement equal 2 words and Data ̲Area
         is estimated to 3 K Words the Memdory turns to be:

         7,575 K Words x 2 + 3 K Words =       1̲8̲,̲1̲5̲ ̲W̲o̲r̲d̲s̲

         U̲M̲A̲M̲ ̲P̲R̲O̲C̲E̲S̲S̲

         18 Modules x 0,150                    2,700
         30 Procedures x 0,030                 0̲,̲9̲0̲0̲ ̲

                                     3,600 statements

         UMAM data are =                       6,0 KW


4.2.7    U̲s̲e̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲



4.2.7.1  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The USPR subpackage contains all validation and conversion
         procedures needed to validate, store and display te
         data in the users formats.

         During output of data to the formats the display procedures
         are used to convert data from internal representation
         to strings which can be displayed on the VDU.

         During input syntax and semantic procedures are used
         tovalidate the contents of the fileds which are read
         from the VDU. If an error is detected, an error will
         be generated and the filed containing the error will
         be inverted, else the filed will be converted to internal
         representation and stored in a CI or a memory record.

         The action performed is selected by interpreting the
         Format Control Program which contains a reference (case
         label) of the procedure, which is able to validate
         or display the specific field.



4.2.7.1.1    D̲i̲s̲p̲l̲a̲y̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         he display procedures are a set of procedures, which
         are able to convert data in internal representation
         to displayable string. Data in internal representation
         can be numbers (byte, interger or long) or ASCII strings,
         while external representation s IOC records. I.e. a
         long of time type can be converted to an ASCII string.



4.2.7.1.2    S̲y̲n̲t̲a̲x̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         The syntax procedures are a set of procedures which
         are able to validate and convert data from external
         format to internal representation.I.e. a SCD is validated
         against the SCD table and stored as an ASCII string,
         and a PLA is validated against the PLA table and stored
         as a PLA-ref (integer) and as an ASCII string.




4.2.7.1.3    S̲e̲m̲a̲n̲t̲i̲c̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         The semantic procedures are a set of procedures which
         are able to validate the context between different
         fields in format. I.e. is it in message heaer validated
         that info precedence is not higher than action precedence.



4.2.7.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The structure of the three kinds of user procedures
         are alike as they all are built as big cases, switching
         to the wanted action. If needed a ne procedure easily
         can be added by adding a new case label and coding
         a new procedure with the call convensions for the module.
         This procedure can now be activated from the Format
         Control Program simply by using its reference (case
         label) while readng or writing on the VDU.



4.2.7.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲

         The user procedures have no data of their own because
         they get a pointer to the memory where it can fetch
         data and where to put them when they are converted.

         If, however, the procedures need a datarea for calculation,
         they can use the memory management for allocating working
         space, though it is important that the memory used
         is released before exit.



4.2.7.4  U̲S̲P̲R̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.7.4.1    V̲U̲P̲ ̲S̲Y̲N̲T̲A̲X̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲




4.2.7.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The function of this module is to contain a validation
         procedure for each possible field of the user formats.
         The function of each procedure ill be shown in a schematic
         form. This scheme (ref. 4.2.7.4.1.4) will describe
         the main functions of a procedure. If further details
         are necessary please refer to the source list.



4.2.7.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         All syntax procedures have the sam interface, thus
         they will be described as one.

         SYNTAX ̲PROC (R6)

         Register conventions:

         R0: Syntax procedure reference (case label)
         R1: Pointer to field bundle
         R4: Pointer to memory record 1 (UFCO ̲VAL)
         R5: Pointer to memory record 3 (SEMAN ̲AL)
         R7: P ̲STACK % INTEGER painting to stack of type WORM
             containing: 
             BUF,
             WRU1,
             PROC ̲NO: Working location for subaction
             R0:      Result value OK/NOT ̲OK
             R1-R6:   Call registers.

         The subaction should return directly to caller of VUP
         ̲SYNTAX y use of the stacked link (r6). The record WORK
         should be unstacked prior to return.



4.2.7.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         Procedure S̲E̲A̲R̲C̲H̲ ̲T̲E̲R̲M̲ ̲S̲C̲D̲

         (R0  C  K   SCD: CHARS 1 AND 2
          R1         SCD: CHAR 3
                 R   SCD CHAR 3 AND SPACE
          R3     R   RESULT: OK OR ERROR CODE
          R6) C      LINK


         A trailing space is added to the 3 char SCD. The SCD
         is searched in the terminal profile for the terminal
         (found via init area in M.O).

         Procedure D̲E̲C̲I̲S̲I̲O̲N̲

         (R0  C      LOCATION OF DCISION CODE TABLE
          R1  C      % FIELD BUNDLE
          R5  C      % M.3 (VUP ̲SEMAN ̲RECORD)
          R7  C      P ̲STACK ̲INTEGER - WORK RECORD
          R6) C      DUMMY LINK

         Searches the first char in input from field bundle
         field 1 in the in-code table addressed by R0:

         CHAR FOUND - DEISION CODE = VUP ̲SEMAN ̲REC.UC.DECISION
         CHAR NOT COUND - ERROR CODE V ̲RR ̲INVALID

         Procedure returns directly to caller of VUP ̲SYNTAX.

         Subactions should look as follows:

         PROCEDURE ...
              LABEL TABLE
                 BEGIN
                     LOCATION (TABLE) = R0
                     DECISIO (R0, R1, R5, R7, R6)
                     TABLE
                     (CHAR) (DECISION ̲CODE)
                       ...        ...
                        0                       END OF TABLE
                 END

         Procedure C̲A̲L̲L̲ ̲T̲M̲P̲

         (VAL ̲REF:   INTEGER   VALIDATIN PROC REC - USED FOR
                               FATAL ERROR REPORTING
          TABLE ̲ID:  TABLE ̲ID ̲TYPE
          FUNCTION:  TMP ̲FUNCTION
          MASK1:     BITMASK
          MASK2:     BITMASK
          R0  C  K   TMP ̲PARAM.ENTRY
          R1  C  K   TMP ̲PARAM.BUFFER1
          R2  C  K   TMP ̲PARAM.COUNT
          R3  C  K   TMP ̲PARAM.BUFFER2
          R4  C  K   % TM ̲PARAM
          R5  C  K   TMP ̲PARAM.BUFFER2 ̲LENGTH
          R6) C      LINK


         Performs a TMP call using the call parameters in constant
         parameter record and in registers. The register R4
         should point to a TMP param record allocated for the
         TMP call.

         Proceure M̲A̲N̲D̲A̲T̲O̲R̲Y̲

         (R0  -  K
          R1  C  K   %FIELD BUNDLE
          R2  -  D   UNDEFINED AT RETURN
          R3  -  D   UNDEFINED AT RETURN
          R4  -  K
          R5  -  K
          R7  C  K   P ̲STACK ̲INTEGER - SYNTAX WORK STACK
          R6) C  -   LINK

         Checks that the first field in bundle in non-blank.
         If field isblank, the procedure issues a validation
         error and returns directly to caller of VUP ̲SYNTAX.
         If filed is not blank, the procedure returns to LINK.

         A field is considered blank if:

         -    It is without IOC header and first char is space
         -    It is with OC header and IOC count is = 0

         Procedure V̲A̲L̲ ̲E̲R̲R̲O̲R̲

         (R2  C  K   FIELD NO IN BUNDLE (1, 2, ...)
          R3  C  K   ERROR CODE
          R7  C  K   =P ̲STACK ̲INTEGER, must point to main stack
                     record stacked by VUF ̲SYNTAX main entry
                     i.e. record in stack of type WORK
          R6) C  LINK

         Calls UPDATE ̲ERROR ̲LIST using information from field
         bundle, found from address in stack (WORK.REG 1). Updates
         stacked result code (WORK.REG 0).




4.2.7.4.1.4 S̲o̲f̲t̲w̲a̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

                 VAL ̲CLASS

         FILE:       SYNTAX ̲VAL2.S
         PROCEDURE:  CLASS
         VALIDATION: Classification, 2 chars without IOC
         STORAGE 0:  bin value 2 bytes
         STORAGE 1:  -
         VUP ̲EMAN ̲REC.UC.CLASS bin values
         USPR ̲TABLES:TAB ̲CLASS ̲SHORT
         TMP:        -
         COMMENTS:   -

                 VAL ̲SPH

         FILE:       SYNTAX ̲VAL2.S
         PROCEDURE:  SPH
         VALIDATION: Special Handling bundle max. 2 fields without
                     IOC
         STORAGE 0:  bitmask, national name 6 bytes
         STORAGE 1:  umber of sphs 2 bytes
         VUP ̲SEMAN ̲REC.VC.SPH bitmask
         USPR ̲TABLES:-
         TMP:        SPECIAL ̲HANDLING ̲TABLE
         COMMENTS:   -

                 VAL ̲MHI ̲DECISION

         FILE:       SYNTAX ̲VAL2.S
         PROCEDURE:  MHI ̲DECISION
         VALIDATION: Message Handling decision "Y" or " "
         STORAGE 0:  -
         STORAE 1:   -
         VUP ̲SEMAN ̲REC -
         USPR ̲TABLES -
         TMP:        -
         COMMENTS:   -

                 VAL ̲PREC ̲ACTION

         FILE        SYNTAX ̲VAL2.S
         PROCEDURE   PREC ̲ACTION
         VALIDATION  Action precedence - mandatory 2 chars.
                     without IOC
         STORAGE 0   bin value 2 bytes
         STORAGE 1   -
         VUP ̲SEMAN ̲REC.UC.CTION ̲PREC bin value
         USPR ̲TABLES TAB ̲PREC ̲SHORT
         TMP         -
         COMMENTS    -


                 VAL ̲PREC ̲INFO

         FILE        SYNTAX ̲VAL2.S
         PROCEDURE   PREC ̲INFO
         VALIDATION  Info precedence - optional 2 chars without
                     IOC
         STORAGE 0   bin value 2 bytes
         STORAGE 1   -
         VUP ̲SEMAN ̲REC.INFOPRECEDENCE bin value
         USPR ̲TABLES TAB ̲PREC ̲SHORT
         TMP         -
         COMMENTS    -

                 VAL ̲SCDS

         FILE        SYNTAX ̲VAL2.S
         PROCEDURE   SCDS
         VALIDATION  SCD - optional bundle max. 16 fields without
                     IOC
         STORAGE 0   non blank SCDs 4 characters
         STORAGE 1   -
         VUP ̲SEMAN ̲REC.C