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 - download
Length: 3074 (0xc02) Types: TextFile Names: »TEST_1.S«
└─⟦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«
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 "