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: 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;