*DECK IMS 
*IF DEF,DOCK
**DOCK    TITLE  HARD 
 UTILITY  TITLE  EIGHT-BIT UTILITY SUBROUTINE PACKAGE 
**
          EJECT 
***    EIGHT-BIT UTILITY SUBROUTINE PACKAGE  I062*1.0-EO13*3.4
* 
*      M.T. KAUFMAN           CY72-74 DEVELOPMENT DIVISION
*      K.L. SAULN               SUNNYVALE, CALIFORNIA 
* 
*      OPERATING SYSTEM - SCOPE 3.4 (CONTROL DATA CYBER 71-74)
*                         SCOPE 2.0 (CONTROL DATA CYBER 75-76)
          SPACE  10 
*** COPYRIGHT 1971 BY CONTROL DATA CORPORATION
 INTRO    TITLE  INTRODUCTION 
**    THIS IS A PACKAGE OF UTILITY SUBROUTINES WHICH PROVIDE A USER WITH
*     THE ABILITY TO READ, WRITE, AND MANIPULATE SEQUENTIAL FILES AND 
*     DATA USING EXTENDED CHARACTER SETS. 
* 
*     IBM 360/370 FORMAT SEQUENTIAL (TAPE) FILES, EBCDIC AND ASCII
*     PUNCHED CARD DECKS, AND EXTENDED CHARACTER SET (95 CHARACTER
*     ASCII) PRINT FILES ARE SUPPORTED BY THIS PACKAGE. THE I/O ROUTINES
*     (XFILE, XREAD, XREREAD, XWRITE) PROVIDE THE ABILITY TO TRANSLATE
*     BETWEEN EXTERNAL AND INTERNAL DATA TYPES AND CHARACTER SETS, AND
*     OPERATE ON A RECORD-BY-RECORD BASIS.
* 
*     A SET OF UTILITY ROUTINES (XMOVE, XCOMP) IS ALSO PROVIDED TO
*     MANIPULATE INTERNAL CHARACTER STRINGS IN THE THREE SUPPORTED
*     CHARACTER SETS.. DISPLAY CODE, ASCII, AND EBCDIC.  COMPLETE 
*     CHARACTER SET TRANSLATION AND MIXED CHARACTER SET STRING
*     COMPARISON ROUTINES ARE PROVIDED. 
* 
*     ADDITIONALLY, TWO ROUTINES (XPACK, XPAND) ARE PROVIDED TO ALLOW 
*     IMPROVED FILE UTILIZATION. THESE COMPRESS 8-BIT DATA FROM INTERNAL
*     WORKING FORM TO A MORE COMPACT FORM FOR STORAGE, AND EXPAND IT
*     AGAIN.
* 
*     IN THIS DOCUMENT, IT WILL BE ASSUMED THAT THE READER IS FAMILIAR
*     WITH THE MATERIAL IN THE ERS/REFERENCE MANUAL FOR THIS PRODUCT. 
CODING    TITLE  CODING CONVENTIONS 
**    CODING CONVENTIONS -
* 
*     1.  CARD FORMAT        COL.  2 - LOCATION SYMBOL
*                            COL. 11 - OPERATION CODE 
*                            COL. 18 - ADDRESS
*                            COL. 30 - COMMENTS 
* 
*     2.  LINKAGE            NO RETURN-JUMPS ARE USED.  ALL LINKING IS
*                                                   SB6  A
*                                                   EQ   SUBR 
*                                                A  ...      (RETURN) 
* 
*     3.  STORING            ALL LOCAL DATA STORES MUST BE INTO CELLS 
*                            NAMED "T.XXX", WHERE "XXX" IS USUALLY OF 
*                            SOME MNEMONIC VALUE. ALL T.--- CELLS ARE 
*                            PLACED IN COMMON BLOCKS.  NO CODE SHOULD 
*                            ASSUME THAT ANY T.--- CELL RESIDES IN A
*                            PARTICULAR LOCATION WITH RESPECT TO ANY
*                            OTHER T.--- CELL (THIS ELIMINATES SUCH 
*                            CONSTRUCTS AS "SA4  T.XXX+2"), SINCE FUTURE
*                            REARRANGEMENT OF COMMON AREAS MAY RENDER 
*                            SUCH CODE INVALID. 
* 
*     4.  REGISTERS          B1 = 1     ALWAYS
*                            A0 = WSA-ADDRESS  FOR MOST I/O ROUTINES
* 
*     5.  DOCUMENTATION      ANY NEW CODE SHOULD FOLLOW THE EXAMPLE SET 
*                            BY EXISTING CODE.  "DOCK" IS THE PROCESSOR 
*                            BEING USED TO PRODUCE THIS I.M.S.
* 
* 
*     IN GENERAL, CODE SHOULD BE STRAIGHTFORWARD AND WELL COMMENTED.  TO
*     ALLOW FOR THE POSSIBILITY OF LATER RE-ENTRANCY, ALL CODE AREAS
*     WITH THE EXCEPTION OF T.--- CELLS MUST REMAIN INVIOLATE.  THIS
*     MEANS NO RETURN-JUMPS, LOCAL STORES, CODE MODIFICATION, ETC. ARE
*     ALLOWED.
          SPACE  1
*ENDIF
