CLEAR STORAGE 1 ,008015,022026,030037,044,049,053053N000000N00001026 1 CLEAR STORAGE 2 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0? 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 0 1401 RANDOM PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB 1401 RANDOM 102 CTL 6111 103 * 104 *********************************************** 105 * 2-DIGIT NORMALLY DISTRIBUTED RANDOM NUMBERS * 106 * * 107 * BY RONALD MAK * 108 * NOVEMBER 29, 2019 * 109 *********************************************** 110 * 111 * INDEX REGISTERS 112 ORG 87 0087 113 X1 DCW @004@ POSITION IN THE PRINT AREA 3 0089 4 114 ORG 92 0092 115 X2 DCW @000@ INDEX FOR THE CIRCULAR BUFFER 3 0094 5 116 ORG 97 0097 117 X3 DCW @000@ INDEX FOR THE NORMAL FREQUENCY TABLE 3 0099 6 118 * 119 ORG 100 0100 120 * 121 * TWO 7-DIGIT SEEDS FOR RANDOM NUMBER GENERATION 122 R1 DCW @1234567@ FIRST SEED 7 0106 6 123 DC @XXX@ SPILL AREA FOR RIGHT ROTATE 3 3 0109 6 124 R2 DCW @8901234@ SECOND SEED 7 0116 6 125 DC @XXXXX@ SPILL AREA FOR RIGHT ROTATE 5 5 0121 6 126 * 127 RRSUM DCW @0000000@ SUM OF R1 AND R2 7 0128 6 128 UNIFRN EQU RRSUM-5 GENERATED UNIFORM RANDOM NUMBER 0123 129 URNSUM DCW @0000@ RUNNING SUM OF LAST 100 UNIFORM RNS 4 0132 6 130 NORMRN EQU URNSUM-2 GENERATED NORMAL RANDOM NUMBER 0130 131 OLDEST DCW @00@ OLDEST OF 100 LAST UNIFRNS 2 0134 6 132 NORMCT DCW @00000@ COUNT OF NORMAL RANDOM NUMBERS GENERATED 5 0139 7 133 LINECT DCW @000@ COUNT OF LINES PRINTED 3 0142 7 134 STARCT DCW @000@ COUNT OF STARS PRINTED IN A FREQ BAR 3 0145 7 135 * 136 ORG 350 0350 137 START EQU *&1 0350 138 * 139 * ZERO OUT THE CIRCULAR BUFFER 140 NXTBUF MCW @00@,BUFFER&X2 7 0350 M X01 /!1 8 141 SBR X2,2&X2 7 0357 H 094 0!2 8 142 C @200@,X2 7 0364 C X04 094 8 143 BU NXTBUF 5 0371 B 350 / 8 144 * 145 * ZERO OUT THE NORMAL FREQUENCY TABLE 146 NXTFRQ MCW @0000@,NRNFRQ&X3 7 0376 M X08 T?3 8 147 SBR X3,4&X3 7 0383 H 099 0?4 9 1 1401 RANDOM PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 C @400@,X3 7 0390 C X11 099 9 149 BU NXTFRQ 5 0397 B 376 / 9 150 * 151 MCW @000@,X2 7 0402 M X14 094 9 152 MCW @000@,X3 7 0409 M X14 099 9 153 * 154 *---------------------------------------------------- 155 * TABLE OF 10,000 NORMALLY DISTRIBUTED RANDOM NUMBERS 156 *---------------------------------------------------- 157 * 158 MCW @2-DIGIT RANDOM NUMBERS WITH MEAN 49@,302 7 0416 M X49 302 10 159 MCW @TABLE OF 10,000 NORMALLY DISTRIBUTED @ 4 0423 M X86 10 160 W 1 0427 2 10 161 CS 332 4 0428 / 332 10 162 CS 1 0432 / 10 163 W 1 0433 2 10 164 * 165 * LOOP TO GENERATE THE NEXT RANDOM NUMBER 166 * 167 NEXTRN MCW R1,R1&3 RIGHT ROTATE R1 IN PLACE BY 3 7 0434 M 106 109 10 168 SW R1&1 4 0441 , 107 11 169 MCW R1&3,R1-4 7 0445 M 109 102 11 170 CW R1&1 4 0452 ) 107 11 171 * 172 MCW R2,R2&5 RIGHT ROTATE R2 IN PLACE BY 5 7 0456 M 116 121 11 173 SW R2&1 4 0463 , 117 11 174 MCW R2&5,R2-2 7 0467 M 121 114 11 175 CW R2&1 4 0474 ) 117 11 176 * 177 MCW R2,RRSUM ADD R1 AND R2 7 0478 M 116 128 12 178 A R1,RRSUM 7 0485 A 106 128 12 179 MZ @0@,RRSUM-6 CLEAR OVERFLOW 7 0492 Y X87 122 12 180 * 181 MCW R2,R1 R1 = R2 7 0499 M 116 106 12 182 MCW RRSUM,R2 R2 = RRSUM 7 0506 M 128 116 12 183 A @1@,NORMCT 7 0513 A X88 139 13 184 * 185 * UPDATE THE RUNNING SUM 186 MCW BUFFER&X2,OLDEST 7 0520 M /!1 134 13 187 A UNIFRN,URNSUM ADD THE NEWEST UNIFRN 7 0527 A 123 132 13 188 S OLDEST,URNSUM SUBTRACT THE OLDEST UNIFRN 7 0534 S 134 132 13 189 MZ @0@,URNSUM CLEAR ZONE 7 0541 Y X87 132 13 190 * 191 * INSERT THE NEWEST UNIFORM RN INTO THE CIRCULAR BUFFER 192 MCW UNIFRN,BUFFER&X2 INSERT 7 0548 M 123 /!1 14 193 SBR X2,2&X2 7 0555 H 094 0!2 14 194 C @200@,X2 AT THE END OF THE BUFFER? 7 0562 C X04 094 14 195 BL UPDATE NO, GO UPDATE THE FREQUENCY TABLE 5 0569 B 581 T 14 196 MCW @000@,X2 YES, WRAP X2 BACK TO THE START 7 0574 M X14 094 14 197 * 1 1401 RANDOM PAGE 3 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 UPDATE C @00100@,NORMCT AT LEAST 100 UNIFRNS GENERATED? 7 0581 C X93 139 15 199 BL NEXTRN NOT YET 5 0588 B 434 T 15 200 * 201 MCW NORMRN,203&X1 MOVE RANDOM NUMBER TO PRINT AREA 7 0593 M 130 2|3 15 202 * 203 * UPDATE THE NORMAL FREQUENCY TABLE 204 MCW @000@,X3 7 0600 M X14 099 15 205 MCW NORMRN,X3 X3 = 4*NORMRN 7 0607 M 130 099 15 206 A NORMRN,X3 7 0614 A 130 099 16 207 A NORMRN,X3 7 0621 A 130 099 16 208 A NORMRN,X3 7 0628 A 130 099 16 209 A @1@,NRNFRQ&X3 INCREMENT FREQUENCY ENTRY 7 0635 A X88 T?3 16 210 * 211 * UPDATE X1 TO PRINT THE NEXT PRINT POSITION 212 NEXTPR SBR X1,3&X1 7 0642 H 089 0|3 16 213 C @064@,X1 MIDDLE OF THE LINE? 7 0649 C X96 089 17 214 BU CHKEOL 5 0656 B 668 / 17 215 SBR X1,4&X1 ADD A GAP IN THE MIDDLE 7 0661 H 089 0|4 17 216 CHKEOL C @128@,X1 END OF THE LINT? 7 0668 C X99 089 17 217 BU NEXTRN 5 0675 B 434 / 17 218 * 219 * WRITE ONE LINE 220 W 1 0680 2 17 221 CS 332 4 0681 / 332 17 222 CS 1 0685 / 18 223 * 224 * PREPARE FOR THE NEXT LINE 225 MCW @004@,X1 7 0686 M Y02 089 18 226 A @1@,LINECT 7 0693 A X88 142 18 227 C @250@,LINECT 250 LINES PRINTED? 7 0700 C Y05 142 18 228 BU NEXTRN 5 0707 B 434 / 18 229 * 230 *--------------------------------------------------------------- 231 * FREQUENCY BAR CHART OF THE NORMALLY DISTRIBUTED RANDOM NUMBERS 232 * PRINT ENTRIES 41 THROUGH 58 233 *--------------------------------------------------------------- 234 * 235 W 1 0712 2 18 236 MCW @RANDOM NUMBERS@,295 7 0713 M Y19 295 18 237 MCW @FREQUENCY CHART OF THE NORMALLY DISTRIBUTED @ 4 0720 M Y63 19 238 W 1 0724 2 19 239 CS 332 4 0725 / 332 19 240 CS 1 0729 / 19 241 W 1 0730 2 19 242 * 243 MCW @041@,NORMRN START WITH THE 41ST FREQ TABLE ENTRY 7 0731 M Y66 130 19 244 MCW @164@,X3 INDEX X3 TO THE 41ST ENTRY 7 0738 M Y69 099 19 245 * 246 * LOOP TO PRINT THE BAR FOR THE NEXT FREQUENCY VALUE 247 * 1 1401 RANDOM PAGE 4 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 NXTBAR MCW @000@,X1 7 0745 M X14 089 20 249 A @5@,NRNFRQ&X3 ADD 5 TO FREQUENCY 7 0752 A Y70 T?3 20 250 MCW NRNFRQ-1&X3,STARCT RANDOM NUMNBER /10 TO STARCT 7 0759 M T?2 145 20 251 * 252 * TO ALLOW THE LONGEST BARS TO FIT, PROGRESSIVELY SHORTEN THE BARS. 253 * 254 CHK130 C STARCT,@130@ 7 0766 C 145 Y73 20 255 BH CHK120 5 0773 B 789 U 20 256 S @11@,STARCT 7 0778 S Y75 145 21 257 B STARS 4 0785 B |15 21 258 * 259 CHK120 C STARCT,@120@ 7 0789 C 145 Y78 21 260 BH CHK110 5 0796 B 812 U 21 261 S @10@,STARCT 7 0801 S Y80 145 21 262 B STARS 4 0808 B |15 21 263 * 264 CHK110 C STARCT,@110@ 7 0812 C 145 Y83 22 265 BH CHK100 5 0819 B 835 U 22 266 S @9@,STARCT 7 0824 S Y84 145 22 267 B STARS 4 0831 B |15 22 268 * 269 CHK100 C STARCT,@100@ 7 0835 C 145 Y87 22 270 BH CHK90 5 0842 B 858 U 22 271 S @8@,STARCT 7 0847 S Y88 145 23 272 B STARS 4 0854 B |15 23 273 * 274 CHK90 C STARCT,@90@ 7 0858 C 145 Y90 23 275 BH CHK80 5 0865 B 881 U 23 276 S @7@,STARCT 7 0870 S Y91 145 23 277 B STARS 4 0877 B |15 23 278 * 279 CHK80 C STARCT,@80@ 7 0881 C 145 Y93 24 280 BH CHK70 5 0888 B 904 U 24 281 S @6@,STARCT 7 0893 S Y94 145 24 282 B STARS 4 0900 B |15 24 283 * 284 CHK70 C STARCT,@70@ 7 0904 C 145 Y96 24 285 BH CHK60 5 0911 B 927 U 24 286 S @5@,STARCT 7 0916 S Y70 145 25 287 B STARS 4 0923 B |15 25 288 * 289 CHK60 C STARCT,@60@ 7 0927 C 145 Y98 25 290 BH CHK50 5 0934 B 950 U 25 291 S @4@,STARCT 7 0939 S Y99 145 25 292 B STARS 4 0946 B |15 25 293 * 294 CHK50 C STARCT,@50@ 7 0950 C 145 Z01 26 295 BH CHK40 5 0957 B 973 U 26 296 S @3@,STARCT 7 0962 S Z02 145 26 297 B STARS 4 0969 B |15 26 1 1401 RANDOM PAGE 5 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 298 * 299 CHK40 C STARCT,@40@ 7 0973 C 145 Z04 26 300 BH CHK30 5 0980 B 996 U 26 301 S @2@,STARCT 7 0985 S Z05 145 27 302 B STARS 4 0992 B |15 27 303 * 304 CHK30 C STARCT,@30@ 7 0996 C 145 Z07 27 305 BH STARS 5 1003 B |15 U 27 306 S @1@,STARCT 7 1008 S X88 145 27 307 * 308 * LOOP TO PRINT THE STARS IN A BAR 309 * 310 STARS MZ @0@,STARCT CLEAR ZONE 7 1015 Y X87 145 27 311 NXSTAR C STARCT,X1 ENOUGH STARS? 7 1022 C 145 089 28 312 BE WRBAR YES 5 1029 B |52 S 28 313 * 314 MCW @*@,204&X1 * TO THE PRINT AREA 7 1034 M Z08 2|4 28 315 SBR X1,1&X1 X1 TO THE NEXT PRINT POSITION 7 1041 H 089 0|1 28 316 B NXSTAR 4 1048 B |22 28 317 * 318 * WRITE A BAR AS THREE LINES OF STARS 319 WRBAR W 1 1052 2 28 320 MCW NORMRN,202 RANDOM NUMBER TO PRINT AREA 7 1053 M 130 202 28 321 W 1 1060 2 29 322 CS 202 4 1061 / 202 29 323 W 1 1065 2 29 324 CS 332 4 1066 / 332 29 325 CS 1 1070 / 29 326 * 327 * PREPARE FOR THE NEXT LINE 328 A @001@,NORMRN 7 1071 A Z11 130 29 329 SBR X3,4&X3 7 1078 H 099 0?4 29 330 C @236@,X3 ALREADY PRINTED 58TH ENTRY? 7 1085 C Z14 099 30 331 BL NXTBAR NOT YET 5 1092 B 745 T 30 332 * 333 H 1 1097 . 30 334 * 335 *------------------------------------------------------- 336 * CIRCULAR BUFFER OF THE LAST 100 UNIFORM RANDOM NUMBERS 337 *------------------------------------------------------- 338 ORG 1100 1100 339 BTABLE DA 100X2,X2 1100 1299 30 340 BUFFER EQU BTABLE&1 1101 341 * 342 *----------------------------------------------------------- 343 * FREQUENCY TABLE OF THE NORMALLY DISTRIBUTED RANDOM NUMBERS 344 *----------------------------------------------------------- 345 NRNTAB DA 100X4,X3 1300 1699 46 346 NRNFRQ EQU NRNTAB&3 1303 347 * 1 1401 RANDOM PAGE 6 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD DCW @00@ 2 1701 LIT 63 DCW @200@ 3 1704 LIT 63 DCW @0000@ 4 1708 LIT 63 DCW @400@ 3 1711 LIT 64 DCW @000@ 3 1714 LIT 64 DCW @2-DIGIT RANDOM NUMBERS WITH MEAN 49@ 35 1749 LIT 65 DCW @TABLE OF 10,000 NORMALLY DISTRIBUTED @ 37 1786 LIT 66 DCW @0@ 1 1787 LIT 66 DCW @1@ 1 1788 LIT 66 DCW @00100@ 5 1793 LIT 67 DCW @064@ 3 1796 LIT 67 DCW @128@ 3 1799 LIT 67 DCW @004@ 3 1802 LIT 67 DCW @250@ 3 1805 LIT 67 DCW @RANDOM NUMBERS@ 14 1819 LIT 67 DCW @FREQUENCY CHART OF THE NORMALLY DISTRIBUTED @ 44 1863 LIT 69 DCW @041@ 3 1866 LIT 69 DCW @164@ 3 1869 LIT 69 DCW @5@ 1 1870 LIT 69 DCW @130@ 3 1873 LIT 69 DCW @11@ 2 1875 LIT 70 DCW @120@ 3 1878 LIT 70 DCW @10@ 2 1880 LIT 70 DCW @110@ 3 1883 LIT 70 DCW @9@ 1 1884 LIT 70 DCW @100@ 3 1887 LIT 70 DCW @8@ 1 1888 LIT 70 DCW @90@ 2 1890 LIT 71 DCW @7@ 1 1891 LIT 71 DCW @80@ 2 1893 LIT 71 DCW @6@ 1 1894 LIT 71 DCW @70@ 2 1896 LIT 71 DCW @60@ 2 1898 LIT 71 DCW @4@ 1 1899 LIT 71 DCW @50@ 2 1901 LIT 72 DCW @3@ 1 1902 LIT 72 DCW @40@ 2 1904 LIT 72 DCW @2@ 1 1905 LIT 72 DCW @30@ 2 1907 LIT 72 DCW @*@ 1 1908 LIT 72 DCW @001@ 3 1911 LIT 72 DCW @236@ 3 1914 LIT 73 348 END START / 350 080 1 PAGE 7 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BTABLE 1100+X2 BUFFER 1101+X2 CHK100 835 CHK110 812 CHK120 789 CHK130 766 CHK30 996 CHK40 973 CHK50 950 CHK60 927 CHK70 904 CHK80 881 CHK90 858 CHKEOL 668 LINECT 142 NEXTPR 642 NEXTRN 434 NORMCT 139 NORMRN 130 NRNFRQ 1303+X3 NRNTAB 1300+X3 NXSTAR 1022 NXTBAR 745 NXTBUF 350 NXTFRQ 376 OLDEST 134 R1 106 R2 116 RRSUM 128 STARCT 145 STARS 1015 START 350 UNIFRN 123 UPDATE 581 URNSUM 132 WRBAR 1052 X1 89 X2 94 X3 99