--File: BcplOps.mesa
--Last edited by Sandman on June 30, 1980  4:47 PM
-- Copyright  Xerox Corporation 1979, 1980

DIRECTORY
  Mopcodes USING [zSTOP],
  AltoFileDefs USING [CFP];

BcplOps: DEFINITIONS =
  BEGIN

  -- in the definitions below, Finish/Abort must be 0/1

  BcplOpcode: TYPE = {Finish, Abort, OutLd, InLd, Punt, JSR};
  CleanupReason: TYPE = {
    Finish, Abort, OutLd, InLd, Save, Restore, Checkpoint, Restart, Continue,
    Uninstanciated};

  Stop: PROCEDURE [code: BcplOpcode] = MACHINE CODE BEGIN Mopcodes.zSTOP END;

  --  Finish: BcplOpcode = 0;
  --  Abort: BcplOpcode = 1;
  --  Punt: BcplOpcode = 4;


  BcplOutLd: PROCEDURE [
    code: BcplOpcode, file: POINTER TO AltoFileDefs.CFP, message: POINTER]
    RETURNS [[0..2]] = MACHINE CODE BEGIN Mopcodes.zSTOP END;

  --  OutLd: BcplOpcode = 2;
  -- return 0=> normal return; 1=> just InLd'ed; 2=> just booted


  BcplInLd: PROCEDURE [
    code: BcplOpcode, file: POINTER TO AltoFileDefs.CFP, message: POINTER] =
    MACHINE CODE BEGIN Mopcodes.zSTOP END;

  --  InLd: BcplOpcode = 3;


  BcplJSR: PROCEDURE [code: BcplOpcode, address: POINTER, arg: UNSPECIFIED]
    RETURNS [UNSPECIFIED] = MACHINE CODE BEGIN Mopcodes.zSTOP END;

  --  JSR: BcplOpcode = 5;


  END...