|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4740 (0x1284)
Types: TextFile
Names: »INTERPRET.S«
└─⟦f81e11cf7⟧ Bits:30005196 8" CR80 Floppy CR80FD_0194 ( CR/D/2497 TEST-TDX VS0102 Source moduler Att. Holger Bay 820208/AEK )
└─⟦d066df9e9⟧
└─⟦this⟧ »INTERPRET.S«
«ff»
"INTERPRET.S "
"----------------"
PROCEDURE INTERPRET "(PC, SP : INTEGER)" ;
"**********************************************************************
AUTHOR: X
DATE: X
***********************************************************************
COMMENTS:
***********************************************************************
CHANGE RECORD:
VERSION AUTHOR/DATE DESCRIPTION OF CHANGE
------- ----------- ---------------------
**********************************************************************"
CONST TESTOUTPUT = FALSE;
VAR I : INTEGER;
VM : INTEGER;
PC1, SP1 : INTEGER;
REPEATCOUNT : INTEGER;
ATTRIBUTES : FILE_ATTRIBUTES;
DESCRIPTION : DEVICE_DESCRIPTION;
CC : COMPLETION_CODE;
F : FILE;
BEGIN
CC := IO_OK;
IF TESTOUTPUT THEN
BEGIN
WRITENL;
FOR I := PC TO PC + CODE[PC + XPARAMS] + 2 DO
BEGIN
WRITETEXT('CODE [ (:0:)');
WRITEINT (I);
WRITETEXT(' ] = (:0:)');
WRITEHEX (CODE[I]);
WRITETEXT(' = (:0:)');
WRITEBIN (CODE[I]);
WRITETEXT(' = (:0:)');
WRITEINT (CODE[I]);
WRITENL;
END;
END;
CASE CODE[PC] OF
DRIVERDEFINE_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('DRIVERDEFINE.(:0:)');
INT_DRIVERDEFINE(PC, SP, CC);
END;
CREATE_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('CREATE.(:0:)');
INT_CREATE(PC, SP, CC);
END;
APPEND_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('APPEND.(:0:)');
INT_APPEND(PC, SP, CC);
END;
READ_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('READ.(:0:)');
INT_READ(PC, SP, CC);
END;
DISMANTLE_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('DISMANTLE.(:0:)');
INT_DISMANTLE(PC, SP, CC);
END;
TERMINATE_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('TERMINATE.(:0:)');
INT_TERMINATE(PC, SP, CC);
END;
ASSIGN_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('ASSIGN.(:0:)');
INT_ASSIGN(PC, SP, CC);
END;
DEASSIGN_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('DEASSIGN.(:0:)');
INT_DEASSIGN(PC, SP, CC);
END;
INITAPPEND_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('INITAPPEND.(:0:)');
INT_INITAPPEND(PC, SP, CC);
END;
INITREAD_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('INITREAD.(:0:)');
INT_INITREAD(PC, SP, CC);
END;
PROCCALL_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('PROCCALL.(:0:)');
INT_PROCCALL(PC, SP, CC);
END;
CONSOLE_IN_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('CONSOLE IN.(:0:)');
INT_CONSOLE_IN(PC, SP, CC);
END;
CONSOLE_OUT_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('CONSOLE OUT.(:0:)');
INT_CONSOLE_OUT(PC, SP, CC);
END;
PATTERN_DEFINE_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('PATTERN DEFINE.(:0:)');
INT_PATTERNDEFINE(PC, SP, CC);
END;
DUMP_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('DUMP.(:0:)');
INT_DUMP(PC, SP, CC);
END;
DELAY_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('DELAY.(:0:)');
INT_DELAY(PC, SP, CC);
END;
REPEAT_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('REPEAT.(:0:)');
INT_REPEAT(PC, SP, CC);
END;
ENDREPEAT_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('ENDREPEAT.(:0:)');
INT_ENDREPEAT(PC, SP, CC);
END;
PROCRETURN_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('PROCRETURN.(:0:)');
INT_PROCRETURN(PC, SP, CC);
END;
CANCEL_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('CANCEL.(:0:)');
INT_CANCEL(PC, SP, CC);
END;
LIST_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('LIST.(:0:)');
INT_LIST(PC, SP, CC);
END;
WAITINIT_CMD :
BEGIN
IF TESTOUTPUT THEN WRITETEXT('WAITINIT.(:0:)');
INT_WAITINIT(PC, SP, CC);
END
END; " CASE "
IF TESTOUTPUT THEN WRITENL;
IF CC <> IO_OK THEN
BEGIN
WRITETEXT('*** BAD COMPLETION CODE *** CC = (:0:)');
WRITEHEX (CC);
WRITENL;
END;
END; " INTERPRET " «a5»