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: 1964 (0x7ac) Types: TextFile Names: »WAKEUP_ONE.S«
└─⟦17728abc9⟧ Bits:30005143 8" CR80 Floppy CR80FD_0130 ( CR/D/1422 FLERCPU Source ) └─⟦1815caf3d⟧ └─ ⟦this⟧ »WAKEUP_ONE.S«
PROCEDURE WAKEUP_ONE (R3;R6); "************************************************************************* "************************************************************************* "R3: CPU_NUMBER TO BE AWAKEN, R6:LINK VAR SAVE: ARRAY[0..7] OF INTEGER; CPU_NUMBER: INTEGER; TEMPC: INTEGER; BEGIN R7=>SAVE[7]; STC(6,ADDRESS(SAVE[7])=>R7); R3=>CPU_NUMBER; C_STROBE_ADR=>R7; 0=>R1=>R7@INTEGER; "CLEAR COMMAND STROBE COMMAND_BASE=>R7; "COMMAND TO CPUNUMBER R3:=IDLE, TO THIS CPU:=MASTER, TO OTHERS:=NOP. SVS(R5); R5 SHIFTRL 8; R5 EXTRACT 3; "R5= THIS CPU NUMBER CPU_NUMBER=>R3; #5=>R2; WHILE R1<>R2 DO BEGIN IF R1=R5 THEN BEGIN #10=>R6; END ELSE BEGIN IF R1=R3 THEN BEGIN 1=>R6; END ELSE BEGIN 0=>R6; END END; R6=>R7@INTEGER; R1+1; R7+1; END; C_STROBE_ADR=>R7; 1=>R1=>R7@INTEGER; "SET COMMANDSTROBE CPU_NUMBER=>R3; ENABLE_INT(R3,R6); 0=>R1; CPU(R1); DISABLE_INT(R3,R6); #F000=>R1; 0=>R0; WHILE R0<>R1 DO R0+1; "WAIT UNIT_MAP(R6); 0=>R1; IF R3<>R1 THEN BEGIN INTERPRETCOM(R6); END; OUTNEWLINE(R6); OUTTEXT(ADDRESS('CPU NUMBER (:0:)')=>R3,R6); FLUSHOUT(R6); CPU_NUMBER=>R3; OUTHEX(R3,R6); OUTTEXT(ADDRESS(' WAS NOT AWAKENED. (:0:)')=>R3,R6); OUTNEWLINE(R6); FLUSHOUT(R6); UNS(7,ADDRESS(SAVE[0])=>R7); EXIT(R6); END; «a5»