|
|
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: 2270 (0x8de)
Types: TextFile
Names: »SORT.S«
└─⟦434915751⟧ Bits:30005204 8" CR80 Floppy CR80FD_0057 ( VOL: DOWN CF/810615 )
└─⟦8498d5bf1⟧
└─⟦this⟧ »SORT.S«
SUBMODULE SORT;
EXPORT PROCEDURE SORT (R4; R5; R6);
CONST
MAXINT = 15;
TYPE
REGISTER = 0..MAXINT;
VAR
TABEL: ARRAY [REGISTER] OF INTEGER;
BEGIN
R6 => R7;
0 => R0;
13 => R1;
WHILE R1 >= R0 DO
BEGIN
15 => R3;
WHILE R3 >= R0 DO
BEGIN
R4@INTEGER => R2;
(R4 + 1)@INTEGER => R5;
IF R3 = 15 LOGAND R1 = 13 THEN "HVIS R3 = 15 OG R1 = 13 LAEG-
BEGIN "GES TALLET FRA 1.STE ADR. I
R2 => R6; "REGISTERET IND I R6.
END;
WHILE R1 = 13 DO "SAALAENGE R1 = 13 LAEGGES
BEGIN "TALLET FRA NAESTE ADR. I
R6 + R5; "REGISTRET SOM ER I R5 LAEG-
END; "GES TIL R6. R6 SUMMERER.
IF R5 < R2 THEN "HVIS R5 < R2 PAABEGYNDES EN
BEGIN "SWAPNING AF TALLENE (BYTNING).
R5 => (R4 - 1)@INTEGER;
R2 => (R4 + 1)@INTEGER;
END;
END;
R3 - 1;
END;
IF R1 = R0 THEN "HVIS R1 = R0 NULSTILLES R3 OG
BEGIN "15 LAEGGES I R5.
0 => R3;
15 => R5;
WHILE R5 >= R0 DO "SAALAENGE R5 >= R0 HENTES TAL
BEGIN "FRA REGISTRET OG LAEGGES I R2.
R4@INTEGER => R2;
IF R2 >= 1 THEN "HVIS R2 >= 1 FOROEGES R3 MED
BEGIN "1.
R3 + 1;
END;
END;
(R4 + 1)@INTEGER; "NAESTE ADR. I REGISTRET.
R0 + 1; "R0 FOROEGES MED 1.
IF R5 = R0 THEN "HVIS R5 = R0 LAEGGES R6 IND
BEGIN "I R5. R6 NULSTILLES. R56 DI-
R6 => R5; "VIDERES MED R3.
0 => R6;
R56/R3;
END
END
ELSE
BEGIN "HVIS R1 IKKE ER IDENTISK MED
R1 - 1; "R0 SUBTRAHERER VI R1 MED 1.
END;
R7 => R6;
EXIT(R6);
END;
ENDMODULE