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