DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0f4b4bbc5⟧ TextFile

    Length: 4740 (0x1284)
    Types: TextFile
    Names: »INTERPRET.S«

Derivation

└─⟦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« 

TextFile

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