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

⟦dda29410d⟧ Wang Wps File

    Length: 30675 (0x77d3)
    Types: Wang Wps File
    Notes: CPS/SDS/028               
    Names: »2030A «

Derivation

└─⟦4e34bac2f⟧ Bits:30006102 8" Wang WCS floppy, CR 0161A
    └─ ⟦this⟧ »2030A « 

WangText




…02…CPS/SDS/028

…02…850301…02……02…
I/O CONTROL
DETAILED DESIGN SPECIFICATION…02…ISSUE
 1…02…CAMPS












                    TABLE OF CONTENTS


           4.2.1.5 Common Format Handler Data .......  
             
           4.2.1.6 Common Procedures ................  
                     
             4.2.1.6.1 FH Get Operation .............  
                         
               4.2.1.6.1.1 Functional Description ...  
                 
               4.2.1.6.1.2 Interface Definition .....  
                 

             4.2.1.6.2 FH Return Operation ..........  
                         
               4.2.1.6.2.1 Functional Description ...  
                 
               4.2.1.6.2.2 Interface Definition .....  
                 

             4.2.1.6.3 FH Return Pending ............  
                         
               4.2.1.6.3.2 Interface Definition .....  
                 

             4.2.1.6.4 FH Return Done ...............  
                         
               4.2.1.6.4.1 Functional Description ...  
                 
               4.2.1.6.4.2 Interface Definition .....  
                 

             4.2.1.6.5 FH Kill Requestor ............  
                         
               4.2.1.6.5.1 Functional Description ...  
                 
               4.2.1.6.5.2 Interface Definition .....  
                 

             4.2.1.6.6 FH Line Incarnation Offset ...  
                         
               4.2.1.6.6.1 Functional Description ...  
                 
               4.2.1.6.6.2 Interface Definition .....  
                 

             4.2.1.6.7 FH Group Incarnation Offset ..  
               
               4.2.1.6.7.1 Functional Description ...  
                 
               4.2.1.6.7.2 Interface Definition .....  
                 

             4.2.1.6.8 FH Element Offset In Group ...  
                         
               4.2.1.6.8.1 Functional Description ...  
                 
               4.2.1.6.8.2 Interface Definition .....  
                 

             4.2.1.6.9 FH Cursor Position ...........  
                         
               4.2.1.6.9.1 Functional Description ...  
                 
               4.2.1.6.9.2 Interface Definition .....  
                 

             4.2.1.6.10  FH Set Cursor ..............  
                           
               4.2.1.6.10.1 Functional Description ..  
                 
               4.2.1.6.10.2 Interface Definition ....  
                 

             4.2.1.6.11  FH Put Cursor Pos. .........  
                           
               4.2.1.6.11.1 Functional Description ..  
                 
               4.2.1.6.11.2 Interface Definition ....  
                 



             4.2.1.6.12  FH Group VDU Consumption ...  
                           
               4.2.1.6.12.1 Functional Description ..  
                 
               4.2.1.6.12.2 Interface Definition ....  
                 

             4.2.1.6.13  FH Put First Line Disp. ....  
                           
               4.2.1.6.13.1 Functional Description ..  
                 
               4.2.1.6.13.2 Interface Definition ....  
                 

             4.2.1.6.14  FH Put VDU Codes ...........  
                           
               4.2.1.6.14.1 Functional Description ..  
                 
               4.2.1.6.14.2 Interface Description ...  
                 

             4.2.1.6.15  FH Output Group ............  
                           
               4.2.1.6.15.1 Functional Description ..  
                 
               4.2.1.6.15.2 Interface Definition ....  
                 

             4.2.1.6.16  FH Output Line .............  
                           
               4.2.1.6.16.1 Functional Description ..  
                 
               4.2.1.6.16.2 Interface Definition ....  
                 

             4.2.1.6.17  FH Output Text .............  
                           
               4.2.1.6.17.1 Functional Description ..  
                 
               4.2.1.6.17.2 Interface Definition ....  
                 

             4.2.1.6.19  FH Issue Input .............  
                           
               4.2.1.6.19.1 Functional Description ..  
                 
               4.2.1.6.19.2 Interface Definition ....  
                 

             4.2.1.6.20  FH Check Line Displayed ....  
                           
               4.2.1.6.20.1 Functional Description ..  
                 
               4.2.1.6.20.2 Interface Definition ....  
                 

             4.2.1.6.21  FH IOS Retire ..............  
                           
               4.2.1.6.21.1 Functional Description ..  
                 
               4.2.1.6.21.2 Interface Definition ....  
                 

             4.2.1.6.22  FH Hex .....................  
                           
               4.2.1.6.22.1 Functional Description ..  
                 
               4.2.1.6.22.2 Interface Definition ....  
                 

             4.2.1.6.23  FH Allocate Memory .........  
                           
               4.2.1.6.23.1 Functional Description ..  
                 
               4.2.1.6.23.2 Interface Definition ....  
                 

             4.2.1.6.24  FH Point Header ............  
                           
               4.2.1.6.24.1 Functional Description ..  
                 
               4.2.1.6.24.2 Interface Definition ....  
                 

             4.2.1.6.25  FH Array Error .............  
                           
               4.2.1.6.25.1 Functional Description ..  
                 
               4.2.1.6.25.2 Interface Definition ....  
                 



             4.2.1.6.26  FH Stack Error .............  
                           
               4.2.1.6.26.1 Functional Description ..  
                 
               4.2.1.6.26.2 Interface Definition ....  
                 

             4.2.1.6.27 FH Delta Command ............  
               
               4.2.1.6.27.1 Functional Description ..  
                 
               4.2.1.6.27.2 Interface Definition ....  
                 

             4.2.1.6.28  FH Check Read Access .......  
                           
               4.2.1.6.28.1 Functional Description ..  
                 
               4.2.1.6.28.2 Interface Definition ....  
                 

             4.2.1.6.29  FH Check Read Access .......  
                           
               4.2.1.6.29.1 Functional Description ..  
                 
               4.2.1.6.29.2 Interface Definition ....  
                 

             4.2.1.6.30  FH Mash Excl. Opr. .........  
                           
               4.2.1.6.30.1 Functional Description ..  
                 
               4.2.1.6.30.2 Interface Definition ....  
                 

             4.2.1.6.31  FH Rel Excl. Opr. ..........  
                           
               4.2.1.6.31.1 Functional Description ..  
                 
               4.2.1.6.31.2 Interface Definition ....  
                 

             4.2.1.6.32  FH Test Format Active ......  
                           
               4.2.1.6.32.1 Functional Description ..  
                 
               4.2.1.6.32.2 Interface Definition ....  
                 


4.2.1.5  C̲o̲m̲m̲o̲n̲ ̲F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲D̲a̲t̲a̲

         Please refer PREFIX ̲PRINT.



4.2.1.6  C̲o̲m̲m̲o̲n̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         This section contains a description of all procedures
         common for the Format Handler Subpackage. The data
         for the common procedures is described in section 4.2.1.5.
         For procedure design refer source code Common.S.



4.2.1.6.1    F̲H̲ ̲G̲e̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲



4.2.1.6.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure obtains an operation, from the format
         handler header operation pool, for use throughout the
         handling of the request issued by the application.



4.2.1.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Get ̲Operation ( )

         b)  FH ̲Get ̲Operation (R6)

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

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

         R6      Link

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

         None

         R0, R5, R7      Destroyed

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

         FH ̲Illegal ̲Parallel ̲Operation





4.2.1.6.2    F̲H̲ ̲R̲e̲t̲u̲r̲n̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲



4.2.1.6.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure returns the operation to the front of
         the operation queue for the process.



4.2.1.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Return ̲Operation ( )

         b)  FH ̲Return ̲Operation (R6)

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

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

         R6      Link

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

         None

         R0, R5, R7      Destroyed

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

         None



4.2.1.6.3    F̲H̲ ̲R̲e̲t̲u̲r̲n̲ ̲P̲e̲n̲d̲i̲n̲g̲



4.2.1.6.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure marks the SOCB pending and returns to
         the System Call Monitor.

         Note that this return is a reply to either IOC ̲Init
         or IOC ̲Answer ̲Received and that link is used to subsequent
         call to IOC ̲Answer ̲Received.





4.2.1.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Return ̲Pending ( )

         b)  FH ̲Return ̲Pending (R6)

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

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

         R6      Link

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

         None

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

         CSP ̲Error

         FH ̲Stack ̲Error



4.2.1.6.4    F̲H̲ ̲R̲e̲t̲u̲r̲n̲ ̲D̲o̲n̲e̲



4.2.1.6.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure marks the SOCB done, saves current operation
         in SCOB.SS ̲Data  RR5  and returns to the return point
         given by either IOC ̲Init or IOC ̲Answer ̲Received.



4.2.1.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Return ̲Done ( )

         b)  FH ̲Return ̲Done (R6)

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



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

         R6      Link

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

         None

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

         FH ̲Stack ̲Error

         CSP ̲Error



4.2.1.6.5    F̲H̲ ̲K̲i̲l̲l̲ ̲R̲e̲q̲u̲e̲s̲t̲o̲r̲



4.2.1.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure is used to retire the process by illegal
         request. The procedure Do ̲Retire is called.



4.2.1.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Kill ̲Requestor (Code: FH ̲CC)

         b)  FH ̲Kill ̲Requestor (R0, R6)

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

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

         R0              FH ̲CC

         R6      Link

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

         None

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

         All





4.2.1.6.6    F̲H̲ ̲L̲i̲n̲e̲ ̲I̲n̲c̲a̲r̲n̲a̲t̲i̲o̲n̲ ̲O̲f̲f̲s̲e̲t̲



4.2.1.6.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure calculates the number of physical lines
         before and the number of unprotected user fields before
         the specified line.



4.2.1.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Line ̲Incarnation ̲Offset(Line no.: Integer,
                                        Lines before: Integer,
                                        Incarnation no.: Integer,
                                        User Fields before:
                                        Integer,
                                        CC: Completion Code)

         b)  FH ̲Line ̲Incarnation ̲Offset (R0, R1, R3, R6)

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

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

         R0              Line no.
         R1              Incarnation no.
         R4              Pointer to Split (general pointer not
                         specified in the call)
         R6      Link

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

         R0              Lines before
         R1              User fields before
         R3              Completion code

         R4, R7          Kept

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

         FH ̲Array ̲Error
         FH ̲Stach ̲Error





4.2.1.6.7 F̲H̲ ̲G̲r̲o̲u̲p̲ ̲I̲n̲c̲a̲r̲n̲a̲t̲i̲o̲n̲ ̲O̲f̲f̲s̲e̲t̲



4.2.1.6.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure is recursion called (never for the same
         group) and calculates the number of physical lines
         before and the number of unprotected user fields before
         the specified group.

         R3 is kept to give the caller a possibility to keep
         track. The operation stack is not used.



4.2.1.6.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Group ̲Incarnation ̲Offset

             (Group no.:          Integer,
              Lines before:       Integer,
              Incarnation no.:    Integer,
              User fields before: Integer,
              CC:                 Completion code)

         b)  FH ̲Group ̲Incarnation ̲Offset (R0, R1, R7, R6)

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

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

         R0              Group no.
         R1              Incarnation no.
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R0              Lines before
         R1              User fields before
         R7              Completion code
         R3, R4          Kept

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

         FH ̲Array ̲Error





4.2.1.6.8    F̲H̲ ̲E̲l̲e̲m̲e̲n̲t̲ ̲O̲f̲f̲s̲e̲t̲ ̲I̲n̲ ̲G̲r̲o̲u̲p̲



4.2.1.6.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure calculates the number of physical lines
         and the number of unprotected user fields within the
         group but before the element (line or group). R3 is
         kept to give the caller a possiblility to keep track.



4.2.1.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Element ̲Offset ̲In ̲Group(Group no.: Integer,
                                        Lines before: Integer,
                                        Element reference: Integer,
                                        User fields before:
                                        Integer)

         b)  FH ̲Element ̲Offset ̲In ̲Group (R0, R1, R&)

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

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

         R0              Group no.
         R1              Element Reference
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R0              Lines before
         R1              User fields before

         R3, R4          Kept

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

         FH ̲Array





4.2.1.6.9    F̲H̲ ̲C̲u̲r̲s̲o̲r̲ ̲P̲o̲s̲i̲t̲i̲o̲n̲



4.2.1.6.9.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure retrieves the cursor position from the
         VDU.

         The first line display is requested and the answer
         is decoded which results in a line number. Then the
         cursor position is requested and the answer is decoded
         which results in a line number and column number. The
         cursor position is calculated based on the two results.



4.2.1.6.9.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Cursor ̲Position (Memory line: Integer,
                                 Column: Integer,
                                 Lines Above: Integer,
                                 CC: Completion code)

         b)  FH ̲Cursor ̲Position (R0, R1, R2, R3, R6)

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

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

         R4              Pointer to split (general pointer not
                         used in the call)
         R6      Link

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

         R0              Memory line
         R1              Column
         R2              Line above
         R3              Completion code

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

         FH ̲Stack ̲Error





4.2.1.6.10   F̲H̲ ̲S̲e̲t̲ ̲C̲u̲r̲s̲o̲r̲



4.2.1.6.10.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure positions the cursor to the given memory
         line and the given column with the specified number
         of displayed lines above. At most first memory line
         is displayed at the top of the split.



4.2.1.6.10.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Set ̲Cursor (Memory line: Integer,
                           Column: Integer,
                           Lines above: Integer
                           CC: Completion code)

         b)  FH ̲Set ̲Cursor (R0, R1, R2, R3, R6)

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

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

         R0              Memory line
         R1              Column
         R2              Line above
         R6      Link

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

         R3              Completion code

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

         FH ̲Stack ̲Error





4.2.1.6.11   F̲H̲ ̲P̲u̲t̲ ̲C̲u̲r̲s̲o̲r̲ ̲P̲o̲s̲.̲



4.2.1.6.11.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure puts the cursor position in terms of
         VDU codes into work1 buffer and moves the content of
         work1 buffer to work2 buffer.



4.2.1.6.11.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Put ̲Cursor ̲Pos (Line: Integer,
                                Column: Integer,
                                CC: Completion code)

         b)  FH ̲Put ̲Cursor ̲Pos (R0, R1, R3, R6)

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

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

         R0              Line
         R1              Column
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R3              Completion code

         R0, R1, R5, R7  Destroyed

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

         FH ̲Stack ̲Error





4.2.1.6.12   F̲H̲ ̲G̲r̲o̲u̲p̲ ̲V̲D̲U̲ ̲C̲o̲n̲s̲u̲m̲p̲t̲i̲o̲n̲



4.2.1.6.12.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure is recursive and computes the memory
         consumption in the VDU using estimates for each (child)
         line and (child) text. For children groups this procedure
         calls itself.

         R5 survives, R4 and R7 survive all recursions.



4.2.1.6.12.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Group ̲VDU ̲Consumption (Group no.: Interger,
                                      Memory consumption: Integer)

         b)  FH ̲Group ̲VDU ̲Consumption (R0, R6)

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

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

         R0              Group no.
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R0              Memory consumption

         R1-R3           Destroyed

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

         FH ̲Array ̲Error





4.2.1.6.13   F̲H̲ ̲P̲u̲t̲ ̲F̲i̲r̲s̲t̲ ̲L̲i̲n̲e̲ ̲D̲i̲s̲p̲.̲



4.2.1.6.13.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure puts the first line display in terms
         of VDU codes into work1 buffer and moves the content
         of work1 buffer to work2 buffer.



4.2.1.6.13.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Put ̲First ̲Line ̲Disp. (Line no.: Integer,
                                     CC: Completion code)

         b)  FH ̲Put ̲First ̲Line ̲Disp. (R0, R3, R6)

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

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

         R0              Line no.
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R3              Completion code

         R0-R2, R5-R7    Destroyed

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

         FH ̲Stack ̲Error





4.2.1.6.14   F̲H̲ ̲P̲u̲t̲ ̲V̲D̲U̲ ̲C̲o̲d̲e̲s̲



4.2.1.6.14.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure moves the specified size of bytes from
         the buffer referenced by the buffer list element (BLE)
         or the BLE's linked to the referenced BLE to the work2
         buffer and mark the buffer used. If work2 buffer is
         full the content is outputted to the VDU.



4.2.1.6.14.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

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

         a)  FH ̲Put ̲VDU ̲Codes (BLE: Pointer,
                              Last byte of BLE: Pointer,
                              Size to be transf.: Integer,
                              Byte no. of first byte: Integer,
                              Byte no. of last byte: Integer,
                              Free size: Integer,
                              CC: Completion code)

         b)  FH ̲Put ̲VDU ̲Codes (R0, R1, R2, R3, R6)

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

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

         R0              Pointer to BLE
         R1              Size to be transferred
         R2              Byte no. of first byte to be transferred
         R3              Free size required
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R0              Pointer to BLE of last byte
         R2              Byte no. of last byte
         R3              Completio code

         R1, R5-R7       Destroyed

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

         FH ̲Stack ̲Error





4.2.1.6.15   F̲H̲ ̲O̲u̲t̲p̲u̲t̲ ̲G̲r̲o̲u̲p̲



4.2.1.6.15.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure is recursive and outputs the specified
         group to the VDU by outputting one by one a line and/or
         a text line and/or a new group.



4.2.1.6.15.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Output ̲Group (Group no.: Integer,
                             CC: Completion code)

         b)  FH ̲Output ̲Group (R5, R7, R6)

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

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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R5              Group no.
         R6      Link

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

         R7              Completion code

         R3, R4          Kept

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

         FH ̲Array ̲Error



4.2.1.6.16   F̲H̲ ̲O̲u̲t̲p̲u̲t̲ ̲L̲i̲n̲e̲



4.2.1.6.16.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure puts the VDU code, contained in work1
         buffer, for the specified format line, into work2 buffer.





4.2.1.6.16.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Output ̲Line (Line: Pointer,
                            CC: Completion code)

         b)  FH ̲Output ̲Line (R5, R7, R6)

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

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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R5              Pointer to line
         R6      Link

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

         R7              Completion code

         R0-R3, R5       Destroyed

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

         FH ̲Stack ̲Error



4.2.1.6.17   F̲H̲ ̲O̲u̲t̲p̲u̲t̲ ̲T̲e̲x̲t̲



4.2.1.6.17.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure puts the VDU code, contained in work1
         buffer, for the specified format textline, into work2
         buffer.



4.2.1.6.17.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Output ̲Text (Text: Pointer,
                            CC: Completion code)



         b)  FH ̲Output ̲Text       (R5, R7, R6)

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

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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R5              Pointer to text
         R6              Link

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

         R7              Completion code
         R0-R3, R5       Destroyed

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

         FH ̲Stack ̲Error
         FH ̲IOS ̲Retire



4.2.1.6.18   F̲H̲ ̲F̲l̲u̲s̲h̲ ̲V̲D̲U̲ ̲C̲o̲d̲e̲s̲



4.2.1.6.18.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure outputs the content of work2 buffer,
         if anything to be output, to the VDU.



4.2.1.6.18.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Flush ̲VDU ̲Codes (CC: Completion Code)

         b)  FH ̲Flush ̲VDU ̲Codes (R3, R6)

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

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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link



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

         R3              Completion Code

         R0-R2, R5-R7    Destroyed

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

         FH ̲Slach ̲Error
         FH ̲IOS ̲Retire



4.2.1.6.19   F̲H̲ ̲I̲s̲s̲u̲e̲ ̲I̲n̲p̲u̲t̲



4.2.1.6.19.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure outputs the input request contained
         in work1 buffer and issues a read command.



4.2.1.6.19.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Issue ̲Input (Size: Integer,
                             BLE: Pointer,
                             Fileaddress: Pointer,
                             CC: Completion Code)

         b)  FH ̲Issue ̲Input (R0, R1, R2, R3, R6)

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

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

         R0              Size of Input Request in work1 buffer
         R1              Pointer to BLE for read
         R2              Pointer to Fileaddress for read
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R3              Completion code

         R0-R2, R5-R7    Destroyed



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

         FH ̲Stack ̲Error
         FH ̲IOS ̲Retire



4.2.1.6.20   F̲H̲ ̲C̲h̲e̲c̲k̲ ̲L̲i̲n̲e̲ ̲D̲i̲s̲p̲l̲a̲y̲e̲d̲



4.2.1.6.20.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure checks the specified line shown on the
         VDU screen.



4.2.1.6.20.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Check ̲Line ̲Displayed (Memory Line: Integer,
                                     First line
                                     Displayed: Integer,
                                     CC: Completion Code)

         b)  FH ̲Check ̲Line ̲Displayed (R0, R1, R3, R6)

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

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

         R0              Memory Line
         R1              First line displayed
         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         R3              Completion Code
         R0, R1          Destroyed

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

         None





4.2.1.6.21   F̲H̲ ̲I̲O̲S̲ ̲R̲e̲t̲i̲r̲e̲



4.2.1.6.21.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure takes care that the process retires
         after a fatal IOS error.



4.2.1.6.21.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲IOS ̲Retire (CC: Completion Code)

         b)  FH ̲IOS ̲Retire (R7, R6)

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

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

         R7              Completion Code
         R6              Link

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

         None

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



4.2.1.6.22   F̲H̲ ̲H̲e̲x̲



4.2.1.6.22.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure converts the specified value to hex.



4.2.1.6.22.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Hex (Value: Integer,
                     No. of digits: Integer,
                     Byte no.: Integer,
                     Buffer reference: Pointer)



         b)  FH ̲Hex (R0, R1, R2, R5, R6)

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

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

         R0              Value
         R1              No of digits
         R2              Byte number of first byte in buffer
         R5              Buffer reference
         R6      Link

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

         None

         R5              Kept

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

         None



4.2.1.6.23   F̲H̲ ̲A̲l̲l̲o̲c̲a̲t̲e̲ ̲M̲e̲m̲o̲r̲y̲



4.2.1.6.23.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure allocates the specified piece of FH
         memory and updates first ̲free ̲word and size ̲left. If
         memory cannot be allocated Kill ̲Request is called.



4.2.1.6.23.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Allocate ̲Memory (Size: Integer,
                                Allocate Memory: Pointer)

         b)  FH ̲Allocate ̲Memory (R0, R1, R6)

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

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

         R0              Size to be allocated
         R6      Link



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

         R1              Pointer to allocated memory

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

         FH ̲Not ̲Enough ̲Space



4.2.1.6.24   F̲H̲ ̲P̲o̲i̲n̲t̲ ̲H̲e̲a̲d̲e̲r̲



4.2.1.6.24.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure obtains address and size of the IOC
         (Format Handler) process local data.



4.2.1.6.24.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Point ̲Header (Size: Integer,
                             FH Header: Pointer)

         b)  FH ̲Point ̲Header (R2, R5, R6)

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

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

         R6      Link

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

         R2              Size
         R5              Pointer to FH Header

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





4.2.1.6.25   F̲H̲ ̲A̲r̲r̲a̲y̲ ̲E̲r̲r̲o̲r̲



4.2.1.6.25.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure takes care that the process retires
         on array errors, i.e. INX errors.



4.2.1.6.25.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Array ̲Error ( )

         b)  FH ̲Array ̲Error (R6)

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

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

         R6

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

         None

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

         None



4.2.1.6.26   F̲H̲ ̲S̲t̲a̲c̲k̲ ̲E̲r̲r̲o̲r̲



4.2.1.6.26.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure takes care that the process retires
         due to mismatch in the internal operation.



4.2.1.6.26.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Stack ̲Error ( )



         b)  FH ̲Stack ̲Error (R6)

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

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

         R6

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

         None

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

         None



4.2.1.6.27   F̲H̲ ̲D̲e̲l̲t̲a̲ ̲C̲o̲m̲m̲a̲n̲d̲



4.2.1.6.27.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure puts the requested VDU shift out command
         in terms of VDU code into work1 buffer and moves the
         content of work1 buffer to work2 buffer.



4.2.1.6.27.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Delta ̲Command (Command: Delta ̲Commands
                               CC: Completion Code)

         b)  FH ̲Delta ̲Command (R3, R6)

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

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

         R3              Delta Command
         R4              Pointer to split (general pointer not
                         specified in the code)
         R6      Link

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

         R3              Completion Code



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

         FH ̲Stack ̲Error



4.2.1.6.28   F̲H̲ ̲C̲h̲e̲c̲k̲ ̲R̲e̲a̲d̲ ̲A̲c̲c̲e̲s̲s̲



4.2.1.6.28.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure checks the read access to the data contained
         in the chain of buffer list elements (BLE's).



4.2.1.6.28.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Check ̲Read ̲Access (BLE Reference: Link)

         b)  FH ̲Check ̲Read ̲Access (R0, R6)

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

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

         R0              BLE reference for the first
         R6      Link

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

         None

         R0-R3, R5-R7    Destroyed

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

         FH ̲Stack ̲Errors

         FH ̲Access ̲Right ̲Violation





4.2.1.6.29   F̲H̲ ̲C̲h̲e̲c̲k̲ ̲W̲r̲i̲t̲e̲ ̲A̲c̲c̲e̲s̲s̲



4.2.1.6.29.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure checks the write access to the data
         contained in the chain of buffer list elements (BLE's).



4.2.1.6.29.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Check ̲Write ̲Access (BLE Reference: Link)

         b)  FH ̲Check ̲Write ̲Access (R0, R6)

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

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

         R0              BLE reference for the first
         R6      Link

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

         None

         R0-R3, R5-R7    Destroyed

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

         FH ̲Stack ̲Errors

         FH ̲Access ̲Right ̲Violation





4.2.1.6.30   F̲H̲ ̲M̲a̲r̲k̲ ̲E̲x̲c̲l̲.̲ ̲O̲p̲r̲.̲



4.2.1.6.30.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure marks the split operation exclusive.



4.2.1.6.30.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Mark ̲Excl ̲OPr ( )

         b)  FH ̲Mark ̲Excl ̲Opr (R6)

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

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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         None

         R0              Destroyed

         F̲o̲l̲d̲ ̲E̲r̲r̲o̲r̲s̲

         FH ̲Illegal ̲Parallel ̲Operation



4.2.1.6.31   F̲H̲ ̲R̲e̲l̲ ̲E̲x̲c̲l̲.̲ ̲O̲p̲r̲.̲



4.2.1.6.31.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure releases the split exclusive operation.





4.2.1.6.31.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Rel ̲Excl ̲Opr ( )

         b)  FH ̲Rel ̲Excl ̲Opr (R6)

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

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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         None

         R0              Destroyed

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

         None



4.2.1.6.32   F̲H̲ ̲T̲e̲s̲t̲ ̲F̲o̲r̲m̲a̲t̲ ̲A̲c̲t̲i̲v̲e̲



4.2.1.6.32.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         This procedure tests if format is active.



4.2.1.6.32.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

         a)  FH ̲Test ̲Format ̲Active ( )

         b)  FH ̲Test ̲Format ̲Active (R6)

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



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

         R4              Pointer to split (general pointer not
                         specified in the call)
         R6      Link

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

         None

         R0              Destroyed

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

         FH ̲Bad ̲Format ̲State



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

         The Format Handler interfaces to Application software
         (via System Call Monitor) and to the VDU handler in
         the LTUX handler subpackage. For load of Formats the
         File Management System is interfaced.

         The application interface has been described in 4.1.7.2.3,
         below the VDU handler interface is described.



4.2.1.7.1    F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲V̲D̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         This interface is via a Data-connection and a Control
         connection.

         Basically all information to/from the VDU split flows
         via the data connection and VDU handler control flows
         via the control connection.  An exception is for input.
         The first output operation after an input request on
         the data connection is assumed to contain the data
         for the arm command.





4.2.1.7.1.1 D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Fields are output in IOC ̲RECORD ̲TYPE with the DATA
         ̲FLAG.

         Cursor positioning, bell and clear split are output
         in IOC ̲RECORD ̲TYPE with the CONTROL ̲FLAG.

         Arm command is not in IOC ̲RECORD ̲TYPE


4.2.1.7.1.2 C̲o̲n̲t̲r̲o̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The interface over the Control Connection is specified
         in each case as of below:

         Function Key input:

         INIT ̲READ ̲BYTES issued to the Control Connection. 
         1 byte is returned (values as of FUNCTION ̲KEY)

         Control output:
         a)  Subsplit select  1.byte  SUBSPLIT ̲SELCT
                              2.byte  (PRIMARY, SECONDARY)

         b)  Link split (secondary to primary)
                              1.byte  SUBSPLIT ̲LINK

         c)  Data key enable  1.byte  DATA ̲KEY ̲ENABLE