|
|
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: 4138 (0x102a)
Types: TextFile
Names: »INTERPRETCOM.S«
└─⟦17728abc9⟧ Bits:30005143 8" CR80 Floppy CR80FD_0130 ( CR/D/1422 FLERCPU Source )
└─⟦1815caf3d⟧
└─⟦this⟧ »INTERPRETCOM.S«
PROCEDURE INTERPRETCOM (R6);
"*************************************************************************
"*************************************************************************
"******************************************************************
"
" THIS PROCEDURE INTERPRETS COMMANDS TAKEN FROM DP61
"
" I ********************************************************
" I WORD FIELD MEANING
" I ********************************************************
" I
" I 0 STATUS CPU#0 0:NON EXISTENT
" I 1 STATUS CPU#1 1:IDLING
" I 2:TEST 1 SLAVE
" I 3:TEST 1 MASTER
" I 4:TEST 2 SLAVE
" I 5:TEST 2 MASTER
" I 6:TEST 3 SLAVE
" I 7:TEST 3 MASTER
" I 10: MASTER
" I 2 STATUS CPU#2
" I 3 STATUS CPU#3
" I 4 STATUS CPU#4
" I
" I
" I F COMMAND STROBE 0: NO VALID COMMAND
" I <>0: VALID COMMAND
" I
" I #10 COMMAND CPU#0 0: NO COMMAND
" I #11 COMMAND CPU#1 1: IDLE!
" I #12 COMMAND CPU#2 10: TAKE MASTERSHIP
" I 2:TEST 1 SLAVE
" I 3:TEST 1 MASTER
" I #13 COMMAND CPU#3 4:TEST 2 SLAVE
" I #14 COMMAND CPU#4 5:TEST 2 MASTER
" I
" I
" I #20 MESSAGE FROM CPU#0 (TO MASTER)
" I #21 MESSAGE FROM CPU#1
" I #22 MESSAGE FROM CPU#2
" I #23 MESSAGE FROM CPU#3
" I #24 MESSAGE FROM CPU#4
" I
" I
" I #2F START! 0:WAIT
" I <>0: START
" I (SLAVES MUST NOT START ACTION
" I TAKEN FROM COMMAND FIELD BEFORE
" I START <> 0 IE SYNCRONIZATION.
" I
" I
" I
" I #30 CONSOLE SEMAPHOR 0:CONSOLE NOT OCCUPIED
" I 1:CONSOLE OCCUPIED
" I
" I #31 SEM USED IN TEST 1:
" I 1: GOAHEAD SLAVE!
" I 0: GOAHEAD MASTER!
" I
" I #32 SLAVE COUNT (SLC) USED IN TEST 1
" I
" I #33 MASTER COUNT (MAC) USED IN TEST 1
" I 1:CONSOLE OCCUPIED
" I ********************************************************
"
"
"******************************************************************
BEGIN
WHILE R0=R0 DO
BEGIN
CAD;
SVS(R0);
R0 SHIFTRL 8;
R0 EXTRACT 3; "R0:=CPU NUMBER
#F40F=>R7;
#0000=>R5;
R7@INTEGER=>R1;
WHILE R1=0 DO "WAIT UNTIL COMMAND STROBE <> 0
BEGIN
R7@INTEGER=>R1;
END;
#F410=>R7; "READ COMMAND =>R1
R0+R7=>R7;
R7@INTEGER=>R1;
CASE R1 OF
0:IDLE(R6);
1:IDLE(R6);
2:TEST_1_SLAVE(R6);
3:TEST_1_MASTER(R6);
4:T_2_SLAVE(R6);
5:T_2_MASTER(R6);
6:T_3_SLAVE(R6);
7:T_3_MASTER(R6);
#10:BEGIN
CLAIM_MASTERSHIP(R6);
C_STROBE_ADR=>R7;
1=>R1=>R7@INTEGER;
END;
OTHERWISE IDLE(R6);
CAE;
#0200=>R1;
0=>R0;
WHILE R0<>R1 DO R0+1; "WAIT
END;
"FROM THIS PROCEDURE, NOONE EXITS
END;