-- JaMMOSSIM.mesa -- created by Suzuki: May 5, 1981 9:09 AM -- last edited by Thacker: July 26, 1981 11:42 AM -- last edited by Suzuki: September 8, 1981 9:30 AM -- last edited by Haeberli: September 24, 1981 5:52 PM -- last edited by Haeberli: 7-Jan-82 13:17:44 DIRECTORY JaMFnsDefs, JaMMOSSIMFns, Mopcodes, MOSSIMFns, Resident USING [UnboundProcedure], StreamDefs, StringDefs; JaMMOSSIM: PROGRAM IMPORTS JaMFnsDefs, JaMMOSSIMFns, Resident EXPORTS MOSSIMFns = { OPEN JaMFnsDefs, JaMMOSSIMFns, MOSSIMFns, StreamDefs; UnderJaM: PUBLIC BOOLEAN ← TRUE; { Register["init", Init ! Resident.UnboundProcedure => GOTO StandAlone]; Register["simread", SimRead]; Register["hi", SetInputHigh]; Register["xhi", SetInputHigh]; Register["lo", SetInputLow]; Register["xlo", SetInputLow]; Register["x", SetInputX]; Register["xtx", SetInputX]; Register["question", Question]; Register["exclamation", Exclamation]; Register["getnodevalue", GetNodeValue]; Register["xgnv1", GetNodeValue]; Register["printnodevalue", PrintNodeValue]; Register["simsolve", Step]; Register["thi", THi]; Register["tlo", TLo]; Register["tx", Tx]; Register["tinit", Tinit]; Register["tstep", Tstep]; Register["gnv1", Gnv1]; Register["bitstring", BitString]; Register["getvectorvalue", GetVectorValue]; Register["getvectorword", GetVectorWord]; Register["putvectorvalue", PutVectorValue]; Register["printvectorvalue", PrintVectorValue]; Register["resetchangecount", ResetChangeCount]; Register["displaychangednodes", DisplayChangedNodes]; Register["tracenodes", TraceNodes]; Register["untracenodes", UnTraceNodes]; Register["warning", Warning]; Register["enter", Enter]; Register["loadtest", LoadTest]; Register["out", Out]; Register["runtest", RunTest]; Register["setuptester", SetUpTester]; Register["in", In]; Register["checktest", CheckTest]; Register["setupintact", SetUpIntact]; Register["readstate", ReadState]; Register["readchan", ReadChan]; Register["setchan", SetChan]; EXITS StandAlone => {UnderJaM ← FALSE; Enter[]; }; }; }.