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: 3070 (0xbfe) Types: TextFile Names: »TEST_2.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_2.S«
PROCEDURE TEST_2 (R6); "********************************************************************* "********************************************************************* VAR SAVE: ARRAY[0..7] OF INTEGER; TEMP1: INTEGER; LOOP_COUNT: INTEGER; CONST PHPAGE_Y= #81; ADR_LPAGE_4= #F84; PHPAGE_X= #85; ADR_LPAGE_3= #F83; BEGIN R7=>SAVE[7]; STC(6,ADDRESS(SAVE[7])=>R7); OUTNEWLINE(R6); OUTTEXT(ADDRESS('TEST 2 RUNNING (:0:)')=>R3,R6); OUTNEWLINE(R6); FLUSHOUT(R6); #0=>R0=>LOOP_COUNT; COUNT=>R0=>TEMP1; WHILE R0<>#0 DO BEGIN "MAIN CAD; "MAP IN PHPAGE Y AS LOGPAGE 4 PHPAGE_Y=>R3; ADR_LPAGE_4=>R5; CIO(R3,R5); IF DICA=>R0=1 THEN CAD ELSE CAE; #0=>R1; "CLEAR LOGPAGE 4 #1000=>R0; WHILE R0<#1400 DO BEGIN R1=>R0@INTEGER; R0+1; END; CAD; "MAP IN PHPAGE X AS LOGPAGE 3 PHPAGE_X=>R3; ADR_LPAGE_3=>R5; CIO(R3,R5); IF DICA=>R0=1 THEN CAD ELSE CAE; #0=>R0; "WRITE PATTERN IN LOGPAGE 3 #C00=>R1; WHILE R0<#400 DO BEGIN R0=>R1@INTEGER; R0+1; R1+1; END; #0=>R0; "CHECK PATTERN IN LOGPAGE 3 #C00=>R1; WHILE R0<#400 DO BEGIN R1@INTEGER=>R2; IF R0<>R2 THEN BEGIN R0=>EXPECT_DATA; R2=>ACTUAL_DATA; R1=>FAULT_ADDRESS; ERROR_MESSAGE(R6); END; R0+1; R1+1; END; #0=>R0; "CHECK PATTERN IN LOGPAGE 3 #C00=>R1; WHILE R0<#400 DO BEGIN R1@INTEGER=>R2; IF R0<>R2 THEN BEGIN R0=>EXPECT_DATA; R2=>ACTUAL_DATA; R1=>FAULT_ADDRESS; ERROR_MESSAGE(R6); END; R0+1; R1+1; END; "MAP IN PHPAGE Y AS LOGPAGE 3 "AND PHPAGE X AS LOGPAGE 4, CLEAR CACHE. PHPAGE_Y=>R3; ADR_LPAGE_3=>R5; CIO(R3,R5); PHPAGE_X=>R3; ADR_LPAGE_4=>R5; CIO(R3,R5); CAD; IF DICA=>R0=1 THEN CAD ELSE CAE; #0=>R1; "CHECK IF LOGPAGE 3 IS CLEARED #C00=>R0; #0=>R2; WHILE R2<#400 DO BEGIN R0@INTEGER=>R3; IF R3<>0 THEN BEGIN R1=>EXPECT_DATA; R3=>ACTUAL_DATA; R0=>FAULT_ADDRESS; ERROR_MESSAGE(R6); END; R0+1; R2+1; END; LOOP_COUNT=>R0+1=>LOOP_COUNT; #40=>R1; IF R0>=R1 THEN BEGIN IF (OUT_ENABLE=>R0)=1 THEN BEGIN OUTNEWLINE(R6); END; #0=>R0=>LOOP_COUNT; END; IF (OUT_ENABLE=>R0)=1 THEN BEGIN OUTTEXT(ADDRESS('2(:0:)')=>R3,R6); FLUSHOUT(R6); END; TEMP1=>R0-1=>TEMP1; END; "MAIN IF (OUT_ENABLE=>R0)=1 THEN BEGIN OUTNEWLINE(R6); OUTTEXT(ADDRESS('TEST 2 TERMINATED (:0:)')=>R3,R6); OUTNEWLINE(R6); FLUSHOUT(R6); END; UNS(7,ADDRESS(SAVE[0])=>R7); EXIT(R6); END; "END OF TEST2 "