SUBROUTINE OREGS(FUNC, OPND, OTYPE, SUBSC, STYPE, BIAS, REG) INTEGER FUNC, OPND, OTYPE, SUBSC, STYPE, BIAS, REG INTEGER NI, NJ, NK INTEGER NSIZE INTEGER NLX, FNLX, REMNLX, OVNLX, TNAME INTEGER NLSTRT, NLSTOP, NLSIZE, SRCHST INTEGER NTSTRT INTEGER NTSTOP INTEGER NTSIZE INTEGER PARFLG INTEGER SPARFL INTEGER NLWRDS INTEGER TX INTEGER NLENO INTEGER STDMD INTEGER MSHIFT INTEGER REGCNT INTEGER NULLX INTEGER STPTRX INTEGER SPMODE INTEGER DPMODE INTEGER SPECMD INTEGER ENFLAG INTEGER DFINED INTEGER CVALUE INTEGER NLXLCI INTEGER ENEXTD INTEGER NAMAT0 INTEGER NAMCON INTEGER NLMODE INTEGER PARBIT INTEGER OPBIT INTEGER LOCALB INTEGER REGBIT INTEGER EXTBIT INTEGER STRBIT INTEGER DPBIT INTEGER CBIT INTEGER PBIT INTEGER EPBIT INTEGER IOBIT INTEGER ARBIT INTEGER EXDBIT INTEGER TPLBIT INTEGER USEBIT INTEGER LCMASK INTEGER MDMASK INTEGER NAMLOC, REGNUM COMMON /NLIST/ NI COMMON /NLIST/ NJ COMMON /NLIST/ NK COMMON /NLIST/ NSIZE COMMON /NLIST/ NLX COMMON /NLIST/ FNLX COMMON /NLIST/ REMNLX COMMON /NLIST/ OVNLX COMMON /NLIST/ TNAME COMMON /NLIST/ NLSTRT COMMON /NLIST/ NLSTOP COMMON /NLIST/ NLSIZE COMMON /NLIST/ SRCHST COMMON /NLIST/ NTSTRT COMMON /NLIST/ NTSTOP COMMON /NLIST/ NTSIZE COMMON /NLIST/ PARFLG COMMON /NLIST/ SPARFL COMMON /NLIST/ NLWRDS COMMON /NLIST/ TX COMMON /NLIST/ NLENO COMMON /NLIST/ STDMD COMMON /NLIST/ MSHIFT COMMON /NLIST/ REGCNT COMMON /NLIST/ NULLX COMMON /NLIST/ STPTRX COMMON /NLIST/ SPMODE COMMON /NLIST/ DPMODE COMMON /NLIST/ SPECMD COMMON /NLIST/ ENFLAG COMMON /NLIST/ DFINED COMMON /NLIST/ CVALUE COMMON /NLIST/ NLXLCI COMMON /NLIST/ ENEXTD COMMON /NLIST/ NAMAT0 COMMON /NLIST/ NAMCON COMMON /NLIST/ NLMODE COMMON /NLIST/ PARBIT COMMON /NLIST/ OPBIT COMMON /NLIST/ LOCALB COMMON /NLIST/ REGBIT COMMON /NLIST/ EXTBIT COMMON /NLIST/ STRBIT COMMON /NLIST/ DPBIT COMMON /NLIST/ CBIT COMMON /NLIST/ PBIT COMMON /NLIST/ EPBIT COMMON /NLIST/ IOBIT COMMON /NLIST/ ARBIT COMMON /NLIST/ EXDBIT COMMON /NLIST/ TPLBIT COMMON /NLIST/ USEBIT COMMON /NLIST/ LCMASK COMMON /NLIST/ MDMASK COMMON /NLIST/ NAMLOC, REGNUM INTEGER ADDR, ADRFLG, CUROP, NEXTOP, CFLAG INTEGER PI, XBBL, XA, XF, XZERO, DPVFLG INTEGER LC, LCI, LODLCI, LODLCV, LDLCVO, MAXLCV INTEGER NEXT, NUMBER, I, IOTYPE INTEGER J, K, L, LABNLX, M, N INTEGER PSYMB, SYMBOL, TOP, VALFLG, QVALUE INTEGER OPTOPX, OPNXTX, TOPX, NEXTX INTEGER DUMMY, OVCHN, PEEKS INTEGER LO, CI, CO, LOGICF, LOCSUP INTEGER VAREF, INPUTJ, LCTS, CRUCNT, FLTCNT INTEGER ICLP05 LOGICAL ENDOK,CONEND COMMON /LOGOS/ ADDR, ADRFLG, CUROP, NEXTOP, CFLAG COMMON /LOGOS/ PI, XBBL, XA, XF, XZERO, DPVFLG COMMON /LOGOS/ LC, LCI, LODLCI, LODLCV, LDLCVO, MAXLCV COMMON /LOGOS/ NEXT, NUMBER, I, IOTYPE COMMON /LOGOS/ J, K, L, LABNLX, M, N COMMON /LOGOS/ PSYMB, SYMBOL, TOP, VALFLG, QVALUE COMMON /LOGOS/ OPTOPX, OPNXTX, TOPX, NEXTX COMMON /LOGOS/ DUMMY, OVCHN, PEEKS COMMON /LOGOS/ LO, CI, CO, LOGICF, LOCSUP COMMON /LOGOS/ VAREF, INPUTJ, LCTS, CRUCNT, FLTCNT COMMON /LOGOS/ ICLP05 COMMON /LOGOS/ ENDOK,CONEND INTEGER ACADDR (11), ACTYPE (11), ACSUBS (11) INTEGER ACSBTY (11), ACBIAS (11) INTEGER REGSTK(120) COMMON /RMCOM/ ACADDR, ACTYPE, ACSUBS, ACSBTY, ACBIAS COMMON /RMCOM/ REGSTK INTEGER WF1,WF2,WF3,WF4,WF5,WF6,WF7,WF8,WF9,WF10,WF11,WF12,WF13,W 1F14,WF15,WF16,WF17 INTEGER ICLP16 COMMON / WF / WF1,WF2,WF3,WF4,WF5,WF6,WF7,WF8,WF9,WF10,WF11,WF12 1,WF13,WF14,WF15,WF16,WF17 COMMON / WF / ICLP16 INTEGER AREG, XREG, YREG, NRREGS INTEGER STATUS (10), STAREG, STXREG, STYREG INTEGER REGS (10) INTEGER ACTREG (2), ACTLO, ACTHI INTEGER NZREG INTEGER ICLP10 COMMON / REGS / AREG, XREG, YREG, NRREGS COMMON / REGS / STATUS, REGS, ACTREG, NZREG COMMON / REGS / ICLP10 EQUIVALENCE (ACTLO, ACTREG (1)) EQUIVALENCE (ACTHI, ACTREG (2)) EQUIVALENCE (STAREG, STATUS (1)) EQUIVALENCE (STXREG, STATUS (2)) EQUIVALENCE (STYREG, STATUS (3)) INTEGER MODE, SBIAS, DBIAS INTEGER REGLO, REGHI LOGICAL NLTEST CALL REGDMP (FUNC) GO TO (100, 200, 300, 400, 500, 600, 700), FUNC 100 REGLO = AREG REGHI = NZREG-1 GO TO 8000 200 REGLO = AREG REGHI = YREG GO TO 8000 300 REGLO = 4 REGHI = NRREGS GO TO 8000 400 REGLO = NZREG REGHI = NZREG GO TO 8000 500 DO 13000 REGLO = AREG, NZREG IF ((OPND .EQ. ACADDR(REGLO) .AND. ACTYPE(REGLO) .NE. ADRFLG) . 1OR. (ACSUBS(REGLO) .EQ. OPND .AND. ACSBTY(REGLO) .NE. ADRFLG)) ACA 1DDR(REGLO) = 0 13000 CONTINUE GO TO 9000 600 ACADDR (REG) = 0 IF (OTYPE .EQ. DPMODE .AND. REG .LE. YREG) GO TO 9000 IF (OPND .EQ. 0) GO TO 9000 IF (NLTEST (OPND, REGBIT)) GO TO 9000 IF (.NOT. (SUBSC .NE. 0))GO TO 13002 IF (NLTEST (SUBSC, REGBIT)) GO TO 9000 13002 CONTINUE ACADDR(REG) = OPND ACTYPE(REG) = OTYPE ACSUBS(REG) = SUBSC ACSBTY(REG) = STYPE ACBIAS(REG) = BIAS GO TO 9000 700 IF (.NOT. (OPND .EQ. 160))GO TO 13004 MODE = ADRFLG GO TO 13005 13004 CONTINUE MODE = SPMODE 13005 CONTINUE SBIAS = BIAS IF (.NOT. ((ACADDR(YREG) .EQ. SUBSC) .AND. ACTYPE(YREG) .EQ. MODE 1 .AND. ACSUBS(YREG) .EQ. 0))GO TO 13006 DBIAS = BIAS-ACBIAS(YREG) IF (.NOT. (DBIAS .EQ. 1))GO TO 13008 OTYPE = WF4 BIAS = 0 OPND = 200 GO TO 13009 13008 CONTINUE IF (.NOT. (DBIAS .EQ. -1))GO TO 13010 OTYPE = WF4 BIAS = 0 OPND = 136 GO TO 13011 13010 CONTINUE IF (DBIAS .EQ. 0) OPND = -1 13011 CONTINUE 13009 CONTINUE 13006 CONTINUE ACADDR(YREG) = SUBSC ACTYPE(YREG) = MODE ACSUBS(YREG) = 0 ACSBTY(YREG) = SPMODE ACBIAS(YREG) = SBIAS GO TO 9000 8000 DO 13012 REG = REGLO, REGHI IF (ACADDR(REG) .EQ. OPND .AND. ACTYPE(REG) .EQ. OTYPE .AND. ACSUB 1S(REG) .EQ. SUBSC .AND. ACSBTY(REG) .EQ. STYPE .AND. ACBIAS(REG) . 1EQ. BIAS) GO TO 9000 13012 CONTINUE REG = 0 9000 CALL REGDMP (REG) RETURN END