-- 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