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

⟦aeacaa4da⟧ TextFile

    Length: 1736 (0x6c8)
    Types: TextFile
    Names: »TEST_5.S«

Derivation

└─⟦18a2fd90d⟧ Bits:30005144 8" CR80 Floppy CR80FD_0132 ( CR/D/2479 CRD2479: En-CPU CPU/CACHE TEST- PROGRAMMER node: master: CRP5 )
    └─⟦56889de57⟧ 
        └─ ⟦this⟧ »TEST_5.S« 

TextFile

PROCEDURE TEST_5 (R6);
"*********************************************************************
"
"   The program tests for occurrence of cache-parity errors.
"
"   The cache is read (loop of reading 1k memory-locations) for
"   approx. 8 seconds, after which the number of cache-parity
"   errors is written out on the terminal.
"
"   This is repeated COUNT times
"


"*********************************************************************
VAR
SAVE:    ARRAY[0..7] OF INTEGER;


LOG_PAGE1:     INTEGER;
LOCAL_COUNT:   INTEGER;

LABEL   ONCE_AGAIN;

BEGIN
R7=>SAVE[7];
STC(6,ADDRESS(SAVE[7])=>R7);
OUTNEWLINE(R6);
OUTTEXT(ADDRESS('CACHE-PARITY-ERROR TEST (:0:)')=>R3,R6);
OUTNEWLINE(R6);
FLUSHOUT(R6);

INIT_DTTS(R6);

COUNT=>R0=>LOCAL_COUNT;
WHILE R0<>0 DO
   BEGIN   "1
   0=>R0;
   LDT(R0);
ONCE_AGAIN:
   #A000=>R1;
   #A400=>R2;
   WHILE R2<>R1 DO
      BEGIN
      R1@INTEGER=>R3;
      R1+1;
      END;

   SVT(R0);
   R0 SHIFTRL #F=>R0;
   IF R0<>0 THEN GOTO ONCE_AGAIN;

   #1234=>R0;
   RCR;
   R0 EXTRACT #F=>R0=>NEW_CER_VALUE;
   OLD_CER_VALUE=>R1;
   IF R1<>R0 THEN
      BEGIN
      OUTTEXT(ADDRESS('OLD CERS = (:0:)')=>R3,R6);
      OLD_CER_VALUE=>R0=>R3;
      OUTHEX(R3,R6);
      OUTTEXT(ADDRESS('   NEW CERS = (:0:)')=>R3,R6);
      NEW_CER_VALUE=>R1=>R3;
      OUTHEX(R3,R6);
      R1-R0=>R0;
      OUTTEXT(ADDRESS('   DIFF = (:0:)')=>R3,R6);
      R0=>R3;
      OUTHEX(R3,R6);
      OUTNEWLINE(R6);
      FLUSHOUT(R6);
      END
   ELSE
      BEGIN
      OUTTEXT(ADDRESS('NO CACHE PARITY ERRORS (:0:)')=>R3,R6);
      OUTNEWLINE(R6);
      FLUSHOUT(R6);
      END;

   NEW_CER_VALUE=>R0=>OLD_CER_VALUE;

   LOCAL_COUNT=>R0-1=>LOCAL_COUNT;
   END; "1


UNS(7,ADDRESS(SAVE[0])=>R7);
EXIT(R6);
END;   "END OF TEST5     "