|
|
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 - metrics - download
Length: 1868 (0x74c)
Types: TextFile
Names: »TEST_1_SLAVE.S«, »TEST_2_SLAVE.S«
└─⟦17728abc9⟧ Bits:30005143 8" CR80 Floppy CR80FD_0130 ( CR/D/1422 FLERCPU Source )
└─⟦1815caf3d⟧
└─⟦this⟧ »TEST_1_SLAVE.S«
└─⟦this⟧ »TEST_2_SLAVE.S«
PROCEDURE TEST_1_SLAVE (R6);
"***********************************************************************
"***********************************************************************
VAR
SAVE: ARRAY[0..7] OF INTEGER;
LABEL CONTA;
LABEL STARTA;
BEGIN
R7=>SAVE[7];
STC(6,ADDRESS(SAVE[7])=>R7);
SVS(R0);
R0 SHIFTRL 8;
R0 EXTRACT 3;
STATUS_BASE=>R7;
R7+R0=>R7;
2=>R1=>R7; "STATUS OF THIS CPU:=
"TEST_1_SLAVE
START_ADR=>R7;
R7@INTEGER=>R0;
WHILE R0<>1 DO R7@INTEGER=>R0; "WAIT UNTIL START=1
DICA=>R0;
IF R0=0 THEN CAE ELSE CAD;
T_COUNT=>R0;
STARTA:
SEM_ADR=>R7;
R7@INTEGER=>R1;
WHILE R1=0 DO "WAIT UNTIL SEM=1 IN
"A TIMEOUT LOOP
BEGIN
R0-1;
IF R0=0 THEN "IF TIMEOUT THEN
BEGIN
DICA=>R0;
CAD;
GOTO CONTA;
END;
R7@INTEGER=>R1; "CONTINUE WITHOUT
"INCREMENTING SLAVE-
"COUNT
END;
SLC_ADR=>R7;
R7@INTEGER=>R0+1=>R7@INTEGER; "INCREMENT SLAVECOUNT
CONTA:
DICA=>R0;
IF R0=0 THEN CAE ELSE CAD;
C_STROBE_ADR=>R7;
R7@INTEGER=>R1;
IF R1<>1 THEN "EXIT IF COMMANDSTROBE
BEGIN " =1
T_COUNT=>R0;
SEM_ADR=>R7;
0=>R1=>R7@INTEGER;
GOTO STARTA;
END;
CAD;
UNS(7,ADDRESS(SAVE[0])=>R7);
EXIT(R6);
END;