|
|
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: 3026 (0xbd2)
Types: TextFile
Names: »SORT.P«
└─⟦434915751⟧ Bits:30005204 8" CR80 Floppy CR80FD_0057 ( VOL: DOWN CF/810615 )
└─⟦8498d5bf1⟧
└─⟦this⟧ »SORT.P«
======== SORT.S
00.00001 SUBMODULE SORT;
00.00002 EXPORT PROCEDURE SORT (R4; R5; R6);
00.00003 CONST
00.00004 MAXINT = 15;
00.00005 TYPE
00.00006 REGISTER = 0..MAXINT;
00.00007 VAR
00.00008 TABEL: ARRAY [REGISTER] OF INTEGER;
00.00009 BEGIN
00.00010 R6 => R7;
00.00011 0 => R0;
00.00012 13 => R1;
00.00013 WHILE R1 >= R0 DO
00.00014 BEGIN
00.00015 15 => R3;
00.00016 WHILE R3 >= R0 DO
00.00017 BEGIN
00.00018 R4@INTEGER => R2;
00.00019 (R4 + 1)@INTEGER => R5;
00.00020 IF R3 = 15 LOGAND R1 = 13 THEN "HVIS R3 = 15 OG R1 = 13 LAEG-
00.00021 BEGIN "GES TALLET FRA 1.STE ADR. I
00.00022 R2 => R6; "REGISTERET IND I R6.
00.00023 END;
00.00024 WHILE R1 = 13 DO "SAALAENGE R1 = 13 LAEGGES
00.00025 BEGIN "TALLET FRA NAESTE ADR. I
00.00026 R6 + R5; "REGISTRET SOM ER I R5 LAEG-
00.00027 END; "GES TIL R6. R6 SUMMERER.
00.00028 IF R5 < R2 THEN "HVIS R5 < R2 PAABEGYNDES EN
00.00029 BEGIN "SWAPNING AF TALLENE (BYTNING).
00.00030 R5 => (R4 - 1)@INTEGER;
00.00031 R2 => (R4 + 1)@INTEGER;
00.00032 END;
00.00033 END;
00.00034 R3 - 1;
00.00035 END;
00.00036 IF R1 = R0 THEN "HVIS R1 = R0 NULSTILLES R3 OG
00.00037 BEGIN "15 LAEGGES I R5.
00.00038 0 => R3;
00.00039 15 => R5;
00.00040 WHILE R5 >= R0 DO "SAALAENGE R5 >= R0 HENTES TAL
00.00041 BEGIN "FRA REGISTRET OG LAEGGES I R2.
00.00042 R4@INTEGER => R2;
00.00043 IF R2 >= 1 THEN "HVIS R2 >= 1 FOROEGES R3 MED
00.00044 BEGIN "1.
00.00045 R3 + 1;
00.00046 END;
00.00047 END;
00.00048 (R4 + 1)@INTEGER; "NAESTE ADR. I REGISTRET.
00.00049 R0 + 1; "R0 FOROEGES MED 1.
00.00050 IF R5 = R0 THEN "HVIS R5 = R0 LAEGGES R6 IND
00.00051 BEGIN "I R5. R6 NULSTILLES. R56 DI-
00.00052 R6 => R5; "VIDERES MED R3.
00.00053 0 => R6;
00.00054 R56/R3;
00.00055 END
00.00056 END
00.00057 ELSE
00.00058 BEGIN "HVIS R1 IKKE ER IDENTISK MED
00.00059 R1 - 1; "R0 SUBTRAHERER VI R1 MED 1.
00.00060 END;
00.00061 R7 => R6;
00.00062 EXIT(R6);
00.00063 END;
00.00064 ENDMODULE
LINES: 64
CODESIZE VARSIZE CONSTSIZE TEMPSIZE
-------- ------- --------- --------
#002F #0010 #0000 #0000