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

⟦3e1225f76⟧ TextFile

    Length: 3074 (0xc02)
    Types: TextFile
    Names: »TEST_1.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_1.S« 

TextFile

PROCEDURE TEST_1 (R6);
"*********************************************************************


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


LOG_PAGE1:     INTEGER;
LOCAL_COUNT:   INTEGER;


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

INIT_DTTS(R6);

COUNT=>R0;
R0=>LOCAL_COUNT;
WHILE R0<>0 DO
   BEGIN   "1
    #3D=>R1=>LOG_PAGE1;            "FOR LOGPAGES 3D TO 2 DO
    WHILE R1<>1 DO
      BEGIN "2
       #0=>R2;
       WHILE R2<#400 DO
         BEGIN "3                   WRITE PATTERN IN LOGPAGE R1
         R2=>R3;                   "
          R1=>R4 SHIFTLL #A;       "
          R3+R4;                   "
          R3=>R3@INTEGER;          "
          R2+1;                    "
         END; "3                   "
         #0=>R2;
         WHILE R2<#400 DO          "READ PATTERN IN LOGPAGE R1
          BEGIN "3                 "
           R2=>R3;                 "
           R1=>R4 SHIFTLL #A;      "
           R3+R4;                  "
           R3@INTEGER=>R5;         "
           IF R5<>R3 THEN               "FAULTY DATA READ
            BEGIN "4
               R3=>EXPECT_DATA;
               R5=>ACTUAL_DATA;
               R3=>FAULT_ADDRESS;
               ERROR_MESSAGE(R6);
            END;  "4
           R2+1;
          END; "3
         #0=>R2;
         WHILE R2<#400 DO          "READ PATTERN IN LOGPAGE R1 AGAIN
          BEGIN "3                 "
           R2=>R3;                 "
           R1=>R4 SHIFTLL #A;      "
           R3+R4;                  "
           R3@INTEGER=>R5;         "
           IF R5<>R3 THEN               "FAULTY DATA READ
            BEGIN "4
               R3=>EXPECT_DATA;
               R5=>ACTUAL_DATA;
               R3=>FAULT_ADDRESS;
               ERROR_MESSAGE(R6);
            END; "4
           R2+1;
          END; "3

      TEST_CERS(R6);
       CAD;
       DICA=>R0;
      IF R0=1 THEN CAD ELSE CAE;
      OUT_ENABLE=>R6;
      IF R6=1 THEN
      BEGIN
      OUTTEXT(ADDRESS('1(:0:)')=>R3,R6);
      FLUSHOUT(R6);
      END;
      LOG_PAGE1=>R1-1=>LOG_PAGE1;  "NEXT LOGPAGE
      END; "2


"AT THIS POINT, LOG DATA PAGES FROM #3D TO #2 (INCL) HAVE BEEN WRITTEN
"AND CHECKED.NOW THE WHOLE MEM SPACE IS CHECKED.


      #F7FF=>R4;
      #800=>R1;
      WHILE R1<R4 DO
         BEGIN "2
          R1@INTEGER=>R2;
          IF R1<>R2 THEN
            BEGIN "3
               R1=>EXPECT_DATA;
               R2=>ACTUAL_DATA;
               R1=>FAULT_ADDRESS;
               ERROR_MESSAGE(R6);
            END; "3
          R1+1;
         END; "2




    IF (OUT_ENABLE=>R0)=1 THEN
        BEGIN
        OUTNEWLINE(R6);
        FLUSHOUT(R6);
        END;
   LOCAL_COUNT=>R0-1=>LOCAL_COUNT;
   END; "1



    IF (OUT_ENABLE=>R0)=1 THEN
        BEGIN
        OUTTEXT(ADDRESS('TEST 1 TERMINATED (:0:)')=>R3,R6);
        OUTNEWLINE(R6);
        FLUSHOUT(R6);
        END;

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