35 lines
754 B
Plaintext
35 lines
754 B
Plaintext
100H:
|
|
BDOS: PROCEDURE (FN, ARG); DECLARE FN BYTE, ARG ADDRESS; GO TO 5; END BDOS;
|
|
EXIT: PROCEDURE; CALL BDOS(0,0); END EXIT;
|
|
PRINT: PROCEDURE (S); DECLARE S ADDRESS; CALL BDOS(9, S); END PRINT;
|
|
|
|
PRINT$NUMBER: PROCEDURE (N);
|
|
DECLARE S (6) BYTE INITIAL ('...',13,10,'$');
|
|
DECLARE P ADDRESS, (N, C BASED P) BYTE;
|
|
P = .S(3);
|
|
DIGIT:
|
|
P = P-1;
|
|
C = N MOD 10 + '0';
|
|
N = N/10;
|
|
IF N>0 THEN GO TO DIGIT;
|
|
CALL PRINT(P);
|
|
END PRINT$NUMBER;
|
|
|
|
DECLARE (A, B, C) BYTE;
|
|
DECLARE NUGGET (101) BYTE;
|
|
|
|
DO A=0 TO 100; NUGGET(A) = 0; END;
|
|
DO A=0 TO 100 BY 6;
|
|
DO B=A TO 100 BY 9;
|
|
DO C=B TO 100 BY 20;
|
|
NUGGET(C) = -1;
|
|
END;
|
|
END;
|
|
END;
|
|
|
|
A = 100;
|
|
DO WHILE NUGGET(A); A = A-1; END;
|
|
CALL PRINT$NUMBER(A);
|
|
CALL EXIT;
|
|
EOF
|