FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 001 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0001 SUBROUTINE TERSEQ(OPERAT,PARM1,PARM2) 0002 INTEGER OPERAT 0003 INTEGER PARM1 0004 INTEGER PARM2 0005 INTEGER IPARAM(6) 0006 INTEGER IOWBT 0007 INTEGER IOWLB 0008 INTEGER IOATT 0009 INTEGER IODET 0010 INTEGER IDS 0011 BYTE PIC(30) 0012 INTEGER PICLEN 0013 INTEGER I 0014 INTEGER J 0015 INTEGER K 0016 INTEGER L 0017 DATA IOWBT/"000500/ 0018 DATA IOWLB/"000400/ 0019 DATA IOATT/"001400/ 0020 DATA IODET/"002000/ 0021 PIC(1)="33 0022 PIC(2)="133 0023 PIC(3)="77 0024 CALL GETADR(IPARAM(1),PIC(1)) 0025 IPARAM(3)=0 0026 IF (.NOT.(OPERAT.EQ.100)) GOTO 30002 0028 CALL WTQIO(IOATT,5,1,,,,IDS) 0029 IF (IDS.NE.1) STOP 'WTQIO ATTACH ERROR' 0031 RETURN 0032 GOTO 30001 0033 30002 CONTINUE 0034 IF (.NOT.(OPERAT.EQ.101)) GOTO 30003 0036 CALL WTQIO(IODET,5,1,,,,IDS) 0037 IF (IDS.NE.1) STOP 'WTQIO DETACH ERROR' 0039 RETURN 0040 GOTO 30001 0041 30003 CONTINUE 0042 IF (.NOT.(OPERAT.LE.11)) GOTO 30004 0044 PICLEN=1 0045 IF (.NOT.(OPERAT.LE.1)) GOTO 30006 0047 CHECK=.FALSE. 0048 GOTO 30005 0049 30006 CONTINUE 0050 IF (.NOT.(OPERAT.LE.5)) GOTO 30007 0052 PIC(1)=OPERAT+5 0053 GOTO 30005 0054 30007 CONTINUE 0055 IF (.NOT.(OPERAT.LE.8)) GOTO 30008 0057 PIC(1)=OPERAT+7 0058 GOTO 30005 0059 30008 CONTINUE 0060 IF (.NOT.(OPERAT.EQ.12)) GOTO 30009 0062 PIC(1)=3 0063 GOTO 30005 FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 002 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0064 30009 CONTINUE 0065 STOP 'ILLEGAL OPERAT' 0066 30005 CONTINUE 0067 GOTO 30001 0068 30004 CONTINUE 0069 IF (.NOT.(OPERAT.LE.24)) GOTO 30010 0071 PICLEN=2 0072 IF (.NOT.(OPERAT.EQ.12)) GOTO 30012 0074 PIC(2)='c' 0075 GOTO 30011 0076 30012 CONTINUE 0077 IF (.NOT.(OPERAT.EQ.13)) GOTO 30013 0079 PIC(2)='E' 0080 GOTO 30011 0081 30013 CONTINUE 0082 IF (.NOT.(OPERAT.EQ.14)) GOTO 30014 0084 PIC(2)='H' 0085 GOTO 30011 0086 30014 CONTINUE 0087 IF (.NOT.(OPERAT.EQ.15)) GOTO 30015 0089 PIC(2)='M' 0090 GOTO 30011 0091 30015 CONTINUE 0092 IF (.NOT.(OPERAT.EQ.16)) GOTO 30016 0094 PIC(2)='W' 0095 GOTO 30011 0096 30016 CONTINUE 0097 IF (.NOT.(OPERAT.EQ.17)) GOTO 30017 0099 PIC(2)='X' 0100 GOTO 30011 0101 30017 CONTINUE 0102 IF (.NOT.(OPERAT.EQ.18)) GOTO 30018 0104 PIC(2)='^' 0105 GOTO 30011 0106 30018 CONTINUE 0107 IF (.NOT.(OPERAT.EQ.19)) GOTO 30019 0109 CHECK=.FALSE. 0110 GOTO 30011 0111 30019 CONTINUE 0112 IF (.NOT.(OPERAT.EQ.20)) GOTO 30020 0114 PIC(2)='=' 0115 GOTO 30011 0116 30020 CONTINUE 0117 IF (.NOT.(OPERAT.EQ.21)) GOTO 30021 0119 PIC(2)='>' 0120 GOTO 30011 0121 30021 CONTINUE 0122 IF (.NOT.(OPERAT.EQ.22)) GOTO 30022 0124 PIC(2)=']' 0125 GOTO 30011 0126 30022 CONTINUE 0127 IF (.NOT.(OPERAT.EQ.23)) GOTO 30023 0129 PIC(2)='7' 0130 GOTO 30011 FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 003 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0131 30023 CONTINUE 0132 IF (.NOT.(OPERAT.EQ.24)) GOTO 30024 0134 PIC(2)='8' 0135 30024 CONTINUE 0136 30011 CONTINUE 0137 GOTO 30001 0138 30010 CONTINUE 0139 IF (.NOT.(OPERAT.EQ.25)) GOTO 30025 0141 STOP 'ILLEGAL OPERAT' 0142 GOTO 30001 0143 30025 CONTINUE 0144 IF (.NOT.(OPERAT.EQ.26)) GOTO 30026 0146 STOP 'ILLEGAL OPERAT' 0147 GOTO 30001 0148 30026 CONTINUE 0149 IF (.NOT.(OPERAT.LE.32)) GOTO 30027 0151 PIC(2)='#' 0152 PIC(3)='1'+OPERAT-27 0153 PICLEN=3 0154 GOTO 30001 0155 30027 CONTINUE 0156 IF (.NOT.(OPERAT.EQ.33)) GOTO 30028 0158 STOP 'ILLEGAL OPERAT' 0159 GOTO 30001 0160 30028 CONTINUE 0161 IF (.NOT.(OPERAT.LE.43)) GOTO 30029 0163 PICLEN=3 0164 IF (.NOT.(OPERAT.LE.38)) GOTO 30031 0166 PIC(2)='(' 0167 IF (.NOT.(OPERAT.LE.35)) GOTO 30033 0169 PIC(3)='A'+OPERAT-34 0170 GOTO 30032 0171 30033 CONTINUE 0172 PIC(3)='0'+OPERAT-36 0173 30032 CONTINUE 0174 GOTO 30030 0175 30031 CONTINUE 0176 PIC(2)=')' 0177 IF (.NOT.(OPERAT.LE.40)) GOTO 30035 0179 PIC(3)='A'+OPERAT-39 0180 GOTO 30034 0181 30035 CONTINUE 0182 PIC(3)='0'+OPERAT-41 0183 30034 CONTINUE 0184 30030 CONTINUE 0185 GOTO 30001 0186 30029 CONTINUE 0187 IF (.NOT.(OPERAT.LE.47)) GOTO 30036 0189 PICLEN=4 0190 IF (.NOT.(PARM1.GT.999.OR.PARM1.LT.1)) GOTO 30038 0192 CHECK=.FALSE. 0193 GOTO 30037 0194 30038 CONTINUE 0195 IF (.NOT.(PARM1.GT.99)) GOTO 30039 FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 004 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0197 PICLEN=6 0198 PIC(3)='0'+PARM1/100 0199 PARM1=PARM1-100*(PARM1/100) 0200 PIC(4)='0'+PARM1/10 0201 GOTO 30037 0202 30039 CONTINUE 0203 IF (.NOT.(PARM1.GT.9)) GOTO 30040 0205 PICLEN=5 0206 PIC(3)='0'+PARM1/10 0207 30040 CONTINUE 0208 30037 CONTINUE 0209 PIC(PICLEN-1)='0'+PARM1-10*(PARM1/10) 0210 PIC(PICLEN)='A'+OPERAT-44 0211 GOTO 30001 0212 30036 CONTINUE 0213 IF (.NOT.(OPERAT.EQ.48.OR.OPERAT.EQ.68)) GOTO 30041 0215 J=3 0216 IF (.NOT.(PARM1.LT.1.OR.PARM1.GT.25)) GOTO 30043 0218 CHECK=.FALSE. 0219 GOTO 30042 0220 30043 CONTINUE 0221 IF (.NOT.(PARM2.GT.132.AND.OPERAT.EQ.48)) GOTO 30044 0223 CHECK=.FALSE. 0224 GOTO 30042 0225 30044 CONTINUE 0226 IF (.NOT.(PARM2.GT.25.AND.OPERAT.EQ.68)) GOTO 30045 0228 CHECK=.FALSE. 0229 GOTO 30042 0230 30045 CONTINUE 0231 IF (.NOT.(PARM2.LT.1)) GOTO 30046 0233 CHECK=.FALSE. 0234 GOTO 30042 0235 30046 CONTINUE 0236 IF (.NOT.(PARM1.GT.9)) GOTO 30047 0238 J=J+1 0239 PIC(3)='0'+PARM1/10 0240 30047 CONTINUE 0241 30042 CONTINUE 0242 PIC(J)='0'+PARM1-10*(PARM1/10) 0243 PIC(J+1)=';' 0244 J=J+2 0245 IF (.NOT.(PARM2.GT.99)) GOTO 30049 0247 PIC(J)='0'+PARM2/100 0248 PARM2=PARM2-100*(PARM2/100) 0249 PIC(J+1)='0'+PARM2/10 0250 J=J+2 0251 GOTO 30048 0252 30049 CONTINUE 0253 IF (.NOT.(PARM2.GT.9)) GOTO 30050 0255 PIC(J)='0'+PARM2/10 0256 J=J+1 0257 30050 CONTINUE 0258 30048 CONTINUE 0259 PIC(J)='0'+PARM2-10*(PARM2/10) FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 005 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0260 IF (.NOT.(OPERAT.EQ.48)) GOTO 30052 0262 PIC(J+1)='H' 0263 GOTO 30051 0264 30052 CONTINUE 0265 PIC(J+1)='r' 0266 30051 CONTINUE 0267 PICLEN=J+1 0268 GOTO 30001 0269 30041 CONTINUE 0270 IF (.NOT.(OPERAT.EQ.49)) GOTO 30053 0272 PICLEN=4 0273 PIC(3)='0' 0274 PIC(4)='g' 0275 GOTO 30001 0276 30053 CONTINUE 0277 IF (.NOT.(OPERAT.LE.55)) GOTO 30054 0279 PICLEN=4 0280 IF (.NOT.(OPERAT.LE.52)) GOTO 30056 0282 PIC(4)='J' 0283 PIC(3)='0'+OPERAT-50 0284 GOTO 30055 0285 30056 CONTINUE 0286 PIC(4)='K' 0287 PIC(3)='0'+OPERAT-53 0288 30055 CONTINUE 0289 GOTO 30001 0290 30054 CONTINUE 0291 IF (.NOT.(OPERAT.EQ.56)) GOTO 30057 0293 PICLEN=4 0294 PIC(3)='3' 0295 PIC(4)='g' 0296 GOTO 30001 0297 30057 CONTINUE 0298 IF (.NOT.(OPERAT.LE.58)) GOTO 30058 0300 PICLEN=5 0301 PIC(3)='2' 0302 PIC(4)='0' 0303 PIC(5)='h' 0304 IF (OPERAT.EQ.58) PIC(5)='l' 0306 GOTO 30001 0307 30058 CONTINUE 0308 IF (.NOT.(OPERAT.LE.63)) GOTO 30059 0310 PICLEN=4 0311 PIC(4)='m' 0312 PIC(3)='0'+OPERAT-59 0313 IF (OPERAT.EQ.63) PIC(3)=PIC(3)+1 0315 IF (OPERAT.GE.61) PIC(3)=PIC(3)+2 0317 GOTO 30001 0318 30059 CONTINUE 0319 IF (.NOT.(OPERAT.LE.65)) GOTO 30060 0321 STOP 'ILLEGAL OPERAT' 0322 GOTO 30001 0323 30060 CONTINUE 0324 IF (.NOT.(OPERAT.LE.67)) GOTO 30061 FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 006 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0326 PICLEN=4 0327 PIC(4)='q' 0328 PIC(3)='0' 0329 IF (.NOT.(OPERAT.EQ.67)) GOTO 30063 0331 IF (.NOT.(PARM1.GT.5.OR.PARM1.LT.1)) GOTO 30065 0333 STOP 'ILLEGAL OPERAT' 0334 GOTO 30064 0335 30065 CONTINUE 0336 PIC(3)='0'+PARM1 0337 30064 CONTINUE 0338 30063 CONTINUE 0339 GOTO 30001 0340 30061 CONTINUE 0341 IF (.NOT.(OPERAT.EQ.68)) GOTO 30066 0343 GOTO 30001 0344 30066 CONTINUE 0345 IF (.NOT.(OPERAT.LE.70)) GOTO 30067 0347 STOP 'ILLEGAL OPERAT' 0348 GOTO 30001 0349 30067 CONTINUE 0350 IF (.NOT.(OPERAT.LE.84)) GOTO 30068 0352 PICLEN=5 0353 PIC(5)='l' 0354 IF (MOD(OPERAT,2).NE.0) PIC(5)='h' 0356 IF (.NOT.(OPERAT.LE.72)) GOTO 30070 0358 PIC(4)='1' 0359 GOTO 30069 0360 30070 CONTINUE 0361 IF (.NOT.(OPERAT.EQ.73)) GOTO 30071 0363 PIC(4)='2' 0364 PIC(5)='l' 0365 GOTO 30069 0366 30071 CONTINUE 0367 IF (.NOT.(OPERAT.EQ.74)) GOTO 30072 0369 PIC(4)='3' 0370 PIC(5)='h' 0371 GOTO 30069 0372 30072 CONTINUE 0373 PIC(4)='4'+(OPERAT-75)/2 0374 30069 CONTINUE 0375 GOTO 30001 0376 30068 CONTINUE 0377 IF (.NOT.(OPERAT.EQ.85)) GOTO 30073 0379 PICLEN=3 0380 PIC(3)='H' 0381 GOTO 30001 0382 30073 CONTINUE 0383 IF (.NOT.(OPERAT.EQ.86)) GOTO 30074 0385 PICLEN=2 0386 PIC(2)='<' 0387 GOTO 30001 0388 30074 CONTINUE 0389 IF (.NOT.(OPERAT.EQ.87)) GOTO 30075 0391 PICLEN=5 FORTRAN IV V02.5-11 FRI 22-JUL-88 02:52:32 PAGE 007 SC:TERSEQ,SC:TERSEQ.FLS/LI:3/-SP=SC:TERSEQ 0392 PIC(4)='3' 0393 PIC(5)='l' 0394 GOTO 30001 0395 30075 CONTINUE 0396 STOP 'ILLEGAL OPERAT' 0397 30001 CONTINUE 0398 IPARAM(2)=PICLEN 0399 CALL WTQIO(IOWLB,5,1,,,IPARAM,IDS) 0400 IF (.NOT.(IDS.NE.1)) GOTO 30077 0402 STOP 'TERSEQ WTQIO IDS ERROR' 0403 30077 CONTINUE 0404 RETURN 0405 END FORTRAN IV STORAGE MAP FOR PROGRAM UNIT TERSEQ LOCAL VARIABLES, .PSECT $DATA, SIZE = 000114 ( 38. WORDS) NAME TYPE OFFSET NAME TYPE OFFSET NAME TYPE OFFSET CHECK R*4 000104 I I*2 000074 IDS I*2 000070 IOATT I*2 000064 IODET I*2 000066 IOWBT I*2 000060 IOWLB I*2 000062 J I*2 000076 K I*2 000100 L I*2 000102 OPERAT I*2 @ 000000 PARM1 I*2 @ 000002 PARM2 I*2 @ 000004 PICLEN I*2 000072 LOCAL AND COMMON ARRAYS: NAME TYPE SECTION OFFSET ------SIZE----- DIMENSIONS IPARAM I*2 $DATA 000006 000014 ( 6.) (6) PIC L*1 $DATA 000022 000036 ( 15.) (30) SUBROUTINES, FUNCTIONS, STATEMENT AND PROCESSOR-DEFINED FUNCTIONS: NAME TYPE NAME TYPE NAME TYPE NAME TYPE NAME TYPE GETADR R*4 MOD I*2 WTQIO R*4