-- Tester.mesa
-- Written by Martin Haeberli

DIRECTORY
  Mopcodes;

Tester: DEFINITIONS IMPORTS Mopcodes =
  {

  DoTest: PROC [c: INTEGER, control, data: LONG POINTER] RETURNS [cc: INTEGER] =
    MACHINE CODE {Mopcodes.zMISC, 14B};
  --	runs a test vector for c steps from vectors in control and data.

  DoOutput: PROC [data, addr: WORD] = MACHINE CODE {Mopcodes.zMISC, 6B};
  -- outputs data to register addr.
  --	Addr 0 bit 15 is reset; bit 14 (currently no-op) is WakeEnable
  --	Addr 1 is tester instruction register

  DoInput: PROC [addr: INTEGER] RETURNS [data: INTEGER] = MACHINE CODE {
    Mopcodes.zMISC, 5B};
  -- inputs data from register addr.
  --	Addr 0 is tester ID (should be 30B)
  --	Addr 1 is tester input register

  Channel: TYPE = [0..120);

  Value: TYPE = MACHINE DEPENDENT{zero(0), one(1), x(2)};

  Reset: PROC;  -- initializes all to initial condition

  SetChannelValue: PROC [channel: Channel, value: Value];

  SetChannelValueCommands: PROC [channel: Channel, value: Value] RETURNS [first, second: WORD];

  GetChannelValue: PROC [channel: Channel] RETURNS [value: Value];

  }.

MPH   6-Sep-81 18:19:14
	created initially