• Keine Ergebnisse gefunden

(The associated label, if any, is in the IOTRSHLBL area; the associated file table is in the CSFOOOO area. )

2. IOREDUNCHK

3. CSA90 - Control Card Exit

IOCS always transfers to these exits in interrupt program. The starting point counter is set in Bank 3. The object programmer should use CASUs 9, 13 and 14. CASUs 1-6 will be set 1-6, respectively, CASU 7 set to 1 contains 1, and CASU 8 set to 1 contains 5. The contents of CASUs 1-6 are destructible, but the settings should not be destroyed. If an operation requir-ing the use of an accumulator is necessary, the object programmer must save the contents of Bank 0, 1, or 3 before executing this operation, and restore the contents when the operation is complete. Banks 2 and 4 may not be used under any circumstances; if an IODEC or IOTYP linkage is made during a routine and Bank 3 has been saved, it must be restored prior to the linkage.

The object program must not leave the interrupt program during the execution of specialized rou-tines. The starting point counter must be set above 2, 000 on the return to IOCS.

The entry placed in the file table fields or the common linkage fields either specifies the address of a specialized routine to be transferred to by IOCS, or specifies that no specialized routine is required or desires. If a specialized routine is used, it must be terminated by a transfer back to IOCS at IORETURNTO or IORETURNNO. If a specialized routine is not used, IORETURNTO or IORETURNNO must be specified in the exit field so that IOCS will continue properly. It should be noted that no linkage to IOCS can be made during the execution of a specialized routine, except for linkages to the typing and decision routines.

(See macro-instructions IOTYP and IODEC. )

729 laCS EXITS TO SPECIALIZED ROUTINES

The following series of charts are grouped ac-cording to exit point and label type (where applicable), and describe the exit conditions, necessary

specialized routine processing, and return points.

Header Transfer Address -- Standard Header, Beginning-of-Reel Routines

The exit is made when a standard header has been read and completely checked by IOCS.

*

Processing will be required if information in the miscellaneous field of the header must be checked.

If no information is to be checked in the mis-cellaneous field, or if the routine has deter-mined that the information is correct, re-entry should be at IORETURNTO. IOCS will then continue positioning the tape.

If the routine has determined that the informa-tion in the miscellaneous field is incorrect, the routine should effect a loop to allow the operator to mount the correct reel. When the reel has been mounted, re-entry should be at IORETURNNO. Ioes will then check the new reel.

The exit is made when a stl¥ldard header has been created in the IOTRSHLBL area.

None.

Re-entry must be at IORETURNTO. rocs will then write the header (from IOTRSHLBL area) and a tape mark.

*

An exit can also be made to the Header Transfer Address by pressing Interrupt Key 253 at loop/message 30291. In this case, there will not be a valid header in IOTRSHLBL. If necessary, the specialized routine can determine whether or not a valid header has been read by interrogating the A bit at CSW13. This bit is set 1 if there is a missing label condition.

Header Transfer Address -- Nonstandard Header, Beginning-of-Reel Routines

The exit is made when the first record on tape has been read.

*

The routine must determine whether or not the record is a header, and whether the information in the header is correct.

If the routine has determined that the record is a header and that the information contained is correct, re-entry should be at lORE TURNTO.

IOeS will then continue positioning the tape.

If the routine has determined that the record is not a header, re -entry should he at

lORE TURNNO. IOCS will then effect loop/

message 30291. (If the record is a header, but the information in the header is incorrect, the

* An exit can also be made to the Header Transfer Address by pressing Interrupt Key 253 at loop/message 30290 or 30291.

In this case, there will not be a valid header in IOTRSHLBL.

If necessary, the specialized routine can determine whether or not a val id header has been read by interrogat!ng the A bit at CSW13. This bit is set 1 if there is a missing label condition.

729 IOCS Exits to Specialized Routines 49

INPUT TAPE (Cont)

routine must make provisions for handling this error condition. If the error procedure in-volves mounting a new reel, re-entry can be made at IOTRSEXIT after the reel has been mounted, and IOCS will then check the new reel. ) The exit is made when the first record on tape has been read.

*

The routine must determine whether or not the record is a header, and whether the informa-tion in the header is correct. The new header must be created in the IOTRSHLBL area.

If the routine has determined that the record is a header and that the information contained is correct, re-entry should be at lORE TURNTO.

rocs will then write the new header (from the information in the header is incorrect, the routine must make provisions for handling this error condition. If the error procedure in-volves mounting a new reel, re-entry can be made at IOTRSEXIT after the reel has been mounted, and IOCS will then check the new reel.)

*

An exit can also be made to the Header Transfer Address by pressing Interrupt Key 253 at loop/message 30290 or 30291. In this case, there will not be a valid header in IOTRSHLBL. If necessary, the specialized routine can determine whether or not a valid header has been read by interrogating the A bit at CSW13. This bit is set 1 if there is a missing label condition.

Header Transfer Address -- No Header, Beginning-of-Reel Routines checked; the tape is at load point.

None.

Re-entry must be at IORETURNTO.

The exit is made when the tape has been checked; the tape is at load point.

None.

Re-entry must be at IORETURNTO.

Header Transfer Address -- Standard Header, Intermediate End-of-File Routines*

INPUT MULTIFILE TAPE Exit Condition:

Necessary Processing:

Return Point:

The exit is made when a tape mark and a standard header have been read, and when processing for the file has been completed.

**

None.

Re-entry must be at IORETURNTO. IOCS will then continue positioning the tape for sequential or nonsequential handling, as specified.

OUTPUT MULTIFILE TAPE Exit Condition: standard header has been created in the IOTRSHLBL area.

None.

Re-entry must be at IORETURNTO. IOCS will then write a header (from IOTRSHLBL area) and a tape mark.

*

On multifile tapes, the specialized Header Transfer Address routine can determine whether exit is being made at beginning of reel or intermediate end of file by interrogating the file counter (CSF0003032) for zero.

**

An exit can also be made to the Header Transfer Address routine by pressing Interrupt Key 253 at loop/message 30295.

In this case, there will not be a valid header in IOTRSHLBL.

If necessary, the specialized routine can determine whether or not a valid header has been read by interrogating the A bit at CSW13. This bit is set 1 on a missing label condition.

Header Transfer Address -- Nonstandard Header, Intermediate End-of-File Routines*

INPUT MULTIFILE TAPE Exit Condition:

Necessary Processing:

Return Point:

The exit is made when a tape mark and the following record have been read and when processing for the file has been completed.

**

If a standard trailer is specified, IOCS has determined that the record is not a trailer. If a nonstandard trailer is specified, the user's end-of-reel routine has determined that the record is not an end-of-reel trailer.

The routine must determine whether or not the record is a header.

If the routine has determined that the record is a header, re-entry should be at IORETURNTO.

rocs will then continue positioning the tape for sequential or nonsequential handling, as specified.

If a standard trailer is speCified and the routine has determined that the record is not a header, re -entry should be at IORETURNNO. IOCS will then treat the record as a data record and will continue positioning the tape for sequential or nonsequential handling, as specified.

If a nonstandard trailer is specified and the routine has determined that the record is not a header, re-entry should be at IORETURNNO. IOCS will then link to the End-of-File Transfer Address.

*

On multifile tapes, the specialized Header Transfer Address routine can determine whether exit is being made at begin-ning of reel or intermediate end of file by interrogating the file counter (CSF0003032) for zero.

**

An exit can also be made to the Header Transfer Address routine by pressing Interrupt Key 253 at loop/message 30295.

In this case, there will not be a valid header in IOTRSHLBL.

If necessary, the sp.ecialized routine can determine whether or not a valid header has been read by interrogating the A bit at CSW13. This bit is set 1 on a missing label condition.

OUTPUT MULTIFILE TAPE

The header must be created in the IOTRSHLBL area.

Re-entry must be at IORETURNTO. IOCS will then write the new header (from lOTRSHLBL area) and a tape mark, if specified.

Header Transfer Address -- No Header, Intermediate End-of-File Routines*

INPUT MULTIFILE TAPE

Exit Condition: The exit is made when a tape mark has been read and when processing for the file has been completed. If the record following the tape mark is 95 characters or less and is not a tape mark, it is in the IOTRSHLBL area. If the record following the tape mark is more than

Necessary a nonstandard trailer is specified, it has been determined that the record is not an end-of-reel trailer.

If a standard trailer is specified, none.

If a nonstandard trailer is specified, the routine must determine whether or not the record is a data record (as opposed to an end-of-file trailer).

If a standard trailer is specified, re-entry must be at IORETURNTO. IOCS will then con-tinue positioning the tape for sequential or nonsequential handling, as specified.

If a nonstandard trailer is specified and the routine has determined that the record is a data record, re-entry should be at

IORETURNTO. lOCS will then continue posi-tioning the tape for sequential or nonsequential handling, as specified.

If a nonstandard trailer is specified and the routine has determined that the record is not a data record, re-entry should be at

IORETURNNO. lOCS will then link to the End-of-File Transfer Address.

OUTPUT MULTIFILE TAPE Exit Condition:

Re-entry must be at lORETURNTO.

*

On multifile tapes, the specialized Header Transfer Address routine can determine whether exit is being made at beginning of reel or intermediate end of file by interrogating the file counter (CSF0003032) for zero.

End-of-File Transfer Address -- Standard Trailer

INPUT TAPE Exit Condition:

Necessary Processing:

Return Point:

The exit is made when the processing for the file has been completed, and a tape mark and a standard end-of-file trailer have been read.

*

None.

Re-entry must be at IORETURNTO. The IOCS end-of-file routines will be executed next.

OUTPUT TAPE is issued, and a standard end-of-file trailer has been created in the IOTRSHLBL area.

The tape is positioned immediately after the last data tape record written.

None.

Re-entry must be at IORETURNTO. IOCS will then write a tape mark, the end-of-file trailer (from lOTRSHLBL area), and a tape mark.

*

An exit can also be made to the End-of-File Transfer Address by pressing Interrupt Key 253 at loop/message 30293 or 30295.

In this case, there will not be a valid trailer in IOTRSHLBL.

If necessary, the specialized routine can determine whether a valid trailer has been read by interrogating the A bit at CSW13.

This bit is set 1 on a miSSing label condition.

End-of-File Transfer Address -- Nonstandard Trailer

The exit is made when the processing for the file has been completed, and a tape mark and the following record have been read.

*

The routine must determine whether an end-of-file condition or a missing label condition exists.

If the routine has determined that an end-of-file condition exists, re-entry should be at IORETURNTO. The lOCS end-of-file routines will be executed next.

If the routine has determined that a missing label condition exists, re -entry should be at IORETURNNO. lOCS will then execute loop/

message 30293 (if single file tape) or 30295 (if multifile tape).

The exit is made when an lOCLS or an IOMFC is issued (a standard end-of--file trailer has been created in the lOTRSHLBL area). The tape is positioned immediately after the last data tape record written.

The nonstandard trailer must be created in the IOTRSHLBL area.

Re-entry must be at lORETURNTO. lOCS will then write a tape mark, the end-of-file trailer (from IOTRSHLBL area), and a tape mark.

*

An exit can also be made to the End-of-File Transfer Address by pressing Interrupt Key 253 at loop/message 30293 or 30295.

In this case, there will not be a valid trailer in IOTRSHLBL.

If necessary, the specialized routine can determine whether a valid trailer has been read by interrogating the A bit at CSW13.

This bit is set 1 on a miSSing label condition.

End-of-File Transfer Address -- No Trailer

INPUT TAPE Exit Condition:

Necessary Processing:

Return Point:

The exit is made when the processing for the file has been completed, and a tape mark has been read.

None.

Re-entry must be at lORETURNTO. The IOCS end-of-file routines will be executed next.

729 IOCS Exits to Specialized Routines 51

OUTPUT TAPE

Ex.it Condition: The exit is made when an IOCLS or an IOMFC is issued. The tape is positioned immediately after the last data tape record written.

Necessary Processing:

Return Point:

None.

Re-entry must be at IORETURNTO. IOCS will then write a tape mark, end-of-file trailer, and a tape mark.

End-of-Reel Transfer Address -- Standard Trailer

INPUT TAPE

The exit is made under one of the following conditions :

1. Standard trailers are specified and a stand-ard end-of-reel trailer has been read.

*

2. Special standard trailers are specified and a tape mark and a standard end-of-reel or end-of-file trailer have been read.

*

Processing is necessary only if special stand-ard trailers are specified, in which case the routine must determine whether an end-of-reel or an end-of-file conditions exists.

1. If standard trailers are specified, IOCS must be re-entered at IORETURNTO. The IOCS end-of-reel routines will be executed next.

2. If special standard trailers are specified and the routine has determined that an end-of-reel condition exists, re-entry should be at IORETURNTO. The IOCS end-of-reel routines will be executed next.

If special standard trailers are specified and the routine has determined that an end-of-file condition exists, re-entry should be at IORETURNNO. A transfer to the End-of-File Transfer Address will be executed by IOCS when the processing for the file has been completed.

The exit is made when a reflective spot has been sensed on the output tape or when an IOFER is issued. A standard end-of-reel trailer has been created in the IOTRSHLBL area. The tape is positioned immediately after the last data tape record written.

Processing will be required if, under certain circumstances, the end-of-reel condition is to be ignored (i. e. , the user may desire to write additional records on the tape before writing a tape mark).

If the end-of-reel condition is to be accepted, re-entry should be at IORETURNTO. IOCS will then write a tape mark, the end-of-reel trailer (from IOTRSHLBL area), and a tape mark.

If the end-of-reel condition is to be ignored, re-entry should be at IORETURNNO. IOCS will then return to the object program. (Each sub-sequent write operation for the file will result in an exit to the End-of-Reel Transfer Address until the end-of-reel condition is accepted. )

*

An exit can also be made to the End-of-Reel Transfer Address by pressing Interrupt Key 252 at loop/message 30293. In this case, there will not be a valid trailer in IOTRSHLBL. If nec-essary, the routine can determine whether a valid trailer has been read by interrogating the A bit at CSW13. This bit is set 1 on a missing label condition.

End-of-Reel Transfer Address -- Nonstandard Trailer

The routine must determine whether an end-of-reel or an end -of -file condition exists.

If the routine has determined that an end-of-reel condition exists, re-entry should be at IORETURNTO. The IOCS end-of-reel routines will be executed next.

If the routine has determined that an end-of-file condition exists, re-entry should be at IORETURNNO. If the tape is a single-file tape, a transfer to the End-of-File Transfer Address will be executed by IOCS when processing for the file has been completed. If the tape is a multifile tape, a transfer to the Header Trans-fer Address will be executed by IOCS when processing for the file has been completed.

The exit is made when a reflective spot has been sensed on the output tape, or when an lOFER is issued (a standard end-of-reel trailer has been created in the IOTRSHLBL area). The tape is positioned after the last data tape rec-ord written.

Processing will be required if, under certaih circumstances, the end-of-reel condition is to be ignored (i. e. , the user may desire to write additional records on the tape before writing a tape mark). If the end-of-reel condition is to be accepted, the nonstandard trailer must be created in the IOTRSHLBL area.

If the end-of-reel condition is to be accepted, re-entry should be at IORETURNTO. IOCS will then write a tape mark, the end-of-reel trailer (from IOTRSHLBL area), and a tape mark.

If the end-of-reel condition is to be ignored, re-entry should be at IORETURNNO. IOCS will then return to the object program. (Each sub-sequent write operation for the file will result in an exit to the End-of-Reel Transfer Address until the end-of-reel condition is accepted. )

* An exit can also be made to the End-of-Reel Transfer Address by preSSing Interrupt Key 252 at loop/message 30293. In this case there will not be a valid trailer in IOTRSHLBL. If nec-essary, the routine can determine whether a valid trailer has been read by interrogating the A bit at CSW13. This bit is set 1 on a missing label condition.

End-of-Reel Transfer Address -- No Trailer

INPUT TAPE

The routine must determine whether an

The routine must determine whether an

ÄHNLICHE DOKUMENTE