-- XferTrap.mesa  (last edited by: Johnsson on: September 2, 1980  12:37 PM)

DIRECTORY
  Mopcodes USING [zLLB, zRR, zWR],
  PrincOps USING [ControlLink, XTSreg];

XferTrap: DEFINITIONS =
  BEGIN

  -- At the end of each Xfer (before instruction fetch) the status is
  -- shifted right one bit.  If the bit shifted off the right end is a one,
  -- an Xfer trap is started with the original destination of the Xfer
  -- as the parameter and the new L as the source.

  Status: TYPE = MACHINE DEPENDENT{
    off(0), on(1), skip1(2), skip2(4), skip3(8), skip4(16), (65535)};

  ReadXTP: PROCEDURE RETURNS [PrincOps.ControlLink] = MACHINE CODE {
    Mopcodes.zLLB, 3};

  ReadXTS: PROCEDURE RETURNS [Status] = MACHINE CODE {
    Mopcodes.zRR, PrincOps.XTSreg};

  WriteXTS: PROCEDURE [Status] = MACHINE CODE {Mopcodes.zWR, PrincOps.XTSreg};

  END...


LOG

Time: August 28, 1980  10:17 AM; By: Johnsson; Action: Created File