DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f88b06b83⟧ TextFile

    Length: 3026 (0xbd2)
    Types: TextFile
    Names: »SORT.P«

Derivation

└─⟦434915751⟧ Bits:30005204 8" CR80 Floppy CR80FD_0057 ( VOL: DOWN CF/810615 )
    └─⟦8498d5bf1⟧ 
        └─ ⟦this⟧ »SORT.P« 

TextFile



======== SORT.S«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»

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