      INTEGER FUNCTION RESOL0(NAME,BASE,OFFSET)
      INTEGER NAME(1),BASE,OFFSET
      INTEGER ENEXT0
      INTEGER EMEMA0(4096)
      COMMON /ENTCOM/ENEXT0,EMEMA0
      INTEGER PTR,I,J,OBJID,LOOKV0,AD(5)
      PTR=EMEMA0(1)
      IF((PTR.EQ.0))GOTO 10000
        I=1
        J=PTR+1
        GOTO 10003
10001   I=I+(1)
        J=J+(1)
10003   IF((I.GT.33))GOTO 10002
          NAME(I)=EMEMA0(J)
        GOTO 10001
10002   OBJID=EMEMA0(PTR+1+33)
        IF((LOOKV0(OBJID,AD).NE.0))GOTO 10004
          CALL PANIC('resolve_ent: obj *i not found*n.',OBJID)
10004   BASE=AD(2)
        OFFSET=AD(3)
        EMEMA0(1)=EMEMA0(PTR)
        RESOL0=1
        RETURN
10000 RESOL0=0
      RETURN
      END
      SUBROUTINE CLEAU0
      INTEGER LBNEX0
      INTEGER LBNEY0
      INTEGER LBNEZ0
      INTEGER LBMEM0(8192)
      INTEGER LBFRE0,LBNFA0
      COMMON /LABCOM/LBNEX0,LBNEY0,LBNEZ0,LBMEM0,LBFRE0,LBNFA0
      INTEGER I
      I=1
      GOTO 10007
10005 I=I+(1)
10007 IF((I.GT.43))GOTO 10006
        LBMEM0(I)=0
      GOTO 10005
10006 LBFRE0=0
      LBNFA0=43+1
      RETURN
      END
      SUBROUTINE ENTET0(LAB,AD)
      INTEGER LAB,AD(5)
      INTEGER LBNEX0
      INTEGER LBNEY0
      INTEGER LBNEZ0
      INTEGER LBMEM0(8192)
      INTEGER LBFRE0,LBNFA0
      COMMON /LABCOM/LBNEX0,LBNEY0,LBNEZ0,LBMEM0,LBFRE0,LBNFA0
      INTEGER LOC,PRED
      INTEGER I
      INTEGER LAB$01
      IF((LAB$01(LAB,LOC,PRED).NE.0))GOTO 10008
        IF((LBFRE0.EQ.0))GOTO 10009
          LOC=LBFRE0
          LBFRE0=LBMEM0(LBFRE0)
          GOTO 10010
10009     IF((LBNFA0+2+5.LE.8192))GOTO 10011
            CALL PANIC('enter_lab: out of space*nincrease MAX_LAB_MEMORY
     * in vcg_def@.i*n.')
10011     LOC=LBNFA0
          LBNFA0=LBNFA0+(2+5)
10010   LBMEM0(LOC)=0
        LBMEM0(LOC+1)=LAB
        LBMEM0(PRED)=LOC
10008 LOC=LOC+(2)
      I=1
      GOTO 10014
10012 I=I+(1)
      LOC=LOC+(1)
10014 IF((I.GT.5))GOTO 10013
        LBMEM0(LOC)=AD(I)
      GOTO 10012
10013 RETURN
      END
      INTEGER FUNCTION LAB$01(LAB,LOC,PRED)
      INTEGER LAB
      INTEGER LOC,PRED
      INTEGER LBNEX0
      INTEGER LBNEY0
      INTEGER LBNEZ0
      INTEGER LBMEM0(8192)
      INTEGER LBFRE0,LBNFA0
      COMMON /LABCOM/LBNEX0,LBNEY0,LBNEZ0,LBMEM0,LBFRE0,LBNFA0
      PRED=MOD(IABS(LAB),43)+1
      LOC=LBMEM0(PRED)
10015 IF((LOC.EQ.0))GOTO 10016
      IF((LBMEM0(LOC+1).EQ.LAB))GOTO 10016
        PRED=LOC
        LOC=LBMEM0(LOC)
      GOTO 10015
10016 IF((LOC.NE.0))GOTO 10017
        LAB$01=0
        RETURN
10017   LAB$01=1
        RETURN
      END
      INTEGER FUNCTION LOOKV0(LAB,AD)
      INTEGER LAB,AD(5)
      INTEGER LBNEX0
      INTEGER LBNEY0
      INTEGER LBNEZ0
      INTEGER LBMEM0(8192)
      INTEGER LBFRE0,LBNFA0
      COMMON /LABCOM/LBNEX0,LBNEY0,LBNEZ0,LBMEM0,LBFRE0,LBNFA0
      INTEGER I
      INTEGER LAB$01
      INTEGER LOC,PRED
      IF((LAB$01(LAB,LOC,PRED).NE.0))GOTO 10018
        LOOKV0=0
        RETURN
10018   LOC=LOC+(2)
        I=1
        GOTO 10021
10019   I=I+(1)
        LOC=LOC+(1)
10021   IF((I.GT.5))GOTO 10020
          AD(I)=LBMEM0(LOC)
        GOTO 10019
10020   LOOKV0=1
        RETURN
      END
      SUBROUTINE DELEU0(LAB)
      INTEGER LAB
      INTEGER LBNEX0
      INTEGER LBNEY0
      INTEGER LBNEZ0
      INTEGER LBMEM0(8192)
      INTEGER LBFRE0,LBNFA0
      COMMON /LABCOM/LBNEX0,LBNEY0,LBNEZ0,LBMEM0,LBFRE0,LBNFA0
      INTEGER LAB$01
      INTEGER LOC,PRED
      IF((LAB$01(LAB,LOC,PRED).NE.1))GOTO 10022
        LBMEM0(PRED)=LBMEM0(LOC)
        LBMEM0(LOC)=LBFRE0
        LBFRE0=LOC
10022 RETURN
      END
      SUBROUTINE GETLA0(LDESC,ADDR,FWDREF,ONEWO0)
      INTEGER LDESC(5),ADDR(5),ONEWO0
      LOGICAL FWDREF,MISSIN
      INTEGER BLOCK0(64)
      INTEGER FDAAA0
      INTEGER * 4 MARKA0,PROCS0,ENDMA0
      INTEGER EMITP0,EMITO0,PBHER0,LBHER0,CURRE0,RESOO0,ECBST0,DATAP0
      COMMON /OTGCOM/BLOCK0,FDAAA0,MARKA0,PROCS0,ENDMA0,EMITP0,EMITO0,PB
     *HER0,LBHER0,CURRE0,RESOO0,ECBST0,DATAP0
      INTEGER LAD(5),LBASE,LABEL0,FWDOF0
      FWDREF=.FALSE.
      IF(MISSIN(ONEWO0))GOTO 10024
      IF((ONEWO0.EQ.0))GOTO 10024
      GOTO 10023
10024   FWDOF0=1
        GOTO 10025
10023   FWDOF0=0
10025 LBASE=LDESC(2)
      IF((LBASE.EQ.:000001))GOTO 10027
      IF((LBASE.EQ.:000003))GOTO 10027
      GOTO 10026
10027   CALL PANIC('get_label_addr: bad base reg@.*n.')
10026 LABEL0=LDESC(3)
      IF((LOOKV0(LABEL0,LAD).NE.0))GOTO 10028
        LAD(1)=1
        LAD(2)=LBASE
        LAD(3)=PBHER0+FWDOF0
        LAD(4)=0
        ADDR(3)=0
        FWDREF=.TRUE.
        CALL ENTET0(LABEL0,LAD)
        GOTO 10029
10028   IF((LAD(4).NE.0))GOTO 10030
          CALL DELEU0(LABEL0)
          ADDR(3)=LAD(3)
          LAD(3)=PBHER0+FWDOF0
          FWDREF=.TRUE.
          CALL ENTET0(LABEL0,LAD)
          GOTO 10031
10030     ADDR(3)=LAD(3)
10031 CONTINUE
10029 ADDR(2)=LAD(2)
      ADDR(1)=LAD(1)
      RETURN
      END
C ---- Long Name Map ----
C loadcompl                      loadj0
C loadxoraa                      loafg0
C Resolveproc                    resoo0
C deletelit                      delev0
C enterent                       enter0
C flowfield                      flowf0
C geniplabel                     genip0
C genlabel                       genla0
C loaddiv                        loadq0
C loadlshiftaa                   loaea0
C loadpredec                     loael0
C otg$aentpb                     otg$a0
C PBhere                         pbher0
C loadrem                        loaep0
C putmoduleheader                putmo0
C enterlit                       enteu0
C generatestaticstuff            geneu0
C loadchecklower                 loadg0
C loaddefinestat                 loado0
C loadreturn                     loaer0
C setupswitch                    setuq0
C Mark                           marka0
C gengeneric                     genge0
C linksize                       links0
C loadandaa                      loadd0
C loadobject                     loaeh0
C loadproccall                   loaen0
C loadrefto                      loaeo0
C lookupext                      looku0
C alloctemp                      alloc0
C loadcheckupper                 loadi0
C loadwhileloop                  loafe0
C geniprtr                       geniq0
C loadrshiftaa                   loaet0
C loadseq                        loaex0
C voidswitch                     voidt0
C Procstart                      procs0
C initializelabels               initi0
C loadsub                        loafa0
C clearobj                       cleax0
C deleteext                      delet0
C loadundefinedynm               loafd0
C reachindex                     reack0
C simplify                       simpl0
C stfield                        stfie0
C lfieldmask                     lfiel0
C loadoraa                       loaei0
C otg$dac                        otg$e0
C otg$mref                       otg$m0
C putmoduletrailer               putmp0
C resolveent                     resol0
C clearstack                     cleay0
C enterext                       entes0
C lshiftaby                      lshif0
C putstartdata                   putst0
C Endmark                        endma0
C loadconst                      loadk0
C loadmul                        loaeb0
C loadpostinc                    loaek0
C otg$ecb                        otg$g0
C putbranch                      putbr0
C resolvelit                     reson0
C voidfieldasgop                 voidf0
C EmitPMA                        emitp0
C flowswitch                     flowv0
C loadconvert                    loadl0
C loadforloop                    loadv0
C loadsand                       loaev0
C optimize                       optim0
C rsvstack                       rsvst0
C voidaddaa                      voida0
C Lbnext                         lbnfa0
C Block                          block0
C fwdoffset                      fwdof0
C gettree                        gettr0
C loadselect                     loaew0
C lookuplab                      lookv0
C otg$endlb                      otg$h0
C otg$rentlb                     otg$r0
C loadnot                        loaef0
C loadpreinc                     loaem0
C otg$rorglb                     otg$t0
C Lbmem                          lbmem0
C loadlabel                      loady0
C voidpostdec                    voidp0
C framecom                       frame0
C generateprocedures             genet0
C genswitch                      gensw0
C loaddeclarestat                loadm0
C otglabel                       otgla0
C reachobject                    reacl0
C rshiftaby                      rshif0
C deletelab                      deleu0
C getlitaddr                     getli0
C loadadd                        loada0
C loadcheckrange                 loadh0
C loadsor                        loaez0
C otg$endpb                      otg$i0
C gencopy                        genco0
C loadassign                     loade0
C reachseq                       reacn0
C enterlab                       entet0
C generateproc                   genes0
C initshfttableids               inits0
C loadfield                      loadt0
C otg$proc                       otg$p0
C otgmisc                        otgmi0
C resolveext                     resom0
C warning                        warni0
C clearent                       clear0
C loadbreak                      loadf0
C loaddivaa                      loadr0
C ECBstart                       ecbst0
C loadderef                      loadp0
C loadremaa                      loaeq0
C loadrtrip                      loaeu0
C lshiftlby                      lshig0
C otg$brnch                      otg$d0
C stacksize                      stack0
C labelid                        label0
C andawith                       andaw0
C clearlit                       cleaw0
C gensjtolab                     gensk0
C loadxor                        loaff0
C overlap                        overl0
C genbranch                      genbr0
C loadlshift                     loadz0
C reachconst                     reaci0
C voidseq                        voids0
C Dataptr                        datap0
C getextaddr                     getex0
C lookupobj                      lookx0
C otg$rorg                       otg$s0
C reachselect                    reacm0
C arshiftaby                     arshi0
C getlabeladdr                   getla0
C loaddoloop                     loads0
C otg$blk                        otg$c0
C Lbfree                         lbfre0
C initotg                        inito0
C loadand                        loadc0
C loadsubaa                      loafb0
C otg$gen                        otg$l0
C rshiftlby                      rshig0
C oneword                        onewo0
C gendata                        genda0
C ldfield                        ldfie0
C loadshiftins                   loaey0
C deleteobj                      delew0
C loadrshift                     loaes0
C otg$entlb                      otg$j0
C voidpostinc                    voidq0
C EmitObj                        emito0
C clearext                       cleas0
C flfield                        flfie0
C flowseq                        flowt0
C freetemp                       freet0
C genshift                       gensh0
C otg$orglb                      otg$o0
C otgpseudo                      otgps0
C reachassign                    reach0
C Lbnexti                        lbnex0
C enterobj                       entev0
C loadgoto                       loadw0
C loadmulaa                      loaec0
C loadswitch                     loafc0
C putlabel                       putla0
C CurrentBase                    curre0
C gensjforward                   gensj0
C mklabel                        mklab0
C setupframeowner                setup0
C voidpreinc                     voidr0
C andlwith                       andlw0
C loadnull                       loaeg0
C otg$entpb                      otg$k0
C reachderef                     reacj0
C loadneg                        loaed0
C putmisc                        putmi0
C otg$apins                      otg$b0
C putgeneric                     putge0
C clearinstr                     cleat0
C clearlink                      cleav0
C flowconvert                    flowc0
C flowsand                       flows0
C loadfieldasgop                 loadu0
C otg$data                       otg$f0
C otg$xtip                       otg$x0
C putinstr                       putin0
C voidassign                     voidb0
C adequal                        adequ0
C arshiftlby                     arshj0
C loadaddaa                      loadb0
C loadnext                       loaee0
C ophasvalue                     ophas0
C strsave                        strsa0
C Enext                          enext0
C clearstr                       cleaz0
C cleartree                      cleba0
C flownot                        flown0
C otg$rslv                       otg$u0
C rsvlink                        rsvli0
C zerolit                        zerol0
C Fd                             fdaaa0
C clearlab                       cleau0
C freestack                      frees0
C genextrtr                      genex0
C loadindex                      loadx0
C lookuplit                      lookw0
C otgbranch                      otgbr0
C Emem                           emema0
C LBhere                         lbher0
C loadpostdec                    loaej0
C otg$uii                        otg$v0
C Lbnexts                        lbnez0
C afieldmask                     afiel0
C flowsor                        flowu0
C generateentries                gener0
C loaddefinedynm                 loadn0
C Lbnextt                        lbney0
