|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics
Length: 1483776 (0x16a400) Types: Rc489kSubCat Names: »kkmon2filer«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »kkmon2filer«
0x000000…000033 (0,) Rc489kSubCatEnt {f00=0x002843, f01=0x0007e4, f02=0x0007ed, filename=»kkmonret2 «, entry_tail=0-4-0-33-1982-10-07T10:49-disc3-0x0-0x0-0x0-0x0} 0x000033…000066 Rc489kSubCatEnt {f00=0x023f82, f01=0x0007e4, f02=0x0007ed, filename=»kkfptxt1 «, entry_tail=0-4-0-69-1982-09-09T11:00-disc1-0x0-0x0-0x0-0x0} 0x000066…000099 Rc489kSubCatEnt {f00=0x0687ea, f01=0x0007e4, f02=0x0007ed, filename=»kkfptxt2 «, entry_tail=0-4-0-105-1982-09-09T11:00-disc1-0x0-0x0-0x0-0x0} 0x000099…0000cc Rc489kSubCatEnt {f00=0x0d1052, f01=0x0007e4, f02=0x0007ed, filename=»kkfptxt3 «, entry_tail=0-4-0-81-1982-09-09T11:01-disc1-0x0-0x0-0x0-0x0} 0x0000cc…0000ff Rc489kSubCatEnt {f00=0x122d6b, f01=0x0007e4, f02=0x0007ed, filename=»kkopt2 «, entry_tail=0-4-0-31-1982-05-05T12:25-disc3-0x0-0x0-0x0-0x0} 0x0000ff…000132 Rc489kSubCatEnt {f00=0x141ac2, f01=0x0007e4, f02=0x0007ed, filename=»monprocfnc2 «, entry_tail=0-4-0-246-1982-02-22T15:33-disc1-0x0-0x0-0x0-0x0} 0x000132…000165 Rc489kSubCatEnt {f00=0x237408, f01=0x0007e4, f02=0x0007e4, filename=»moncentral «, entry_tail=0-4-0-87-1982-02-18T15:12-disc1-0x0-0x0-0x0-0x0} 0x000165…000198 Rc489kSubCatEnt {f00=0x28ea28, f01=0x0007e4, f02=0x0007e4, filename=»mondef «, entry_tail=0-4-0-30-1982-02-18T08:59-disc3-0x0-0x0-0x0-0x0} 0x000198…0001cb Rc489kSubCatEnt {f00=0x2ac600, f01=0x0007e4, f02=0x0007e4, filename=»monprocs «, entry_tail=0-4-0-253-1982-02-18T08:59-disc3-0x0-0x0-0x0-0x0} 0x0001cb…0001fe Rc489kSubCatEnt {f00=0x3a95a2, f01=0x0007e4, f02=0x0007ed, filename=»mondisc «, entry_tail=0-4-0-158-1982-02-10T09:04-disc1-0x0-0x0-0x0-0x0} 0x0001fe…000231 Rc489kSubCatEnt {f00=0x447dca, f01=0x0007e4, f02=0x0007ed, filename=»monfpaline «, entry_tail=0-4-0-130-1982-02-10T09:04-disc1-0x0-0x0-0x0-0x0} 0x000231…000264 Rc489kSubCatEnt {f00=0x4c9232, f01=0x0007e4, f02=0x0007ed, filename=»monhost «, entry_tail=0-4-0-83-1982-02-10T09:04-disc1-0x0-0x0-0x0-0x0} 0x000264…000297 Rc489kSubCatEnt {f00=0x51cbc2, f01=0x0007e4, f02=0x0007ed, filename=»monfpasub «, entry_tail=0-4-0-164-1982-02-10T09:04-disc1-0x0-0x0-0x0-0x0} 0x000297…0002ca Rc489kSubCatEnt {f00=0x5c0458, f01=0x0007e4, f02=0x0007e4, filename=»montabinit «, entry_tail=0-4-0-22-1982-02-18T09:01-disc3-0x0-0x0-0x0-0x0} 0x0002ca…0002fd Rc489kSubCatEnt {f00=0x5d62c0, f01=0x0007e4, f02=0x0007e4, filename=»monprocfnc1 «, entry_tail=0-4-0-79-1982-02-18T09:01-disc3-0x0-0x0-0x0-0x0} 0x0002fd…000300 0x000015 0x000300…000333 Rc489kSubCatEnt {f00=0x625420, f01=0x0007e4, f02=0x0007e4, filename=»mons1 «, entry_tail=0-4-0-91-1982-02-18T09:02-disc3-0x0-0x0-0x0-0x0} 0x000333…000366 Rc489kSubCatEnt {f00=0x680c20, f01=0x0007e4, f02=0x0007e4, filename=»mons2 «, entry_tail=0-4-0-98-1982-02-18T09:02-disc3-0x0-0x0-0x0-0x0} 0x000366…000399 Rc489kSubCatEnt {f00=0x6e2142, f01=0x0007e4, f02=0x0007ed, filename=»moncatinit «, entry_tail=0-4-0-124-1982-02-10T09:04-disc1-0x0-0x0-0x0-0x0} 0x000399…0003cc Rc489kSubCatEnt {f00=0x75ef4a, f01=0x0007e4, f02=0x0007ed, filename=»kklistopt2 «, entry_tail=0-4-0-22-1981-06-05T10:00-disc1-0x0-0x0-0x0-0x0} 0x0003cc…0003ff Rc489kSubCatEnt {f00=0x774473, f01=0x0007e4, f02=0x0007ed, filename=»inf2 «, entry_tail=0-4-0-1-1980-10-21T12:56-disc1-0x0-0x0-0x0-0x0} 0x0003ff…000432 Rc489kSubCatEnt {f00=0x7756e3, f01=0x0007e4, f02=0x0007ed, filename=»kkfpret2 «, entry_tail=0-4-0-2-1980-10-08T14:22-disc1-0x0-0x0-0x0-0x0} 0x000432…000440 23 74 08 00 07 e4 00 07 e4 6d 6f 6e 63 65 ┆#t monce┆ 0x000440…000460 6e 74 72 61 6c 00 00 00 00 57 64 69 73 63 31 00 00 00 00 00 00 00 81 d1 6e 00 00 00 00 00 00 00 ┆ntral Wdisc1 n ┆ 0x000460…000480 00 00 00 00 00 28 ea 28 00 07 e4 00 07 e4 6d 6f 6e 64 65 66 00 00 00 00 00 00 00 00 1e 64 69 73 ┆ ( ( mondef dis┆ 0x000480…0004a0 63 33 00 00 00 00 00 00 00 81 cf c3 00 00 00 00 00 00 00 00 00 00 00 00 2a c6 00 00 07 e4 00 07 ┆c3 * ┆ 0x0004a0…0004c0 e4 6d 6f 6e 70 72 6f 63 73 00 00 00 00 00 00 fd 64 69 73 63 33 00 00 00 00 00 00 00 81 cf c3 00 ┆ monprocs disc3 ┆ 0x0004c0…0004e0 00 00 00 00 00 00 00 00 00 00 00 3a 95 a2 00 07 e4 00 07 ed 6d 6f 6e 64 69 73 63 00 00 00 00 00 ┆ : mondisc ┆ 0x0004e0…000500 00 00 9e 64 69 73 63 31 00 00 00 00 00 00 00 81 9c 49 00 00 00 00 00 00 00 00 00 00 00 00 44 7d ┆ disc1 I Då┆ 0x000500…000520 ca 00 07 e4 00 07 ed 6d 6f 6e 66 70 61 6c 69 6e 65 00 00 00 00 82 64 69 73 63 31 00 00 00 00 00 ┆ monfpaline disc1 ┆ 0x000520…000540 00 00 81 9c 49 00 00 00 00 00 00 00 00 00 00 00 00 4c 92 32 00 07 e4 00 07 ed 6d 6f 6e 68 6f 73 ┆ I L 2 monhos┆ 0x000540…000560 74 00 00 00 00 00 00 00 53 64 69 73 63 31 00 00 00 00 00 00 00 81 9c 49 00 00 00 00 00 00 00 00 ┆t Sdisc1 I ┆ 0x000560…000580 00 00 00 00 51 cb c2 00 07 e4 00 07 ed 6d 6f 6e 66 70 61 73 75 62 00 00 00 00 00 a4 64 69 73 63 ┆ Q monfpasub disc┆ 0x000580…0005a0 31 00 00 00 00 00 00 00 81 9c 49 00 00 00 00 00 00 00 00 00 00 00 00 5c 04 58 00 07 e4 00 07 e4 ┆1 I Ø X ┆ 0x0005a0…0005c0 6d 6f 6e 74 61 62 69 6e 69 74 00 00 00 00 16 64 69 73 63 33 00 00 00 00 00 00 00 81 cf c5 00 00 ┆montabinit disc3 ┆ 0x0005c0…0005e0 00 00 00 00 00 00 00 00 00 00 5d 62 c0 00 07 e4 00 07 e4 6d 6f 6e 70 72 6f 63 66 6e 63 31 00 00 ┆ Åb monprocfnc1 ┆ 0x0005e0…000600 00 4f 64 69 73 63 33 00 00 00 00 00 00 00 81 cf c5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ Odisc3 ┆ 0x000600…006900 Data for kkmonret2 0x006900…013800 Data for kkfptxt1 0x013800…027300 (26,) Data for kkfptxt2 0x027300…036600 Data for kkfptxt3 0x036600…03c300 Data for kkopt2 0x03c300…06a500 Data for monprocfnc2 0x06a500…07aa00 Data for moncentral 0x07aa00…080400 Data for mondef 0x080400…0afb00 (171,) Data for monprocs 0x0afb00…0cd500 Data for mondisc 0x0cd500…0e5b00 Data for monfpaline 0x0e5b00…0f5400 Data for monhost 0x0f5400…114000 (327,) Data for monfpasub 0x114000…118200 (368,) Data for montabinit 0x118200…126f00 Data for monprocfnc1 0x126f00…138000 Data for mons1 0x138000…14a600 (416,) Data for mons2 0x14a600…161a00 Data for moncatinit 0x161a00…165c00 Data for kklistopt2 0x165c00…165f00 (477,) Data for inf2 0x165f00…166500 Data for kkfpret2 0x166500…166520 20 20 28 68 30 2e 29 20 20 20 3b 20 20 20 20 6c 61 73 74 20 6c 69 6e 6b 20 3a 3d 20 65 6e 64 20 ┆ (h0.) ; last link := end ┆ 0x166520…166540 6f 66 20 63 68 61 69 6e 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6e 30 2e 20 20 20 ┆of chain; jl. n0. ┆ 0x166540…166560 20 3b 20 20 20 20 6e 65 78 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 3b 0a 0a 67 38 3a 20 20 20 20 ┆ ; next instruction; g8: ┆ 0x166560…166580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 65 78 74 65 6e 64 20 61 72 65 61 3a 0a 0a ┆ ; extend area: ┆ 0x166580…1665a0 3b 20 74 68 65 20 61 72 65 61 20 77 61 73 20 74 6f 6f 20 73 68 6f 72 74 0a 3b 20 20 20 74 72 79 ┆; the area was too short ; try┆ 0x1665a0…1665c0 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 61 72 65 61 20 77 69 74 68 20 61 64 6a 61 63 65 6e ┆ to extend the area with adjacen┆ 0x1665c0…1665e0 74 20 73 6c 69 63 65 73 0a 3b 20 77 31 20 3d 20 61 62 73 20 61 64 64 72 20 6f 66 20 6c 61 73 74 ┆t slices ; w1 = abs addr of last┆ 0x1665e0…166600 20 75 73 65 64 20 73 6c 69 63 65 0a 3b 20 77 32 20 3d 20 72 65 6d 61 69 6e 69 6e 67 0a 0a 20 20 ┆ used slice ; w2 = remaining ┆ 0x166600…166620 20 20 20 73 6e 2e 20 77 31 20 20 20 20 28 64 34 2e 29 20 20 20 3b 20 20 20 20 69 66 20 6f 6c 64 ┆ sn. w1 (d4.) ; if old┆ 0x166620…166640 20 73 69 7a 65 20 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 ┆ size = 0 then jl. g┆ 0x166640…166660 39 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 6e 65 77 20 61 72 65 61 3b 0a 0a 20 20 20 ┆9. ; goto new area; ┆ 0x166660…166680 20 20 73 6e 2e 20 77 31 20 20 20 20 28 68 33 2e 29 20 20 20 3b 20 20 20 20 69 66 20 61 62 73 20 ┆ sn. w1 (h3.) ; if abs ┆ 0x166680…1666a0 61 64 64 72 20 6f 66 20 6c 61 73 74 20 75 73 65 64 20 73 6c 69 63 65 20 3d 0a 20 20 20 20 20 6a ┆addr of last used slice = j┆ 0x1666a0…1666c0 6c 2e 20 20 20 20 20 20 20 20 67 31 35 2e 20 20 20 3b 20 20 20 20 20 20 61 64 64 72 20 6f 66 20 ┆l. g15. ; addr of ┆ 0x1666c0…1666e0 6c 61 73 74 20 73 6c 69 63 65 20 69 6e 20 63 68 61 69 6e 74 61 62 6c 65 20 74 68 65 6e 0a 20 20 ┆last slice in chaintable then ┆ 0x1666e0…166700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f ┆ ; goto┆ 0x166700…166720 20 67 65 74 20 61 20 73 6c 69 63 65 3b 0a 20 20 20 20 20 62 6c 20 20 77 30 20 20 78 31 2b 31 20 ┆ get a slice; bl w0 x1+1 ┆ 0x166720…166740 20 20 20 20 20 3b 0a 20 20 20 20 20 73 65 20 20 77 30 20 20 20 20 2d 32 30 34 38 20 20 20 3b 20 ┆ ; se w0 -2048 ; ┆ 0x166740…166760 20 20 20 69 66 20 61 64 6a 61 63 65 6e 74 20 73 6c 69 63 65 20 69 73 20 6f 63 63 75 70 69 65 64 ┆ if adjacent slice is occupied┆ 0x166760…166780 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 35 2e 20 20 20 3b 20 20 ┆ then jl. g15. ; ┆ 0x166780…1667a0 20 20 20 20 67 6f 74 6f 20 67 65 74 20 61 20 73 6c 69 63 65 3b 0a 0a 3b 20 74 68 65 20 73 6c 69 ┆ goto get a slice; ; the sli┆ 0x1667a0…1667c0 63 65 20 77 61 73 20 66 72 65 65 20 61 6e 64 20 6d 61 79 20 74 68 65 72 65 66 6f 72 65 20 62 65 ┆ce was free and may therefore be┆ 0x1667c0…1667e0 20 75 73 65 64 20 66 6f 72 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 61 72 65 61 0a 20 20 20 ┆ used for extending the area ┆ 0x1667e0…166800 20 20 61 6c 20 20 77 30 20 20 20 20 20 31 20 20 20 20 20 20 3b 20 20 20 20 73 6c 69 63 65 20 6c ┆ al w0 1 ; slice l┆ 0x166800…166820 (478,) 69 6e 6b 28 6c 61 73 74 20 75 73 65 64 20 73 6c 69 63 65 29 20 3a 3d 20 31 3b 0a 20 20 20 20 20 ┆ink(last used slice) := 1; ┆ 0x166820…166840 68 73 20 20 77 30 20 20 78 31 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 61 6c 20 20 77 31 20 ┆hs w0 x1 ; al w1 ┆ 0x166840…166860 20 78 31 2b 31 20 20 20 20 20 20 3b 20 20 20 20 69 6e 63 72 65 61 73 65 28 61 64 64 72 20 6f 66 ┆ x1+1 ; increase(addr of┆ 0x166860…166880 20 6c 61 73 74 20 75 73 65 64 20 73 6c 69 63 65 29 3b 0a 67 31 37 3a 20 20 20 20 20 20 20 20 20 ┆ last used slice); g17: ┆ 0x166880…1668a0 20 20 20 20 20 20 20 20 20 20 3b 20 6f 63 63 75 70 79 20 62 79 74 65 3a 0a 3b 20 77 31 20 3d 20 ┆ ; occupy byte: ; w1 = ┆ 0x1668a0…1668c0 6e 65 77 20 73 6c 69 63 65 0a 3b 20 77 32 20 3d 20 72 65 6d 61 69 6e 69 6e 67 0a 20 20 20 20 20 ┆new slice ; w2 = remaining ┆ 0x1668c0…1668e0 61 6c 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 0a 20 20 20 20 20 68 73 20 20 77 30 20 ┆al w0 0 ; hs w0 ┆ 0x1668e0…166900 20 78 31 20 20 20 20 20 20 20 20 3b 20 20 20 20 73 6c 69 63 65 63 68 61 69 6e 20 28 6e 65 77 20 ┆ x1 ; slicechain (new ┆ 0x166900…166920 73 6c 69 63 65 29 20 3a 3d 20 30 3b 20 69 2e 65 2e 20 65 6e 64 20 6f 66 20 63 68 61 69 6e 3b 0a ┆slice) := 0; i.e. end of chain; ┆ 0x166920…166940 20 20 20 20 20 72 73 2e 20 77 31 20 20 20 20 20 68 34 2e 20 20 20 20 3b 20 20 20 20 6d 69 6e 20 ┆ rs. w1 h4. ; min ┆ 0x166940…166960 73 6c 69 63 65 20 3a 3d 20 6e 65 77 20 73 6c 69 63 65 3b 0a 20 20 20 20 20 72 73 2e 20 77 31 20 ┆slice := new slice; rs. w1 ┆ 0x166960…166980 20 20 20 20 68 30 2e 20 20 20 20 3b 20 20 20 20 61 64 64 72 20 6f 66 20 63 75 72 72 20 73 6c 69 ┆ h0. ; addr of curr sli┆ 0x166980…1669a0 63 65 20 3a 3d 20 61 64 64 72 20 6f 66 20 6c 61 73 74 20 75 73 65 64 20 73 6c 69 63 65 3b 0a 20 ┆ce := addr of last used slice; ┆ 0x1669a0…1669c0 20 20 20 20 61 6c 20 20 77 32 20 20 78 32 2d 31 20 20 20 20 20 20 3b 20 20 20 20 64 65 63 72 65 ┆ al w2 x2-1 ; decre┆ 0x1669c0…1669e0 61 73 65 28 72 65 6d 61 69 6e 69 6e 67 29 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 ┆ase(remaining); jl. ┆ 0x1669e0…166a00 67 35 2e 20 20 20 20 3b 20 20 20 20 67 6f 74 6f 20 6e 65 78 74 20 70 6f 72 74 69 6f 6e 3b 0a 3b ┆g5. ; goto next portion; ;┆ 0x166a00…166a20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 65 6e 64 20 6f 66 20 63 68 61 69 6e 20 77 69 6c 6c 20 62 ┆ notice that end of chain will b┆ 0x166a20…166a40 65 20 73 65 74 20 6c 61 74 65 72 0a 0a 0a 67 39 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆e set later g9: ┆ 0x166a40…166a60 20 20 20 20 20 3b 20 6e 65 77 20 61 72 65 61 3a 0a 3b 20 74 72 79 20 74 6f 20 66 69 6e 64 20 61 ┆ ; new area: ; try to find a┆ 0x166a60…166a80 20 63 6f 6e 74 69 67 6f 75 6f 73 20 68 6f 6c 65 20 74 68 61 74 20 66 69 74 73 20 74 68 65 20 72 ┆ contigouos hole that fits the r┆ 0x166a80…166aa0 65 6d 61 69 6e 69 6e 67 20 6e 75 6d 62 65 72 0a 3b 20 20 20 6f 66 20 73 6c 69 63 65 73 0a 0a 20 ┆emaining number ; of slices ┆ 0x166aa0…166ac0 20 20 20 20 72 6c 2e 20 77 31 20 20 20 20 20 64 34 2e 20 20 20 20 3b 20 20 20 20 73 6c 69 63 65 ┆ rl. w1 d4. ; slice┆ 0x166ac0…166ae0 20 3a 3d 20 66 69 72 73 74 20 73 6c 69 63 65 20 6f 66 20 63 68 61 69 6e 74 61 62 6c 65 3b 0a 3b ┆ := first slice of chaintable; ;┆ 0x166ae0…166b00 20 6e 6f 74 69 63 65 3a 20 74 68 65 20 66 69 72 73 74 20 73 6c 69 63 65 20 6f 66 20 63 68 61 69 ┆ notice: the first slice of chai┆ 0x166b00…166b20 6e 74 61 62 6c 65 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 61 6c 6c 6f 63 61 74 65 64 0a 0a ┆ntable will never be allocated ┆ 0x166b20…166b40 67 31 30 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 67 65 74 20 73 74 61 ┆g10: ; get sta┆ 0x166b40…166b60 72 74 20 6f 66 20 66 72 65 65 20 61 72 65 61 3a 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 31 ┆rt of free area: al w2 x1┆ 0x166b60…166b80 2b 31 20 20 20 20 20 20 3b 20 20 20 20 77 32 20 3a 3d 20 66 72 65 65 20 3a 3d 20 6e 65 78 74 20 ┆+1 ; w2 := free := next ┆ 0x166b80…166ba0 73 6c 69 63 65 3b 0a 20 20 20 20 20 61 6c 20 20 77 33 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 ┆slice; al w3 0 ; ┆ 0x166ba0…166bc0 20 20 20 77 33 20 3a 3d 20 66 72 65 65 20 73 69 7a 65 20 3a 3d 20 30 3b 0a 67 31 31 3a 20 20 20 ┆ w3 := free size := 0; g11: ┆ 0x166bc0…166be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 65 73 74 20 6e 65 78 74 20 73 6c 69 63 ┆ ; test next slic┆ 0x166be0…166c00 65 3a 0a 20 20 20 20 20 73 6c 2e 20 77 31 20 20 20 20 28 68 33 2e 29 20 20 20 3b 20 20 20 20 69 ┆e: sl. w1 (h3.) ; i┆ 0x166c00…166c20 66 20 73 6c 69 63 65 20 3d 20 6c 61 73 74 20 73 6c 69 63 65 20 6f 66 20 63 68 61 69 6e 74 61 62 ┆f slice = last slice of chaintab┆ 0x166c20…166c40 6c 65 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 33 2e 20 20 20 3b ┆le then jl. g13. ;┆ 0x166c40…166c60 20 20 20 20 20 20 67 6f 74 6f 20 74 61 6b 65 20 66 69 72 73 74 20 66 72 65 65 3b 0a 20 20 20 20 ┆ goto take first free; ┆ 0x166c60…166c80 20 61 6c 20 20 77 31 20 20 78 31 2b 31 20 20 20 20 20 20 3b 20 20 20 20 69 6e 63 72 65 61 73 65 ┆ al w1 x1+1 ; increase┆ 0x166c80…166ca0 28 73 6c 69 63 65 29 3b 0a 20 20 20 20 20 62 6c 20 20 77 30 20 20 78 31 20 20 20 20 20 20 20 20 ┆(slice); bl w0 x1 ┆ 0x166ca0…166cc0 3b 0a 20 20 20 20 20 73 65 20 20 77 30 20 20 20 20 2d 32 30 34 38 20 20 20 3b 20 20 20 20 69 66 ┆; se w0 -2048 ; if┆ 0x166cc0…166ce0 20 73 6c 69 63 65 20 3c 3e 20 66 72 65 65 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 ┆ slice <> free then jl. ┆ 0x166ce0…166d00 20 20 20 20 67 31 30 2e 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 67 65 74 20 73 74 61 72 74 ┆ g10. ; goto get start┆ 0x166d00…166d20 20 6f 66 20 66 72 65 65 20 61 72 65 61 3b 0a 20 20 20 20 20 61 6c 20 20 77 33 20 20 78 33 2b 31 ┆ of free area; al w3 x3+1┆ 0x166d20…166d40 20 20 20 20 20 20 3b 20 20 20 20 69 6e 63 72 65 61 73 65 28 66 72 65 65 20 73 69 7a 65 29 3b 0a ┆ ; increase(free size); ┆ 0x166d40…166d60 20 20 20 20 20 73 65 2e 20 77 33 20 20 20 20 28 68 32 2e 29 20 20 20 3b 20 20 20 20 69 66 20 66 ┆ se. w3 (h2.) ; if f┆ 0x166d60…166d80 72 65 65 20 73 69 7a 65 20 3c 20 72 65 6d 61 69 6e 69 6e 67 20 74 68 65 6e 0a 20 20 20 20 20 6a ┆ree size < remaining then j┆ 0x166d80…166da0 6c 2e 20 20 20 20 20 20 20 20 67 31 31 2e 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 74 65 73 ┆l. g11. ; goto tes┆ 0x166da0…166dc0 74 20 6e 65 78 74 20 73 6c 69 63 65 3b 0a 0a 3b 20 61 20 68 6f 6c 65 20 6f 66 20 74 68 65 20 73 ┆t next slice; ; a hole of the s┆ 0x166dc0…166de0 75 66 66 69 63 69 65 6e 74 20 73 69 7a 65 20 69 73 20 66 6f 75 6e 64 0a 0a 67 31 32 3a 20 20 20 ┆ufficient size is found g12: ┆ 0x166de0…166e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 63 6f 6e 6e 65 63 74 20 73 6c 69 63 65 20 ┆ ; connect slice ┆ 0x166e00…166e20 74 6f 20 61 72 65 61 3a 0a 3b 20 77 32 20 3d 20 61 62 73 20 61 64 64 72 20 6f 66 20 73 74 61 72 ┆to area: ; w2 = abs addr of star┆ 0x166e20…166e40 74 20 6f 66 20 6e 65 77 20 73 6c 69 63 65 0a 3b 20 68 30 20 3d 20 61 62 73 20 61 64 64 72 20 6f ┆t of new slice ; h0 = abs addr o┆ 0x166e40…166e60 66 20 6c 61 73 74 20 73 6c 69 63 65 20 6c 69 6e 6b 20 20 28 6d 61 79 62 65 20 3d 20 66 69 72 73 ┆f last slice link (maybe = firs┆ 0x166e60…166e80 74 20 73 6c 69 63 65 2e 77 6f 72 6b 29 0a 3b 20 68 31 20 3d 20 61 62 73 20 61 64 64 72 20 6f 66 ┆t slice.work) ; h1 = abs addr of┆ 0x166e80…166ea0 20 70 72 65 76 69 6f 75 73 20 73 6c 69 63 65 20 20 20 28 6d 61 79 62 65 20 3d 20 63 68 61 69 6e ┆ previous slice (maybe = chain┆ 0x166ea0…166ec0 74 61 62 6c 65 20 73 74 61 72 74 29 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 78 32 20 20 20 20 ┆table start) al w1 x2 ┆ 0x166ec0…166ee0 20 20 20 20 3b 20 20 20 20 63 75 72 72 20 73 6c 69 63 65 20 3a 3d 20 6e 65 77 20 73 6c 69 63 65 ┆ ; curr slice := new slice┆ 0x166ee0…166f00 3b 0a 20 20 20 20 20 77 73 2e 20 77 32 20 20 20 20 20 68 31 2e 20 20 20 20 3b 20 20 20 20 73 6c ┆; ws. w2 h1. ; sl┆ 0x166f00…166f20 69 63 65 6c 69 6e 6b 20 3a 3d 20 61 64 64 72 20 6f 66 20 6e 65 77 20 73 6c 69 63 65 20 2d 20 61 ┆icelink := addr of new slice - a┆ 0x166f20…166f40 64 64 72 20 6f 66 20 70 72 65 76 69 6f 75 73 3b 0a 20 20 20 20 20 68 73 2e 20 77 32 20 20 20 20 ┆ddr of previous; hs. w2 ┆ 0x166f40…166f60 28 68 30 2e 29 20 20 20 3b 20 20 20 20 6c 69 6e 6b 28 6c 61 73 74 20 73 6c 69 63 65 29 20 3a 3d ┆(h0.) ; link(last slice) :=┆ 0x166f60…166f80 20 73 6c 69 63 65 6c 69 6e 6b 3b 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 68 32 2e 20 ┆ slicelink; rl. w2 h2. ┆ 0x166f80…166fa0 20 20 20 3b 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 3a 3d 20 72 65 6d 61 69 6e 69 6e 67 20 2d ┆ ; remaining := remaining -┆ 0x166fa0…166fc0 20 31 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 37 2e 20 20 20 3b 20 20 20 20 ┆ 1; jl. g17. ; ┆ 0x166fc0…166fe0 67 6f 74 6f 20 6f 63 63 75 70 79 20 62 79 74 65 3b 0a 0a 67 31 35 3a 20 20 20 20 20 20 20 20 20 ┆goto occupy byte; g15: ┆ 0x166fe0…167000 20 20 20 20 20 20 20 20 20 20 3b 20 67 65 74 20 61 20 73 6c 69 63 65 3a 0a 3b 20 77 31 20 3d 20 ┆ ; get a slice: ; w1 = ┆ 0x167000…167020 61 62 73 20 61 64 64 72 20 6f 66 20 6c 61 73 74 20 75 73 65 64 20 73 6c 69 63 65 0a 3b 20 77 32 ┆abs addr of last used slice ; w2┆ 0x167020…167040 20 3d 20 72 65 6d 61 69 6e 69 6e 67 0a 0a 20 20 20 20 20 64 73 2e 20 77 32 20 20 20 20 20 68 32 ┆ = remaining ds. w2 h2┆ 0x167040…167060 2e 20 20 20 20 3b 20 20 20 20 73 61 76 65 20 28 6c 61 73 74 20 75 73 65 64 2c 20 72 65 6d 61 69 ┆. ; save (last used, remai┆ 0x167060…167080 6e 69 6e 67 29 3b 0a 0a 3b 20 69 74 20 77 61 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f ┆ning); ; it was not possible to┆ 0x167080…1670a0 20 67 65 74 20 61 20 63 6f 6e 74 69 67 6f 75 6f 73 20 61 72 65 61 2e 0a 3b 20 74 68 65 72 65 66 ┆ get a contigouos area. ; theref┆ 0x1670a0…1670c0 6f 72 20 6a 75 73 74 20 74 61 6b 65 20 74 68 65 20 66 69 72 73 74 20 66 72 65 65 20 73 6c 69 63 ┆or just take the first free slic┆ 0x1670c0…1670e0 65 2c 20 61 6e 64 20 74 72 79 20 6f 6e 63 65 20 6d 6f 72 65 0a 3b 20 77 31 20 3d 20 61 62 73 20 ┆e, and try once more ; w1 = abs ┆ 0x1670e0…167100 61 64 64 72 20 6f 66 20 6c 61 73 74 20 73 6c 69 63 65 20 69 6e 20 63 68 61 69 6e 74 61 62 6c 65 ┆addr of last slice in chaintable┆ 0x167100…167120 0a 67 31 33 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 61 6b 65 20 66 ┆ g13: ; take f┆ 0x167120…167140 69 72 73 74 20 66 72 65 65 3a 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 68 34 2e 20 20 ┆irst free: rl. w2 h4. ┆ 0x167140…167160 20 20 3b 20 20 20 20 66 72 65 65 20 3a 3d 20 6d 69 6e 73 6c 69 63 65 3b 0a 67 31 34 3a 20 20 20 ┆ ; free := minslice; g14: ┆ 0x167160…167180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 65 73 74 20 6e 65 78 74 3a 0a 20 20 20 ┆ ; test next: ┆ 0x167180…1671a0 20 20 73 6c 2e 20 77 32 20 20 20 20 28 68 33 2e 29 20 20 20 3b 20 20 20 20 69 66 20 66 72 65 65 ┆ sl. w2 (h3.) ; if free┆ 0x1671a0…1671c0 20 69 73 20 74 68 65 20 6c 61 73 74 20 73 6c 69 63 65 20 6f 66 20 63 68 61 69 6e 74 61 62 6c 65 ┆ is the last slice of chaintable┆ 0x1671c0…1671e0 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 36 2e 20 20 20 3b 20 20 ┆ then jl. g16. ; ┆ 0x1671e0…167200 20 20 20 20 67 6f 74 6f 20 74 65 73 74 20 66 72 6f 6d 20 66 69 72 73 74 20 6f 66 20 63 68 61 69 ┆ goto test from first of chai┆ 0x167200…167220 6e 74 61 62 6c 65 3b 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 32 2b 31 20 20 20 20 20 20 3b ┆ntable; al w2 x2+1 ;┆ 0x167220…167240 20 20 20 20 69 6e 63 72 65 61 73 65 20 28 66 72 65 65 29 3b 0a 20 20 20 20 20 62 6c 20 20 77 30 ┆ increase (free); bl w0┆ 0x167240…167260 20 20 78 32 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 73 65 20 20 77 30 20 20 20 20 2d 32 30 ┆ x2 ; se w0 -20┆ 0x167260…167280 34 38 20 20 20 3b 20 20 20 20 69 66 20 73 6c 69 63 65 28 66 72 65 65 29 20 69 73 20 6e 6f 74 20 ┆48 ; if slice(free) is not ┆ 0x167280…1672a0 66 72 65 65 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 34 2e 20 20 ┆free then jl. g14. ┆ 0x1672a0…1672c0 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 74 65 73 74 20 6e 65 78 74 3b 0a 20 20 20 20 20 6a 6c 2e ┆ ; goto test next; jl.┆ 0x1672c0…1672e0 20 20 20 20 20 20 20 20 67 31 32 2e 20 20 20 3b 20 20 20 20 67 6f 74 6f 20 63 6f 6e 6e 65 63 74 ┆ g12. ; goto connect┆ 0x1672e0…167300 20 73 6c 69 63 65 20 74 6f 20 61 72 65 61 3b 0a 0a 3b 20 69 74 20 77 61 73 20 6e 6f 74 20 70 6f ┆ slice to area; ; it was not po┆ 0x167300…167320 73 73 69 62 6c 65 20 74 6f 20 66 69 6e 64 20 61 20 73 6c 69 63 65 20 62 65 74 77 65 65 6e 20 6d ┆ssible to find a slice between m┆ 0x167320…167340 69 6e 73 6c 69 63 65 20 61 6e 64 0a 3b 20 20 20 6c 61 73 74 20 6f 66 20 63 68 61 69 6e 74 61 62 ┆inslice and ; last of chaintab┆ 0x167340…167360 6c 65 2e 0a 3b 20 6e 6f 77 20 74 72 79 20 62 65 74 77 65 65 6e 20 66 69 72 73 74 20 61 6e 64 20 ┆le. ; now try between first and ┆ 0x167360…167380 6c 61 73 74 20 6f 66 20 63 68 61 69 6e 74 61 62 6c 65 0a 67 31 36 3a 20 20 20 20 20 20 20 20 20 ┆last of chaintable g16: ┆ 0x167380…1673a0 20 20 20 20 20 20 20 20 20 20 3b 20 74 65 73 74 20 66 72 6f 6d 20 66 69 72 73 74 20 6f 66 20 63 ┆ ; test from first of c┆ 0x1673a0…1673c0 68 61 69 6e 74 61 62 6c 65 3a 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 64 34 2e 20 20 ┆haintable: rl. w2 d4. ┆ 0x1673c0…1673e0 20 20 3b 0a 20 20 20 20 20 72 78 2e 20 77 32 20 20 20 20 20 68 34 2e 20 20 20 20 3b 20 20 20 20 ┆ ; rx. w2 h4. ; ┆ 0x1673e0…167400 6d 69 6e 73 6c 69 63 65 20 3a 3d 20 66 69 72 73 74 20 6f 66 20 63 68 61 69 6e 74 61 62 6c 65 3b ┆minslice := first of chaintable;┆ 0x167400…167420 (479,) 0a 20 20 20 20 20 73 65 2e 20 77 32 20 20 20 20 28 68 34 2e 29 20 20 20 3b 20 20 20 20 69 66 20 ┆ se. w2 (h4.) ; if ┆ 0x167420…167440 6e 6f 74 20 61 6c 72 65 61 64 79 20 74 72 69 65 64 20 66 72 6f 6d 20 66 69 72 73 74 20 6f 66 20 ┆not already tried from first of ┆ 0x167440…167460 63 68 61 69 6e 74 61 62 6c 65 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 ┆chaintable then jl. ┆ 0x167460…167480 67 31 33 2e 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 74 61 6b 65 20 66 69 72 73 74 20 66 72 ┆g13. ; goto take first fr┆ 0x167480…1674a0 65 65 3b 0a 0a 3b 20 69 74 20 77 61 73 20 6e 6f 74 20 65 76 65 6e 20 70 6f 73 73 69 62 6c 65 20 ┆ee; ; it was not even possible ┆ 0x1674a0…1674c0 74 6f 20 66 69 6e 64 20 61 20 73 69 6e 67 6c 65 20 73 6c 69 63 65 20 69 6e 20 74 68 65 20 63 68 ┆to find a single slice in the ch┆ 0x1674c0…1674e0 61 69 6e 74 61 62 6c 65 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 37 2e 20 20 20 20 ┆aintable jl. j7. ┆ 0x1674e0…167500 3b 20 20 20 20 61 6c 61 72 6d 3b 0a 0a 0a 0a 3b 20 69 66 20 61 72 65 61 20 65 78 74 65 6e 64 65 ┆; alarm; ; if area extende┆ 0x167500…167520 64 20 74 68 65 6e 20 3c 66 75 6e 63 74 69 6f 6e 3e 0a 3b 0a 3b 20 63 61 6c 6c 3a 20 28 6d 32 33 ┆d then <function> ; ; call: (m23┆ 0x167520…167540 20 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e 20 63 61 6c 6c 65 64 20 70 72 69 6f 72 20 74 6f 20 ┆ must have been called prior to ┆ 0x167540…167560 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 29 0a 3b 20 20 20 20 20 20 20 6d 32 34 2c 20 3c 69 6e 73 ┆this function) ; m24, <ins┆ 0x167560…167580 74 72 75 63 74 69 6f 6e 3e 0a 3b 20 65 72 72 6f 72 20 72 65 74 75 72 6e 3a 20 73 6b 69 70 20 61 ┆truction> ; error return: skip a┆ 0x167580…1675a0 63 74 69 6f 6e 2c 20 69 66 20 61 72 65 61 20 77 61 73 20 6e 6f 74 20 65 78 74 65 6e 64 65 64 0a ┆ction, if area was not extended ┆ 0x1675a0…1675c0 0a 6d 32 34 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 69 66 20 61 72 65 ┆ m24: ; if are┆ 0x1675c0…1675e0 61 20 65 78 74 65 6e 64 65 64 20 74 68 65 6e 3a 0a 20 20 20 20 20 72 6c 2e 20 77 30 20 20 20 20 ┆a extended then: rl. w0 ┆ 0x1675e0…167600 20 68 32 2e 20 20 20 20 3b 20 20 20 20 77 30 20 3a 3d 20 73 6c 69 63 65 20 63 68 61 6e 67 65 3b ┆ h2. ; w0 := slice change;┆ 0x167600…167620 0a 20 20 20 20 20 73 68 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 69 66 20 ┆ sh w0 0 ; if ┆ 0x167620…167640 73 6c 69 63 65 20 63 68 61 6e 67 65 20 3c 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 ┆slice change <= 0 then jl. ┆ 0x167640…167660 20 20 20 20 20 20 20 6e 31 2e 20 20 20 20 3b 20 20 20 20 20 20 73 6b 69 70 0a 20 20 20 20 20 6a ┆ n1. ; skip j┆ 0x167660…167680 6c 2e 20 20 20 20 20 20 20 20 6e 30 2e 20 20 20 20 3b 20 20 20 20 65 6c 73 65 20 6e 65 78 74 20 ┆l. n0. ; else next ┆ 0x167680…1676a0 69 6e 73 74 72 75 63 74 69 6f 6e 3b 0a 0a 65 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆instruction; e. ┆ 0x1676a0…1676c0 20 20 20 20 20 3b 0a 0a 0a 3b 20 73 74 65 70 70 69 6e 67 20 73 74 6f 6e 65 73 3a 0a 20 20 20 20 ┆ ; ; stepping stones: ┆ 0x1676c0…1676e0 20 6a 6c 2e 20 65 31 37 2e 2c 20 20 65 31 37 3d 20 6b 2d 32 0a 20 20 20 20 20 6a 6c 2e 20 65 33 ┆ jl. e17., e17= k-2 jl. e3┆ 0x1676e0…167700 31 2e 2c 20 20 65 33 31 3d 20 6b 2d 32 0a 20 20 20 20 20 6a 6c 2e 20 65 33 32 2e 2c 20 20 65 33 ┆1., e31= k-2 jl. e32., e3┆ 0x167700…167720 32 3d 20 6b 2d 32 0a 20 20 20 20 20 6a 6c 2e 20 65 33 33 2e 2c 20 20 65 33 33 3d 20 6b 2d 32 0a ┆2= k-2 jl. e33., e33= k-2 ┆ 0x167720…167740 6a 6c 2e 20 65 31 34 2e 20 2c 20 65 31 34 20 3d 20 6b 2d 32 0a 6a 6c 2e 20 65 31 35 2e 20 2c 20 ┆jl. e14. , e14 = k-2 jl. e15. , ┆ 0x167740…167760 65 31 35 20 3d 20 6b 2d 32 0a 6a 6c 2e 20 65 32 35 2e 20 2c 20 65 32 35 20 3d 20 6b 2d 32 0a 0a ┆e15 = k-2 jl. e25. , e25 = k-2 ┆ 0x167760…167780 0a 0a 3b 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 32 35 2d 6d 33 30 20 61 6c 6c 20 68 61 ┆ ; the functions m25-m30 all ha┆ 0x167780…1677a0 76 65 20 61 20 63 6f 6d 6d 6f 6e 0a 3b 20 20 20 63 61 6c 6c 2d 73 65 71 75 65 6e 63 65 20 61 6e ┆ve a common ; call-sequence an┆ 0x1677a0…1677c0 64 20 65 72 72 6f 72 2d 72 65 74 75 72 6e 20 61 63 74 69 6f 6e 73 3a 0a 3b 0a 3b 20 63 61 6c 6c ┆d error-return actions: ; ; call┆ 0x1677c0…1677e0 3a 20 20 77 32 20 3d 20 73 6c 69 63 65 73 0a 3b 20 20 20 20 20 20 20 20 6d 3c 6e 75 6d 62 65 72 ┆: w2 = slices ; m<number┆ 0x1677e0…167800 3e 2c 20 3c 63 6c 61 69 6d 73 20 65 78 63 65 65 64 65 64 20 61 64 64 72 3e 0a 3b 20 65 72 72 6f ┆>, <claims exceeded addr> ; erro┆ 0x167800…167820 72 20 72 65 74 75 72 6e 3a 20 67 6f 74 6f 2d 61 63 74 69 6f 6e 20 31 2c 20 69 66 20 63 6c 61 69 ┆r return: goto-action 1, if clai┆ 0x167820…167840 6d 73 20 65 78 63 65 65 64 65 64 0a 3b 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 32 36 30 ┆ms exceeded ; the functions m260┆ 0x167840…167860 20 61 6e 64 20 6d 32 38 30 20 61 72 65 20 75 73 65 64 20 74 6f 20 61 64 6a 75 73 74 20 6d 61 69 ┆ and m280 are used to adjust mai┆ 0x167860…167880 6e 63 61 74 20 65 6e 74 72 79 20 63 6c 61 69 6d 73 20 69 6e 20 63 61 73 65 20 0a 3b 20 6f 66 20 ┆ncat entry claims in case ; of ┆ 0x167880…1678a0 69 6e 73 65 72 74 20 65 6e 74 72 79 20 72 65 73 75 6c 74 20 33 2e 0a 3b 20 74 68 65 79 20 77 69 ┆insert entry result 3. ; they wi┆ 0x1678a0…1678c0 6c 6c 20 73 65 74 20 77 32 3d 73 6c 69 63 65 73 3d 30 2e 0a 0a 62 2e 20 67 32 30 2c 20 68 31 30 ┆ll set w2=slices=0. b. g20, h10┆ 0x1678c0…1678e0 20 77 2e 0a 0a 68 30 3a 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 65 6e ┆ w. h0: 0 ; en┆ 0x1678e0…167900 74 72 79 2d 63 68 61 6e 67 65 0a 68 31 3a 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆try-change h1: 0 ┆ 0x167900…167920 20 20 3b 20 73 6c 69 63 65 2d 63 68 61 6e 67 65 0a 68 32 3a 20 20 30 20 20 20 20 20 20 20 20 20 ┆ ; slice-change h2: 0 ┆ 0x167920…167940 20 20 20 20 20 20 20 20 3b 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 0a 68 33 3a ┆ ; maincat claim addr h3:┆ 0x167940…167960 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 61 75 78 63 61 74 20 20 63 6c ┆ 0 ; auxcat cl┆ 0x167960…167980 61 69 6d 20 61 64 64 72 0a 68 34 3a 20 20 30 2c 20 72 2e 61 31 30 39 2a 32 20 20 20 20 20 20 20 ┆aim addr h4: 0, r.a109*2 ┆ 0x167980…1679a0 3b 20 70 73 65 75 64 6f 20 6d 61 69 6e 20 63 61 74 20 62 73 5f 63 6c 61 69 6d 73 0a 0a 6d 32 35 ┆; pseudo main cat bs_claims m25┆ 0x1679a0…1679c0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 70 72 65 70 61 72 65 20 62 73 ┆: ; prepare bs┆ 0x1679c0…1679e0 3a 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 65 6e ┆: al w1 0 ; en┆ 0x1679e0…167a00 74 72 69 65 73 20 3a 3d 20 30 3b 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 61 31 31 30 ┆tries := 0; al w0 a110┆ 0x167a00…167a20 20 20 20 3b 20 20 20 20 6e 65 77 6b 65 79 20 3a 3d 20 6d 61 78 20 63 61 74 61 6c 6f 67 20 6b 65 ┆ ; newkey := max catalog ke┆ 0x167a20…167a40 79 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 30 2e 20 20 20 20 3b 20 20 20 20 67 ┆y; jl. g0. ; g┆ 0x167a40…167a60 6f 74 6f 20 69 6e 69 74 20 70 73 65 75 64 6f 20 63 6c 61 69 6d 73 3b 0a 6d 32 36 30 3a 20 61 6c ┆oto init pseudo claims; m260: al┆ 0x167a60…167a80 20 20 77 32 20 20 20 20 20 20 30 20 20 20 20 3b 20 63 6c 61 69 6d 20 31 20 61 75 78 20 65 6e 74 ┆ w2 0 ; claim 1 aux ent┆ 0x167a80…167aa0 72 79 2e 20 28 73 6c 69 63 65 73 20 61 6c 72 65 61 64 79 20 63 6c 61 69 6d 65 64 29 20 69 6e 73 ┆ry. (slices already claimed) ins┆ 0x167aa0…167ac0 65 72 74 20 65 6e 74 72 79 20 72 20 65 73 20 33 0a 0a 6d 32 36 3a 20 20 20 20 20 20 20 20 20 20 ┆ert entry r es 3 m26: ┆ 0x167ac0…167ae0 20 20 20 20 20 20 20 20 20 3b 20 63 72 65 61 74 65 20 61 75 78 20 65 6e 74 72 79 3a 0a 20 20 20 ┆ ; create aux entry: ┆ 0x167ae0…167b00 20 20 61 6c 20 20 77 31 20 20 20 20 20 31 20 20 20 20 20 20 3b 20 20 20 20 65 6e 74 72 69 65 73 ┆ al w1 1 ; entries┆ 0x167b00…167b20 20 3a 3d 20 31 3b 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 2d 66 35 31 2d 31 20 20 3b 0a ┆ := 1; al w0 -f51-1 ; ┆ 0x167b20…167b40 20 20 20 20 20 6c 61 2e 20 77 30 20 20 20 20 20 64 31 2e 2b 66 33 20 3b 20 20 20 20 6e 65 77 6b ┆ la. w0 d1.+f3 ; newk┆ 0x167b40…167b60 65 79 20 3a 3d 20 6b 65 79 2e 77 6f 72 6b 3b 0a 0a 67 30 3a 20 20 20 20 20 20 20 20 20 20 20 20 ┆ey := key.work; g0: ┆ 0x167b60…167b80 20 20 20 20 20 20 20 20 3b 20 69 6e 69 74 20 70 73 65 75 64 6f 20 63 6c 61 69 6d 73 3a 0a 20 20 ┆ ; init pseudo claims: ┆ 0x167b80…167ba0 20 20 20 61 6c 20 20 77 33 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 20 6f 6c 64 6b 65 79 ┆ al w3 -1 ; oldkey┆ 0x167ba0…167bc0 20 3a 3d 20 2d 31 3b 0a 20 20 20 20 20 64 73 2e 20 77 32 20 20 20 20 20 68 31 2e 20 20 20 20 3b ┆ := -1; ds. w2 h1. ;┆ 0x167bc0…167be0 20 20 20 20 73 61 76 65 20 28 65 6e 74 72 69 65 73 2c 20 73 6c 69 63 65 73 29 3b 0a 20 20 20 20 ┆ save (entries, slices); ┆ 0x167be0…167c00 20 72 73 2e 20 77 31 20 20 20 20 68 34 2e 20 20 20 20 20 3b 20 73 61 76 65 20 65 6e 74 72 69 65 ┆ rs. w1 h4. ; save entrie┆ 0x167c00…167c20 73 0a 20 20 20 20 20 20 72 2e 20 61 31 30 39 2a 32 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 ┆s r. a109*2 ; ┆ 0x167c20…167c40 61 6c 2e 20 77 31 20 20 20 20 20 68 34 2e 20 20 20 20 3b 20 20 20 20 6d 61 69 6e 63 61 74 20 63 ┆al. w1 h4. ; maincat c┆ 0x167c40…167c60 6c 61 69 6d 20 61 64 64 72 20 3a 3d 20 70 73 65 75 64 6f 20 63 6c 61 69 6d 3b 0a 20 20 20 20 20 ┆laim addr := pseudo claim; ┆ 0x167c60…167c80 6a 6c 2e 20 20 20 20 20 20 20 20 67 33 2e 20 20 20 20 3b 20 20 20 20 67 6f 74 6f 20 67 65 74 20 ┆jl. g3. ; goto get ┆ 0x167c80…167ca0 61 75 78 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 3b 0a 0a 6d 32 37 3a 20 20 20 20 20 20 20 20 ┆auxcat claim addr; m27: ┆ 0x167ca0…167cc0 20 20 20 20 20 20 20 20 20 20 20 3b 20 70 65 72 6d 61 6e 65 6e 74 20 65 6e 74 72 79 3a 0a 3b 20 ┆ ; permanent entry: ; ┆ 0x167cc0…167ce0 77 32 20 3d 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 6c 69 63 65 73 20 74 ┆w2 = negative number of slices t┆ 0x167ce0…167d00 6f 20 63 6c 61 69 6d 0a 20 20 20 20 20 61 63 20 20 77 32 20 20 78 32 20 20 20 20 20 20 20 20 3b ┆o claim ac w2 x2 ;┆ 0x167d00…167d20 20 20 20 20 77 32 20 3a 3d 20 6e 75 6d 62 65 72 20 6f 66 20 73 6c 69 63 65 73 20 74 6f 20 63 6c ┆ w2 := number of slices to cl┆ 0x167d20…167d40 61 69 6d 3b 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 20 20 20 31 20 20 20 20 20 20 3b 20 20 20 ┆aim; al w1 1 ; ┆ 0x167d40…167d60 20 65 6e 74 72 69 65 73 20 3a 3d 20 31 3b 0a 20 20 20 20 20 72 6c 2e 20 77 33 20 20 20 20 20 64 ┆ entries := 1; rl. w3 d┆ 0x167d60…167d80 31 30 2e 20 20 20 3b 20 20 20 20 6f 6c 64 6b 65 79 20 3a 3d 20 73 61 76 65 64 20 6f 6c 64 20 6b ┆10. ; oldkey := saved old k┆ 0x167d80…167da0 65 79 3b 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 2d 66 35 31 2d 31 20 20 3b 0a 20 20 20 ┆ey; al w0 -f51-1 ; ┆ 0x167da0…167dc0 20 20 6c 61 2e 20 77 30 20 20 20 20 20 64 31 2e 2b 66 33 20 3b 20 20 20 20 6e 65 77 6b 65 79 20 ┆ la. w0 d1.+f3 ; newkey ┆ 0x167dc0…167de0 3a 3d 20 6b 65 79 2e 77 6f 72 6b 3b 0a 20 20 20 20 20 73 6c 20 20 77 30 20 20 78 33 20 20 20 20 ┆:= key.work; sl w0 x3 ┆ 0x167de0…167e00 20 20 20 20 3b 20 20 20 20 69 66 20 6e 65 77 6b 65 79 20 3e 3d 20 6f 6c 64 6b 65 79 20 74 68 65 ┆ ; if newkey >= oldkey the┆ 0x167e00…167e20 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 32 2e 20 20 20 20 3b 20 20 20 20 20 20 ┆n jl. g2. ; ┆ 0x167e20…167e40 67 6f 74 6f 20 67 65 74 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 3b 0a 3b 20 74 ┆goto get maincat claim addr; ; t┆ 0x167e40…167e60 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 73 75 70 70 6f 73 65 ┆he rest of the algorithm suppose┆ 0x167e60…167e80 73 20 61 6e 20 61 73 63 65 6e 64 69 6e 67 20 6b 65 79 2d 63 68 61 6e 67 65 2e 0a 3b 20 69 6e 20 ┆s an ascending key-change. ; in ┆ 0x167e80…167ea0 6f 72 64 65 72 20 74 6f 20 64 6f 20 74 68 69 73 20 74 68 65 20 65 6e 74 72 79 2d 20 61 6e 64 20 ┆order to do this the entry- and ┆ 0x167ea0…167ec0 73 6c 69 63 65 2d 63 6c 61 69 6d 73 20 61 72 65 20 6e 65 67 61 74 65 64 0a 20 20 20 20 20 61 63 ┆slice-claims are negated ac┆ 0x167ec0…167ee0 20 20 77 32 20 20 78 32 20 20 20 20 20 20 20 20 3b 20 20 20 20 73 6c 69 63 65 73 20 20 3a 3d 20 ┆ w2 x2 ; slices := ┆ 0x167ee0…167f00 2d 20 73 6c 69 63 65 73 3b 0a 20 20 20 20 20 61 63 20 20 77 31 20 20 78 31 20 20 20 20 20 20 20 ┆- slices; ac w1 x1 ┆ 0x167f00…167f20 20 3b 20 20 20 20 65 6e 74 72 69 65 73 20 3a 3d 20 2d 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20 ┆ ; entries := - entries ┆ 0x167f20…167f40 72 78 20 20 77 33 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 65 78 63 68 61 6e 67 65 20 ┆rx w3 0 ; exchange ┆ 0x167f40…167f60 6b 65 79 73 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 32 2e 20 20 20 20 3b 20 20 ┆keys; jl. g2. ; ┆ 0x167f60…167f80 20 20 67 6f 74 6f 20 67 65 74 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 3b 0a 6d ┆ goto get maincat claim addr; m┆ 0x167f80…167fa0 32 38 30 3a 20 61 6c 20 20 77 32 20 20 20 20 20 20 30 20 20 20 20 3b 20 75 6e 63 6c 61 69 6d 20 ┆280: al w2 0 ; unclaim ┆ 0x167fa0…167fc0 31 20 6d 61 69 6e 20 61 6e 64 20 61 75 78 20 65 6e 74 72 79 2e 20 61 75 78 20 65 6e 74 72 79 20 ┆1 main and aux entry. aux entry ┆ 0x167fc0…167fe0 77 69 6c 6c 20 62 65 20 72 65 63 6c 61 69 6d 65 64 20 6c 61 74 65 72 0a 0a 6d 32 38 3a 20 20 20 ┆will be reclaimed later m28: ┆ 0x167fe0…168000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 65 6d 6f 76 65 20 65 6e 74 72 79 3a 0a ┆ ; remove entry: ┆ 0x168000…168020 (480,) 3b 20 28 61 73 20 69 6e 20 70 65 72 6d 61 6e 65 6e 74 20 65 6e 74 72 79 2c 20 74 68 65 20 63 6c ┆; (as in permanent entry, the cl┆ 0x168020…168040 61 69 6d 73 20 6d 75 73 74 20 62 65 20 6e 65 67 61 74 65 64 29 0a 3b 20 28 77 32 20 69 73 20 61 ┆aims must be negated) ; (w2 is a┆ 0x168040…168060 6c 72 65 61 64 79 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 6c 69 63 65 73 ┆lready negative number of slices┆ 0x168060…168080 20 74 6f 20 63 6c 61 69 6d 29 0a 20 20 20 20 20 61 6d 20 20 20 20 20 20 20 20 2d 31 2d 30 20 20 ┆ to claim) am -1-0 ┆ 0x168080…1680a0 20 20 3b 20 20 20 20 65 6e 74 72 69 65 73 20 3a 3d 20 2d 31 3b 0a 6d 32 39 3a 20 20 20 20 20 20 ┆ ; entries := -1; m29: ┆ 0x1680a0…1680c0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 63 68 61 6e 67 65 20 65 6e 74 72 79 3a 0a 20 20 20 ┆ ; change entry: ┆ 0x1680c0…1680e0 20 20 61 6d 20 20 20 20 20 20 20 20 20 30 2d 31 20 20 20 20 3b 20 20 20 20 65 6e 74 72 69 65 73 ┆ am 0-1 ; entries┆ 0x1680e0…168100 20 3a 3d 20 30 3b 0a 6d 33 30 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 ┆ := 0; m30: ; ┆ 0x168100…168120 63 72 65 61 74 65 20 65 6e 74 72 79 3a 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 20 20 20 31 20 ┆create entry: al w1 1 ┆ 0x168120…168140 20 20 20 20 20 3b 20 20 20 20 65 6e 74 72 69 65 73 20 3a 3d 20 31 3b 0a 20 20 20 20 20 61 6c 20 ┆ ; entries := 1; al ┆ 0x168140…168160 20 77 30 20 20 20 20 2d 66 35 31 2d 31 20 20 3b 0a 20 20 20 20 20 6c 61 2e 20 77 30 20 20 20 20 ┆ w0 -f51-1 ; la. w0 ┆ 0x168160…168180 20 64 31 2e 2b 66 33 20 3b 20 20 20 20 6e 65 77 6b 65 79 20 3a 3d 20 6b 65 79 2e 77 6f 72 6b 3b ┆ d1.+f3 ; newkey := key.work;┆ 0x168180…1681a0 0a 20 20 20 20 20 61 6c 20 20 77 33 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 20 6f 6c 64 ┆ al w3 -1 ; old┆ 0x1681a0…1681c0 6b 65 79 20 3a 3d 20 2d 31 3b 0a 0a 67 32 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆key := -1; g2: ┆ 0x1681c0…1681e0 20 20 20 3b 20 67 65 74 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 3a 0a 20 20 20 ┆ ; get maincat claim addr: ┆ 0x1681e0…168200 20 20 64 73 2e 20 77 32 20 20 20 20 20 68 31 2e 20 20 20 20 3b 20 20 20 20 73 61 76 65 20 28 65 ┆ ds. w2 h1. ; save (e┆ 0x168200…168220 6e 74 72 69 65 73 2c 20 73 6c 69 63 65 73 29 3b 0a 20 20 20 20 20 72 6c 20 20 77 31 20 20 20 20 ┆ntries, slices); rl w1 ┆ 0x168220…168240 20 62 32 35 20 20 20 20 3b 20 20 20 20 77 31 20 3a 3d 20 6d 61 69 6e 63 61 74 20 64 6f 63 61 64 ┆ b25 ; w1 := maincat docad┆ 0x168240…168260 64 72 3b 0a 20 20 20 20 20 72 6c 20 20 77 31 20 20 78 31 2b 66 36 30 20 20 20 20 3b 20 20 20 20 ┆dr; rl w1 x1+f60 ; ┆ 0x168260…168280 77 31 20 3a 3d 20 20 72 65 6c 20 63 6c 61 69 6d 20 61 64 64 72 2e 6d 61 69 6e 64 6f 63 3b 0a 20 ┆w1 := rel claim addr.maindoc; ┆ 0x168280…1682a0 20 20 20 20 77 61 2e 20 77 31 20 20 20 20 20 64 32 2e 20 20 20 20 3b 20 20 20 20 77 31 20 3a 3d ┆ wa. w1 d2. ; w1 :=┆ 0x1682a0…1682c0 20 61 62 73 20 61 64 64 72 20 6f 66 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 69 6e 20 73 65 ┆ abs addr of maincat claim in se┆ 0x1682c0…1682e0 6e 64 65 72 20 64 65 73 63 72 3b 0a 0a 67 33 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆nder descr; g3: ┆ 0x1682e0…168300 20 20 20 20 3b 20 67 65 74 20 61 75 78 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 3a 0a 3b 20 77 ┆ ; get auxcat claim addr: ; w┆ 0x168300…168320 30 20 3d 20 6e 65 77 6b 65 79 0a 3b 20 77 31 20 3d 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 ┆0 = newkey ; w1 = maincat claim ┆ 0x168320…168340 61 64 64 72 0a 3b 20 77 33 20 3d 20 6f 6c 64 6b 65 79 20 20 20 28 20 3c 3d 20 6e 65 77 6b 65 79 ┆addr ; w3 = oldkey ( <= newkey┆ 0x168340…168360 20 29 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 64 34 2e 20 20 20 20 3b 0a 20 20 20 20 ┆ ) rl. w2 d4. ; ┆ 0x168360…168380 20 72 6c 20 20 77 32 20 20 78 32 2b 66 36 30 20 20 20 20 3b 0a 20 20 20 20 20 77 61 2e 20 77 32 ┆ rl w2 x2+f60 ; wa. w2┆ 0x168380…1683a0 20 20 20 20 20 64 32 2e 20 20 20 20 3b 20 20 20 20 77 32 20 3a 3d 20 61 62 73 20 61 64 64 72 20 ┆ d2. ; w2 := abs addr ┆ 0x1683a0…1683c0 6f 66 20 61 75 78 63 61 74 20 63 6c 61 69 6d 20 69 6e 20 73 65 6e 64 65 72 20 64 65 73 63 72 3b ┆of auxcat claim in sender descr;┆ 0x1683c0…1683e0 0a 0a 20 20 20 20 20 64 73 2e 20 77 32 20 20 20 20 20 68 33 2e 20 20 20 20 3b 20 20 20 20 73 61 ┆ ds. w2 h3. ; sa┆ 0x1683e0…168400 76 65 20 28 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 2c 20 61 75 78 63 61 74 20 63 ┆ve (maincat claim addr, auxcat c┆ 0x168400…168420 6c 61 69 6d 20 61 64 64 72 29 3b 0a 0a 20 20 20 20 20 6c 64 20 20 77 30 20 20 20 20 20 31 20 20 ┆laim addr); ld w0 1 ┆ 0x168420…168440 20 20 20 20 3b 20 20 20 20 6f 6c 64 6b 65 79 20 3a 3d 20 6f 6c 64 6b 65 79 20 2a 20 32 3b 0a 20 ┆ ; oldkey := oldkey * 2; ┆ 0x168440…168460 20 20 20 20 68 73 2e 20 77 30 20 20 20 20 20 68 35 2e 20 20 20 20 3b 20 20 20 20 6e 65 77 6b 65 ┆ hs. w0 h5. ; newke┆ 0x168460…168480 79 20 3a 3d 20 6e 65 77 6b 65 79 20 2a 20 32 3b 0a 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 ┆y := newkey * 2; al w2 x┆ 0x168480…1684a0 33 20 20 20 20 20 20 20 20 3b 20 20 20 20 63 75 72 72 65 6e 74 20 6b 65 79 20 3a 3d 20 6f 6c 64 ┆3 ; current key := old┆ 0x1684a0…1684c0 6b 65 79 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 31 2e 20 20 20 3b 20 20 20 ┆key; jl. g11. ; ┆ 0x1684c0…1684e0 20 67 6f 74 6f 20 74 65 73 74 20 6b 65 79 3b 0a 0a 67 31 30 3a 20 20 20 20 20 20 20 20 20 20 20 ┆ goto test key; g10: ┆ 0x1684e0…168500 20 20 20 20 20 20 20 20 3b 20 6e 65 78 74 20 63 6c 61 69 6d 3a 0a 3b 20 77 32 20 3d 20 63 75 72 ┆ ; next claim: ; w2 = cur┆ 0x168500…168520 72 65 6e 74 20 6b 65 79 20 20 3a 20 20 20 65 76 65 6e 20 3d 20 74 65 73 74 20 65 6e 74 72 79 2d ┆rent key : even = test entry-┆ 0x168520…168540 63 6c 61 69 6d 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 64 ┆claim ; od┆ 0x168540…168560 64 20 20 3d 20 74 65 73 74 20 73 6c 69 63 65 2d 63 6c 61 69 6d 0a 3b 20 77 33 20 3d 20 73 65 63 ┆d = test slice-claim ; w3 = sec┆ 0x168560…168580 6f 6e 64 20 73 63 61 6e 20 20 3a 20 20 20 6f 6c 64 6b 65 79 20 20 20 20 20 20 3d 3d 20 66 61 6c ┆ond scan : oldkey == fal┆ 0x168580…1685a0 73 65 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 78 20 6b ┆se ; max k┆ 0x1685a0…1685c0 65 79 20 2b 20 31 20 3d 3d 20 74 72 75 65 0a 0a 3b 20 74 68 65 20 63 6c 61 69 6d 73 20 61 72 65 ┆ey + 1 == true ; the claims are┆ 0x1685c0…1685e0 20 73 63 61 6e 6e 65 64 20 74 77 69 63 65 3a 0a 3b 20 20 20 20 20 20 66 69 72 73 74 20 20 74 69 ┆ scanned twice: ; first ti┆ 0x1685e0…168600 6d 65 20 74 68 65 20 63 6c 61 69 6d 73 20 61 72 65 20 6a 75 73 74 20 74 65 73 74 65 64 20 66 6f ┆me the claims are just tested fo┆ 0x168600…168620 72 20 63 6c 61 69 6d 73 20 65 78 63 65 65 64 65 64 0a 3b 20 20 20 20 20 20 73 65 63 6f 6e 64 20 ┆r claims exceeded ; second ┆ 0x168620…168640 74 69 6d 65 20 74 68 65 20 63 6c 61 69 6d 73 20 61 72 65 20 63 68 61 6e 67 65 64 0a 0a 20 20 20 ┆time the claims are changed ┆ 0x168640…168660 20 20 61 6c 20 20 77 31 20 20 78 32 20 20 20 20 20 20 20 20 3b 20 20 20 20 63 6c 61 69 6d 20 61 ┆ al w1 x2 ; claim a┆ 0x168660…168680 64 64 72 20 3a 3d 20 63 75 72 72 65 6e 74 20 6b 65 79 0a 20 20 20 20 20 6c 73 20 20 77 31 20 20 ┆ddr := current key ls w1 ┆ 0x168680…1686a0 20 20 20 31 20 20 20 20 20 20 3b 20 68 61 6c 66 20 77 6f 72 64 20 61 64 64 72 20 63 68 61 6e 67 ┆ 1 ; half word addr chang┆ 0x1686a0…1686c0 65 64 20 74 6f 20 69 6e 74 65 67 65 72 20 61 64 64 72 20 0a 20 20 20 20 20 73 6f 20 20 77 32 20 ┆ed to integer addr so w2 ┆ 0x1686c0…1686e0 20 20 20 20 32 2e 31 20 20 20 20 3b 20 20 20 20 20 20 2b 20 69 66 20 73 6c 69 63 65 2d 63 6c 61 ┆ 2.1 ; + if slice-cla┆ 0x1686e0…168700 69 6d 0a 20 20 20 20 20 73 6c 20 20 77 32 20 20 20 20 20 61 31 30 39 2a 32 2d 32 3b 20 20 20 20 ┆im sl w2 a109*2-2; ┆ 0x168700…168720 20 20 20 6f 72 20 63 75 72 72 65 6e 74 20 6b 65 79 20 3e 3d 20 6d 69 6e 69 6d 75 6d 20 61 75 78 ┆ or current key >= minimum aux┆ 0x168720…168740 20 6b 65 79 20 74 68 65 6e 0a 20 20 20 20 20 61 6d 20 20 20 20 20 20 20 20 20 68 33 2d 68 32 20 ┆ key then am h3-h2 ┆ 0x168740…168760 20 3b 20 20 20 20 20 20 20 20 20 20 61 75 78 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 0a 20 20 ┆ ; auxcat claim addr ┆ 0x168760…168780 20 20 20 77 61 2e 20 77 31 20 20 20 20 20 68 32 2e 20 20 20 20 3b 20 20 20 20 20 20 20 20 65 6c ┆ wa. w1 h2. ; el┆ 0x168780…1687a0 73 65 20 6d 61 69 6e 63 61 74 20 63 6c 61 69 6d 20 61 64 64 72 3b 0a 20 20 20 20 72 6c 20 20 77 ┆se maincat claim addr; rl w┆ 0x1687a0…1687c0 30 20 20 20 20 20 78 31 2b 34 20 20 20 20 3b 20 77 30 3a 3d 63 75 72 72 65 6e 74 20 63 6c 61 69 ┆0 x1+4 ; w0:=current clai┆ 0x1687c0…1687e0 6d 28 63 6c 61 69 6d 20 61 64 64 72 29 3b 0a 20 20 20 20 20 73 7a 20 20 77 32 20 20 20 20 20 32 ┆m(claim addr); sz w2 2┆ 0x1687e0…168800 2e 31 20 20 20 20 3b 20 20 20 20 72 65 73 74 20 3a 3d 20 63 75 72 72 65 6e 74 20 63 6c 61 69 6d ┆.1 ; rest := current claim┆ 0x168800…168820 0a 20 20 20 20 20 61 6d 20 20 20 20 20 20 20 20 20 68 31 2d 68 30 20 20 3b 20 20 20 20 20 20 20 ┆ am h1-h0 ; ┆ 0x168820…168840 20 20 20 2d 20 69 66 20 73 6c 69 63 65 20 63 6c 61 69 6d 20 74 68 65 6e 20 73 6c 69 63 65 73 0a ┆ - if slice claim then slices ┆ 0x168840…168860 20 20 20 20 20 77 73 2e 20 77 30 20 20 20 20 20 68 30 2e 20 20 20 20 3b 20 20 20 20 20 20 20 20 ┆ ws. w0 h0. ; ┆ 0x168860…168880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 65 6e 74 72 69 65 73 3b ┆ else entries;┆ 0x168880…1688a0 0a 0a 20 20 20 20 20 73 68 20 20 77 30 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 20 69 66 ┆ sh w0 -1 ; if┆ 0x1688a0…1688c0 20 72 65 73 74 20 3c 20 30 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6e ┆ rest < 0 then jl. n┆ 0x1688c0…1688e0 35 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 63 6c 61 69 6d 73 20 65 78 63 65 65 64 65 ┆5. ; goto claims exceede┆ 0x1688e0…168900 64 3b 0a 0a 20 20 20 20 20 73 6e 20 20 77 33 20 20 20 20 20 61 31 31 30 2b 31 20 3b 20 20 20 20 ┆d; sn w3 a110+1 ; ┆ 0x168900…168920 69 66 20 73 65 63 6f 6e 64 20 73 63 61 6e 20 74 68 65 6e 0a 20 20 20 20 20 72 73 20 20 77 30 20 ┆if second scan then rs w0 ┆ 0x168920…168940 20 20 20 20 78 31 2b 34 20 20 20 3b 20 63 75 72 72 65 6e 74 20 63 6c 61 69 6d 28 63 6c 61 69 6d ┆ x1+4 ; current claim(claim┆ 0x168940…168960 20 61 64 64 72 29 3a 3d 72 65 73 74 0a 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 32 2b 31 20 ┆ addr):=rest al w2 x2+1 ┆ 0x168960…168980 20 20 20 20 20 3b 20 20 20 20 69 6e 63 72 65 61 73 65 28 63 75 72 72 65 6e 74 20 6b 65 79 29 3b ┆ ; increase(current key);┆ 0x168980…1689a0 0a 0a 67 31 31 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 65 73 74 20 ┆ g11: ; test ┆ 0x1689a0…1689c0 6b 65 79 3a 0a 68 35 20 3d 20 6b 2b 31 0a 20 20 20 20 20 73 65 20 20 77 32 20 3b 20 6e 65 77 6b ┆key: h5 = k+1 se w2 ; newk┆ 0x1689c0…1689e0 65 79 2a 32 20 3b 20 20 20 20 69 66 20 63 75 72 72 65 6e 74 20 6b 65 79 20 3c 3e 20 6e 65 77 6b ┆ey*2 ; if current key <> newk┆ 0x1689e0…168a00 65 79 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 30 2e 20 20 20 3b ┆ey then jl. g10. ;┆ 0x168a00…168a20 20 20 20 20 20 20 67 6f 74 6f 20 6e 65 78 74 20 63 6c 61 69 6d 3b 0a 0a 20 20 20 20 20 61 6c 20 ┆ goto next claim; al ┆ 0x168a20…168a40 20 77 32 20 20 78 33 20 20 20 20 20 20 20 20 3b 20 20 20 20 63 75 72 72 65 6e 74 20 6b 65 79 20 ┆ w2 x3 ; current key ┆ 0x168a40…168a60 3a 3d 20 6f 6c 64 6b 65 79 3b 0a 20 20 20 20 20 61 6c 20 20 77 33 20 20 20 20 20 61 31 31 30 2b ┆:= oldkey; al w3 a110+┆ 0x168a60…168a80 31 20 3b 20 20 20 20 6f 6c 64 6b 65 79 20 3a 3d 20 73 65 63 6f 6e 64 20 73 63 61 6e 20 3a 3d 20 ┆1 ; oldkey := second scan := ┆ 0x168a80…168aa0 74 72 75 65 3b 0a 20 20 20 20 20 73 65 20 20 77 32 20 20 78 33 20 20 20 20 20 20 20 20 3b 20 20 ┆true; se w2 x3 ; ┆ 0x168aa0…168ac0 20 20 69 66 20 73 65 63 6f 6e 64 20 70 61 73 73 20 6e 6f 74 20 64 6f 6e 65 20 79 65 74 20 74 68 ┆ if second pass not done yet th┆ 0x168ac0…168ae0 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 67 31 31 2e 20 20 20 3b 20 20 20 20 20 ┆en jl. g11. ; ┆ 0x168ae0…168b00 20 67 6f 74 6f 20 74 65 73 74 20 6b 65 79 3b 0a 0a 3b 20 61 6c 6c 20 63 6c 61 69 6d 73 20 69 6e ┆ goto test key; ; all claims in┆ 0x168b00…168b20 20 74 68 65 20 69 6e 74 65 72 76 61 6c 20 6f 6c 64 6b 65 79 2d 6e 65 77 6b 65 79 20 68 61 76 65 ┆ the interval oldkey-newkey have┆ 0x168b20…168b40 20 62 65 65 6e 20 74 65 73 74 65 64 20 61 6e 64 0a 3b 20 20 20 63 68 61 6e 67 65 64 2c 20 77 69 ┆ been tested and ; changed, wi┆ 0x168b40…168b60 74 68 6f 75 74 20 68 61 76 69 6e 67 20 63 6c 61 69 6d 73 20 65 78 63 65 65 64 65 64 0a 0a 20 20 ┆thout having claims exceeded ┆ 0x168b60…168b80 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6e 31 2e 20 20 20 20 3b 20 20 20 20 73 6b 69 70 0a 0a ┆ jl. n1. ; skip ┆ 0x168b80…168ba0 65 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0a 0a 0a 0a 3b 20 70 72 ┆e. ; ; pr┆ 0x168ba0…168bc0 65 70 61 72 65 20 6d 61 69 6e 63 61 74 20 65 6e 74 72 79 0a 3b 0a 3b 20 20 20 74 68 65 20 70 65 ┆epare maincat entry ; ; the pe┆ 0x168bc0…168be0 72 6d 61 6e 65 6e 73 20 6b 65 79 2e 77 6f 72 6b 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 6d ┆rmanens key.work is set to the m┆ 0x168be0…168c00 69 6e 69 6d 75 6d 20 6f 66 20 6b 65 79 2e 65 6e 74 72 79 20 61 6e 64 0a 3b 20 20 20 20 20 6d 69 ┆inimum of key.entry and ; mi┆ 0x168c00…168c20 (481,) 6e 20 61 75 78 20 63 61 74 20 6b 65 79 20 2d 20 31 2e 0a 3b 20 20 20 73 6c 69 63 65 73 20 74 6f ┆n aux cat key - 1. ; slices to┆ 0x168c20…168c40 20 63 6c 61 69 6d 20 69 73 20 73 65 74 20 74 6f 20 7a 65 72 6f 0a 3b 0a 3b 20 63 61 6c 6c 3a 20 ┆ claim is set to zero ; ; call: ┆ 0x168c40…168c60 77 32 20 3d 20 65 6e 74 72 79 20 61 64 64 72 65 73 73 0a 3b 20 20 20 20 20 20 20 6d 33 31 0a 3b ┆w2 = entry address ; m31 ;┆ 0x168c60…168c80 20 65 78 69 74 3a 20 77 32 20 3d 20 73 6c 69 63 65 73 20 3d 20 30 0a 0a 6d 33 31 3a 20 20 20 20 ┆ exit: w2 = slices = 0 m31: ┆ 0x168c80…168ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 70 72 65 70 61 72 65 20 6d 61 69 6e 63 61 74 ┆ ; prepare maincat┆ 0x168ca0…168cc0 20 65 6e 74 72 79 3a 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 2d 66 35 31 2d 31 20 20 3b ┆ entry: al w0 -f51-1 ;┆ 0x168cc0…168ce0 0a 20 20 20 20 20 6c 61 20 20 77 30 20 20 78 32 2b 66 33 20 20 20 20 20 3b 20 20 20 20 77 30 20 ┆ la w0 x2+f3 ; w0 ┆ 0x168ce0…168d00 3a 3d 20 70 65 72 6d 6b 65 79 2e 65 6e 74 72 79 3b 0a 20 20 20 20 20 73 6c 20 20 77 30 20 20 20 ┆:= permkey.entry; sl w0 ┆ 0x168d00…168d20 20 20 61 31 30 39 20 20 20 3b 20 20 20 20 69 66 20 70 65 72 6d 6b 65 79 20 3e 3d 20 6d 69 6e 20 ┆ a109 ; if permkey >= min ┆ 0x168d20…168d40 61 75 78 20 6b 65 79 20 74 68 65 6e 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 61 31 30 ┆aux key then al w0 a10┆ 0x168d40…168d60 39 2d 31 20 3b 20 20 20 20 20 20 70 65 72 6d 6b 65 79 20 3a 3d 20 6d 69 6e 20 61 75 78 20 6b 65 ┆9-1 ; permkey := min aux ke┆ 0x168d60…168d80 79 20 2d 20 31 3b 0a 20 20 20 20 20 68 73 2e 20 77 30 20 20 20 20 20 64 31 2e 2b 66 33 20 3b 20 ┆y - 1; hs. w0 d1.+f3 ; ┆ 0x168d80…168da0 20 20 20 6b 65 79 2e 77 6f 72 6b 20 3a 3d 20 70 65 72 6d 6b 65 79 3b 0a 20 20 20 20 20 61 6c 20 ┆ key.work := permkey; al ┆ 0x168da0…168dc0 20 77 32 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 77 32 20 3a 3d 20 73 6c 69 63 65 73 ┆ w2 0 ; w2 := slices┆ 0x168dc0…168de0 20 74 6f 20 63 6c 61 69 6d 20 3a 3d 20 30 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 ┆ to claim := 0; jl. ┆ 0x168de0…168e00 6e 30 2e 20 20 20 20 3b 20 20 20 20 6e 65 78 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 3b 0a 0a 0a ┆n0. ; next instruction; ┆ 0x168e00…168e20 3b 20 73 65 74 20 62 73 20 63 6c 61 69 6d 73 0a 3b 0a 3b 20 20 20 69 74 20 69 73 20 74 65 73 74 ┆; set bs claims ; ; it is test┆ 0x168e20…168e40 65 64 20 74 68 61 74 20 74 68 65 20 63 6c 61 69 6d 73 20 63 61 6e 20 62 65 20 73 75 62 74 72 61 ┆ed that the claims can be subtra┆ 0x168e40…168e60 63 74 65 64 20 66 72 6f 6d 0a 3b 20 20 20 20 20 74 68 65 20 70 61 72 65 6e 74 20 61 6e 64 20 61 ┆cted from ; the parent and a┆ 0x168e60…168e80 64 64 65 64 20 74 6f 20 74 68 65 20 63 68 69 6c 64 73 20 63 6c 61 69 6d 73 0a 3b 20 20 20 74 68 ┆dded to the childs claims ; th┆ 0x168e80…168ea0 65 20 63 6c 61 69 6d 73 20 61 72 65 20 67 69 76 65 6e 20 74 6f 20 74 68 65 20 63 68 69 6c 64 0a ┆e claims are given to the child ┆ 0x168ea0…168ec0 3b 0a 3b 20 20 20 6e 6f 74 69 63 65 3a 20 20 74 68 65 20 63 6c 61 69 6d 73 2d 63 68 61 6e 67 65 ┆; ; notice: the claims-change┆ 0x168ec0…168ee0 20 6d 61 79 20 62 65 20 70 6f 73 69 74 69 76 65 20 6f 72 20 6e 65 67 61 74 69 76 65 0a 3b 0a 3b ┆ may be positive or negative ; ;┆ 0x168ee0…168f00 20 63 61 6c 6c 3a 20 6d 33 32 0a 3b 20 65 72 72 6f 72 20 72 65 74 75 72 6e 3a 20 72 65 73 75 6c ┆ call: m32 ; error return: resul┆ 0x168f00…168f20 74 20 31 2c 20 69 66 20 63 6c 61 69 6d 73 20 65 78 63 65 65 64 65 64 0a 3b 20 20 20 20 20 20 20 ┆t 1, if claims exceeded ; ┆ 0x168f20…168f40 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 33 2c 20 69 66 20 70 72 6f 63 65 73 73 20 64 6f 65 ┆ result 3, if process doe┆ 0x168f40…168f60 73 20 6e 6f 74 20 65 78 69 73 74 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 ┆s not exist ; resu┆ 0x168f60…168f80 6c 74 20 33 2c 20 69 66 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 61 6e 20 69 6e 74 65 72 ┆lt 3, if process is not an inter┆ 0x168f80…168fa0 6e 61 6c 20 70 72 6f 63 65 73 73 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 ┆nal process ; resu┆ 0x168fa0…168fc0 6c 74 20 33 2c 20 69 66 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 61 20 63 68 69 6c 64 20 ┆lt 3, if process is not a child ┆ 0x168fc0…168fe0 6f 66 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 0a 0a 62 2e 20 67 31 30 2c 20 68 31 30 20 ┆of calling process b. g10, h10 ┆ 0x168fe0…169000 77 2e 0a 0a 6d 33 32 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 65 74 ┆w. m32: ; set┆ 0x169000…169020 20 62 73 20 63 6c 61 69 6d 73 3a 0a 20 20 20 20 20 6a 6c 2e 20 77 33 20 20 20 20 20 65 31 37 2e ┆ bs claims: jl. w3 e17.┆ 0x169020…169040 20 20 20 3b 20 20 20 20 66 69 72 73 74 20 70 72 6f 63 3b 0a 20 20 20 20 20 6a 65 2e 20 77 33 20 ┆ ; first proc; je. w3 ┆ 0x169040…169060 20 20 20 20 65 37 35 2e 20 20 20 3b 20 20 20 20 6d 6f 76 65 20 62 73 2d 70 61 72 61 6d 73 20 66 ┆ e75. ; move bs-params f┆ 0x169060…169080 72 6f 6d 20 73 65 6e 64 65 72 20 74 6f 20 63 6c 61 69 6d 2d 61 72 72 61 79 3b 0a 20 20 20 20 20 ┆rom sender to claim-array; ┆ 0x169080…1690a0 61 6c 2e 20 77 32 20 20 20 20 20 64 31 36 2e 20 20 20 3b 20 20 20 20 77 32 20 3a 3d 20 63 6c 61 ┆al. w2 d16. ; w2 := cla┆ 0x1690a0…1690c0 69 6d 20 61 72 72 61 79 3b 0a 20 20 20 20 20 72 6c 2e 20 77 33 20 20 20 20 20 64 34 2e 20 20 20 ┆im array; rl. w3 d4. ┆ 0x1690c0…1690e0 20 3b 20 20 20 20 77 33 20 3a 3d 20 63 75 72 64 6f 63 3b 0a 0a 67 30 3a 20 20 20 20 20 20 20 20 ┆ ; w3 := curdoc; g0: ┆ 0x1690e0…169100 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 63 6f 6e 76 65 72 74 20 6e 65 78 74 20 6b 65 79 3a 0a ┆ ; convert next key: ┆ 0x169100…169120 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 0a 20 20 20 20 20 73 65 ┆ al w0 0 ; se┆ 0x169120…169140 20 20 77 33 20 20 20 20 28 62 32 35 29 20 20 20 3b 20 20 20 20 69 66 20 63 75 72 64 6f 63 20 3d ┆ w3 (b25) ; if curdoc =┆ 0x169140…169160 20 6d 61 69 6e 63 61 74 20 64 6f 63 61 64 64 72 0a 20 20 20 20 20 73 6c 2e 20 77 32 20 20 20 20 ┆ maincat docaddr sl. w2 ┆ 0x169160…169180 20 64 31 36 2e 2b 61 31 30 39 2a 34 3b 20 20 6f 72 20 6b 65 79 20 3e 3d 20 6d 69 6e 20 61 75 78 ┆ d16.+a109*4; or key >= min aux┆ 0x169180…1691a0 20 6b 65 79 20 74 68 65 6e 0a 20 20 20 20 20 72 6c 20 20 77 30 20 20 78 32 20 20 20 20 20 20 20 ┆ key then rl w0 x2 ┆ 0x1691a0…1691c0 20 3b 20 20 20 20 20 20 6b 65 65 70 20 28 65 6e 74 72 79 63 68 61 6e 67 65 2e 6b 65 79 29 0a 20 ┆ ; keep (entrychange.key) ┆ 0x1691c0…1691e0 20 20 20 20 72 73 20 20 77 30 20 20 78 32 20 20 20 20 20 20 20 20 3b 20 20 20 20 65 6c 73 65 20 ┆ rs w0 x2 ; else ┆ 0x1691e0…169200 65 6e 74 72 79 63 68 61 6e 67 65 2e 6b 65 79 20 3a 3d 20 30 3b 0a 0a 20 20 20 20 20 72 6c 20 20 ┆entrychange.key := 0; rl ┆ 0x169200…169220 77 30 20 20 78 32 2b 32 20 20 20 20 20 20 3b 20 20 20 20 77 30 77 31 20 3a 3d 20 73 69 67 6e 65 ┆w0 x2+2 ; w0w1 := signe┆ 0x169220…169240 64 20 73 65 67 6d 65 6e 74 63 68 61 6e 67 65 2e 6b 65 79 3b 0a 20 20 20 20 20 61 64 20 20 77 31 ┆d segmentchange.key; ad w1┆ 0x169240…169260 20 20 20 20 2d 32 34 20 20 20 20 20 3b 0a 20 20 20 20 20 77 64 20 20 77 31 20 20 78 33 2b 66 36 ┆ -24 ; wd w1 x3+f6┆ 0x169260…169280 34 20 20 20 20 3b 20 20 20 20 73 6c 69 63 65 73 20 3a 3d 20 73 65 67 6d 65 6e 74 73 20 2f 2f 20 ┆4 ; slices := segments // ┆ 0x169280…1692a0 73 6c 69 63 65 6c 65 6e 67 74 68 2e 63 75 72 64 6f 63 0a 20 20 20 20 20 73 6c 20 20 77 30 20 20 ┆slicelength.curdoc sl w0 ┆ 0x1692a0…1692c0 20 20 20 31 20 20 20 20 20 20 3b 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 78 31 2b 31 20 20 20 ┆ 1 ; al w1 x1+1 ┆ 0x1692c0…1692e0 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 2b 20 73 69 67 6e 20 28 72 65 6d 61 69 6e 64 65 ┆ ; + sign (remainde┆ 0x1692e0…169300 72 29 3b 0a 20 20 20 20 20 73 68 20 20 77 30 20 20 20 20 2d 31 20 20 20 20 20 20 3b 0a 20 20 20 ┆r); sh w0 -1 ; ┆ 0x169300…169320 20 20 61 6c 20 20 77 31 20 20 78 31 2d 31 20 20 20 20 20 20 3b 0a 20 20 20 20 20 72 73 20 20 77 ┆ al w1 x1-1 ; rs w┆ 0x169320…169340 31 20 20 78 32 2b 32 20 20 20 20 20 20 3b 20 20 20 20 73 61 76 65 20 69 6e 20 63 6c 61 69 6d 2d ┆1 x2+2 ; save in claim-┆ 0x169340…169360 61 72 72 61 79 3b 0a 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 32 2b 34 20 20 20 20 20 20 3b ┆array; al w2 x2+4 ;┆ 0x169360…169380 20 20 20 20 69 6e 63 72 65 61 73 65 20 6b 65 79 3b 0a 20 20 20 20 20 73 68 2e 20 77 32 20 20 20 ┆ increase key; sh. w2 ┆ 0x169380…1693a0 20 20 64 31 36 2e 2b 34 2a 61 31 31 30 3b 20 20 20 69 66 20 6e 6f 74 20 61 6c 6c 20 6b 65 79 73 ┆ d16.+4*a110; if not all keys┆ 0x1693a0…1693c0 20 63 6f 6e 76 65 72 74 65 64 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 ┆ converted then jl. ┆ 0x1693c0…1693e0 67 30 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 63 6f 6e 76 65 72 74 20 6e 65 78 74 20 ┆g0. ; goto convert next ┆ 0x1693e0…169400 6b 65 79 3b 0a 0a 20 20 20 20 20 72 73 2e 20 77 32 20 20 20 20 20 64 31 2e 20 20 20 20 3b 20 20 ┆key; rs. w2 d1. ; ┆ 0x169400…169420 20 20 73 65 63 6f 6e 64 20 70 61 73 73 20 3a 3d 20 66 61 6c 73 65 3b 0a 0a 67 35 3a 20 20 20 20 ┆ second pass := false; g5: ┆ 0x169420…169440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 6e 65 78 74 20 70 61 73 73 3a 0a 20 20 20 ┆ ; next pass: ┆ 0x169440…169460 20 20 72 6c 2e 20 77 31 20 20 20 20 20 64 32 2e 20 20 20 20 3b 20 20 20 20 77 31 20 3a 3d 20 73 ┆ rl. w1 d2. ; w1 := s┆ 0x169460…169480 65 6e 64 65 72 3b 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 64 31 34 2e 20 20 20 3b 20 ┆ender; rl. w2 d14. ; ┆ 0x169480…1694a0 20 20 20 77 32 20 3a 3d 20 63 68 69 6c 64 3b 0a 0a 20 20 20 20 20 77 61 20 20 77 31 20 20 78 33 ┆ w2 := child; wa w1 x3┆ 0x1694a0…1694c0 2b 66 36 30 20 20 20 20 3b 20 20 20 20 77 31 20 3a 3d 20 63 6c 61 69 6d 61 64 64 72 2e 73 65 6e ┆+f60 ; w1 := claimaddr.sen┆ 0x1694c0…1694e0 64 65 72 20 28 63 75 72 64 6f 63 29 3b 0a 20 20 20 20 20 77 61 20 20 77 32 20 20 78 33 2b 66 36 ┆der (curdoc); wa w2 x3+f6┆ 0x1694e0…169500 30 20 20 20 20 3b 20 20 20 20 77 32 20 3a 3d 20 63 6c 61 69 6d 61 64 64 72 2e 63 68 69 6c 64 20 ┆0 ; w2 := claimaddr.child ┆ 0x169500…169520 20 28 63 75 72 64 6f 63 29 3b 0a 0a 20 20 20 20 20 61 6c 2e 20 77 33 20 20 20 20 20 64 31 36 2e ┆ (curdoc); al. w3 d16.┆ 0x169520…169540 20 20 20 3b 20 20 20 20 77 33 20 3a 3d 20 73 74 61 72 74 20 6f 66 20 63 6c 61 69 6d 2d 61 72 72 ┆ ; w3 := start of claim-arr┆ 0x169540…169560 61 79 3b 20 20 28 20 3d 20 6b 65 79 20 30 20 29 0a 0a 67 38 3a 20 20 20 20 20 20 20 20 20 20 20 ┆ay; ( = key 0 ) g8: ┆ 0x169560…169580 20 20 20 20 20 20 20 20 20 3b 20 6e 65 78 74 20 6b 65 79 3a 0a 3b 20 66 69 72 73 74 20 74 65 73 ┆ ; next key: ; first tes┆ 0x169580…1695a0 74 20 74 68 61 74 20 74 68 65 20 70 61 72 65 6e 74 20 77 6f 6e 27 74 20 68 61 76 65 20 63 6c 61 ┆t that the parent won't have cla┆ 0x1695a0…1695c0 69 6d 73 20 65 78 63 65 65 64 65 64 0a 20 20 20 20 20 72 6c 20 20 77 30 20 20 78 31 20 20 20 20 ┆ims exceeded rl w0 x1 ┆ 0x1695c0…1695e0 20 20 20 20 3b 20 72 65 6d 61 69 6e 64 65 72 3a 3d 20 63 6c 61 69 6d 28 6b 65 79 29 2e 73 65 6e ┆ ; remainder:= claim(key).sen┆ 0x1695e0…169600 64 65 72 0a 20 20 20 20 20 77 73 20 20 77 30 20 20 78 33 20 20 20 20 20 20 20 20 3b 20 20 20 20 ┆der ws w0 x3 ; ┆ 0x169600…169620 20 20 20 20 20 20 20 20 20 20 20 2d 20 63 6c 61 69 6d 63 68 61 6e 67 65 28 6b 65 79 29 3b 0a 20 ┆ - claimchange(key); ┆ 0x169620…169640 20 20 20 20 73 68 20 20 77 30 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 20 69 66 20 72 65 ┆ sh w0 -1 ; if re┆ 0x169640…169660 6d 61 69 6e 64 65 72 20 3c 20 30 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 ┆mainder < 0 then jl. ┆ 0x169660…169680 20 6a 31 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 72 65 73 75 6c 74 20 31 3b 20 20 28 ┆ j1. ; goto result 1; (┆ 0x169680…1696a0 69 2e 65 2e 20 63 6c 61 69 6d 73 20 65 78 63 65 65 64 65 64 20 61 74 20 73 65 6e 64 65 72 29 0a ┆i.e. claims exceeded at sender) ┆ 0x1696a0…1696c0 20 20 20 20 20 73 6c 2e 20 77 33 20 20 20 20 28 64 31 2e 29 20 20 20 3b 20 20 20 20 69 66 20 73 ┆ sl. w3 (d1.) ; if s┆ 0x1696c0…1696e0 65 63 6f 6e 64 20 70 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 72 73 20 20 77 30 20 20 78 31 20 ┆econd pass then rs w0 x1 ┆ 0x1696e0…169700 20 20 20 20 20 20 20 3b 20 63 6c 61 69 6d 28 6b 65 79 29 2e 73 65 6e 64 65 72 3a 3d 20 72 65 6d ┆ ; claim(key).sender:= rem┆ 0x169700…169720 61 69 6e 64 65 72 0a 0a 3b 20 70 61 72 65 6e 74 20 63 6c 61 69 6d 73 20 77 61 73 20 6f 6b 20 28 ┆ainder ; parent claims was ok (┆ 0x169720…169740 74 69 6c 6c 20 6e 6f 77 29 0a 3b 20 74 65 73 74 20 63 68 69 6c 64 20 63 6c 61 69 6d 73 0a 20 20 ┆till now) ; test child claims ┆ 0x169740…169760 20 20 20 72 6c 20 20 77 30 20 20 78 32 20 20 20 20 20 20 20 20 3b 20 6e 65 77 63 6c 61 69 6d 3a ┆ rl w0 x2 ; newclaim:┆ 0x169760…169780 3d 20 63 6c 61 69 6d 28 6b 65 79 29 2e 63 68 69 6c 64 0a 20 20 20 20 20 77 61 20 20 77 30 20 20 ┆= claim(key).child wa w0 ┆ 0x169780…1697a0 78 33 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 20 63 6c 61 69 6d ┆x3 ; + claim┆ 0x1697a0…1697c0 63 68 61 6e 67 65 28 6b 65 79 29 3b 0a 20 20 20 20 20 73 68 20 20 77 30 20 20 20 20 2d 31 20 20 ┆change(key); sh w0 -1 ┆ 0x1697c0…1697e0 20 20 20 20 3b 20 20 20 20 69 66 20 6e 65 77 63 6c 61 69 6d 20 3c 20 30 20 74 68 65 6e 0a 20 20 ┆ ; if newclaim < 0 then ┆ 0x1697e0…169800 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 31 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f ┆ jl. j1. ; goto┆ 0x169800…169820 (482,) 20 72 65 73 75 6c 74 20 31 3b 20 20 28 69 2e 65 2e 20 63 6c 61 69 6d 73 20 65 78 63 63 65 64 65 ┆ result 1; (i.e. claims exccede┆ 0x169820…169840 64 20 61 74 20 63 68 69 6c 64 29 0a 20 20 20 20 20 73 6c 2e 20 77 33 20 20 20 20 28 64 31 2e 29 ┆d at child) sl. w3 (d1.)┆ 0x169840…169860 20 20 20 3b 20 20 20 20 69 66 20 73 65 63 6f 6e 64 20 70 61 73 73 20 74 68 65 6e 0a 20 20 20 20 ┆ ; if second pass then ┆ 0x169860…169880 20 72 73 20 20 77 30 20 20 78 32 20 20 20 20 20 20 20 20 3b 20 63 6c 61 69 6d 28 6b 65 79 29 2e ┆ rs w0 x2 ; claim(key).┆ 0x169880…1698a0 63 68 69 6c 64 3a 3d 6e 65 77 63 6c 61 69 6d 0a 0a 3b 20 63 68 69 6c 64 2d 63 6c 61 69 6d 73 20 ┆child:=newclaim ; child-claims ┆ 0x1698a0…1698c0 77 61 73 20 61 6c 73 6f 20 6f 6b 0a 3b 20 74 72 79 20 6e 65 78 74 20 6b 65 79 0a 20 20 20 20 20 ┆was also ok ; try next key ┆ 0x1698c0…1698e0 61 6c 20 20 77 31 20 20 78 31 2b 32 20 20 20 20 20 20 3b 20 69 6e 63 72 65 61 73 65 20 28 73 65 ┆al w1 x1+2 ; increase (se┆ 0x1698e0…169900 6e 64 65 72 20 63 6c 61 69 6d 61 64 64 72 29 3b 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 32 ┆nder claimaddr); al w2 x2┆ 0x169900…169920 2b 32 20 20 20 20 20 20 3b 20 69 6e 63 72 65 61 73 65 20 28 63 68 69 6c 64 20 63 6c 61 69 6d 61 ┆+2 ; increase (child claima┆ 0x169920…169940 64 64 72 29 3b 0a 20 20 20 20 20 61 6c 20 20 77 33 20 20 78 33 2b 32 20 20 20 20 20 20 3b 20 20 ┆ddr); al w3 x3+2 ; ┆ 0x169940…169960 20 20 69 6e 63 72 65 61 73 65 20 28 6b 65 79 29 3b 0a 0a 20 20 20 20 20 73 68 2e 20 77 33 20 20 ┆ increase (key); sh. w3 ┆ 0x169960…169980 20 20 20 64 31 36 2e 2b 34 2a 61 31 31 30 2b 33 3b 20 20 20 69 66 20 6e 6f 74 20 61 6c 6c 20 6b ┆ d16.+4*a110+3; if not all k┆ 0x169980…1699a0 65 79 73 20 74 65 73 74 65 64 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 ┆eys tested then jl. ┆ 0x1699a0…1699c0 67 38 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 6e 65 78 74 20 6b 65 79 3b 0a 0a 3b 20 ┆g8. ; goto next key; ; ┆ 0x1699c0…1699e0 61 6c 6c 20 6b 65 79 73 20 68 61 76 65 20 62 65 65 6e 20 74 65 73 74 65 64 20 28 6f 72 20 75 70 ┆all keys have been tested (or up┆ 0x1699e0…169a00 64 61 74 65 64 29 0a 0a 20 20 20 20 20 61 6c 2e 20 77 33 20 20 20 20 20 64 31 36 2e 2d 32 20 3b ┆dated) al. w3 d16.-2 ;┆ 0x169a00…169a20 0a 20 20 20 20 20 73 6e 2e 20 77 33 20 20 20 20 28 64 31 2e 29 20 20 20 3b 20 20 20 20 69 66 20 ┆ sn. w3 (d1.) ; if ┆ 0x169a20…169a40 73 65 63 6f 6e 64 20 70 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 ┆second pass then jl. ┆ 0x169a40…169a60 20 6a 30 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 72 65 73 75 6c 74 20 6f 6b 3b 0a 0a ┆ j0. ; goto result ok; ┆ 0x169a60…169a80 20 20 20 20 20 72 73 2e 20 77 33 20 20 20 20 20 64 31 2e 20 20 20 20 3b 20 20 20 20 73 65 63 6f ┆ rs. w3 d1. ; seco┆ 0x169a80…169aa0 6e 64 20 70 61 73 73 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 72 6c 2e 20 77 33 20 20 20 20 ┆nd pass := true; rl. w3 ┆ 0x169aa0…169ac0 20 64 34 2e 20 20 20 20 3b 20 20 20 20 77 33 20 3a 3d 20 63 75 72 64 6f 63 3b 0a 20 20 20 20 20 ┆ d4. ; w3 := curdoc; ┆ 0x169ac0…169ae0 6a 6c 2e 20 20 20 20 20 20 20 20 67 35 2e 20 20 20 20 3b 20 20 20 20 67 6f 74 6f 20 6e 65 78 74 ┆jl. g5. ; goto next┆ 0x169ae0…169b00 20 70 61 73 73 3b 0a 0a 65 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ┆ pass; e. ;┆ 0x169b00…169b20 0a 0a 0a 3b 20 69 66 20 6e 6f 74 20 62 73 2d 64 65 76 69 63 65 20 74 68 65 6e 20 67 6f 74 6f 20 ┆ ; if not bs-device then goto ┆ 0x169b20…169b40 3c 6e 6f 74 20 62 73 3e 0a 3b 0a 3b 20 20 20 74 68 65 20 6b 69 6e 64 20 6f 66 20 74 68 65 20 70 ┆<not bs> ; ; the kind of the p┆ 0x169b40…169b60 72 6f 63 65 73 73 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 63 75 72 70 72 6f 63 20 69 73 ┆rocess description of curproc is┆ 0x169b60…169b80 20 74 65 73 74 65 64 20 74 6f 0a 3b 20 20 20 20 20 66 69 6e 64 20 6f 75 74 20 77 68 65 74 68 65 ┆ tested to ; find out whethe┆ 0x169b80…169ba0 72 20 6f 72 20 6e 6f 74 20 69 74 20 69 73 20 61 20 62 73 2d 64 65 76 69 63 65 0a 3b 0a 3b 20 63 ┆r or not it is a bs-device ; ; c┆ 0x169ba0…169bc0 61 6c 6c 3a 20 6d 33 34 2c 20 3c 6e 6f 74 20 62 73 20 61 64 64 72 3e 0a 3b 20 65 72 72 6f 72 20 ┆all: m34, <not bs addr> ; error ┆ 0x169bc0…169be0 72 65 74 75 72 6e 3a 20 67 6f 74 6f 2d 61 63 74 69 6f 6e 20 31 2c 20 69 66 20 6e 6f 74 20 62 73 ┆return: goto-action 1, if not bs┆ 0x169be0…169c00 2d 64 65 76 69 63 65 3b 0a 0a 6d 33 34 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆-device; m34: ┆ 0x169c00…169c20 20 3b 20 63 68 65 63 6b 20 62 73 2d 64 65 76 69 63 65 3a 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 ┆ ; check bs-device: rl. w2 ┆ 0x169c20…169c40 20 20 20 28 64 31 31 2e 29 20 20 3b 20 20 20 20 70 72 6f 63 20 3a 3d 20 6e 61 6d 65 74 61 62 6c ┆ (d11.) ; proc := nametabl┆ 0x169c40…169c60 65 20 28 63 75 72 20 70 72 6f 63 20 6e 61 6d 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 29 3b ┆e (cur proc name table address);┆ 0x169c60…169c80 0a 0a 20 20 20 20 20 72 6c 20 20 77 31 20 20 78 32 2b 61 31 30 20 20 20 20 3b 20 20 20 20 77 31 ┆ rl w1 x2+a10 ; w1┆ 0x169c80…169ca0 20 3a 3d 20 6b 69 6e 64 2e 70 72 6f 63 3b 0a 0a 20 20 20 20 20 73 65 20 20 77 31 20 20 20 20 20 ┆ := kind.proc; se w1 ┆ 0x169ca0…169cc0 38 34 20 20 20 20 20 3b 20 20 20 20 69 66 20 6b 69 6e 64 20 3d 20 72 63 6e 65 74 20 73 75 62 70 ┆84 ; if kind = rcnet subp┆ 0x169cc0…169ce0 72 6f 63 65 73 73 20 74 68 65 6e 0a 20 20 20 20 20 73 6e 20 20 77 31 20 20 20 20 20 38 35 20 20 ┆rocess then sn w1 85 ┆ 0x169ce0…169d00 20 20 20 3b 0a 20 20 20 20 20 62 7a 20 20 77 31 20 20 78 32 2b 61 36 33 20 20 20 20 3b 20 20 20 ┆ ; bz w1 x2+a63 ; ┆ 0x169d00…169d20 20 20 20 6b 69 6e 64 20 3a 3d 20 73 75 62 6b 69 6e 64 2e 70 72 6f 63 3b 0a 0a 20 20 20 20 20 73 ┆ kind := subkind.proc; s┆ 0x169d20…169d40 65 20 20 77 31 20 20 20 20 20 36 20 20 20 20 20 20 3b 20 20 20 20 69 66 20 6b 69 6e 64 20 3d 20 ┆e w1 6 ; if kind = ┆ 0x169d40…169d60 64 72 75 6d 0a 20 20 20 20 20 73 6e 20 20 77 31 20 20 20 20 20 36 32 20 20 20 20 20 3b 20 20 20 ┆drum sn w1 62 ; ┆ 0x169d60…169d80 20 6f 72 20 6b 69 6e 64 20 3d 20 64 69 73 63 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 ┆ or kind = disc then jl. ┆ 0x169d80…169da0 20 20 20 20 20 6e 31 2e 20 20 20 20 3b 20 20 20 20 20 20 73 6b 69 70 3b 0a 6e 31 3d 6b 2d 32 0a ┆ n1. ; skip; n1=k-2 ┆ 0x169da0…169dc0 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6e 35 2e 20 20 20 20 3b 20 20 20 20 67 6f 74 ┆ jl. n5. ; got┆ 0x169dc0…169de0 6f 20 3c 6e 6f 74 20 62 73 3e 3b 0a 6e 35 3d 6b 2d 32 0a 0a 0a 0a 3b 20 73 65 61 72 63 68 20 61 ┆o <not bs>; n5=k-2 ; search a┆ 0x169de0…169e00 6e 79 20 63 68 61 69 6e 73 20 28 61 6c 6c 6f 77 65 64 20 73 74 61 74 65 29 0a 3b 0a 3b 20 20 20 ┆ny chains (allowed state) ; ; ┆ 0x169e00…169e20 66 69 6e 64 73 20 61 20 64 6f 63 75 6d 65 6e 74 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 73 65 ┆finds a document on which the se┆ 0x169e20…169e40 6e 64 65 72 20 68 61 73 20 65 6e 6f 75 67 68 20 63 6c 61 69 6d 73 0a 3b 20 20 20 20 20 74 6f 20 ┆nder has enough claims ; to ┆ 0x169e40…169e60 63 72 65 61 74 65 20 74 68 65 20 65 6e 74 72 79 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 65 6e ┆create the entry described in en┆ 0x169e60…169e80 74 72 79 2e 77 6f 72 6b 0a 3b 0a 3b 20 63 61 6c 6c 3a 20 6d 33 35 2c 20 3c 61 6c 6c 6f 77 65 64 ┆try.work ; ; call: m35, <allowed┆ 0x169e80…169ea0 20 73 74 61 74 65 73 3e 0a 3b 20 65 72 72 6f 72 20 72 65 74 75 72 6e 3a 20 72 65 73 75 6c 74 20 ┆ states> ; error return: result ┆ 0x169ea0…169ec0 32 2c 20 69 66 20 64 6f 63 75 6d 65 6e 74 20 6e 6f 74 20 66 6f 75 6e 64 0a 3b 20 20 20 20 20 20 ┆2, if document not found ; ┆ 0x169ec0…169ee0 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 32 2c 20 69 66 20 73 74 61 74 65 2e 64 6f 63 75 ┆ result 2, if state.docu┆ 0x169ee0…169f00 6d 65 6e 74 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ment not allowed ; ┆ 0x169f00…169f20 20 72 65 73 75 6c 74 20 34 2c 20 69 66 20 6e 6f 20 64 6f 63 75 6d 65 6e 74 73 20 77 69 74 68 20 ┆ result 4, if no documents with ┆ 0x169f20…169f40 65 6e 6f 75 67 68 20 63 6c 61 69 6d 73 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ┆enough claims ; re┆ 0x169f40…169f60 73 75 6c 74 20 36 2c 20 69 66 20 64 6f 63 75 6d 65 6e 74 20 6e 61 6d 65 66 6f 72 6d 61 74 20 69 ┆sult 6, if document nameformat i┆ 0x169f60…169f80 6c 6c 65 67 61 6c 0a 3b 20 72 65 74 75 72 6e 3a 20 63 75 72 64 6f 63 20 69 73 20 64 65 66 69 6e ┆llegal ; return: curdoc is defin┆ 0x169f80…169fa0 65 64 0a 0a 62 2e 20 67 31 30 2c 20 68 31 30 20 77 2e 0a 0a 6d 33 35 3a 20 20 20 20 20 20 20 20 ┆ed b. g10, h10 w. m35: ┆ 0x169fa0…169fc0 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 65 61 72 63 68 20 61 6e 79 20 63 68 61 69 6e 73 3a 0a ┆ ; search any chains: ┆ 0x169fc0…169fe0 20 20 20 20 20 72 6c 2e 20 77 30 20 20 20 20 20 64 31 2e 2b 66 37 20 3b 20 20 20 20 77 30 20 3a ┆ rl. w0 d1.+f7 ; w0 :┆ 0x169fe0…16a000 3d 20 73 69 7a 65 2e 77 6f 72 6b 3b 0a 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 64 31 2e ┆= size.work; rl. w2 d1.┆ 0x16a000…16a020 2b 66 31 31 3b 20 20 20 20 77 32 20 3a 3d 20 64 6f 63 6e 61 6d 65 28 30 29 2e 77 6f 72 6b 3b 0a ┆+f11; w2 := docname(0).work; ┆ 0x16a020…16a040 0a 20 20 20 20 20 73 6c 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 69 66 20 ┆ sl w0 0 ; if ┆ 0x16a040…16a060 73 69 7a 65 20 3c 20 30 0a 20 20 20 20 20 73 7a 20 20 77 32 20 20 20 20 2d 31 3c 31 20 20 20 20 ┆size < 0 sz w2 -1<1 ┆ 0x16a060…16a080 3b 20 20 20 20 6f 72 20 64 6f 63 6e 61 6d 65 28 30 29 20 69 73 20 6e 65 69 74 68 65 72 20 30 20 ┆; or docname(0) is neither 0 ┆ 0x16a080…16a0a0 6e 6f 72 20 31 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6d 33 36 2e 20 ┆nor 1 then jl. m36. ┆ 0x16a0a0…16a0c0 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 73 65 61 72 63 68 20 63 68 61 69 6e 3b 0a 0a 20 20 20 ┆ ; goto search chain; ┆ 0x16a0c0…16a0e0 20 20 6a 6c 2e 20 77 33 20 20 20 20 20 6e 31 30 2e 20 20 20 3b 20 20 20 20 77 30 20 3a 3d 20 61 ┆ jl. w3 n10. ; w0 := a┆ 0x16a0e0…16a100 6c 6c 6f 77 65 64 20 73 74 61 74 65 20 3a 3d 20 70 61 72 61 6d 3b 0a 20 20 20 20 20 68 73 2e 20 ┆llowed state := param; hs. ┆ 0x16a100…16a120 77 30 20 20 20 20 20 68 30 2e 20 20 20 20 3b 0a 0a 20 20 20 20 20 6c 73 20 20 77 32 20 20 20 20 ┆w0 h0. ; ls w2 ┆ 0x16a120…16a140 20 31 20 20 20 20 20 20 3b 20 20 20 20 77 32 20 3a 3d 20 66 69 72 73 74 20 64 72 75 6d 20 72 65 ┆ 1 ; w2 := first drum re┆ 0x16a140…16a160 6c 20 20 6f 72 20 20 66 69 72 73 74 20 64 69 73 63 20 72 65 6c 3b 0a 0a 67 30 3a 20 20 20 20 20 ┆l or first disc rel; g0: ┆ 0x16a160…16a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 6e 65 78 74 20 64 65 76 69 63 65 20 6b 69 6e ┆ ; next device kin┆ 0x16a180…16a1a0 64 3a 0a 20 20 20 20 20 72 6c 20 20 77 32 20 20 78 32 2b 62 32 32 20 20 20 20 3b 20 20 20 20 77 ┆d: rl w2 x2+b22 ; w┆ 0x16a1a0…16a1c0 32 20 3a 3d 20 66 69 72 73 74 20 64 72 75 6d 20 28 6f 72 20 64 69 73 63 29 20 63 68 61 69 6e 20 ┆2 := first drum (or disc) chain ┆ 0x16a1c0…16a1e0 65 6e 74 72 79 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆entry in ┆ 0x16a1e0…16a200 3b 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 74 61 62 6c 65 3b 0a 20 20 20 20 20 6a 6c ┆; name table; jl┆ 0x16a200…16a220 2e 20 20 20 20 20 20 20 20 67 35 2e 20 20 20 20 3b 20 20 20 20 67 6f 74 6f 20 74 65 73 74 20 65 ┆. g5. ; goto test e┆ 0x16a220…16a240 6e 64 20 6f 66 20 62 73 2d 64 65 76 69 63 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆nd of bs-devices; ┆ 0x16a240…16a260 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 28 6f 6e 6c 79 20 72 65 6c 65 76 61 6e 74 20 69 66 20 ┆ ; (only relevant if ┆ 0x16a260…16a280 64 65 76 69 63 65 6b 69 6e 64 20 3d 20 64 69 73 63 29 0a 0a 67 31 3a 20 20 20 20 20 20 20 20 20 ┆devicekind = disc) g1: ┆ 0x16a280…16a2a0 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 65 73 74 20 63 68 61 69 6e 20 73 74 61 74 65 3a 0a 20 ┆ ; test chain state: ┆ 0x16a2a0…16a2c0 20 20 20 20 72 6c 20 20 77 33 20 20 78 32 20 20 20 20 20 20 20 20 3b 20 20 20 20 64 6f 63 20 3a ┆ rl w3 x2 ; doc :┆ 0x16a2c0…16a2e0 3d 20 6e 61 6d 65 20 74 61 62 6c 65 28 65 6e 74 72 79 29 3b 0a 20 20 20 20 20 62 6c 20 20 77 31 ┆= name table(entry); bl w1┆ 0x16a2e0…16a300 20 20 78 33 2b 66 36 38 20 20 20 20 3b 20 20 20 20 77 31 20 3a 3d 20 73 74 61 74 65 2e 64 6f 63 ┆ x3+f68 ; w1 := state.doc┆ 0x16a300…16a320 3b 0a 68 30 20 3d 20 6b 2b 31 0a 20 20 20 20 20 61 6c 20 20 77 30 20 3b 20 61 6c 6c 6f 77 65 64 ┆; h0 = k+1 al w0 ; allowed┆ 0x16a320…16a340 20 73 74 61 74 65 3b 0a 20 20 20 20 20 73 68 20 20 77 30 20 28 78 33 2b 66 36 31 29 20 20 20 3b ┆ state; sh w0 (x3+f61) ;┆ 0x16a340…16a360 20 20 20 20 69 66 20 64 6f 63 6e 61 6d 65 2e 64 6f 63 20 3d 20 30 0a 20 20 20 20 20 73 6f 20 20 ┆ if docname.doc = 0 so ┆ 0x16a360…16a380 77 30 20 20 78 31 20 20 20 20 20 20 20 20 3b 20 20 20 20 6f 72 20 73 74 61 74 65 2e 64 6f 63 20 ┆w0 x1 ; or state.doc ┆ 0x16a380…16a3a0 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 ┆not allowed then jl. ┆ 0x16a3a0…16a3c0 20 67 32 2e 20 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 6e 65 78 74 20 63 68 61 69 6e 3b 0a ┆ g2. ; goto next chain; ┆ 0x16a3c0…16a3e0 20 20 20 20 20 72 6c 20 20 77 31 20 20 78 33 2b 66 36 30 20 20 20 20 3b 0a 20 20 20 20 20 77 61 ┆ rl w1 x3+f60 ; wa┆ 0x16a3e0…16a400 2e 20 77 31 20 20 20 20 20 64 32 2e 20 20 20 20 3b 20 20 20 20 77 31 20 3a 3d 20 61 62 73 20 61 ┆. w1 d2. ; w1 := abs a┆