A Documenting of my Roman Numerals CHIP-8 Program This is an implementation of my Roman numerals program in machine code, for the ninth Octojam event. It's a very simple program, and trivially proven to be correct; perhaps even most of its logic could be recycled for a similar such program, even. I used the simpler tables of that tabular programming approach for this, as it was easier to comprehend at this low level. I may have decomposed my first example of this style into too many tables, truly just to demonstrate it better, but it matters not. Follows is a view of the complete program, when loaded into the MMC: 200-201 0512-0513 ßÜß Ü ßÜ A2EB 41707 I  illinc 202-203 0514-0515 ÛßßÛÛßÛÜ FE65 65125 Load V0VE; I  I + 15 204-205 0516-0517 ÛÛÛßÛßÛÜ FE15 65045 primus delay  VE 206-207 0518-0519 ßÜß ß A4E4 42212 I  finis 208-209 0520-0521 ÛßÛßÛßÛÜ FE55 65109 Save V0VE; I  I + 15 20A-20B 0522-0523 ß ÛÜÜßÜ A49E 42142 I  praeter 20C-20D 0524-0525 ÛßßÛ Ü Ü F065 61541 secundus Load V0V0; I  I + 01 20E-20F 0526-0527 Û 4000 16384 Skip next if V0 <> 000 210-211 0528-0529 ÜÛÜÜÛ 122C 04652 Jump to regula 212-213 0530-0531 ÛßßÛ Ü ß F165 61797 Load V0V1; I  I + 02 214-215 0532-0533 ÜÛÜß 50B0 20656 Skip next if V0 = VB 216-217 0534-0535 ÜÛÜ Û 1228 04648 Jump to iterum 218-219 0536-0537 Üß Û Û 51C0 20928 Skip next if V1 = VC 21A-21B 0538-0539 ÜÛÜ Û 1228 04648 Jump to iterum 21C-21D 0540-0541 ÛßßÛÛßÛÜ FE65 65125 Load V0VE; I  I + 15 21E-21F 0542-0543 ßÜÛÜ ß Ü A4D5 42197 I  huc 220-221 0544-0545 ÛßÛßÛßÛÜ FE55 65109 Save V0VE; I  I + 15 222-223 0546-0547 ßÜß ß A4E4 42212 I  finis 224-225 0548-0549 ÛßßÛÛßÛÜ FE65 65125 Load V0VE; I  I + 15 226-227 0550-0551 Ü ßÜ ß 129A 04762 Jump to ostendo 228-229 0552-0553 ÛÛÛßßßÜÛ FD1E 64798 iterum I  I + VD 22A-22B 0554-0555 ÛÜÜÛ 120C 04620 Jump to secundus 22C-22D 0556-0557 Û ß ßÛ A322 41762 regula I  centesima 22E-22F 0558-0559 ÛÛÛßßÜßÛ FB1E 64286 I  I + VB 230-231 0560-0561 ÛÛÛßßÜßÛ FB1E 64286 I  I + VB 232-233 0562-0563 ÛßßÛ Ü ß F165 61797 Load V0V1; I  I + 02 234-235 0564-0565 Û Û Û 8900 35072 V9  V0 236-237 0566-0567 Û ÜÛ 8810 34832 V8  V1 238-239 0568-0569 ÜÜß Üß 22E6 08934 Call duo digiti 23A-23B 0570-0571 ß Ü 80A0 32928 V0  VA 23C-23D 0572-0573 ÜÜß Üß 22E6 08934 Call duo digiti 23E-23F 0574-0575 ß Ü Û 81A0 33184 V1  VA 240-241 0576-0577 ÜÜß Üß 22E6 08934 Call duo digiti 242-243 0578-0579 ß Ü Û 82A0 33440 V2  VA 244-245 0580-0581 ÜÜß Üß 22E6 08934 Call duo digiti 246-247 0582-0583 ß Ü ÛÛ 83A0 33696 V3  VA 248-249 0584-0585 ß Û Û 8980 35200 V9  V8 24A-24B 0586-0587 ÜÜß Üß 22E6 08934 Call duo digiti 24C-24D 0588-0589 ß Ü Û 84A0 33952 V4  VA 24E-24F 0590-0591 ÜÜß Üß 22E6 08934 Call duo digiti 250-251 0592-0593 ß Ü Û Û 85A0 34208 V5  VA 252-253 0594-0595 ÜÜß Üß 22E6 08934 Call duo digiti 254-255 0596-0597 ß Ü ÛÛ 86A0 34464 V6  VA 256-257 0598-0599 ßÜÛÜ ß Ü A4D5 42197 I  huc 258-259 0600-0601 ÛßÛß ßÛÜ F655 63061 Save V0V6; I  I + 07 25A-25B 0602-0603 ÛÜßÜ ßÛ A372 41842 I  de centum 25C-25D 0604-0605 ÛÛÛßßßÜ FC1E 64542 I  I + VC 25E-25F 0606-0607 ÛÛÛßßßÜ FC1E 64542 I  I + VC 260-261 0608-0609 ÛÛÛßßßÜ FC1E 64542 I  I + VC 262-263 0610-0611 ÛßßÛ ÜÛÜ F265 62053 Load V0V2; I  I + 03 264-265 0612-0613 Û Û Û 8900 35072 V9  V0 266-267 0614-0615 Û Ü ÛÛÛ 8710 34576 V7  V1 268-269 0616-0617 Û Ü Û 8820 34848 V8  V2 26A-26B 0618-0619 ÜÜßÜ Û 22F0 08944 Call tres digiti 26C-26D 0620-0621 ß Ü 80A0 32928 V0  VA 26E-26F 0622-0623 ÜÜßÜ Û 22F0 08944 Call tres digiti 270-271 0624-0625 ß Ü Û 81A0 33184 V1  VA 272-273 0626-0627 ÜÜßÜ Û 22F0 08944 Call tres digiti 274-275 0628-0629 ß Ü ÛÜß 8AA6 35494 VA  VA ö 2; VF  LSB 276-277 0630-0631 ÛÜÜÜÛ Û 8970 35184 V9  V7 278-279 0632-0633 ÜÜÛÜÜÜÛ 22DC 08924 Call semel 27A-27B 0634-0635 ß Ü Û 82A0 33440 V2  VA 27C-27D 0636-0637 ÜÜßÜ Û 22F0 08944 Call tres digiti 27E-27F 0638-0639 ß Ü ÛÛ 83A0 33696 V3  VA 280-281 0640-0641 ÜÜßÜ Û 22F0 08944 Call tres digiti 282-283 0642-0643 ß Ü Û 84A0 33952 V4  VA 284-285 0644-0645 ÛÛ Û Û 6A00 27136 VA  000 286-287 0646-0647 ÜÜÛÜÜÜÛ 22DC 08924 Call semel 288-289 0648-0649 ß Û Û 8980 35200 V9  V8 28A-28B 0650-0651 ÜÜÛÜÜ ß 22DA 08922 Call bis 28C-28D 0652-0653 ß Ü Û Û 85A0 34208 V5  VA 28E-28F 0654-0655 ÜÜßÜ Û 22F0 08944 Call tres digiti 290-291 0656-0657 ß Ü ÛÛ 86A0 34464 V6  VA 292-293 0658-0659 ÜÜßÜ Û 22F0 08944 Call tres digiti 294-295 0660-0661 ß Ü ÛÛÛ 87A0 34720 V7  VA 296-297 0662-0663 ßÜÛÜÜß A4DC 42204 I  illuc 298-299 0664-0665 ÛßÛß ßÛß F755 63317 Save V0V7; I  I + 08 29A-29B 0666-0667 ÛÛ ÜÛ 6102 24834 ostendo V1  002 29C-29D 0668-0669 ÛÛ ß 6202 25090 V2  002 29E-29F 0670-0671 ÛÛ ÛÛ 6300 25344 V3  000 2A0-2A1 0672-0673 ßÜÛÜ ß Ü A4D5 42197 rursus I  huc 2A2-2A3 0674-0675 ÛÛÛßÜÜßÛ F31E 62238 I  I + V3 2A4-2A5 0676-0677 ÛßßÛ Ü Ü F065 61541 Load V0V0; I  I + 01 2A6-2A7 0678-0679 ßÜßÜ ÜÛÜ A2F5 41717 I  litterae 2A8-2A9 0680-0681 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2AA-2AB 0682-0683 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2AC-2AD 0684-0685 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2AE-2AF 0686-0687 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2B0-2B1 0688-0689 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2B2-2B3 0690-0691 ÛÛ 3000 12288 Skip next if V0 = 000 2B4-2B5 0692-0693 ÛÛÜÛ Ü ß D125 53541 Draw 08x05 at V1,V2; VF  XOR 2B6-2B7 0694-0695 ÛÛ 3000 12288 Skip next if V0 = 000 2B8-2B9 0696-0697 ÛÛÛ Ü Û 7104 28932 V1  V1 + 004 2BA-2BB 0698-0699 ÛÛÛ Ûß 7301 29441 V3  V3 + 001 2BC-2BD 0700-0701 ÛÛÜÜßß 330F 13071 Skip next if V3 = 015 2BE-2BF 0702-0703 Ü ÜÛ Û 12A0 04768 Jump to rursus 2C0-2C1 0704-0705 ÛÛÛÛÛ Ü 7C01 31745 VC  VC + 001 2C2-2C3 0706-0707 ßÜ Ûß 4C64 19556 Skip next if VC <> 100 2C4-2C5 0708-0709 ÛÛ ÛÛ 6C00 27648 VC  000 2C6-2C7 0710-0711 Û ÛÛ 4C00 19456 Skip next if VC <> 000 2C8-2C9 0712-0713 ÛÛÛÛ Ûß 7B01 31489 VB  VB + 001 2CA-2CB 0714-0715 ÛÜ ß ÛÛ 4B28 19240 Skip next if VB <> 040 2CC-2CD 0716-0717 ÜÜ ÛÜÜÛ 12CC 04812 se Jump to se 2CE-2CF 0718-0719 ÛÛÛÛÛßßß FF07 65287 mora VF  delay 2D0-2D1 0720-0721 ÛÛÛÛÛÛ 3F00 16128 Skip next if VF = 000 2D2-2D3 0722-0723 ÜÜ ÛÜÜß 12CE 04814 Jump to mora 2D4-2D5 0724-0725 ÜÜÜ 00E0 00224 Clear the screen 2D6-2D7 0726-0727 Û ÜÛ 1204 04612 Jump to primus 2D8-2D9 0728-0729 ÜÜÛÜÜÜÛ 22DC 08924 ter Call semel 2DA-2DB 0730-0731 ÜÜÛÜÜÜÛ 22DC 08924 bis Call semel 2DC-2DD 0732-0733 ß Ü ßÜß 8AAE 35502 semel VA  VA * 2; VF  MSB 2DE-2DF 0734-0735 ß ÜßÜÜÛ 899E 35230 V9  V9 * 2; VF  MSB 2E0-2E1 0736-0737 ÛÛÛÛÛÛ 3F00 16128 Skip next if VF = 000 2E2-2E3 0738-0739 ÛÛÛÛ ÛÜ 7A01 31233 VA  VA + 001 2E4-2E5 0740-0741 ÜÜÜ ÜÜÜ 00EE 00238 Return 2E6-2E7 0742-0743 ÛÛ Û Û 6A00 27136 duo digiti VA  000 2E8-2E9 0744-0745 ÜÜÛÜÜ ß 22DA 08922 Call bis 2EA-2EB 0746-0747 ÛÛÛ Û 3A00 14848! illinc Skip next if VA = 000 2EC-2ED 0748-0749 ÛÛÛÛÜÛ 7A04 31236 VA  VA + 004 2EE-2EF 0750-0751 ÜÜÜ ÜÜÜ 00EE 00238 Return 2F0-2F1 0752-0753 ÛÛ Û Û 6A00 27136 tres digiti VA  000 2F2-2F3 0754-0755 ÜÜÛÜÜ Û 22D8 08920 Call ter 2F4-2F5 0756-0757 ÜÜÜ ÜÜÜ 00EE 00238! litterae Return 2F6 0758 00 000 2F7 0759 00 000 2F8 0760 ßßßß 0F 015 2F9 0761 ßßßß 1E 030 2FA 0762 ßßß E0 224 I 2FB 0763 ß 40 064 2FC 0764 ß 40 064 2FD 0765 ß 40 064 2FE 0766 ßßß E0 224 2FF 0767 ß ß A0 160 V 300 0768 ß ß A0 160 301 0769 ß ß A0 160 302 0770 ß ß A0 160 303 0771 ß 40 064 304 0772 ß ß A0 160 X 305 0773 ß ß A0 160 306 0774 ß 40 064 307 0775 ß ß A0 160 308 0776 ß ß A0 160 309 0777 ß 80 128 L 30A 0778 ß 80 128 30B 0779 ß 80 128 30C 0780 ß 80 128 30D 0781 ßßß E0 224 30E 0782 ßßß E0 224 C 30F 0783 ß 80 128 310 0784 ß 80 128 311 0785 ß 80 128 312 0786 ßßß E0 224 313 0787 ßß C0 192 D 314 0788 ß ß A0 160 315 0789 ß ß A0 160 316 0790 ß ß A0 160 317 0791 ßß C0 192 318 0792 ß ß A0 160 M 319 0793 ßßß E0 224 31A 0794 ßßß E0 224 31B 0795 ßßß E0 224 31C 0796 ß ß A0 160 31D 0797 ß ß 90 144 N 31E 0798 ßß ß D0 208 31F 0799 ßßßß F0 240 320 0800 ß ßß B0 176 321 0801 ß ß 90 144 322 0802 00 000 centesima 323 0803 00 000 324 0804 ß 40 064 325 0805 00 000 326 0806 ß ß 50 080 327 0807 00 000 328 0808 ß ß ß 54 084 329 0809 00 000 32A 0810 ßß 60 096 32B 0811 00 000 32C 0812 ß 80 128 32D 0813 00 000 32E 0814 ß ß 90 144 32F 0815 00 000 330 0816 ß ß ß 94 148 331 0817 00 000 332 0818 ß ß ß ß 95 149 333 0819 00 000 334 0820 ßßß 70 112 335 0821 00 000 336 0822 ßß C0 192 337 0823 00 000 338 0824 ßß ß D0 208 339 0825 00 000 33A 0826 ßß ß ß D4 212 33B 0827 00 000 33C 0828 ßß ß ß ß D5 213 33D 0829 00 000 33E 0830 ßß ßß D8 216 33F 0831 00 000 340 0832 ßßß E0 224 341 0833 00 000 342 0834 ßßß ß E4 228 343 0835 00 000 344 0836 ßßß ß ß E5 229 345 0837 00 000 346 0838 ßßß ß ß E5 229 347 0839 ß 40 064 348 0840 ßß ßßß DC 220 349 0841 00 000 34A 0842 ßßßß F0 240 34B 0843 00 000 34C 0844 ßßßß ß F4 244 34D 0845 00 000 34E 0846 ßßßß ß ß F5 245 34F 0847 00 000 350 0848 ßßßß ß ß F5 245 351 0849 ß 40 064 352 0850 ßßßß ßß F6 246 353 0851 00 000 354 0852 ßßßßß F8 248 355 0853 00 000 356 0854 ßßßßß ß F9 249 357 0855 00 000 358 0856 ßßßßß ß F9 249 359 0857 ß 40 064 35A 0858 ßßßßß ß F9 249 35B 0859 ß ß 50 080 35C 0860 ßßßß ßßß F7 247 35D 0861 00 000 35E 0862 ßßßßßß FC 252 35F 0863 00 000 360 0864 ßßßßßß ß FD 253 361 0865 00 000 362 0866 ßßßßßß ß FD 253 363 0867 ß 40 064 364 0868 ßßßßßß ß FD 253 365 0869 ß ß 50 080 366 0870 ßßßßßß ß FD 253 367 0871 ß 80 128 368 0872 ßßßßßßß FE 254 369 0873 00 000 36A 0874 ßßßßßßß FE 254 36B 0875 ß 40 064 36C 0876 ßßßßßßß FE 254 36D 0877 ß ß 50 080 36E 0878 ßßßßßßß FE 254 36F 0879 ß ß ß 54 084 370 0880 ßßßßßß ß FD 253 371 0881 ßß C0 192 372 0882 00 000 de centum 373 0883 00 000 374 0884 00 000 375 0885 ß 20 032 376 0886 00 000 377 0887 00 000 378 0888 ß ß 24 036 379 0889 00 000 37A 0890 00 000 37B 0891 ß ß 24 036 37C 0892 ß 80 128 37D 0893 00 000 37E 0894 ß ß 28 040 37F 0895 00 000 380 0896 00 000 381 0897 ß 40 064 382 0898 00 000 383 0899 00 000 384 0900 ß ß 44 068 385 0901 00 000 386 0902 00 000 387 0903 ß ß 44 068 388 0904 ß 80 128 389 0905 00 000 38A 0906 ß ß 44 068 38B 0907 ß ß 90 144 38C 0908 00 000 38D 0909 ß ßß 2C 044 38E 0910 00 000 38F 0911 00 000 390 0912 ßß 60 096 391 0913 00 000 392 0914 00 000 393 0915 ßß ß 64 100 394 0916 00 000 395 0917 00 000 396 0918 ßß ß 64 100 397 0919 ß 80 128 398 0920 00 000 399 0921 ßß ß 64 100 39A 0922 ß ß 90 144 39B 0923 00 000 39C 0924 ßß ß ß 65 101 39D 0925 00 000 39E 0926 00 000 39F 0927 ßß ß 68 104 3A0 0928 00 000 3A1 0929 00 000 3A2 0930 ßß ß 68 104 3A3 0931 ß 80 128 3A4 0932 00 000 3A5 0933 ßß ß 68 104 3A6 0934 ß ß 90 144 3A7 0935 00 000 3A8 0936 ßß ß 68 104 3A9 0937 ß ß ß 92 146 3AA 0938 00 000 3AB 0939 ßß ß ß 65 101 3AC 0940 ß 80 128 3AD 0941 00 000 3AE 0942 ßß ßß 6C 108 3AF 0943 00 000 3B0 0944 00 000 3B1 0945 ßß ßß 6C 108 3B2 0946 ß 80 128 3B3 0947 00 000 3B4 0948 ßß ßß 6C 108 3B5 0949 ß ß 90 144 3B6 0950 00 000 3B7 0951 ßß ßß 6C 108 3B8 0952 ß ß ß 92 146 3B9 0953 00 000 3BA 0954 ßß ßß 6C 108 3BB 0955 ß ß A0 160 3BC 0956 00 000 3BD 0957 ßß ßß ß 6D 109 3BE 0958 00 000 3BF 0959 00 000 3C0 0960 ßß ßß ß 6D 109 3C1 0961 ß 10 016 3C2 0962 00 000 3C3 0963 ßß ßß ß 6D 109 3C4 0964 ß ß 12 018 3C5 0965 00 000 3C6 0966 ßß ßß ß 6D 109 3C7 0967 ß ß 12 018 3C8 0968 ß 40 064 3C9 0969 ßß ßß 6C 108 3CA 0970 ß ßß B0 176 3CB 0971 00 000 3CC 0972 ßß ßß ß 6D 109 3CD 0973 ß 80 128 3CE 0974 00 000 3CF 0975 ßß ßß ß 6D 109 3D0 0976 ß ß 90 144 3D1 0977 00 000 3D2 0978 ßß ßß ß 6D 109 3D3 0979 ß ß ß 92 146 3D4 0980 00 000 3D5 0981 ßß ßß ß 6D 109 3D6 0982 ß ß ß 92 146 3D7 0983 ß 40 064 3D8 0984 ßß ßß ß 6D 109 3D9 0985 ß ß ß 94 148 3DA 0986 00 000 3DB 0987 ßß ßß ß 6D 109 3DC 0988 ß ß A0 160 3DD 0989 00 000 3DE 0990 ßß ßß ß 6D 109 3DF 0991 ß ß ß A2 162 3E0 0992 00 000 3E1 0993 ßß ßß ß 6D 109 3E2 0994 ß ß ß A2 162 3E3 0995 ß 40 064 3E4 0996 ßß ßß ß 6D 109 3E5 0997 ß ß ß A2 162 3E6 0998 ß ß 48 072 3E7 0999 ßß ßß ß 6D 109 3E8 1000 ß ß ßß 96 150 3E9 1001 00 000 3EA 1002 ßßß 70 112 3EB 1003 00 000 3EC 1004 00 000 3ED 1005 ßßß 70 112 3EE 1006 ß 80 128 3EF 1007 00 000 3F0 1008 ßßß 70 112 3F1 1009 ß ß 90 144 3F2 1010 00 000 3F3 1011 ßßß 70 112 3F4 1012 ß ß ß 92 146 3F5 1013 00 000 3F6 1014 ßßß 70 112 3F7 1015 ß ß A0 160 3F8 1016 00 000 3F9 1017 ßßß ß 71 113 3FA 1018 00 000 3FB 1019 00 000 3FC 1020 ßßß ß 71 113 3FD 1021 ß 10 016 3FE 1022 00 000 3FF 1023 ßßß ß 71 113 400 1024 ß ß 12 018 401 1025 00 000 402 1026 ßßß ß 71 113 403 1027 ß ß 12 018 404 1028 ß 40 064 405 1029 ßßß 70 112 406 1030 ß ßß B0 176 407 1031 00 000 408 1032 ß 80 128 409 1033 00 000 40A 1034 00 000 40B 1035 ß ß 84 132 40C 1036 00 000 40D 1037 00 000 40E 1038 ß ß 84 132 40F 1039 ß 80 128 410 1040 00 000 411 1041 ß ß 84 132 412 1042 ß ß 90 144 413 1043 00 000 414 1044 ß ß ß 85 133 415 1045 00 000 416 1046 00 000 417 1047 ß ß 88 136 418 1048 00 000 419 1049 00 000 41A 1050 ß ß 88 136 41B 1051 ß 80 128 41C 1052 00 000 41D 1053 ß ß 88 136 41E 1054 ß ß 90 144 41F 1055 00 000 420 1056 ß ß 88 136 421 1057 ß ß ß 92 146 422 1058 00 000 423 1059 ß ß ß 85 133 424 1060 ß 80 128 425 1061 00 000 426 1062 ß ßß 8C 140 427 1063 00 000 428 1064 00 000 429 1065 ß ßß 8C 140 42A 1066 ß 80 128 42B 1067 00 000 42C 1068 ß ßß 8C 140 42D 1069 ß ß 90 144 42E 1070 00 000 42F 1071 ß ßß 8C 140 430 1072 ß ß ß 92 146 431 1073 00 000 432 1074 ß ßß 8C 140 433 1075 ß ß A0 160 434 1076 00 000 435 1077 ß ßß ß 8D 141 436 1078 00 000 437 1079 00 000 438 1080 ß ßß ß 8D 141 439 1081 ß 10 016 43A 1082 00 000 43B 1083 ß ßß ß 8D 141 43C 1084 ß ß 12 018 43D 1085 00 000 43E 1086 ß ßß ß 8D 141 43F 1087 ß ß 12 018 440 1088 ß 40 064 441 1089 ß ßß 8C 140 442 1090 ß ßß B0 176 443 1091 00 000 444 1092 ß ßß ß 8D 141 445 1093 ß 80 128 446 1094 00 000 447 1095 ß ßß ß 8D 141 448 1096 ß ß 90 144 449 1097 00 000 44A 1098 ß ßß ß 8D 141 44B 1099 ß ß ß 92 146 44C 1100 00 000 44D 1101 ß ßß ß 8D 141 44E 1102 ß ß ß 92 146 44F 1103 ß 40 064 450 1104 ß ßß ß 8D 141 451 1105 ß ß ß 94 148 452 1106 00 000 453 1107 ß ßß ß 8D 141 454 1108 ß ß A0 160 455 1109 00 000 456 1110 ß ßß ß 8D 141 457 1111 ß ß ß A2 162 458 1112 00 000 459 1113 ß ßß ß 8D 141 45A 1114 ß ß ß A2 162 45B 1115 ß 40 064 45C 1116 ß ßß ß 8D 141 45D 1117 ß ß ß A2 162 45E 1118 ß ß 48 072 45F 1119 ß ßß ß 8D 141 460 1120 ß ß ßß 96 150 461 1121 00 000 462 1122 ß ßß ß 8D 141 463 1123 ß ßß B0 176 464 1124 00 000 465 1125 ß ßß ß 8D 141 466 1126 ß ßß ß B2 178 467 1127 00 000 468 1128 ß ßß ß 8D 141 469 1129 ß ßß ß B2 178 46A 1130 ß 40 064 46B 1131 ß ßß ß 8D 141 46C 1132 ß ßß ß B2 178 46D 1133 ß ß 48 072 46E 1134 ß ßß ß 8D 141 46F 1135 ß ßß ß B2 178 470 1136 ß 80 128 471 1137 ß ßß ß 8D 141 472 1138 ß ßß ß B4 180 473 1139 00 000 474 1140 ß ßß ß 8D 141 475 1141 ß ßß ß B4 180 476 1142 ß 40 064 477 1143 ß ßß ß 8D 141 478 1144 ß ßß ß B4 180 479 1145 ß ß 48 072 47A 1146 ß ßß ß 8D 141 47B 1147 ß ßß ß B4 180 47C 1148 ß ß ß 49 073 47D 1149 ß ßß ß 8D 141 47E 1150 ß ßß ß B2 178 47F 1151 ßß C0 192 480 1152 ßßß ß 74 116 481 1153 00 000 482 1154 00 000 483 1155 ßßß ß 74 116 484 1156 ß 80 128 485 1157 00 000 486 1158 ßßß ß 74 116 487 1159 ß ß 90 144 488 1160 00 000 489 1161 ßßß ß 74 116 48A 1162 ß ß ß 92 146 48B 1163 00 000 48C 1164 ßßß ß 74 116 48D 1165 ß ß A0 160 48E 1166 00 000 48F 1167 ßßß ß ß 75 117 490 1168 00 000 491 1169 00 000 492 1170 ßßß ß ß 75 117 493 1171 ß 10 016 494 1172 00 000 495 1173 ßßß ß ß 75 117 496 1174 ß ß 12 018 497 1175 00 000 498 1176 ßßß ß ß 75 117 499 1177 ß ß 12 018 49A 1178 ß 40 064 49B 1179 ßßß ß 74 116 49C 1180 ß ßß B0 176 49D 1181 00 000 49E 1182 ß 01 001 praeter 49F 1183 00 000 4A0 1184 00 000 4A1 1185 ß 08 008 4A2 1186 00 000 4A3 1187 00 000 4A4 1188 00 000 4A5 1189 00 000 4A6 1190 00 000 4A7 1191 00 000 4A8 1192 00 000 4A9 1193 00 000 4AA 1194 00 000 4AB 1195 00 000 4AC 1196 00 000 4AD 1197 00 000 4AE 1198 00 000 4AF 1199 00 000 4B0 1200 ß 02 002 4B1 1201 00 000 4B2 1202 ß ß 12 018 4B3 1203 ßß 03 003 4B4 1204 ß 01 001 4B5 1205 ß 01 001 4B6 1206 ßß 03 003 4B7 1207 00 000 4B8 1208 00 000 4B9 1209 00 000 4BA 1210 00 000 4BB 1211 00 000 4BC 1212 00 000 4BD 1213 00 000 4BE 1214 00 000 4BF 1215 00 000 4C0 1216 00 000 4C1 1217 00 000 4C2 1218 ßß 03 003 4C3 1219 00 000 4C4 1220 ß ßß 16 022 4C5 1221 ß 01 001 4C6 1222 ß 01 001 4C7 1223 ßß 03 003 4C8 1224 ßß 03 003 4C9 1225 00 000 4CA-4CB 1226-1227 0000 00000 4CC-4CD 1228-1229 0000 00000 4CE-4CF 1230-1231 0000 00000 4D0-4D1 1232-1233 0000 00000 4D2-4D3 1234-1235 0000 00000 4D4-4D5 1236-1237 0000 00000! huc 4D6-4D7 1238-1239 0000 00000 4D8-4D9 1240-1241 0000 00000 4DA-4DB 1242-1243 0000 00000 4DC-4DD 1244-1245 0000 00000 illuc 4DE-4DF 1246-1247 0000 00000 4E0-4E1 1248-1249 0000 00000 4E2-4E3 1250-1251 0000 00000 4E4-4E5 1252-1253 0000 00000 finis The register usage is as follows: V0 Memory movement. V1 Memory movement and horizontal sprite coordinates. V2 Memory movement and vertical sprite coordinates. V3 Memory movement and an index. V4 Memory movement. V5 Memory movement. V6 Memory movement. V7 Memory movement and serve as scratch. V8 Serve as scratch. V9 Serve as scratch. VA Serve as scratch. VB Hold a counter. VC Hold a counter. VD Hold a constant length. VE Hold a delay. VF Manipulate the delay register hold special results. This program initializes registers, sets a delay, and saves its registers to the end of the program: 200-201 0512-0513 ßÜß Ü ßÜ A2EB 41707 I  illinc 202-203 0514-0515 ÛßßÛÛßÛÜ FE65 65125 Load V0VE; I  I + 15 204-205 0516-0517 ÛÛÛßÛßÛÜ FE15 65045 primus delay  VE 206-207 0518-0519 ßÜß ß A4E4 42212 I  finis 208-209 0520-0521 ÛßÛßÛßÛÜ FE55 65109 Save V0VE; I  I + 15 The reason for saving the registers is this secondary loop which scans the list of exceptions during each iteration. If the first octet be zero, then scanning is finished; otherwise, the following two octets are taken to compare against registers eleven and twelve; if both match, the exception holds, and the following fifteen octets will be shown, with the registers being restored beforehand; in all other cases, the following fifteen octets will be skipped and the scanning of the list continues on: 20A-20B 0522-0523 ß ÛÜÜßÜ A49E 42142 I  praeter 20C-20D 0524-0525 ÛßßÛ Ü Ü F065 61541 secundus Load V0V0; I  I + 01 20E-20F 0526-0527 Û 4000 16384 Skip next if V0 <> 000 210-211 0528-0529 ÜÛÜÜÛ 122C 04652 Jump to regula 212-213 0530-0531 ÛßßÛ Ü ß F165 61797 Load V0V1; I  I + 02 214-215 0532-0533 ÜÛÜß 50B0 20656 Skip next if V0 = VB 216-217 0534-0535 ÜÛÜ Û 1228 04648 Jump to iterum 218-219 0536-0537 Üß Û Û 51C0 20928 Skip next if V1 = VC 21A-21B 0538-0539 ÜÛÜ Û 1228 04648 Jump to iterum 21C-21D 0540-0541 ÛßßÛÛßÛÜ FE65 65125 Load V0VE; I  I + 15 21E-21F 0542-0543 ßÜÛÜ ß Ü A4D5 42197 I  huc 220-221 0544-0545 ÛßÛßÛßÛÜ FE55 65109 Save V0VE; I  I + 15 222-223 0546-0547 ßÜß ß A4E4 42212 I  finis 224-225 0548-0549 ÛßßÛÛßÛÜ FE65 65125 Load V0VE; I  I + 15 226-227 0550-0551 Ü ßÜ ß 129A 04762 Jump to ostendo 228-229 0552-0553 ÛÛÛßßßÜÛ FD1E 64798 iterum I  I + VD 22A-22B 0554-0555 ÛÜÜÛ 120C 04620 Jump to secundus Regular iteration shows the result of concatenating two indexed tables; the first table, of hextets, stores fourteen pairs of bits in each entry, taken successively by routine and stored in those first seven registers; swapping the registers used, after the fourth call, produces no crease and is easy: 22C-22D 0556-0557 Û ß ßÛ A322 41762 regula I  centesima 22E-22F 0558-0559 ÛÛÛßßÜßÛ FB1E 64286 I  I + VB 230-231 0560-0561 ÛÛÛßßÜßÛ FB1E 64286 I  I + VB 232-233 0562-0563 ÛßßÛ Ü ß F165 61797 Load V0V1; I  I + 02 234-235 0564-0565 Û Û Û 8900 35072 V9  V0 236-237 0566-0567 Û ÜÛ 8810 34832 V8  V1 238-239 0568-0569 ÜÜß Üß 22E6 08934 Call duo digiti 23A-23B 0570-0571 ß Ü 80A0 32928 V0  VA 23C-23D 0572-0573 ÜÜß Üß 22E6 08934 Call duo digiti 23E-23F 0574-0575 ß Ü Û 81A0 33184 V1  VA 240-241 0576-0577 ÜÜß Üß 22E6 08934 Call duo digiti 242-243 0578-0579 ß Ü Û 82A0 33440 V2  VA 244-245 0580-0581 ÜÜß Üß 22E6 08934 Call duo digiti 246-247 0582-0583 ß Ü ÛÛ 83A0 33696 V3  VA 248-249 0584-0585 ß Û Û 8980 35200 V9  V8 24A-24B 0586-0587 ÜÜß Üß 22E6 08934 Call duo digiti 24C-24D 0588-0589 ß Ü Û 84A0 33952 V4  VA 24E-24F 0590-0591 ÜÜß Üß 22E6 08934 Call duo digiti 250-251 0592-0593 ß Ü Û Û 85A0 34208 V5  VA 252-253 0594-0595 ÜÜß Üß 22E6 08934 Call duo digiti 254-255 0596-0597 ß Ü ÛÛ 86A0 34464 V6  VA 256-257 0598-0599 ßÜÛÜ ß Ü A4D5 42197 I  huc 258-259 0600-0601 ÛßÛß ßÛÜ F655 63061 Save V0V6; I  I + 07 The second table, of octet triplets, stores eight triplets of bits in each entry, taken successively by routine and stored in those first eight registers; swapping the registers used, after that second call, produces a slight crease corrected by undoing a shift before swapping in the next and resuming with a call of a more primitive routine. The next crease, after another two calls, is not as easily corrected; it's easier to abandon the routine and call the primitive routine again, before calling a second primitive routine, and only then resuming normally. Finally, the eight octets are deposited: 25A-25B 0602-0603 ÛÜßÜ ßÛ A372 41842 I  de centum 25C-25D 0604-0605 ÛÛÛßßßÜ FC1E 64542 I  I + VC 25E-25F 0606-0607 ÛÛÛßßßÜ FC1E 64542 I  I + VC 260-261 0608-0609 ÛÛÛßßßÜ FC1E 64542 I  I + VC 262-263 0610-0611 ÛßßÛ ÜÛÜ F265 62053 Load V0V2; I  I + 03 264-265 0612-0613 Û Û Û 8900 35072 V9  V0 266-267 0614-0615 Û Ü ÛÛÛ 8710 34576 V7  V1 268-269 0616-0617 Û Ü Û 8820 34848 V8  V2 26A-26B 0618-0619 ÜÜßÜ Û 22F0 08944 Call tres digiti 26C-26D 0620-0621 ß Ü 80A0 32928 V0  VA 26E-26F 0622-0623 ÜÜßÜ Û 22F0 08944 Call tres digiti 270-271 0624-0625 ß Ü Û 81A0 33184 V1  VA 272-273 0626-0627 ÜÜßÜ Û 22F0 08944 Call tres digiti 274-275 0628-0629 ß Ü ÛÜß 8AA6 35494 VA  VA ö 2; VF  LSB 276-277 0630-0631 ÛÜÜÜÛ Û 8970 35184 V9  V7 278-279 0632-0633 ÜÜÛÜÜÜÛ 22DC 08924 Call semel 27A-27B 0634-0635 ß Ü Û 82A0 33440 V2  VA 27C-27D 0636-0637 ÜÜßÜ Û 22F0 08944 Call tres digiti 27E-27F 0638-0639 ß Ü ÛÛ 83A0 33696 V3  VA 280-281 0640-0641 ÜÜßÜ Û 22F0 08944 Call tres digiti 282-283 0642-0643 ß Ü Û 84A0 33952 V4  VA 284-285 0644-0645 ÛÛ Û Û 6A00 27136 VA  000 286-287 0646-0647 ÜÜÛÜÜÜÛ 22DC 08924 Call semel 288-289 0648-0649 ß Û Û 8980 35200 V9  V8 28A-28B 0650-0651 ÜÜÛÜÜ ß 22DA 08922 Call bis 28C-28D 0652-0653 ß Ü Û Û 85A0 34208 V5  VA 28E-28F 0654-0655 ÜÜßÜ Û 22F0 08944 Call tres digiti 290-291 0656-0657 ß Ü ÛÛ 86A0 34464 V6  VA 292-293 0658-0659 ÜÜßÜ Û 22F0 08944 Call tres digiti 294-295 0660-0661 ß Ü ÛÛÛ 87A0 34720 V7  VA 296-297 0662-0663 ßÜÛÜÜß A4DC 42204 I  illuc 298-299 0664-0665 ÛßÛß ßÛß F755 63317 Save V0V7; I  I + 08 The ranges of both tables have blank values, and concatenation is achieved in the showing routine by skipping such blanks. Firstly, the coordinates and index are initialized, and each letter is shown, by indexing into a table of values five octets long; blanks are ignored only after indexing, causing no coordinate changes. Once all fifteen possible letters have been shown or not, does the loop end: 29A-29B 0666-0667 ÛÛ ÜÛ 6102 24834 ostendo V1  002 29C-29D 0668-0669 ÛÛ ß 6202 25090 V2  002 29E-29F 0670-0671 ÛÛ ÛÛ 6300 25344 V3  000 2A0-2A1 0672-0673 ßÜÛÜ ß Ü A4D5 42197 rursus I  huc 2A2-2A3 0674-0675 ÛÛÛßÜÜßÛ F31E 62238 I  I + V3 2A4-2A5 0676-0677 ÛßßÛ Ü Ü F065 61541 Load V0V0; I  I + 01 2A6-2A7 0678-0679 ßÜßÜ ÜÛÜ A2F5 41717 I  litterae 2A8-2A9 0680-0681 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2AA-2AB 0682-0683 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2AC-2AD 0684-0685 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2AE-2AF 0686-0687 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2B0-2B1 0688-0689 ÛÛÛßÜÜÜ F01E 61470 I  I + V0 2B2-2B3 0690-0691 ÛÛ 3000 12288 Skip next if V0 = 000 2B4-2B5 0692-0693 ÛÛÜÛ Ü ß D125 53541 Draw 08x05 at V1,V2; VF  XOR 2B6-2B7 0694-0695 ÛÛ 3000 12288 Skip next if V0 = 000 2B8-2B9 0696-0697 ÛÛÛ Ü Û 7104 28932 V1  V1 + 004 2BA-2BB 0698-0699 ÛÛÛ Ûß 7301 29441 V3  V3 + 001 2BC-2BD 0700-0701 ÛÛÜÜßß 330F 13071 Skip next if V3 = 015 2BE-2BF 0702-0703 Ü ÜÛ Û 12A0 04768 Jump to rursus The integer to show is incremented and the registers holding it are kept within their domains: below one hundred and below forty, respectively. The program ends when the integer becomes four thousand: 2C0-2C1 0704-0705 ÛÛÛÛÛ Ü 7C01 31745 VC  VC + 001 2C2-2C3 0706-0707 ßÜ Ûß 4C64 19556 Skip next if VC <> 100 2C4-2C5 0708-0709 ÛÛ ÛÛ 6C00 27648 VC  000 2C6-2C7 0710-0711 Û ÛÛ 4C00 19456 Skip next if VC <> 000 2C8-2C9 0712-0713 ÛÛÛÛ Ûß 7B01 31489 VB  VB + 001 2CA-2CB 0714-0715 ÛÜ ß ÛÛ 4B28 19240 Skip next if VB <> 040 2CC-2CD 0716-0717 ÜÜ ÛÜÜÛ 12CC 04812 se Jump to se Here the delay is exhausted before clearing the screen and restarting the prime loop of the program: 2CE-2CF 0718-0719 ÛÛÛÛÛßßß FF07 65287 mora VF  delay 2D0-2D1 0720-0721 ÛÛÛÛÛÛ 3F00 16128 Skip next if VF = 000 2D2-2D3 0722-0723 ÜÜ ÛÜÜß 12CE 04814 Jump to mora 2D4-2D5 0724-0725 ÜÜÜ 00E0 00224 Clear the screen 2D6-2D7 0726-0727 Û ÜÛ 1204 04612 Jump to primus These three routines take the first three, two, or single bits from the ninth to the tenth register: 2D8-2D9 0728-0729 ÜÜÛÜÜÜÛ 22DC 08924 ter Call semel 2DA-2DB 0730-0731 ÜÜÛÜÜÜÛ 22DC 08924 bis Call semel 2DC-2DD 0732-0733 ß Ü ßÜß 8AAE 35502 semel VA  VA * 2; VF  MSB 2DE-2DF 0734-0735 ß ÜßÜÜÛ 899E 35230 V9  V9 * 2; VF  MSB 2E0-2E1 0736-0737 ÛÛÛÛÛÛ 3F00 16128 Skip next if VF = 000 2E2-2E3 0738-0739 ÛÛÛÛ ÛÜ 7A01 31233 VA  VA + 001 2E4-2E5 0740-0741 ÜÜÜ ÜÜÜ 00EE 00238 Return These two routines blank the tenth register before calling the others, and the former normalizes the result for the table of letters; I later saw I could've confused the table to save two instructions. Following the code are the starting values for the eleventh through fourteenth registers. Following those are the table of letters, with the zeroeth letter unused, and the last being for an exception; the letters are four-by-five, as this is the biggest width that fits fifteen on the screen in a row; notice how I cheated for that last letter, which is largest, so that I could have a decent letter N: 2E6-2E7 0742-0743 ÛÛ Û Û 6A00 27136 duo digiti VA  000 2E8-2E9 0744-0745 ÜÜÛÜÜ ß 22DA 08922 Call bis 2EA-2EB 0746-0747 ÛÛÛ Û 3A00 14848! illinc Skip next if VA = 000 2EC-2ED 0748-0749 ÛÛÛÛÜÛ 7A04 31236 VA  VA + 004 2EE-2EF 0750-0751 ÜÜÜ ÜÜÜ 00EE 00238 Return 2F0-2F1 0752-0753 ÛÛ Û Û 6A00 27136 tres digiti VA  000 2F2-2F3 0754-0755 ÜÜÛÜÜ Û 22D8 08920 Call ter 2F4-2F5 0756-0757 ÜÜÜ ÜÜÜ 00EE 00238! litterae Return 2F6 0758 00 000 2F7 0759 00 000 2F8 0760 ßßßß 0F 015 2F9 0761 ßßßß 1E 030 2FA 0762 ßßß E0 224 I 2FB 0763 ß 40 064 2FC 0764 ß 40 064 2FD 0765 ß 40 064 2FE 0766 ßßß E0 224 2FF 0767 ß ß A0 160 V 300 0768 ß ß A0 160 301 0769 ß ß A0 160 302 0770 ß ß A0 160 303 0771 ß 40 064 304 0772 ß ß A0 160 X 305 0773 ß ß A0 160 306 0774 ß 40 064 307 0775 ß ß A0 160 308 0776 ß ß A0 160 309 0777 ß 80 128 L 30A 0778 ß 80 128 30B 0779 ß 80 128 30C 0780 ß 80 128 30D 0781 ßßß E0 224 30E 0782 ßßß E0 224 C 30F 0783 ß 80 128 310 0784 ß 80 128 311 0785 ß 80 128 312 0786 ßßß E0 224 313 0787 ßß C0 192 D 314 0788 ß ß A0 160 315 0789 ß ß A0 160 316 0790 ß ß A0 160 317 0791 ßß C0 192 318 0792 ß ß A0 160 M 319 0793 ßßß E0 224 31A 0794 ßßß E0 224 31B 0795 ßßß E0 224 31C 0796 ß ß A0 160 31D 0797 ß ß 90 144 N 31E 0798 ßß ß D0 208 31F 0799 ßßßß F0 240 320 0800 ß ßß B0 176 321 0801 ß ß 90 144 This table encodes a blank followed by every hundredth integer, from C to MMMCM. Its domain is from zero to thirty-nine. Each value is two bits in length, with the seventh pair always ignored. These values are encoded in the following order: blank, C, D, then M. I rather like it, and it's optimal: 322 0802 00 000 centesima 323 0803 00 000 324 0804 ß 40 064 325 0805 00 000 326 0806 ß ß 50 080 327 0807 00 000 328 0808 ß ß ß 54 084 329 0809 00 000 32A 0810 ßß 60 096 32B 0811 00 000 32C 0812 ß 80 128 32D 0813 00 000 32E 0814 ß ß 90 144 32F 0815 00 000 330 0816 ß ß ß 94 148 331 0817 00 000 332 0818 ß ß ß ß 95 149 333 0819 00 000 334 0820 ßßß 70 112 335 0821 00 000 336 0822 ßß C0 192 337 0823 00 000 338 0824 ßß ß D0 208 339 0825 00 000 33A 0826 ßß ß ß D4 212 33B 0827 00 000 33C 0828 ßß ß ß ß D5 213 33D 0829 00 000 33E 0830 ßß ßß D8 216 33F 0831 00 000 340 0832 ßßß E0 224 341 0833 00 000 342 0834 ßßß ß E4 228 343 0835 00 000 344 0836 ßßß ß ß E5 229 345 0837 00 000 346 0838 ßßß ß ß E5 229 347 0839 ß 40 064 348 0840 ßß ßßß DC 220 349 0841 00 000 34A 0842 ßßßß F0 240 34B 0843 00 000 34C 0844 ßßßß ß F4 244 34D 0845 00 000 34E 0846 ßßßß ß ß F5 245 34F 0847 00 000 350 0848 ßßßß ß ß F5 245 351 0849 ß 40 064 352 0850 ßßßß ßß F6 246 353 0851 00 000 354 0852 ßßßßß F8 248 355 0853 00 000 356 0854 ßßßßß ß F9 249 357 0855 00 000 358 0856 ßßßßß ß F9 249 359 0857 ß 40 064 35A 0858 ßßßßß ß F9 249 35B 0859 ß ß 50 080 35C 0860 ßßßß ßßß F7 247 35D 0861 00 000 35E 0862 ßßßßßß FC 252 35F 0863 00 000 360 0864 ßßßßßß ß FD 253 361 0865 00 000 362 0866 ßßßßßß ß FD 253 363 0867 ß 40 064 364 0868 ßßßßßß ß FD 253 365 0869 ß ß 50 080 366 0870 ßßßßßß ß FD 253 367 0871 ß 80 128 368 0872 ßßßßßßß FE 254 369 0873 00 000 36A 0874 ßßßßßßß FE 254 36B 0875 ß 40 064 36C 0876 ßßßßßßß FE 254 36D 0877 ß ß 50 080 36E 0878 ßßßßßßß FE 254 36F 0879 ß ß ß 54 084 370 0880 ßßßßßß ß FD 253 371 0881 ßß C0 192 This table encodes a blank, then integers below one hundred, from I to XCIX; its domain is from zero to ninety-nine. Each value is of three bits, encoded in this order: blank, I, V, X, L, C, D, and M. 372 0882 00 000 de centum 373 0883 00 000 374 0884 00 000 375 0885 ß 20 032 376 0886 00 000 377 0887 00 000 378 0888 ß ß 24 036 379 0889 00 000 37A 0890 00 000 37B 0891 ß ß 24 036 37C 0892 ß 80 128 37D 0893 00 000 37E 0894 ß ß 28 040 37F 0895 00 000 380 0896 00 000 381 0897 ß 40 064 382 0898 00 000 383 0899 00 000 384 0900 ß ß 44 068 385 0901 00 000 386 0902 00 000 387 0903 ß ß 44 068 388 0904 ß 80 128 389 0905 00 000 38A 0906 ß ß 44 068 38B 0907 ß ß 90 144 38C 0908 00 000 38D 0909 ß ßß 2C 044 38E 0910 00 000 38F 0911 00 000 390 0912 ßß 60 096 391 0913 00 000 392 0914 00 000 393 0915 ßß ß 64 100 394 0916 00 000 395 0917 00 000 396 0918 ßß ß 64 100 397 0919 ß 80 128 398 0920 00 000 399 0921 ßß ß 64 100 39A 0922 ß ß 90 144 39B 0923 00 000 39C 0924 ßß ß ß 65 101 39D 0925 00 000 39E 0926 00 000 39F 0927 ßß ß 68 104 3A0 0928 00 000 3A1 0929 00 000 3A2 0930 ßß ß 68 104 3A3 0931 ß 80 128 3A4 0932 00 000 3A5 0933 ßß ß 68 104 3A6 0934 ß ß 90 144 3A7 0935 00 000 3A8 0936 ßß ß 68 104 3A9 0937 ß ß ß 92 146 3AA 0938 00 000 3AB 0939 ßß ß ß 65 101 3AC 0940 ß 80 128 3AD 0941 00 000 3AE 0942 ßß ßß 6C 108 3AF 0943 00 000 3B0 0944 00 000 3B1 0945 ßß ßß 6C 108 3B2 0946 ß 80 128 3B3 0947 00 000 3B4 0948 ßß ßß 6C 108 3B5 0949 ß ß 90 144 3B6 0950 00 000 3B7 0951 ßß ßß 6C 108 3B8 0952 ß ß ß 92 146 3B9 0953 00 000 3BA 0954 ßß ßß 6C 108 3BB 0955 ß ß A0 160 3BC 0956 00 000 3BD 0957 ßß ßß ß 6D 109 3BE 0958 00 000 3BF 0959 00 000 3C0 0960 ßß ßß ß 6D 109 3C1 0961 ß 10 016 3C2 0962 00 000 3C3 0963 ßß ßß ß 6D 109 3C4 0964 ß ß 12 018 3C5 0965 00 000 3C6 0966 ßß ßß ß 6D 109 3C7 0967 ß ß 12 018 3C8 0968 ß 40 064 3C9 0969 ßß ßß 6C 108 3CA 0970 ß ßß B0 176 3CB 0971 00 000 3CC 0972 ßß ßß ß 6D 109 3CD 0973 ß 80 128 3CE 0974 00 000 3CF 0975 ßß ßß ß 6D 109 3D0 0976 ß ß 90 144 3D1 0977 00 000 3D2 0978 ßß ßß ß 6D 109 3D3 0979 ß ß ß 92 146 3D4 0980 00 000 3D5 0981 ßß ßß ß 6D 109 3D6 0982 ß ß ß 92 146 3D7 0983 ß 40 064 3D8 0984 ßß ßß ß 6D 109 3D9 0985 ß ß ß 94 148 3DA 0986 00 000 3DB 0987 ßß ßß ß 6D 109 3DC 0988 ß ß A0 160 3DD 0989 00 000 3DE 0990 ßß ßß ß 6D 109 3DF 0991 ß ß ß A2 162 3E0 0992 00 000 3E1 0993 ßß ßß ß 6D 109 3E2 0994 ß ß ß A2 162 3E3 0995 ß 40 064 3E4 0996 ßß ßß ß 6D 109 3E5 0997 ß ß ß A2 162 3E6 0998 ß ß 48 072 3E7 0999 ßß ßß ß 6D 109 3E8 1000 ß ß ßß 96 150 3E9 1001 00 000 3EA 1002 ßßß 70 112 3EB 1003 00 000 3EC 1004 00 000 3ED 1005 ßßß 70 112 3EE 1006 ß 80 128 3EF 1007 00 000 3F0 1008 ßßß 70 112 3F1 1009 ß ß 90 144 3F2 1010 00 000 3F3 1011 ßßß 70 112 3F4 1012 ß ß ß 92 146 3F5 1013 00 000 3F6 1014 ßßß 70 112 3F7 1015 ß ß A0 160 3F8 1016 00 000 3F9 1017 ßßß ß 71 113 3FA 1018 00 000 3FB 1019 00 000 3FC 1020 ßßß ß 71 113 3FD 1021 ß 10 016 3FE 1022 00 000 3FF 1023 ßßß ß 71 113 400 1024 ß ß 12 018 401 1025 00 000 402 1026 ßßß ß 71 113 403 1027 ß ß 12 018 404 1028 ß 40 064 405 1029 ßßß 70 112 406 1030 ß ßß B0 176 407 1031 00 000 408 1032 ß 80 128 409 1033 00 000 40A 1034 00 000 40B 1035 ß ß 84 132 40C 1036 00 000 40D 1037 00 000 40E 1038 ß ß 84 132 40F 1039 ß 80 128 410 1040 00 000 411 1041 ß ß 84 132 412 1042 ß ß 90 144 413 1043 00 000 414 1044 ß ß ß 85 133 415 1045 00 000 416 1046 00 000 417 1047 ß ß 88 136 418 1048 00 000 419 1049 00 000 41A 1050 ß ß 88 136 41B 1051 ß 80 128 41C 1052 00 000 41D 1053 ß ß 88 136 41E 1054 ß ß 90 144 41F 1055 00 000 420 1056 ß ß 88 136 421 1057 ß ß ß 92 146 422 1058 00 000 423 1059 ß ß ß 85 133 424 1060 ß 80 128 425 1061 00 000 426 1062 ß ßß 8C 140 427 1063 00 000 428 1064 00 000 429 1065 ß ßß 8C 140 42A 1066 ß 80 128 42B 1067 00 000 42C 1068 ß ßß 8C 140 42D 1069 ß ß 90 144 42E 1070 00 000 42F 1071 ß ßß 8C 140 430 1072 ß ß ß 92 146 431 1073 00 000 432 1074 ß ßß 8C 140 433 1075 ß ß A0 160 434 1076 00 000 435 1077 ß ßß ß 8D 141 436 1078 00 000 437 1079 00 000 438 1080 ß ßß ß 8D 141 439 1081 ß 10 016 43A 1082 00 000 43B 1083 ß ßß ß 8D 141 43C 1084 ß ß 12 018 43D 1085 00 000 43E 1086 ß ßß ß 8D 141 43F 1087 ß ß 12 018 440 1088 ß 40 064 441 1089 ß ßß 8C 140 442 1090 ß ßß B0 176 443 1091 00 000 444 1092 ß ßß ß 8D 141 445 1093 ß 80 128 446 1094 00 000 447 1095 ß ßß ß 8D 141 448 1096 ß ß 90 144 449 1097 00 000 44A 1098 ß ßß ß 8D 141 44B 1099 ß ß ß 92 146 44C 1100 00 000 44D 1101 ß ßß ß 8D 141 44E 1102 ß ß ß 92 146 44F 1103 ß 40 064 450 1104 ß ßß ß 8D 141 451 1105 ß ß ß 94 148 452 1106 00 000 453 1107 ß ßß ß 8D 141 454 1108 ß ß A0 160 455 1109 00 000 456 1110 ß ßß ß 8D 141 457 1111 ß ß ß A2 162 458 1112 00 000 459 1113 ß ßß ß 8D 141 45A 1114 ß ß ß A2 162 45B 1115 ß 40 064 45C 1116 ß ßß ß 8D 141 45D 1117 ß ß ß A2 162 45E 1118 ß ß 48 072 45F 1119 ß ßß ß 8D 141 460 1120 ß ß ßß 96 150 461 1121 00 000 462 1122 ß ßß ß 8D 141 463 1123 ß ßß B0 176 464 1124 00 000 465 1125 ß ßß ß 8D 141 466 1126 ß ßß ß B2 178 467 1127 00 000 468 1128 ß ßß ß 8D 141 469 1129 ß ßß ß B2 178 46A 1130 ß 40 064 46B 1131 ß ßß ß 8D 141 46C 1132 ß ßß ß B2 178 46D 1133 ß ß 48 072 46E 1134 ß ßß ß 8D 141 46F 1135 ß ßß ß B2 178 470 1136 ß 80 128 471 1137 ß ßß ß 8D 141 472 1138 ß ßß ß B4 180 473 1139 00 000 474 1140 ß ßß ß 8D 141 475 1141 ß ßß ß B4 180 476 1142 ß 40 064 477 1143 ß ßß ß 8D 141 478 1144 ß ßß ß B4 180 479 1145 ß ß 48 072 47A 1146 ß ßß ß 8D 141 47B 1147 ß ßß ß B4 180 47C 1148 ß ß ß 49 073 47D 1149 ß ßß ß 8D 141 47E 1150 ß ßß ß B2 178 47F 1151 ßß C0 192 480 1152 ßßß ß 74 116 481 1153 00 000 482 1154 00 000 483 1155 ßßß ß 74 116 484 1156 ß 80 128 485 1157 00 000 486 1158 ßßß ß 74 116 487 1159 ß ß 90 144 488 1160 00 000 489 1161 ßßß ß 74 116 48A 1162 ß ß ß 92 146 48B 1163 00 000 48C 1164 ßßß ß 74 116 48D 1165 ß ß A0 160 48E 1166 00 000 48F 1167 ßßß ß ß 75 117 490 1168 00 000 491 1169 00 000 492 1170 ßßß ß ß 75 117 493 1171 ß 10 016 494 1172 00 000 495 1173 ßßß ß ß 75 117 496 1174 ß ß 12 018 497 1175 00 000 498 1176 ßßß ß ß 75 117 499 1177 ß ß 12 018 49A 1178 ß 40 064 49B 1179 ßßß ß 74 116 49C 1180 ß ßß B0 176 49D 1181 00 000 Lastly is the list of exceptions. No effort was wasted to make this particularly efficient in size. Each entry of this list is an octet followed by another two corresponding to the values of registers eleven and twelve, followed by another fifteen which directly encode the letters to be used for such an exception, including custom letters. The list is ended by a zero, and I decided to number these: 49E 1182 ß 01 001 praeter 49F 1183 00 000 4A0 1184 00 000 4A1 1185 ß 08 008 4A2 1186 00 000 4A3 1187 00 000 4A4 1188 00 000 4A5 1189 00 000 4A6 1190 00 000 4A7 1191 00 000 4A8 1192 00 000 4A9 1193 00 000 4AA 1194 00 000 4AB 1195 00 000 4AC 1196 00 000 4AD 1197 00 000 4AE 1198 00 000 4AF 1199 00 000 4B0 1200 ß 02 002 4B1 1201 00 000 4B2 1202 ß ß 12 018 4B3 1203 ßß 03 003 4B4 1204 ß 01 001 4B5 1205 ß 01 001 4B6 1206 ßß 03 003 4B7 1207 00 000 4B8 1208 00 000 4B9 1209 00 000 4BA 1210 00 000 4BB 1211 00 000 4BC 1212 00 000 4BD 1213 00 000 4BE 1214 00 000 4BF 1215 00 000 4C0 1216 00 000 4C1 1217 00 000 4C2 1218 ßß 03 003 4C3 1219 00 000 4C4 1220 ß ßß 16 022 4C5 1221 ß 01 001 4C6 1222 ß 01 001 4C7 1223 ßß 03 003 4C8 1224 ßß 03 003 4C9 1225 00 000 4CA-4CB 1226-1227 0000 00000 4CC-4CD 1228-1229 0000 00000 4CE-4CF 1230-1231 0000 00000 4D0-4D1 1232-1233 0000 00000 4D2-4D3 1234-1235 0000 00000 4D4-4D5 1236-1237 0000 00000! huc 4D6-4D7 1238-1239 0000 00000 4D8-4D9 1240-1241 0000 00000 4DA-4DB 1242-1243 0000 00000 4DC-4DD 1244-1245 0000 00000 illuc 4DE-4DF 1246-1247 0000 00000 4E0-4E1 1248-1249 0000 00000 4E2-4E3 1250-1251 0000 00000 4E4-4E5 1252-1253 0000 00000 finis Notice but one contiguous memory space is ever written, making proving this program correct simpler. .