/IDLE RANDOM NUMBER GENERATOR SECT8 SETIDL JA #RET TEXT +SETIDL+ SXR, SETX XR SETB BP BP, F 0.0 XR, F 0.0 F 0.0 F 0.0 ORG 10*3+BP FNOP JA SXR 0 RET, JA . BASE 0 #RET, STARTD FLDA 10*3 FSTA RET SETB BP BASE BP TRAP4 SET8 /GO TO 8 MODE STUFF. STARTF JA RET /DONE. ON IDLE QUEUE. SET8, 0 TAD IDLAD /FIELD OF IDLE ROUTINE CLL RTL RAL /INTO BITS 6-8 TAD SCDF /CDF TO #IDLE DCA .+3 TAD IDLAD+1 /ADDRESS OF #IDLE DCA IDLPTR 0 /GETS CDF TAD S7410 /SKP INSTRUCTION DCA% IDLPTR /STORE AT #IDLE TAD JOB+1 /ADDRESS OF IDLE ROUTINE ISZ IDLPTR DCA% IDLPTR /STORE AT #IDLE+1 TAD JOB CLL RTL RAL /POSITION FIELD BITS TAD SFIELD ISZ IDLPTR DCA% IDLPTR /STORE AT #IDLE+2 CIF CDF JMP% SET8 EXTERN #IDLE IDLAD, ADDR #IDLE JOB, ADDR DOIT SCDF, 6201 SFIELD, 6203 IDLPTR, 0 S7410, 0 DOIT, 0 TAD ROTWRD /GET WORD TO DISPLAY ISZ COUNT SKP JMP OVER NOP NOP NOP NOP JMP .-7 OVER, RAL SZL CLL IAC /PUT BIT BACK. DCA ROTWRD TAD SEEDPT CLL RTL RAL TAD SCDF DCA .+1 0 TAD SEEDPT+1 DCA EXP CLL IAC TAD EXP DCA POINT TAD% POINT TAD K0100 SPA JMP OVRFLO DCA% POINT RETRN, TAD ROTWRD CIF CDF 0 JMP% DOIT OVRFLO, CLA CLL DCA% POINT TAD% EXP IAC AND K0003 DCA% EXP JMP RETRN COUNT, 0 POINT, 0 EXP, 0 K0100, 100 K0003, 3 ROTWRD, 0017 EXTERN NUMCOM SEEDPT, ADDR NUMCOM /SEED IS ONLY VARIABLE IN NUMCOM. END