-- SDDefs.Mesa  Edited by Sandman on June 30, 1980  2:57 PM
-- Copyright  Xerox Corporation 1979, 1980

SDDefs: DEFINITIONS =
  BEGIN

  -- indices in system data vector (including trap codes)

  SD: POINTER TO ARRAY [0..0) OF UNSPECIFIED = LOOPHOLE[1100B];

  -- [0..37B] are known by microcode

  sBreak: CARDINAL = 0;
  sStackError: CARDINAL = 2;
  sWakeupError: CARDINAL = 3;
  sXferTrap: CARDINAL = 4;
  sUnimplemented: CARDINAL = 5;
  sAllocTrap: CARDINAL = 6;
  sControlFault: CARDINAL = 7;
  sSwapTrap: CARDINAL = 10B;
  sPageFault: CARDINAL = 11B;
  sWriteProtect: CARDINAL = 12B;
  sUnbound: CARDINAL = 13B;
  sZeroDivisor: CARDINAL = 14B;
  sDivideCheck: CARDINAL = 15B;
  sHardwareError: CARDINAL = 16B;
  sProcessTrap: CARDINAL = 17B; -- known by BCPL code

  sBoundsFault: CARDINAL = 20B;
  sPointerFault: CARDINAL = 21B;

  -- Signals

  sSignalList: CARDINAL = 40B;
  sSignal: CARDINAL = 41B;
  sErrorList: CARDINAL = 42B;
  sError: CARDINAL = 43B;
  sReturnErrorList: CARDINAL = 44B;
  sReturnError: CARDINAL = 45B;
  sUnnamedError: CARDINAL = 46B;
  sUncaughtSignal: CARDINAL = 47B;

  -- Instructions

  sBLTE: CARDINAL = 52B;
  sBYTBLTE: CARDINAL = 53B;
  sBLTEC: CARDINAL = 54B;
  sBYTBLTEC: CARDINAL = 55B;
  sBLTEL: CARDINAL = 56B;
  sBYTBLTEL: CARDINAL = 57B;
  sBLTECL: CARDINAL = 60B;
  sBYTBLTECL: CARDINAL = 61B;
  sStringInit: CARDINAL = 62B;
  sSignedDiv: CARDINAL = 63B;
  sLongMul: CARDINAL = 64B;
  sLongDivMod: CARDINAL = 65B;
  sLongDiv: CARDINAL = 66B;
  sLongMod: CARDINAL = 67B;
  sULongDivMod: CARDINAL = 70B;
  sULongDiv: CARDINAL = 71B;
  sULongMod: CARDINAL = 72B;
  sLongStringCheck: CARDINAL = 73B;

  -- Frames

  sCopy: CARDINAL = 75B;
  sUnNew: CARDINAL = 76B;
  sStart: CARDINAL = 77B;
  sRestart: CARDINAL = 100B;
  sGFTLength: CARDINAL = 101B;

  -- Debugger

  sAlternateBreak: CARDINAL = 103B;
  sCoreSwap: CARDINAL = 104B;
  sProcessBreakpoint: CARDINAL = 105B;
  sCallDebugger: CARDINAL = 106B;
  sWorryCallDebugger: CARDINAL = 107B;
  sInterrupt: CARDINAL = 110B;
  sGoingAway: CARDINAL = 111B; -- known by BCPL code

  sAddFileRequest: CARDINAL = 112B;
  sIOResetBits: CARDINAL = 113B;
  sBreakBlock: CARDINAL = 114B;
  sBreakBlockSize: CARDINAL = 115B;
  sPerfMonitor: CARDINAL = 116B;
  sLogging: CARDINAL = 117B;
  sXferTrapMonitor: CARDINAL = 120B;
  sCrossMDSLow: CARDINAL = 121B;
  sCrossMDSHigh: CARDINAL = 122B;

  -- Processes

  sFork: CARDINAL = 124B;
  sJoin: CARDINAL = 125B;

  -- Floating Point

  sFADD: CARDINAL = 130B;
  sFSUB: CARDINAL = 131B;
  sFMUL: CARDINAL = 132B;
  sFDIV: CARDINAL = 133B;
  sFCOMP: CARDINAL = 134B;
  sFIX: CARDINAL = 135B;
  sFLOAT: CARDINAL = 136B;

  sFirstCedar: CARDINAL = 150B;
  sLastCedar: CARDINAL = 207B;

  sFirstPilot: CARDINAL = 230B;
  sLastPilot: CARDINAL = 277B;

  sLastSD: CARDINAL = 277B;

  END...