|
|
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: 1592 (0x638)
Types: TextFile
Names: »WAKEUP.S«
└─⟦17728abc9⟧ Bits:30005143 8" CR80 Floppy CR80FD_0130 ( CR/D/1422 FLERCPU Source )
└─⟦1815caf3d⟧
└─⟦this⟧ »WAKEUP.S«
PROCEDURE WAKEUP (R6);
"*************************************************************************
"*************************************************************************
VAR
SAVE: ARRAY[0..7] OF INTEGER;
LABEL
NO_SPACE;
BEGIN
R7=>SAVE[7];
STC(6,ADDRESS(SAVE[7])=>R7);
"FIND FIRST CHARACTER AFTER SPACE
"FIND SPACE IN INPUTSTRING, INPUT_POINTER WILL POINT AT SPACE+1"
"EXIT IF INPUTPOINTER>HEX E.
#0=>R4;
#20=>R1;
R4=>INPUT_POINTER;
INPUTSTRING[R4]=>R0;
WHILE R0<>R1 DO
BEGIN
R4+1;
INPUTSTRING[R4]=>R0;
INPUT_POINTER=>R5;
R5+1;
R5=>INPUT_POINTER;
IF R4>=#F THEN
BEGIN
GOTO NO_SPACE;
END;
END;
NO_SPACE:
R5+1;
R5=>INPUT_POINTER; "INPUT_POINTER POINTS AT THE
"FIRST CHARACTER AFTER THE FIRST SPACE.
INPUTSTRING[R5]=>R0;
"R0 = FIRST CHARACTER AFTER SPACE
'A'=>R1;
IF R1=R0 THEN
BEGIN
WAKEUP_ALL(R6);
END
ELSE
BEGIN
#30=>R3;
INPUTSTRING[R5]=>R6-R3=>R3 EXTRACT 4;
CASE R3 OF
0:THIS_CPU(R6);
1:WAKEUP_ONE(R3,R6);
2:WAKEUP_ONE(R3,R6);
3:WAKEUP_ONE(R3,R6);
4:WAKEUP_ONE(R3,R6);
OTHERWISE INPUTJUNK(R6);
END;
UNS(7,ADDRESS(SAVE[0])=>R7);
EXIT(R6);
END;