DIRECTORY PrincOps: TYPE USING [BytePC, FrameSizeIndex, localbase, PrefixHandle]; CatchFormat: DEFINITIONS = { Codebase: TYPE = PrincOps.PrefixHandle; CatchAction: TYPE = CARDINAL; cReject: CatchAction = 0; cResume: CatchAction = 1; cEnable: CatchAction = 2; cExit: CatchAction = 3; CatchIndex: TYPE = NAT; CatchNull: CatchIndex = CatchIndex.LAST; EnableItem: TYPE = RECORD[ start: PrincOps.BytePC, length: CARDINAL, index: CatchIndex, alsoNested: BOOL]; EnableIndex: TYPE = CARDINAL[0..CARDINAL.LAST/EnableItem.SIZE); EnableTableBody: TYPE = RECORD[SEQUENCE count: EnableIndex OF EnableItem]; EnableTable: TYPE = Codebase RELATIVE POINTER TO EnableTableBody; EnableHandle: TYPE = LONG POINTER TO EnableTableBody; CatchEVBody: TYPE = RECORD[SEQUENCE count: CatchIndex OF PrincOps.BytePC]; CatchEV: TYPE = Codebase RELATIVE POINTER TO CatchEVBody; nullCatchEV: CatchEV = LOOPHOLE[0]; CatchEVHandle: TYPE = LONG POINTER TO CatchEVBody; sigOffset: CARDINAL = PrincOps.localbase + 1; msgOffset: CARDINAL = PrincOps.localbase + 2; defaultFsi: PrincOps.FrameSizeIndex = 1; }. $CatchFormat.mesa, Edited by JGS, 11-Nov-81 15:53:26 Sweet, July 19, 1982 12:02 pm Satterthwaite November 27, 1985 2:46:13 pm PST if et[i].alsoNested = TRUE for any i IN [0..et.count) then et+SIZE[EnableTableBody[et.count]] is a valid EnableTable word after entry vector is CatchEV*2 �Êâ˜Jšœ™Jšœ™Jšœ™Jšœ.™.J˜šÏk ˜ Jšœ �œ�œ3˜GJ˜—šœ � œ˜J˜Jšœ �œ˜'J˜Jšœ �œ�œ˜J˜J˜J˜J˜J˜Jšœ �œ�œ˜Jšœ#�œ˜(J˜šœ �œ�œ˜J˜Jšœ�œ˜J˜Jšœ �œ˜J˜—Jš œ �œ�œ�œ�œ �œ˜?J˜š œ�œ�œ�œ�œ ˜JJ˜—Jš œ �œ �œ�œ�œ˜AJš œ�œ�œ�œ�œ˜5˜Jšœ:™:Jšœ9™9—J˜—˜š œ �œ�œ�œ�œ˜JJ˜—Jš œ �œ �œ�œ�œ ˜9Jšœ�œ˜#J˜Jš œ�œ�œ�œ�œ ˜2—˜šœ$™$J˜—Jšœ �œ˜-Jšœ �œ˜-J˜J˜(J˜J˜——…—BH