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