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