Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,46 @@
|
|||
100H:
|
||||
|
||||
/* INSERTION SORT ON 16-BIT INTEGERS */
|
||||
INSERTION$SORT: PROCEDURE (AP, LEN);
|
||||
DECLARE (AP, LEN, I, J, V, A BASED AP) ADDRESS;
|
||||
DO I = 1 TO LEN-1;
|
||||
V = A(I);
|
||||
J = I;
|
||||
DO WHILE J > 0 AND A(J-1) > V;
|
||||
A(J) = A(J-1);
|
||||
J = J-1;
|
||||
END;
|
||||
A(J) = V;
|
||||
END;
|
||||
END INSERTION$SORT;
|
||||
|
||||
/* CP/M CALLS AND FUNCTION TO PRINT INTEGERS */
|
||||
BDOS: PROCEDURE (FN, ARG);
|
||||
DECLARE FN BYTE, ARG ADDRESS;
|
||||
GO TO 5;
|
||||
END BDOS;
|
||||
|
||||
PRINT$NUMBER: PROCEDURE (N);
|
||||
DECLARE S (7) BYTE INITIAL ('..... $');
|
||||
DECLARE (N, P) ADDRESS, C BASED P BYTE;
|
||||
P = .S(5);
|
||||
DIGIT:
|
||||
P = P-1;
|
||||
C = N MOD 10 + '0';
|
||||
N = N / 10;
|
||||
IF N > 0 THEN GO TO DIGIT;
|
||||
CALL BDOS(9, P);
|
||||
END PRINT$NUMBER;
|
||||
|
||||
/* SORT AN ARRAY */
|
||||
DECLARE NUMBERS (11) ADDRESS INITIAL (4, 65, 2, 31, 0, 99, 2, 8, 3, 782, 1);
|
||||
CALL INSERTION$SORT(.NUMBERS, LENGTH(NUMBERS));
|
||||
|
||||
/* PRINT THE SORTED ARRAY */
|
||||
DECLARE N BYTE;
|
||||
DO N = 0 TO LAST(NUMBERS);
|
||||
CALL PRINT$NUMBER(NUMBERS(N));
|
||||
END;
|
||||
|
||||
CALL BDOS(0,0);
|
||||
EOF
|
||||
Loading…
Add table
Add a link
Reference in a new issue