INTEGER FUNCTION MATCH(COMAND) C C Identify Escape Sequences supported in ESCC by returning a subscript C value pointing into the array of possibilities. Negative values C indicate identification of TXTWRT program directives. A value of zero C means no match could be made. C ESCC subroutine names are sorted in RAD50 order rather than ASCII! C REAL ESCSEQ(79),DRCTVE(2),COMAND INTEGER HIGH,LOW,MID,LMID DATA ESCSEQ /6RALIGND,6RANSI ,6RBIGBOT,6RBIGTOP,6RCLRALL, # 6RCLRBEG,6RCLRBOT,6RCLREND,6RCLRLIN,6RCLRTOP,6RCRLF ,6RCUB , # 6RCUD ,6RCUF ,6RCUP ,6RCUU ,6RDCSDIF,6RDCS105,6RDCS125, # 6RDWL ,6RGIMOAP,6RGIMOHC,6RGPOFF ,6RGPON ,6RHPA ,6RHPR , # 6RHRDCPY,6RHTBCLA,6RHTBCLC,6RHTBSTC,6RHTBSTS,6RIND ,6RKPAM , # 6RKPNM ,6RLLEDS ,6RLNEFDM,6RMDCPY ,6RNEL ,6RNWLNEM,6RPLD , # 6RPLU ,6RRESCUR,6RRGSTRM,6RRI ,6RRIS ,6RRM ,6RRPTCP , # 6RRPTDS ,6RRPTID ,6RSAVCUR,6RSCSAL1,6RSCSAL2,6RSCSFIN,6RSCSFRA, # 6RSCSGER,6RSCSGRF,6RSCSNOR,6RSCSQUE,6RSCSSWE,6RSCSUK ,6RSCSUSA, # 6RSCS0 ,6RSCS1 ,6RSETLPP,6RSETLRM,6RSETTBM,6RSGR ,6RSHPTCH, # 6RSM ,6RSS2 ,6RSS3 ,6RSVPTCH,6RSWL ,6RVPA ,6RVPR , # 6RVTBCLA,6RVTBCLC,6RVTBSTC,6RVTBSTS/ DATA DRCTVE/6R$REPT ,6R$ENDR / LOW = 1 HIGH = 80 ! #escape sequences plus one MATCH = 0 ! Assume failure MID = 0 ! Must preset workspace 10 LMID = MID MID = (HIGH-LOW)/2 + LOW IF(MID .EQ. LMID) GO TO 50 IF(KMP2WU(COMAND,ESCSEQ(MID))) 20,40,30 20 HIGH = MID GO TO 10 30 LOW = MID GO TO 10 40 MATCH = MID RETURN 50 DO 1000 I = 1,2 IF(KMP2WU(COMAND,DRCTVE(I)) .EQ. 0) GO TO 60 1000 CONTINUE RETURN 60 MATCH = -I RETURN END