Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.hstcopy +++|(*$L'HOSTCOPY UTILITY.',S-,U+ *)
00002 M01S00002.hstcopy +++|(*$V+ DISPLAY CM RECORD MAP. *)
00003 M01S00003.hstcopy +++|(*$E+ USE EXTERNAL ENTRY POINTS. *)
00004 M01S00004.hstcopy +++|PROGRAM HSTCOPY(INPUT,OUTPUT,FTS);
00005 M01S00005.hstcopy +++|(***
00006 M01S00006.hstcopy +++| * HSTCOPY - HOSTCOPY UTILITY.
00007 M01S00007.hstcopy +++| *
00008 M01S00008.hstcopy +++| * L. M. BURGHER/S. V. PRESTON 84/09/22.
00009 M01S00001.ns2421 +++| * S. V. PRESTON 86/03/14.
00010 M01S00002.ns2421 +++| * MODIFIED TO SUPPORT V10 SST FORMAT.
00011 M01S00009.hstcopy +++| *
00012 M01S00010.hstcopy +++| * OVERVIEW
00013 M01S00011.hstcopy +++| *
00014 M01S00012.hstcopy +++| * HSTCOPY READS A FILE AND TRANSFERS IT TO A 5870 OR 5970
00015 M01S00013.hstcopy +++| * NON-IMPACT PRINTER. HSTCOPY CALLS THE PP PROGRAM XHC TO
00016 M01S00014.hstcopy +++| * TRANSFER THE DATA TO THE NON-IMPACT PRINTER.
00017 M01S00015.hstcopy +++| *
00018 M01S00016.hstcopy +++| * HSTCOPY READS THE FOLLOWING TYPES OF FILES:
00019 M01S00017.hstcopy +++| *
Line S00018 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00020 M02S00018.ns2421 ---| * 1) 128-BYTE AND 512-BYTE RECORDS CONSISTING OF 8-BIT
Line S00019 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00021 M02S00019.ns2421 ---| * BYTES WITHOUT ZERO-BYTE TERMINATORS.
00022 M01S00003.ns2421 +++| * 1) RECORDS CONSISTING OF MULTIPLES OF 128 8-BIT BYTES,
00023 M01S00004.ns2421 +++| * WITHOUT ZERO-BYTE TERMINATORS, UP TO A MAXIMUM
00024 M01S00005.ns2421 +++| * OF 8192 8-BIT BYTES.
00025 M01S00020.hstcopy +++| *
00026 M01S00021.hstcopy +++| * 2) 80-BYTE EBCDIC CARD IMAGE RECORDS WITHOUT ZERO-BYTE
00027 M01S00022.hstcopy +++| * TERMINATORS.
00028 M01S00023.hstcopy +++| *
00029 M01S00024.hstcopy +++| * CONTROL STATEMENT CALL
00030 M01S00025.hstcopy +++| *
00031 M01S00026.hstcopy +++| * HSTCOPY(INPUT,OUTPUT,FTS)
00032 M01S00027.hstcopy +++| *
00033 M01S00028.hstcopy +++| * HSTCOPY - HOSTCOPY CONTROL STATEMENT.
00034 M01S00029.hstcopy +++| * INPUT - INPUT FILE CONTAINING INPUT DIRECTIVES.
00035 M01S00030.hstcopy +++| * OUTPUT - OUTPUT FILE CONTAINING STATUS OF HOSTCOPY.
00036 M01S00031.hstcopy +++| * FTS - INPUT FILE TO TRANSFER TO NIP.
00037 M01S00032.hstcopy +++| *)
00038 M01S00033.hstcopy +++|
00039 M01S00034.hstcopy +++|CONST
00040 M01S00035.hstcopy +++|
00041 M01S00036.hstcopy +++|(* DEFINE BUFFER LENGTHS. *)
00042 M01S00037.hstcopy +++|
Line S00038 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00043 M02S00038.ns2421 ---| CML = 69; (* NUMBER OF CM WORDS *)
Line S00039 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00044 M02S00039.ns2421 ---| BIT4L = 1024; (* NUMBER OF BIT4S *)
Line S00040 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00045 M02S00040.ns2421 ---| RECL = 4; (* NUMBER OF 128-BYTE RECS *)
00046 M01S00006.ns2421 +++| CML = 1093; (* NUMBER OF CM WORDS *)
00047 M01S00007.ns2421 +++| CMLS = 69;
00048 M01S00008.ns2421 +++| BIT4L = 16384; (* NUMBER OF BIT4S *)
00049 M01S00009.ns2421 +++| RECL = 64; (* NUMBER OF 128-BYTE RECS *)
00050 M01S00041.hstcopy +++|
00051 M01S00042.hstcopy +++|(* DEFINE RECORD LENGTH. *)
00052 M01S00043.hstcopy +++|
00053 M01S00044.hstcopy +++| RECRDL = 256; (* NUMBER OF BIT4S PER RECRD *)
00054 M01S00045.hstcopy +++| RECRDPL = 2; (* NUM OF RECRD POINTERS *)
00055 M01S00046.hstcopy +++|
00056 M01S00047.hstcopy +++|TYPE
00057 M01S00048.hstcopy +++|
00058 M01S00049.hstcopy +++|(*$T- TURN RUNTIME TESTING OFF. *)
00059 M01S00050.hstcopy +++| PCNTRL = cONTROL; (* CONTROL RECORD POINTER *)
00060 M01S00051.hstcopy +++| PRECRD = rECRD; (* DATA RECORD POINTER *)
00061 M01S00052.hstcopy +++|(*$T= RESTORE RUNTIME TESTING. *)
00062 M01S00053.hstcopy +++|
00063 M01S00054.hstcopy +++|(* DEFINE BIT FIELD WIDTHS. *)
00064 M01S00055.hstcopy +++|
00065 M01S00056.hstcopy +++| BIT1 = 0..1B;
00066 M01S00057.hstcopy +++| BIT3 = 0..7B;
00067 M01S00058.hstcopy +++| BIT4 = 0..17B;
00068 M01S00059.hstcopy +++| BIT6 = 0..77B;
00069 M01S00060.hstcopy +++| BIT9 = 0..777B;
00070 M01S00061.hstcopy +++| BIT11 = 0..3777B;
00071 M01S00062.hstcopy +++| BIT12 = 0..7777B;
00072 M01S00063.hstcopy +++| BIT42 = 0..77777777777777B;
00073 M01S00064.hstcopy +++|
00074 M01S00065.hstcopy +++|(* DEFINE PACKED CHARACTER STRINGS. *)
00075 M01S00066.hstcopy +++|
00076 M01S00067.hstcopy +++| CHAR3 = PACKED ARRAY[1..3] OF CHAR;
00077 M01S00068.hstcopy +++| CHAR10 = PACKED ARRAY[1..10] OF CHAR;
00078 M01S00069.hstcopy +++| CHAR40 = PACKED ARRAY[1..40] OF CHAR;
00079 M01S00070.hstcopy +++|
00080 M01S00071.hstcopy +++| BUFTAG = 1..2;
00081 M01S00072.hstcopy +++| BUFFER = RECORD CASE TAG : BUFTAG OF
00082 M01S00073.hstcopy +++| 1 : (W : ARRAY[1..CML] OF INTEGER);
00083 M01S00074.hstcopy +++| 2 : (B4 : PACKED ARRAY[1..BIT4L] OF BIT4);
00084 M01S00075.hstcopy +++| END; (* BUFFER *)
00085 M01S00076.hstcopy +++|
00086 M01S00077.hstcopy +++| RECRD = PACKED ARRAY[1..RECRDL] OF BIT4;
00087 M01S00078.hstcopy +++| (* DATA RECORD *)
00088 M01S00079.hstcopy +++|
00089 M01S00080.hstcopy +++| CONTROL = PACKED RECORD (* XHC CONTROL TABLE *)
00090 M01S00081.hstcopy +++| FILL1 : BIT3;
00091 M01S00082.hstcopy +++| EQ : BIT9; (* EST ORDINAL *)
00092 M01S00083.hstcopy +++| FILL2 : BIT11;
00093 M01S00084.hstcopy +++| TERM : BOOLEAN; (* TERMINATE XHC *)
00094 M01S00085.hstcopy +++| FILL3 : BIT11;
00095 M01S00086.hstcopy +++| CARDIMG : BOOLEAN; (* CARD IMAGE *)
00096 M01S00087.hstcopy +++| FILL4 : BIT11;
00097 M01S00088.hstcopy +++| COMP : BOOLEAN; (* REQUEST COMPLETE *)
00098 M01S00089.hstcopy +++| FILL5 : BIT42;
00099 M01S00090.hstcopy +++| RESV1 : BIT1;
00100 M01S00091.hstcopy +++| RECRDP : PRECRD; (* RECRD POINTER *)
00101 M01S00092.hstcopy +++| END; (* CONTROL *)
00102 M01S00093.hstcopy +++|
00103 M01S00094.hstcopy +++| SYSREQ = PACKED RECORD
00104 M01S00095.hstcopy +++| (* SYSTEM REQUEST FORMAT *)
00105 M01S00096.hstcopy +++| PPNAME : CHAR3; (* PP PROGRAM NAME *)
00106 M01S00097.hstcopy +++| RESV1 : BIT1;
00107 M01S00098.hstcopy +++| RECALL : BOOLEAN; (* RECALL OPTION *)
00108 M01S00099.hstcopy +++| FILL1 : BIT4;
00109 M01S00100.hstcopy +++| FILL2 : BIT12;
00110 M01S00101.hstcopy +++| FILL3 : BIT6;
00111 M01S00102.hstcopy +++| RESV2 : BIT1; (* CONTROL POINTER *)
00112 M01S00103.hstcopy +++| CNTRLP : PCNTRL;
00113 M01S00104.hstcopy +++| END; (* SYSREQ *)
00114 M01S00105.hstcopy +++|
00115 M01S00106.hstcopy +++|VAR
00116 M01S00107.hstcopy +++|
00117 M01S00108.hstcopy +++| CNTRLP : PCNTRL; (* XHC CONTROL POINTER *)
00118 M01S00109.hstcopy +++| INITOK : BOOLEAN; (* INITIALIZE OK *)
00119 M01S00110.hstcopy +++| RCL, XHC : SYSREQ; (* SYSTEM REQUEST *)
00120 M01S00111.hstcopy +++| FTS : SEGMENTED FILE OF INTEGER;
00121 M01S00112.hstcopy +++| (* SYSTEM SOFTWARE FILE *)
00122 M01S00113.hstcopy +++|
00123 M01S00114.hstcopy +++|(* DEFINE DAYFILE MESSAGE VARIABLES. *)
00124 M01S00115.hstcopy +++|
00125 M01S00116.hstcopy +++| EFMSG : CHAR40; (* EMPTY FILE *)
00126 M01S00117.hstcopy +++| EQMSG : CHAR40; (* INCORRECT EQUIPMENT *)
00127 M01S00118.hstcopy +++| LDMSG : CHAR40; (* EQUIPMENT LOADED *)
00128 M01S00119.hstcopy +++|
00129 M01S00120.hstcopy +++|(* DEFINE BUFFER VARIABLES. *)
00130 M01S00121.hstcopy +++|
00131 M01S00122.hstcopy +++| BUFF : BUFFER; (* DATA BUFFER *)
00132 M01S00123.hstcopy +++| CMI : 0..CML; (* CM INDEX *)
00133 M01S00124.hstcopy +++| BIT4I : 0..BIT4L; (* BIT4 INDEX *)
00134 M01S00125.hstcopy +++| RECI : 0..RECL; (* RECRD INDEX *)
00135 M01S00126.hstcopy +++| RECNUM : 1..RECL; (* NUM RECRDS PER BUFFER *)
00136 M01S00127.hstcopy +++|
00137 M01S00128.hstcopy +++|(* DEFINE RECORD VARIABLES. *)
00138 M01S00129.hstcopy +++|
00139 M01S00130.hstcopy +++| RECRDP : ARRAY[1..RECRDPL] OF PRECRD;
00140 M01S00131.hstcopy +++| (* DATA RECORD POINTERS *)
00141 M01S00132.hstcopy +++| RECRDPI : 1..RECRDPL; (* RECORD POINTER INDEX *)
00142 M01S00133.hstcopy +++| RECRDI : 0..RECRDL; (* RECORD INDEX *)
00143 M01S00134.hstcopy +++|
00144 M01S00135.hstcopy +++|VALUE
00145 M01S00136.hstcopy +++|
00146 M01S00137.hstcopy +++| INITOK = FALSE;
00147 M01S00138.hstcopy +++| RCL = ('RCL', 0, TRUE, 0, 0, 0, 0, NIL);
00148 M01S00139.hstcopy +++| XHC = ('XHC', 0, FALSE, 0, 0, 0, 0, NIL);
00149 M01S00140.hstcopy +++|
00150 M01S00141.hstcopy +++|(* DAYFILE MESSAGES. *)
00151 M01S00142.hstcopy +++|
00152 M01S00143.hstcopy +++| EFMSG = ' SYSTEM SOFTWARE FILE EMPTY. ';
00153 M01S00144.hstcopy +++| EQMSG = ' EQXXX, INCORRECT EQUIPMENT NUMBER. ';
00154 M01S00145.hstcopy +++| LDMSG = ' EQXXX, HOSTCOPY TRANSFER COMPLETE. ';
00155 M01S00146.hstcopy +++|(*$L'EXTERNAL FUNCTIONS AND PROCEDURES.'*)
00156 M01S00147.hstcopy +++|FUNCTION XDXB( STR : CHAR10; TYP : INTEGER;
00157 M01S00148.hstcopy +++| VAR NUM : INTEGER) : INTEGER; FORTRAN;
00158 M01S00149.hstcopy +++|(**
00159 M01S00150.hstcopy +++| * CHARACTER TO INTEGER CONVERSION.
00160 M01S00151.hstcopy +++| *
00161 M01S00152.hstcopy +++| * LOADED FROM SRVLIB.
00162 M01S00153.hstcopy +++| *)
00163 M01S00154.hstcopy +++|
00164 M01S00155.hstcopy +++|PROCEDURE SYS(VAR REQ : SYSREQ); EXTERN;
00165 M01S00156.hstcopy +++|(**
00166 M01S00157.hstcopy +++| * ISSUE SYSTEM REQUEST.
00167 M01S00158.hstcopy +++| *
00168 M01S00159.hstcopy +++| * LOADED FROM UTILLIB.
00169 M01S00160.hstcopy +++| *)
00170 M01S00161.hstcopy +++|(*$L'INIT - INITIALIZE.'*)
00171 M01S00162.hstcopy +++|PROCEDURE INIT;
00172 M01S00163.hstcopy +++|(**
00173 M01S00164.hstcopy +++| *
00174 M01S00165.hstcopy +++| * INITIALIZE HOST COPY.
00175 M01S00166.hstcopy +++| *
00176 M01S00167.hstcopy +++| * EXIT
00177 M01S00168.hstcopy +++| * INITOK = TRUE, IF INITIALIZED PROPERLY.
00178 M01S00169.hstcopy +++| * THE PP XHC HAS BEEN STARTED.
00179 M01S00170.hstcopy +++| * LDMSG HAS BEEN SET WITH EQUIPMENT NUMBER.
00180 M01S00171.hstcopy +++| *
00181 M01S00172.hstcopy +++| * CALLS
00182 M01S00173.hstcopy +++| * SYS, XDXB.
00183 M01S00174.hstcopy +++| *
00184 M01S00175.hstcopy +++| * NESTED FROM HSTCOPY.
00185 M01S00176.hstcopy +++| *)
00186 M01S00177.hstcopy +++|
00187 M01S00178.hstcopy +++|VAR
00188 M01S00179.hstcopy +++|
00189 M01S00180.hstcopy +++| CARDIMG : ALFA; (* CARD IMAGE *)
00190 M01S00181.hstcopy +++| EQ : ALFA; (* EST ORDINAL *)
00191 M01S00182.hstcopy +++| I, J : INTEGER;
00192 M01S00183.hstcopy +++| VALIDEQ : INTEGER; (* VALID EQUIPMENT *)
00193 M01S00184.hstcopy +++|
00194 M01S00185.hstcopy +++| BEGIN (* INIT *)
00195 M01S00186.hstcopy +++| RESET(FTS); (* INITIALIZE FTS FILE *)
00196 M01S00187.hstcopy +++| IF NOT EOS(FTS) THEN
00197 M01S00188.hstcopy +++| BEGIN (* FILE OK *)
00198 M01S00189.hstcopy +++| EQ := ' '; (* EQ NUMBER *)
00199 M01S00190.hstcopy +++| FOR I := 1 TO 3 DO
00200 M01S00191.hstcopy +++| READ(EQ[I]);
00201 M01S00192.hstcopy +++| READLN;
00202 M01S00193.hstcopy +++| READLN(CARDIMG[1]); (* CARD IMAGE *)
00203 M01S00194.hstcopy +++| VALIDEQ := XDXB(EQ, 0, I); (* CONVERT EQ TO INTEGER *)
00204 M01S00195.hstcopy +++| IF (VALIDEQ = 0) AND (I <= 777B) THEN
00205 M01S00196.hstcopy +++| BEGIN (* VALID EQ *)
00206 M01S00197.hstcopy +++| NEW(CNTRLP); (* INITIALIZE POINTERS *)
00207 M01S00198.hstcopy +++| FOR J := 1 TO RECRDPL DO
00208 M01S00199.hstcopy +++| BEGIN
00209 M01S00200.hstcopy +++| RECRDPI := J;
00210 M01S00201.hstcopy +++| NEW(RECRDP[RECRDPI]);
00211 M01S00202.hstcopy +++| END;
00212 M01S00203.hstcopy +++| CNTRLP;EQ := I; (* SETUP XHC CONTROL RECORD *)
00213 M01S00204.hstcopy +++| CNTRLP;TERM := FALSE;
00214 M01S00205.hstcopy +++| IF CARDIMG[1] = 'T' THEN
00215 M01S00206.hstcopy +++| CNTRLP;CARDIMG := TRUE
00216 M01S00207.hstcopy +++| ELSE
00217 M01S00208.hstcopy +++| CNTRLP;CARDIMG := FALSE;
00218 M01S00209.hstcopy +++| CNTRLP;COMP := FALSE;
00219 M01S00210.hstcopy +++| CNTRLP;RECRDP := NIL;
00220 M01S00211.hstcopy +++| XHC.CNTRLP := CNTRLP;
00221 M01S00212.hstcopy +++| RCL.CNTRLP := CNTRLP;
00222 M01S00213.hstcopy +++| SYS(XHC); (* INITIATE XHC *)
00223 M01S00214.hstcopy +++| INITOK := TRUE; (* INITIALIZE OK *)
00224 M01S00215.hstcopy +++| FOR I := 1 TO 3 DO (* SET EQ IN LOAD MESSAGE *)
00225 M01S00216.hstcopy +++| LDMSG[I+3] := EQ[I];
00226 M01S00217.hstcopy +++| END (* VALID EQ *)
00227 M01S00218.hstcopy +++| ELSE
00228 M01S00219.hstcopy +++| BEGIN (* INCORRECT EQ *)
00229 M01S00220.hstcopy +++| FOR I := 1 TO 3 DO (* SET EQ IN MESSAGE *)
00230 M01S00221.hstcopy +++| EQMSG[I+3] := EQ[I];
00231 M01S00222.hstcopy +++| MESSAGE(EQMSG);
00232 M01S00223.hstcopy +++| WRITELN(EQMSG);
00233 M01S00224.hstcopy +++| END; (* IF *) (* INCORRECT EQ *)
00234 M01S00225.hstcopy +++| END (* FILE OK *)
00235 M01S00226.hstcopy +++| ELSE
00236 M01S00227.hstcopy +++| BEGIN (* EMPTY FILE *)
00237 M01S00228.hstcopy +++| MESSAGE(EFMSG);
00238 M01S00229.hstcopy +++| WRITELN(EFMSG);
00239 M01S00230.hstcopy +++| END; (* IF *) (* EMPTY FILE *)
00240 M01S00231.hstcopy +++| END; (* INIT *)
00241 M01S00232.hstcopy +++|(*$L'MAIN PROGRAM.'*)
00242 M01S00233.hstcopy +++|BEGIN (* HSTCOPY *)
00243 M01S00234.hstcopy +++|INIT; (* INITIALIZE HOST COPY *)
00244 M01S00235.hstcopy +++|IF INITOK THEN
00245 M01S00236.hstcopy +++| BEGIN (* INIT OK *)
00246 M01S00237.hstcopy +++| WHILE NOT EOF(FTS) DO
00247 M01S00238.hstcopy +++| BEGIN (* PROCESS FTS RECORD *)
00248 M01S00239.hstcopy +++| CMI := 0; (* READ FTS RECORD *)
00249 M01S00240.hstcopy +++| WHILE (NOT EOS(FTS) AND NOT EOF(FTS)) AND
00250 M01S00241.hstcopy +++| (CMI < CML) DO
00251 M01S00242.hstcopy +++| BEGIN
00252 M01S00243.hstcopy +++| CMI := CMI+1;
00253 M01S00244.hstcopy +++| READ(FTS,BUFF.W[CMI]);
00254 M01S00245.hstcopy +++| END; (* WHILE *)
00255 M01S00246.hstcopy +++| GETSEG(FTS); (* GET NEXT RECORD *)
Line S00247 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00256 M02S00247.ns2421 ---| IF CMI = CML THEN (* 128- OR 512-BYTE RECORD *)
Line S00248 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00257 M02S00248.ns2421 ---| RECNUM := 4
Line S00249 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00258 M02S00249.ns2421 ---| ELSE
Line S00250 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | ns2421 |
Seq # *Modification Id* Act
----------------------------+
00259 M02S00250.ns2421 ---| RECNUM := 1;
00260 M01S00010.ns2421 +++| IF CMI = CML THEN (* ESTABLISH RECORD SIZE *)
00261 M01S00011.ns2421 +++| RECNUM := 64 (* 8192-BYTES *)
00262 M01S00012.ns2421 +++| ELSE
00263 M01S00013.ns2421 +++| BEGIN
00264 M01S00014.ns2421 +++| IF CMI = CMLS THEN
00265 M01S00015.ns2421 +++| RECNUM := 4 (* 512-BYTES *)
00266 M01S00016.ns2421 +++| ELSE
00267 M01S00017.ns2421 +++| RECNUM := 1; (* 128-BYTES *)
00268 M01S00018.ns2421 +++| END;
00269 M01S00251.hstcopy +++| BIT4I := 0; (* XFER FTS RECORD TO NIP *)
00270 M01S00252.hstcopy +++| FOR RECI := 1 TO RECNUM DO
00271 M01S00253.hstcopy +++| BEGIN
00272 M01S00254.hstcopy +++| IF RECRDPI < RECRDPL THEN
00273 M01S00255.hstcopy +++| RECRDPI := RECRDPI + 1
00274 M01S00256.hstcopy +++| ELSE
00275 M01S00257.hstcopy +++| RECRDPI := 1;
00276 M01S00258.hstcopy +++| FOR RECRDI := 1 TO RECRDL DO (* MOVE ONE 128-BYTE RECORD *)
00277 M01S00259.hstcopy +++| BEGIN
00278 M01S00260.hstcopy +++| BIT4I := BIT4I+1;
00279 M01S00261.hstcopy +++| RECRDP[RECRDPI];RECRDI] := BUFF.B4[BIT4I];
00280 M01S00262.hstcopy +++| END; (* FOR *)
00281 M01S00263.hstcopy +++| SYS(RCL); (* WAIT FOR REQUEST DONE *)
00282 M01S00264.hstcopy +++| CNTRLP;RECRDP := RECRDP[RECRDPI];
00283 M01S00265.hstcopy +++| (* REQUEST XHC TO XFER RECRD *)
00284 M01S00266.hstcopy +++| CNTRLP;COMP := FALSE;
00285 M01S00267.hstcopy +++| END; (* FOR *)
00286 M01S00268.hstcopy +++| END; (* WHILE *) (* PROCESS FTS RECORD *)
00287 M01S00269.hstcopy +++| SYS(RCL); (* WAIT FOR REQUEST DONE *)
00288 M01S00270.hstcopy +++| CNTRLP;TERM := TRUE; (* TERMINATE XHC *)
00289 M01S00271.hstcopy +++| CNTRLP;COMP := FALSE;
00290 M01S00272.hstcopy +++| SYS(RCL); (* WAIT FOR TERMINATION *)
00291 M01S00273.hstcopy +++| MESSAGE(LDMSG); (* HOSTCOPY COMPLETE *)
00292 M01S00274.hstcopy +++| WRITELN(LDMSG);
00293 M01S00275.hstcopy +++| END; (* IF *) (* INIT OK *)
00294 M01S00276.hstcopy +++|END. (* HSTCOPY *)
00295 M01S00277.hstcopy +++|*WEOR
00296 M01S00278.hstcopy +++| TTL SYS - ISSUE SYSTEM REQUEST.
00297 M01S00279.hstcopy +++| TITLE SYS - ISSUE SYSTEM REQUEST.
00298 M01S00280.hstcopy +++| IDENT SYS
00299 M01S00281.hstcopy +++| ENTRY SYS
00300 M01S00282.hstcopy +++| SST
00301 M01S00283.hstcopy +++| SYSCOM B1
00302 M01S00284.hstcopy +++|*COMMENT SYS - ISSUE SYSTEM REQUEST.
Line S00285 Modification History |
M01 (Added by) | hstcopy |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00303 M02S00285.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1984.
00304 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00305 M01S00286.hstcopy +++| SYS SPACE 4,10
00306 M01S00287.hstcopy +++|*** SYS - ISSUE SYSTEM REQUEST.
00307 M01S00288.hstcopy +++|*
00308 M01S00289.hstcopy +++|* SYS ALLOWS DIRECT SYSTEM CALLS TO THE OPERATING
00309 M01S00290.hstcopy +++|* SYSTEM. THE REQUEST, IN THE FORM OF AN RA+1 REQUEST,
00310 M01S00291.hstcopy +++|* IS PASSED TO SYS, WHICH IN TURN CALLS SYS=. THIS
00311 M01S00292.hstcopy +++|* IS REQUIRED BECAUSE OF REGISTER DIFFERENCES.
00312 M01S00293.hstcopy +++|*
00313 M01S00294.hstcopy +++|* PASCAL DECLARATION:
00314 M01S00295.hstcopy +++|*
00315 M01S00296.hstcopy +++|* PROCEDURE SYS(VAR REQ : SYSREQ); EXTERN;
00316 M01S00297.hstcopy +++|*
00317 M01S00298.hstcopy +++|* REQ RA+1 REQUEST.
00318 M01S00299.hstcopy +++| SPACE 4,10
00319 M01S00300.hstcopy +++|*** COMMON DECKS.
00320 M01S00301.hstcopy +++|
00321 M01S00302.hstcopy +++|
00322 M01S00303.hstcopy +++|*CALL COMCMAC
00323 M01S00304.hstcopy +++| SPACE 4,10
00324 M01S00305.hstcopy +++|** SYS - ISSUE SYSTEM REQUEST.
00325 M01S00306.hstcopy +++|*
00326 M01S00307.hstcopy +++|* ENTRY (X0) = ADDRESS OF THE REQUEST.
00327 M01S00308.hstcopy +++|*
00328 M01S00309.hstcopy +++|* EXIT REQUEST ISSUED.
00329 M01S00310.hstcopy +++|*
00330 M01S00311.hstcopy +++|* USES A - 4.
00331 M01S00312.hstcopy +++|* X - 4, 6.
00332 M01S00313.hstcopy +++|* B - NONE.
00333 M01S00314.hstcopy +++|*
00334 M01S00315.hstcopy +++|* CALLS SYS=.
00335 M01S00316.hstcopy +++|
00336 M01S00317.hstcopy +++|
00337 M01S00318.hstcopy +++| SYS PS ENTRY/EXIT
00338 M01S00319.hstcopy +++| SA4 X0 GET REQUEST
00339 M01S00320.hstcopy +++| BX6 X4
00340 M01S00321.hstcopy +++| RJ =XSYS=
00341 M01S00322.hstcopy +++| EQ SYS RETURN
00342 M01S00323.hstcopy +++|
00343 M01S00324.hstcopy +++|
00344 M01S00325.hstcopy +++| END
00345 M01S00326.hstcopy +++|*WEOR