*COMDECK  COMFOSC - ISSUE SUB AND SUB0 CODE AT ENTRY POINTS.
 OSC      CTEXT  COMFOSC - ISSUE SUB AND SUB0 CODE AT ENTRY POINTS. 
**        OSC - OUTPUT SUB CODE.
* 
*         ENTRY  X4 = SYMTAB ORDINAL OF ENTRY 
* 
*         PRESERVES X4
  
 OSC      SUBR
          SA1    =XCC$SUB 
          ZR     X1,EXIT.    IF NO SUBS 
          SA2    =X"O$"SYM
          LX3    B1,X4
          IX5    X3+X4
          =B7    X2+WB.W
          SA5    X5+B7
          MX0    -WB.PNTL 
          LX5    -WB.PNTP 
          BX6    -X0*X5 
          ZR     X6,EXIT.    IF NO FP*S THIS ENTRY
          SA1    =X"O$"ENTP 
          IX6    X1+X6
          SA2    X6-1 
          MX0    -EH.SUBIL
          LX2    -EH.SUBIP
          BX6    -X0*X2 
          ZR     X6,EXIT.    IF NO SUBS FOR THIS ENTRY
          SA3    =XS=SUBI 
          SX6    X6-1 
          LX6    PB.BIASP-PB.TAGP 
          BX1    X3+X6
          ISSUE  5110B,X1    SA1 SUBI.+BIAS 
          SA1    =XS=SPA
          ISSUE  I.RJ3,X1          RJ SP5.
          MX6    1
          SA6    =XENTRJ     FLAG RJ ISSUED 
          EQ     EXIT.
 OZC      EJECT 
**        OZC - OUTPUT SUB0 CODE. 
* 
*         ENTRY  X4 = SYMTAB ORDINAL OF ENTRY 
* 
*         PRESERVES X4
  
 OZC      SUBR
          SA1    =XLEVEL0 
          ZR     X1,EXIT.    IF NO SUB0 
 #MD      IFEQ   .DAL,1 
          SA2    =X"O$"SYM
          LX3    B1,X4
          IX5    X3+X4
          =B7    X2+WB.W
          SA5    X5+B7
          MX0    -WB.PNTL 
          LX5    -WB.PNTP 
          BX6    -X0*X5 
          ZR     X6,EXIT.    IF NO FP*S THIS ENTRY
          SA1    =X"O$"ENTP 
          IX6    X1+X6
          SA2    X6-1 
          MX0    -EH.SB0IL
          LX2    -EH.SB0IP
          BX6    -X0*X2 
          ZR     X6,EXIT.    IF NO SUBS FOR THIS ENTRY
          SA3    =XS=SUB0I
          SX6    X6-1 
          LX6    PB.BIASP-PB.TAGP 
          BX1    X3+X6
          ISSUE  5110B,X1    SA1 SUB0I.+BIAS
          SA1    =XS=SLI
          ISSUE  I.RJ3,X1          RJ SLI.
          MX6    1
          SA6    =XENTRJ     FLAG RJ ISSUED 
          EQ     EXIT.
 #MD      ELSE
 .TEST    IFEQ   TEST,1,1 
          EQ     "BLOWUP" 
 #MD      ENDIF 
 COMFOSC  ENDX
