SUBROUTINE TERSEQ(OPERAT,PARM1,PARM2) INTEGER OPERAT INTEGER PARM1 INTEGER PARM2 INTEGER IPARAM(6) INTEGER IOWBT INTEGER IOWLB INTEGER IOATT INTEGER IODET INTEGER IDS BYTE PIC(30) INTEGER PICLEN INTEGER I INTEGER J INTEGER K INTEGER L DATA IOWBT/"000500/ DATA IOWLB/"000400/ DATA IOATT/"001400/ DATA IODET/"002000/ PIC(1)="33 PIC(2)="133 PIC(3)="77 CALL GETADR(IPARAM(1),PIC(1)) IPARAM(3)=0 IF (.NOT.(OPERAT.EQ.100)) GOTO 30002 CALL WTQIO(IOATT,5,1,,,,IDS) IF (IDS.NE.1) STOP 'WTQIO ATTACH ERROR' RETURN GOTO 30001 30002 CONTINUE IF (.NOT.(OPERAT.EQ.101)) GOTO 30003 CALL WTQIO(IODET,5,1,,,,IDS) IF (IDS.NE.1) STOP 'WTQIO DETACH ERROR' RETURN GOTO 30001 30003 CONTINUE IF (.NOT.(OPERAT.LE.11)) GOTO 30004 PICLEN=1 IF (.NOT.(OPERAT.LE.1)) GOTO 30006 CHECK=.FALSE. GOTO 30005 30006 CONTINUE IF (.NOT.(OPERAT.LE.5)) GOTO 30007 PIC(1)=OPERAT+5 GOTO 30005 30007 CONTINUE IF (.NOT.(OPERAT.LE.8)) GOTO 30008 PIC(1)=OPERAT+7 GOTO 30005 30008 CONTINUE IF (.NOT.(OPERAT.EQ.12)) GOTO 30009 PIC(1)=3 GOTO 30005 30009 CONTINUE STOP 'ILLEGAL OPERAT' 30005 CONTINUE GOTO 30001 30004 CONTINUE IF (.NOT.(OPERAT.LE.24)) GOTO 30010 PICLEN=2 IF (.NOT.(OPERAT.EQ.12)) GOTO 30012 PIC(2)='c' GOTO 30011 30012 CONTINUE IF (.NOT.(OPERAT.EQ.13)) GOTO 30013 PIC(2)='E' GOTO 30011 30013 CONTINUE IF (.NOT.(OPERAT.EQ.14)) GOTO 30014 PIC(2)='H' GOTO 30011 30014 CONTINUE IF (.NOT.(OPERAT.EQ.15)) GOTO 30015 PIC(2)='M' GOTO 30011 30015 CONTINUE IF (.NOT.(OPERAT.EQ.16)) GOTO 30016 PIC(2)='W' GOTO 30011 30016 CONTINUE IF (.NOT.(OPERAT.EQ.17)) GOTO 30017 PIC(2)='X' GOTO 30011 30017 CONTINUE IF (.NOT.(OPERAT.EQ.18)) GOTO 30018 PIC(2)='^' GOTO 30011 30018 CONTINUE IF (.NOT.(OPERAT.EQ.19)) GOTO 30019 CHECK=.FALSE. GOTO 30011 30019 CONTINUE IF (.NOT.(OPERAT.EQ.20)) GOTO 30020 PIC(2)='=' GOTO 30011 30020 CONTINUE IF (.NOT.(OPERAT.EQ.21)) GOTO 30021 PIC(2)='>' GOTO 30011 30021 CONTINUE IF (.NOT.(OPERAT.EQ.22)) GOTO 30022 PIC(2)=']' GOTO 30011 30022 CONTINUE IF (.NOT.(OPERAT.EQ.23)) GOTO 30023 PIC(2)='7' GOTO 30011 30023 CONTINUE IF (.NOT.(OPERAT.EQ.24)) GOTO 30024 PIC(2)='8' 30024 CONTINUE 30011 CONTINUE GOTO 30001 30010 CONTINUE IF (.NOT.(OPERAT.EQ.25)) GOTO 30025 STOP 'ILLEGAL OPERAT' GOTO 30001 30025 CONTINUE IF (.NOT.(OPERAT.EQ.26)) GOTO 30026 STOP 'ILLEGAL OPERAT' GOTO 30001 30026 CONTINUE IF (.NOT.(OPERAT.LE.32)) GOTO 30027 PIC(2)='#' PIC(3)='1'+OPERAT-27 PICLEN=3 GOTO 30001 30027 CONTINUE IF (.NOT.(OPERAT.EQ.33)) GOTO 30028 STOP 'ILLEGAL OPERAT' GOTO 30001 30028 CONTINUE IF (.NOT.(OPERAT.LE.43)) GOTO 30029 PICLEN=3 IF (.NOT.(OPERAT.LE.38)) GOTO 30031 PIC(2)='(' IF (.NOT.(OPERAT.LE.35)) GOTO 30033 PIC(3)='A'+OPERAT-34 GOTO 30032 30033 CONTINUE PIC(3)='0'+OPERAT-36 30032 CONTINUE GOTO 30030 30031 CONTINUE PIC(2)=')' IF (.NOT.(OPERAT.LE.40)) GOTO 30035 PIC(3)='A'+OPERAT-39 GOTO 30034 30035 CONTINUE PIC(3)='0'+OPERAT-41 30034 CONTINUE 30030 CONTINUE GOTO 30001 30029 CONTINUE IF (.NOT.(OPERAT.LE.47)) GOTO 30036 PICLEN=4 IF (.NOT.(PARM1.GT.999.OR.PARM1.LT.1)) GOTO 30038 CHECK=.FALSE. GOTO 30037 30038 CONTINUE IF (.NOT.(PARM1.GT.99)) GOTO 30039 PICLEN=6 PIC(3)='0'+PARM1/100 PARM1=PARM1-100*(PARM1/100) PIC(4)='0'+PARM1/10 GOTO 30037 30039 CONTINUE IF (.NOT.(PARM1.GT.9)) GOTO 30040 PICLEN=5 PIC(3)='0'+PARM1/10 30040 CONTINUE 30037 CONTINUE PIC(PICLEN-1)='0'+PARM1-10*(PARM1/10) PIC(PICLEN)='A'+OPERAT-44 GOTO 30001 30036 CONTINUE IF (.NOT.(OPERAT.EQ.48.OR.OPERAT.EQ.68)) GOTO 30041 J=3 IF (.NOT.(PARM1.LT.1.OR.PARM1.GT.25)) GOTO 30043 CHECK=.FALSE. GOTO 30042 30043 CONTINUE IF (.NOT.(PARM2.GT.132.AND.OPERAT.EQ.48)) GOTO 30044 CHECK=.FALSE. GOTO 30042 30044 CONTINUE IF (.NOT.(PARM2.GT.25.AND.OPERAT.EQ.68)) GOTO 30045 CHECK=.FALSE. GOTO 30042 30045 CONTINUE IF (.NOT.(PARM2.LT.1)) GOTO 30046 CHECK=.FALSE. GOTO 30042 30046 CONTINUE IF (.NOT.(PARM1.GT.9)) GOTO 30047 J=J+1 PIC(3)='0'+PARM1/10 30047 CONTINUE 30042 CONTINUE PIC(J)='0'+PARM1-10*(PARM1/10) PIC(J+1)=';' J=J+2 IF (.NOT.(PARM2.GT.99)) GOTO 30049 PIC(J)='0'+PARM2/100 PARM2=PARM2-100*(PARM2/100) PIC(J+1)='0'+PARM2/10 J=J+2 GOTO 30048 30049 CONTINUE IF (.NOT.(PARM2.GT.9)) GOTO 30050 PIC(J)='0'+PARM2/10 J=J+1 30050 CONTINUE 30048 CONTINUE PIC(J)='0'+PARM2-10*(PARM2/10) IF (.NOT.(OPERAT.EQ.48)) GOTO 30052 PIC(J+1)='H' GOTO 30051 30052 CONTINUE PIC(J+1)='r' 30051 CONTINUE PICLEN=J+1 GOTO 30001 30041 CONTINUE IF (.NOT.(OPERAT.EQ.49)) GOTO 30053 PICLEN=4 PIC(3)='0' PIC(4)='g' GOTO 30001 30053 CONTINUE IF (.NOT.(OPERAT.LE.55)) GOTO 30054 PICLEN=4 IF (.NOT.(OPERAT.LE.52)) GOTO 30056 PIC(4)='J' PIC(3)='0'+OPERAT-50 GOTO 30055 30056 CONTINUE PIC(4)='K' PIC(3)='0'+OPERAT-53 30055 CONTINUE GOTO 30001 30054 CONTINUE IF (.NOT.(OPERAT.EQ.56)) GOTO 30057 PICLEN=4 PIC(3)='3' PIC(4)='g' GOTO 30001 30057 CONTINUE IF (.NOT.(OPERAT.LE.58)) GOTO 30058 PICLEN=5 PIC(3)='2' PIC(4)='0' PIC(5)='h' IF (OPERAT.EQ.58) PIC(5)='l' GOTO 30001 30058 CONTINUE IF (.NOT.(OPERAT.LE.63)) GOTO 30059 PICLEN=4 PIC(4)='m' PIC(3)='0'+OPERAT-59 IF (OPERAT.EQ.63) PIC(3)=PIC(3)+1 IF (OPERAT.GE.61) PIC(3)=PIC(3)+2 GOTO 30001 30059 CONTINUE IF (.NOT.(OPERAT.LE.65)) GOTO 30060 STOP 'ILLEGAL OPERAT' GOTO 30001 30060 CONTINUE IF (.NOT.(OPERAT.LE.67)) GOTO 30061 PICLEN=4 PIC(4)='q' PIC(3)='0' IF (.NOT.(OPERAT.EQ.67)) GOTO 30063 IF (.NOT.(PARM1.GT.5.OR.PARM1.LT.1)) GOTO 30065 STOP 'ILLEGAL OPERAT' GOTO 30064 30065 CONTINUE PIC(3)='0'+PARM1 30064 CONTINUE 30063 CONTINUE GOTO 30001 30061 CONTINUE IF (.NOT.(OPERAT.EQ.68)) GOTO 30066 GOTO 30001 30066 CONTINUE IF (.NOT.(OPERAT.LE.70)) GOTO 30067 STOP 'ILLEGAL OPERAT' GOTO 30001 30067 CONTINUE IF (.NOT.(OPERAT.LE.84)) GOTO 30068 PICLEN=5 PIC(5)='l' IF (MOD(OPERAT,2).NE.0) PIC(5)='h' IF (.NOT.(OPERAT.LE.72)) GOTO 30070 PIC(4)='1' GOTO 30069 30070 CONTINUE IF (.NOT.(OPERAT.EQ.73)) GOTO 30071 PIC(4)='2' PIC(5)='l' GOTO 30069 30071 CONTINUE IF (.NOT.(OPERAT.EQ.74)) GOTO 30072 PIC(4)='3' PIC(5)='h' GOTO 30069 30072 CONTINUE PIC(4)='4'+(OPERAT-75)/2 30069 CONTINUE GOTO 30001 30068 CONTINUE IF (.NOT.(OPERAT.EQ.85)) GOTO 30073 PICLEN=3 PIC(3)='H' GOTO 30001 30073 CONTINUE IF (.NOT.(OPERAT.EQ.86)) GOTO 30074 PICLEN=2 PIC(2)='<' GOTO 30001 30074 CONTINUE IF (.NOT.(OPERAT.EQ.87)) GOTO 30075 PICLEN=5 PIC(4)='3' PIC(5)='l' GOTO 30001 30075 CONTINUE STOP 'ILLEGAL OPERAT' 30001 CONTINUE IPARAM(2)=PICLEN CALL WTQIO(IOWLB,5,1,,,IPARAM,IDS) IF (.NOT.(IDS.NE.1)) GOTO 30077 STOP 'TERSEQ WTQIO IDS ERROR' 30077 CONTINUE RETURN END