%EXTERNALROUTINESPEC ECTM INHIBIT %EXTERNALROUTINESPEC ECTM ALLOW %EXTERNALROUTINESPEC ECTM ENTER(%STRING(31) NAME) %EXTERNALROUTINESPEC ECTM RESULT(%INTEGER RC) %EXTERNALROUTINESPEC ECTM REPORT STRING(%STRING(63) MESS, %C %INTEGER DR0, DR1) ! %EXTERNALINTEGERFN GIVE PROCESS TIME(%INTEGER OPTION, DR0, DR1) ECTM ENTER("(TUM) GIVE PROCESS TIME") ECTM RESULT(0) %RESULT = 0 %END ! %EXTERNALINTEGERFN INFORM ECTM ENTER("(TUM) INFORM") ECTM RESULT(0) %RESULT = 0 %END ! %EXTERNALINTEGERFN LOGMESSAGE ECTM ENTER("(TUM) LOG MESSAGE") ECTM RESULT(0) %RESULT = 0 %END ! %EXTERNALINTEGERFN READ INTERRUPT DATA ECTM ENTER("(TUM) READ INTERRUPT DATA") ECTM RESULT(0) %RESULT = 0 %END ! %EXTERNALINTEGERFN SEND MESSAGE(%INTEGER DR0, DR1) ! %SYSTEMROUTINESPEC MOVE(%INTEGER BYTES, FROM, TO) %SYSTEMROUTINESPEC ETOI(%INTEGER ADDRESS, BYTES) ! %STRING(255) S %INTEGER LEN ! ECTM INHIBIT SELECT OUTPUT(0) LEN = DR0 & X'FF' %IF LEN > 0 %THEN %START MOVE(LEN,DR1,ADDR(S)+1) LENGTH(S) = LEN ETOI(ADDR(S)+1,LEN) PRINT STRING(S) %FINISH NEW LINE ECTM ALLOW %RESULT = 0 %END ! %EXTERNALINTEGERFN WORKFILE ECTM ENTER("(TUM) WORKFILE") ECTM RESULT(0) %RESULT = 0 %END ! %ENDOFFILE