|
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 - download
Length: 10752 (0x2a00) Types: Rc489kSubCat Names: »ctest«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »ctest«
0x0000…0033 (0,) Rc489kSubCatEnt {f00=0x0016c2, f01=0x0007e4, f02=0x0007ed, filename=»testshclock «, entry_tail=0-4-0-1-1980-10-28T14:18-disc1-0x0-0x0-0x0-0x0} 0x0033…0040 a1 7f 99 37 ce 4e 1d 3f 95 34 ce 48 d8 ┆ 7 N ? 4 H ┆ 0x0040…0060 8e 5f dc 10 1d 2c 10 1d 2f 00 1a dc 10 15 53 ce 3a 52 2f fc 34 30 5a 53 ce 32 34 31 7a 5e ce 2c ┆ _ , / S :R/ 40ZS 241z^ ,┆ 0x0060…0080 37 ce 28 24 6f fc 51 2f fe 5d ce 20 52 2f fa 5e ce 20 37 ce 1c 24 6f fc 51 2f fe 5d ce 14 52 2f ┆7 ($o Q/ Å R/ ^ 7 $o Q/ Å R/┆ 0x0080…00a0 fc 2c 0f f6 37 ce 0c 00 9f 40 00 80 01 18 02 02 00 06 0a 03 6b 40 03 62 a8 03 6b 4e 00 00 03 53 ┆ , 7 @ k@ b kN S┆ 0x00a0…00c0 8f fa 5c 30 00 de 30 04 51 8f f4 53 1f fe 23 1f 9a 13 1f 38 5f 17 b6 db 1f fe 23 17 b6 50 30 00 ┆ Ø0 0 Q S # 8_ # P0 ┆ 0x00c0…00e0 5c 17 b4 20 1f 78 98 00 0b 0c 17 b7 5c 1f 84 50 31 fe 10 8f dc a0 00 02 a0 00 00 52 1f 82 5e 1f ┆Ø x Ø P1 R ^ ┆ 0x00e0…0100 82 5e 17 b2 50 1f 72 5c 17 b8 2c 00 00 5c 17 ba 52 10 00 5e 1f dc a2 00 00 34 80 0e 53 8f bc 2d ┆ ^ P rØ , Ø R ^ 4 S -┆ 0x0100…0120 20 00 2e 00 00 5e 1f dc 52 30 02 34 80 28 0b a0 f7 52 10 02 34 b0 00 86 50 02 2d 00 00 34 80 18 ┆ . ^ R0 4 ( R 4 P - 4 ┆ 0x0120…0140 53 1f fe 4f 3f f9 87 30 00 92 30 00 24 0f fa 24 0f f9 24 0f fa 24 0f fa 24 0f fa 24 0f e9 2d 00 ┆S O? 0 0 $ $ $ $ $ $ - ┆ 0x0140…0160 3c 53 8f 8e 2d 90 70 5e 3f da 24 07 ff 2e 30 31 d8 10 02 dc 20 06 53 10 04 2c 00 00 dc 20 0a b5 ┆<S - p^? $ .01 S , ┆ 0x0160…0180 00 01 24 00 01 2d 20 04 53 8f 74 d8 3f dc dc 20 02 2e 30 00 53 cf 6e 34 30 56 24 00 06 2d 00 49 ┆ $ - S t ? .0 S n40V$ - I┆ 0x0180…01a0 2e 00 00 34 8f d4 52 1f 68 aa 00 01 5d 1f 68 24 5f 8a 52 00 0e 2d 00 2a 34 8f c6 2c 00 64 5c 17 ┆. 4 R h Å h$_ R - *4 , dØ ┆ 0x01a0…01c0 ba 52 1f 62 2f 00 00 5f 2f fa db 1f 88 2f 00 03 13 00 04 5f 1f 88 52 1f 80 2d 00 30 34 8f ae d8 ┆ R b/ _/ / _ R - 04 ┆ 0x01c0…01e0 1f 88 24 07 ff 2d 10 31 5c 10 0c 50 30 00 5c 10 0e 50 30 02 5c 10 10 50 30 04 5c 10 12 50 30 06 ┆ $ - 1Ø P0 Ø P0 Ø P0 Ø P0 ┆ 0x01e0…0200 5c 10 14 24 0f f4 2d 00 42 34 8f 90 0a 73 74 61 63 6b 20 20 20 0a 69 6e 64 65 78 20 20 20 0a 63 ┆Ø $ - B4 stack index c┆ 0x0200…0220 61 73 65 20 20 20 20 0a 73 79 6e 74 61 78 20 20 0a 69 6e 74 65 67 65 72 20 0a 72 65 61 6c 20 20 ┆ase syntax integer real ┆ 0x0220…0240 20 20 0a 70 61 72 61 6d 20 20 20 0a 62 72 65 61 6b 20 20 20 0a 65 6e 64 20 20 20 20 20 0a 67 69 ┆ param break end gi┆ 0x0240…0260 76 65 75 70 20 20 0a 66 69 65 6c 64 20 20 20 0a 74 72 61 70 20 20 20 20 0a 67 6f 74 6f 20 20 20 ┆veup field trap goto ┆ 0x0260…0280 20 0a 6b 69 6c 6c 65 64 20 20 04 40 46 08 c0 1c 07 20 5a 04 c0 1a 01 80 16 01 40 12 01 00 08 00 ┆ killed @F Z @ ┆ 0x0280…02a0 20 00 00 00 00 80 00 00 00 01 ff 00 b1 ce 00 30 00 00 00 00 00 00 52 00 00 3f 20 00 00 00 00 00 ┆ 0 R ? ┆ 0x02a0…02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ 0x02c0…02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 34 89 1c 00 00 00 00 00 00 00 ┆ 4 ┆ 0x02e0…02fd 00 00 00 00 00 00 00 00 00 00 00 ff ff ff 00 00 00 40 00 00 00 00 00 00 00 00 00 61 ea ┆ @ a ┆ 0x02fd…0300 0x000001 0x0300…0600 Data for testshclock 0x0600…0620 2d 28 28 75 73 65 72 5f 6d 61 73 6b 20 73 68 69 66 74 20 28 2d 31 32 29 2b 31 29 20 6d 6f 64 20 ┆-((user_mask shift (-12)+1) mod ┆ 0x0620…0640 32 29 2a 31 32 29 20 65 78 74 72 61 63 74 20 31 32 20 3d 0a 20 20 20 20 20 20 20 20 75 73 65 72 ┆2)*12) extract 12 = user┆ 0x0640…0660 5f 6d 61 73 6b 20 65 78 74 72 61 63 74 20 31 32 20 74 68 65 6e 20 74 79 70 65 5f 65 78 74 65 72 ┆_mask extract 12 then type_exter┆ 0x0660…0680 6e 61 6c 3b 0a 20 20 0a 20 20 20 20 20 20 20 20 3c 2a 20 72 65 73 65 72 76 65 72 20 2a 3e 0a 20 ┆nal; <* reserver *> ┆ 0x0680…06a0 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 72 65 73 ┆ if contents(proc_base+res┆ 0x06a0…06c0 5f 61 29 20 20 3d 20 72 65 73 65 72 76 65 72 5f 6d 61 73 6b 20 74 68 65 6e 20 74 79 70 65 5f 65 ┆_a) = reserver_mask then type_e┆ 0x06c0…06e0 78 74 65 72 6e 61 6c 3b 0a 20 20 0a 20 20 20 20 20 20 20 20 3c 2a 20 6e 61 6d 65 20 2a 3e 0a 20 ┆xternal; <* name *> ┆ 0x06e0…0700 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 28 31 29 20 3d 20 6e 61 6d 65 ┆ if contents.raf(1) = name┆ 0x0700…0720 28 31 29 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 28 ┆(1) and contents.raf(┆ 0x0720…0740 32 29 20 3d 20 6e 61 6d 65 28 32 29 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 ┆2) = name(2) then beg┆ 0x0740…0760 69 6e 20 66 6f 75 6e 64 3a 3d 20 74 72 75 65 3b 20 74 79 70 65 5f 65 78 74 65 72 6e 61 6c 3b 20 ┆in found:= true; type_external; ┆ 0x0760…0780 65 6e 64 3b 0a 20 20 0a 20 20 20 20 20 20 20 20 3c 2a 20 61 6c 6c 20 2a 3e 0a 20 20 20 20 20 20 ┆end; <* all *> ┆ 0x0780…07a0 20 20 74 79 70 65 5f 65 78 74 65 72 6e 61 6c 3b 0a 20 0a 20 20 20 20 20 20 20 20 3c 2a 20 64 65 ┆ type_external; <* de┆ 0x07a0…07c0 76 6e 6f 20 2a 3e 0a 20 20 20 20 20 20 20 20 69 66 20 64 65 76 6e 6f 2b 31 20 3d 20 69 20 3c 2a ┆vno *> if devno+1 = i <*┆ 0x07c0…07e0 20 6c 6f 67 2e 20 64 65 76 2e 20 6e 6f 20 2a 3e 20 74 68 65 6e 20 74 79 70 65 5f 65 78 74 65 72 ┆ log. dev. no *> then type_exter┆ 0x07e0…0800 6e 61 6c 3b 0a 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 65 6e 64 20 63 61 73 65 3b 0a 20 ┆nal; end case; ┆ 0x0800…0820 20 20 20 65 6e 64 20 77 68 69 6c 65 3b 0a 20 20 20 20 69 66 20 73 70 65 63 69 66 20 3d 20 33 20 ┆ end while; if specif = 3 ┆ 0x0820…0840 3c 2a 20 6e 61 6d 65 20 2a 3e 20 61 6e 64 20 2d 2c 66 6f 75 6e 64 20 74 68 65 6e 20 74 79 70 65 ┆<* name *> and -,found then type┆ 0x0840…0860 5f 65 72 72 6f 72 28 3c 3a 6e 6f 74 20 66 6f 75 6e 64 3a 3e 2c 6e 61 6d 65 29 3b 0a 20 20 0a 20 ┆_error(<:not found:>,name); ┆ 0x0860…0880 20 65 6e 64 20 65 78 74 65 72 6e 61 6c 3b 0a 0c 20 20 70 72 6f 63 65 64 75 72 65 20 61 72 65 61 ┆ end external; procedure area┆ 0x0880…08a0 5f 70 72 6f 63 65 73 73 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 70 72 6f 63 65 64 75 72 65 20 ┆_process; begin procedure ┆ 0x08a0…08c0 74 79 70 65 5f 61 72 65 61 5f 70 72 6f 63 65 73 73 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 ┆type_area_process; begin ┆ 0x08c0…08e0 20 20 20 69 6e 74 65 67 65 72 20 69 2c 6a 3b 0a 20 20 20 20 20 20 72 65 61 6c 20 61 72 72 61 79 ┆ integer i,j; real array┆ 0x08e0…0900 20 66 69 65 6c 64 20 72 61 66 3b 0a 20 20 20 20 20 20 69 66 20 66 69 72 73 74 5f 74 79 70 65 64 ┆ field raf; if first_typed┆ 0x0900…0920 (1,) 20 74 68 65 6e 20 74 79 70 65 69 6e 3b 0a 20 20 20 20 20 20 66 69 72 73 74 5f 74 79 70 65 64 3a ┆ then typein; first_typed:┆ 0x0920…0940 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 72 61 66 3a 3d 20 36 2b 75 73 65 72 68 77 3b 20 69 3a ┆= true; raf:= 6+userhw; i:┆ 0x0940…0960 3d 20 6a 3a 3d 20 31 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 6e 6c 2c 31 2c 20 20 ┆= j:= 1; write(out,nl,1, ┆ 0x0960…0980 3c 3a 63 6f 72 65 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 2e 3a 3e 2c ┆<:core:>, <:.:>,┆ 0x0980…09a0 3c 3c 64 64 64 64 64 3e 2c 61 64 64 72 2c 6e 6c 2c 31 2c 3c 3c 2d 64 64 64 64 64 64 64 64 64 3e ┆<<ddddd>,addr,nl,1,<<-ddddddddd>┆ 0x09a0…09c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 6c 6f 77 65 72 20 69 6e 74 65 72 76 ┆, <:lower interv┆ 0x09c0…09e0 61 6c 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 ┆al : :>,sp,2,contents(proc┆ 0x09e0…0a00 5f 62 61 73 65 2b 6c 5f 62 61 73 65 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ┆_base+l_base),nl,1, ┆ 0x0a00…0a20 20 20 20 20 3c 3a 75 70 70 65 72 20 69 6e 74 65 72 76 61 6c 20 20 20 20 20 20 20 3a 20 3a 3e 2c ┆ <:upper interval : :>,┆ 0x0a20…0a40 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 75 5f 62 61 73 65 29 2c ┆sp,2,contents(proc_base+u_base),┆ 0x0a40…0a60 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 6b 69 6e 64 20 20 20 20 ┆nl,1, <:kind ┆ 0x0a60…0a80 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 ┆ : :>,sp,2,contents(┆ 0x0a80…0aa0 70 72 6f 63 5f 62 61 73 65 2b 6b 69 6e 64 5f 61 29 2c 6e 6c 2c 31 2c 20 0a 20 20 20 20 20 20 20 ┆proc_base+kind_a),nl,1, ┆ 0x0aa0…0ac0 20 20 20 20 20 20 20 20 20 3c 3a 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ <:name ┆ 0x0ac0…0ae0 3a 20 3a 3e 2c 73 70 2c 32 2c 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 28 69 6e ┆: :>,sp,2,string contents.raf(in┆ 0x0ae0…0b00 63 72 65 61 73 65 28 69 29 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6c 2c 31 ┆crease(i)), nl,1┆ 0x0b00…0b20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 70 72 6f 63 20 64 65 73 63 72 20 61 ┆, <:proc descr a┆ 0x0b20…0b40 64 64 72 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 ┆ddr : :>,sp,2,contents(proc┆ 0x0b40…0b60 5f 62 61 73 65 2b 70 64 61 5f 61 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆_base+pda_a),nl,1, ┆ 0x0b60…0b80 20 20 20 3c 3a 72 65 73 65 72 76 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 ┆ <:reserver : :>,s┆ 0x0b80…0ba0 70 2c 32 29 3b 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 5f 66 6f 72 6d 61 74 74 65 64 28 63 6f ┆p,2); write_formatted(co┆ 0x0ba0…0bc0 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 72 65 73 5f 61 29 2c 62 69 74 29 3b 0a 20 20 ┆ntents(proc_base+res_a),bit); ┆ 0x0bc0…0be0 20 20 20 20 20 20 74 79 70 65 5f 6e 61 6d 65 73 28 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 ┆ type_names(contents(proc_b┆ 0x0be0…0c00 61 73 65 2b 72 65 73 5f 61 29 2c 2d 31 29 3b 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 ┆ase+res_a),-1); write(ou┆ 0x0c00…0c20 74 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 75 73 65 72 73 20 ┆t,nl,1, <:users ┆ 0x0c20…0c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 29 3b 0a 20 20 20 20 20 ┆ : :>,sp,2); ┆ 0x0c40…0c60 20 66 6f 72 20 6a 3a 3d 30 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 75 73 65 72 68 77 31 20 64 ┆ for j:=0 step 1 until userhw1 d┆ 0x0c60…0c80 6f 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 6a 20 65 78 74 72 61 ┆o begin if j extra┆ 0x0c80…0ca0 63 74 20 31 3d 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 ┆ct 1=0 then begin ┆ 0x0ca0…0cc0 20 20 20 20 69 66 20 6a 3e 30 20 74 68 65 6e 20 77 72 69 74 65 28 6f 75 74 2c 6e 6c 2c 31 2c 73 ┆ if j>0 then write(out,nl,1,s┆ 0x0cc0…0ce0 70 2c 32 35 29 3b 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 5f 66 6f 72 6d 61 74 74 65 64 ┆p,25); write_formatted┆ 0x0ce0…0d00 28 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 75 73 65 72 5f 61 2b 28 6a 20 73 68 ┆(contents(proc_base+user_a+(j sh┆ 0x0d00…0d20 69 66 74 20 28 2d 31 29 29 29 2c 62 69 74 29 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 ┆ift (-1))),bit); end; ┆ 0x0d20…0d40 20 20 20 20 20 20 74 79 70 65 5f 6e 61 6d 65 73 28 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 ┆ type_names(contents(proc_b┆ 0x0d40…0d60 61 73 65 2b 75 73 65 72 5f 61 2b 6a 2f 2f 32 29 20 73 68 69 66 74 20 28 2d 28 28 6a 2b 31 29 20 ┆ase+user_a+j//2) shift (-((j+1) ┆ 0x0d60…0d80 6d 6f 64 20 32 29 2a 31 32 29 20 65 78 74 72 61 63 74 20 31 32 2c 6a 29 3b 0a 20 20 20 20 20 20 ┆mod 2)*12) extract 12,j); ┆ 0x0d80…0da0 65 6e 64 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 6e 6c 2c 31 2c 3c 3c 2d 64 64 64 ┆end; write(out,nl,1,<<-ddd┆ 0x0da0…0dc0 64 64 64 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 66 69 72 73 74 ┆dddddd>, <:first┆ 0x0dc0…0de0 20 73 6c 69 63 65 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e ┆ slice : :>,sp,2,conten┆ 0x0de0…0e00 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 66 69 72 73 74 5f 73 6c 69 63 65 5f 61 29 2c 6e 6c 2c 31 ┆ts(proc_base+first_slice_a),nl,1┆ 0x0e00…0e20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 6e 6f 20 6f 66 20 73 65 67 6d 65 6e ┆, <:no of segmen┆ 0x0e20…0e40 74 73 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 ┆ts : :>,sp,2,contents(proc┆ 0x0e40…0e60 5f 62 61 73 65 2b 73 65 67 5f 61 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆_base+seg_a),nl,1, ┆ 0x0e60…0e80 20 20 20 3c 3a 64 6f 63 75 6d 65 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 ┆ <:document : :>,s┆ 0x0e80…0ea0 70 2c 32 29 3b 0a 20 20 20 20 20 20 6a 3a 3d 20 31 3b 20 72 61 66 3a 3d 20 32 34 2b 75 73 65 72 ┆p,2); j:= 1; raf:= 24+user┆ 0x0ea0…0ec0 68 77 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 73 74 72 69 6e 67 20 63 6f 6e 74 65 ┆hw; write(out,string conte┆ 0x0ec0…0ee0 6e 74 73 2e 72 61 66 28 69 6e 63 72 65 61 73 65 28 6a 29 29 2c 6e 6c 2c 31 29 3b 0a 20 20 20 20 ┆nts.raf(increase(j)),nl,1); ┆ 0x0ee0…0f00 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 2d 64 64 64 64 64 64 64 64 64 3e 2c 0a 20 20 20 20 20 ┆ write(out,<<-ddddddddd>, ┆ 0x0f00…0f20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 77 72 69 74 65 20 61 63 63 65 73 73 20 63 6f 75 6e 74 65 ┆ <:write access counte┆ 0x0f20…0f40 72 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 77 ┆r : :>,sp,2,contents(proc_base+w┆ 0x0f40…0f60 61 5f 61 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 72 65 61 ┆a_a),nl,1, <:rea┆ 0x0f60…0f80 64 20 20 61 63 63 65 73 73 20 63 6f 75 6e 74 65 72 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 ┆d access counter : :>,sp,2,cont┆ 0x0f80…0fa0 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b 72 61 5f 61 29 2c 6e 6c 2c 31 29 3b 0a 20 20 20 20 ┆ents(proc_base+ra_a),nl,1); ┆ 0x0fa0…0fc0 20 20 74 79 70 65 5f 74 65 78 74 28 3c 3a 3a 3e 29 3b 0a 20 20 20 20 20 20 69 66 20 6f 5f 6b 69 ┆ type_text(<::>); if o_ki┆ 0x0fc0…0fe0 6e 64 3d 38 34 20 74 68 65 6e 20 73 65 74 70 6f 73 69 74 69 6f 6e 28 6f 75 74 2c 30 2c 30 29 3b ┆nd=84 then setposition(out,0,0);┆ 0x0fe0…1000 0a 20 20 20 20 65 6e 64 20 74 79 70 65 5f 61 72 65 61 5f 70 72 6f 63 65 73 73 3b 0a 20 20 0a 20 ┆ end type_area_process; ┆ 0x1000…1020 20 20 20 69 6e 74 65 67 65 72 20 69 2c 6a 2c 6b 2c 61 72 65 61 73 2c 75 73 65 72 5f 6d 61 73 6b ┆ integer i,j,k,areas,user_mask┆ 0x1020…1040 2c 72 65 73 65 72 76 65 72 5f 6d 61 73 6b 2c 73 70 65 63 69 66 2c 61 64 64 72 3b 0a 20 20 20 20 ┆,reserver_mask,specif,addr; ┆ 0x1040…1060 72 65 61 6c 20 61 72 72 61 79 20 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 20 69 6e 74 65 67 65 ┆real array name(1:2); intege┆ 0x1060…1080 72 20 61 72 72 61 79 20 74 61 62 6c 65 28 31 3a 32 35 36 29 3b 0a 20 20 20 20 62 6f 6f 6c 65 61 ┆r array table(1:256); boolea┆ 0x1080…10a0 6e 20 66 69 72 73 74 5f 74 79 70 65 64 2c 66 6f 75 6e 64 3b 0a 20 20 20 20 72 65 61 6c 20 61 72 ┆n first_typed,found; real ar┆ 0x10a0…10c0 72 61 79 20 66 69 65 6c 64 20 72 61 66 3b 0a 20 20 20 20 73 70 65 63 69 66 3a 3d 20 34 3b 20 3c ┆ray field raf; specif:= 4; <┆ 0x10c0…10e0 2a 20 64 65 66 61 75 6c 74 20 61 6c 6c 20 2a 3e 0a 20 20 20 20 66 69 72 73 74 5f 74 79 70 65 64 ┆* default all *> first_typed┆ 0x10e0…1100 3a 3d 66 6f 75 6e 64 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 72 65 61 64 5f 70 61 72 61 6d 73 ┆:=found:= false; read_params┆ 0x1100…1120 28 73 70 65 63 69 66 2c 75 73 65 72 5f 6d 61 73 6b 2c 72 65 73 65 72 76 65 72 5f 6d 61 73 6b 2c ┆(specif,user_mask,reserver_mask,┆ 0x1120…1140 6e 61 6d 65 2c 69 29 3b 0a 20 20 20 20 72 61 66 3a 3d 36 2b 75 73 65 72 68 77 3b 0a 20 20 20 20 ┆name,i); raf:=6+userhw; ┆ 0x1140…1160 6d 6f 76 65 28 20 37 36 2c 63 6f 6e 74 65 6e 74 73 29 3b 20 3c 2a 20 66 69 72 73 74 20 61 72 65 ┆move( 76,contents); <* first are┆ 0x1160…1180 61 20 70 72 6f 63 20 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 20 2a 3e 0a 20 20 20 20 61 72 65 61 ┆a proc in name table *> area┆ 0x1180…11a0 73 3a 3d 20 28 63 6f 6e 74 65 6e 74 73 28 32 29 20 2d 20 63 6f 6e 74 65 6e 74 73 28 31 29 29 2f ┆s:= (contents(2) - contents(1))/┆ 0x11a0…11c0 2f 32 3b 0a 20 20 20 20 6d 6f 76 65 28 63 6f 6e 74 65 6e 74 73 28 31 29 2c 74 61 62 6c 65 29 3b ┆/2; move(contents(1),table);┆ 0x11c0…11e0 0a 20 20 0a 20 20 20 20 3c 2a 20 73 63 61 6e 20 61 72 65 61 20 70 72 6f 63 73 20 2a 3e 0a 20 20 ┆ <* scan area procs *> ┆ 0x11e0…1200 20 20 66 6f 72 20 69 3a 3d 20 31 2c 69 2b 31 20 77 68 69 6c 65 20 69 20 3c 3d 20 61 72 65 61 73 ┆ for i:= 1,i+1 while i <= areas┆ 0x1200…1220 (2,) 20 64 6f 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 61 64 64 72 3a 3d 20 74 61 62 6c 65 ┆ do begin addr:= table┆ 0x1220…1240 28 69 29 3b 0a 20 20 20 20 20 20 6d 6f 76 65 28 61 64 64 72 2d 28 34 2b 75 73 65 72 68 77 29 2c ┆(i); move(addr-(4+userhw),┆ 0x1240…1260 63 6f 6e 74 65 6e 74 73 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 73 70 65 63 69 66 20 6f 66 0a ┆contents); case specif of ┆ 0x1260…1280 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 0a 20 20 20 20 20 20 20 20 3c 2a 20 75 73 65 72 20 2a ┆ begin <* user *┆ 0x1280…12a0 3e 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 6e 74 73 28 70 72 6f 63 5f 62 61 73 65 2b ┆> if contents(proc_base+┆ 0x12a0…12c0 75 73 65 72 5f 61 2b 75 73 65 72 5f 6d 61 73 6b 20 73 68 69 66 74 20 28 2d 31 33 29 29 0a 20 20 ┆user_a+user_mask shift (-13)) ┆ 0x12c0…12e0 20 20 20 20 20 20 73 68 69 66 74 20 28 2d 28 28 75 73 65 72 5f 6d 61 73 6b 20 73 68 69 66 74 20 ┆ shift (-((user_mask shift ┆ 0x12e0…1300 28 2d 31 32 29 2b 31 29 20 6d 6f 64 20 32 29 2a 31 32 29 20 65 78 74 72 61 63 74 20 31 32 20 3d ┆(-12)+1) mod 2)*12) extract 12 =┆ 0x1300…1320 0a 20 20 20 20 20 20 20 20 75 73 65 72 5f 6d 61 73 6b 20 65 78 74 72 61 63 74 20 31 32 20 74 68 ┆ user_mask extract 12 th┆ 0x1320…1340 65 6e 20 74 79 70 65 5f 61 72 65 61 5f 70 72 6f 63 65 73 73 3b 0a 20 20 0a 20 20 20 20 20 20 20 ┆en type_area_process; ┆ 0x1340…1360 20 3c 2a 20 72 65 73 65 72 76 65 72 20 2a 3e 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 ┆ <* reserver *> if conte┆ 0x1360…1380 6e 74 73 28 72 65 73 5f 61 29 20 3d 20 72 65 73 65 72 76 65 72 5f 6d 61 73 6b 20 74 68 65 6e 20 ┆nts(res_a) = reserver_mask then ┆ 0x1380…13a0 74 79 70 65 5f 61 72 65 61 5f 70 72 6f 63 65 73 73 3b 0a 20 20 0a 20 20 20 20 20 20 20 20 3c 2a ┆type_area_process; <*┆ 0x13a0…13c0 20 6e 61 6d 65 20 2a 3e 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 ┆ name *> if contents.raf┆ 0x13c0…13e0 28 31 29 20 3d 20 6e 61 6d 65 28 31 29 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e ┆(1) = name(1) and con┆ 0x13e0…1400 74 65 6e 74 73 2e 72 61 66 28 32 29 20 3d 20 6e 61 6d 65 28 32 29 20 74 68 65 6e 0a 20 20 20 20 ┆tents.raf(2) = name(2) then ┆ 0x1400…1420 20 20 20 20 20 20 20 62 65 67 69 6e 20 66 6f 75 6e 64 3a 3d 74 72 75 65 3b 20 20 74 79 70 65 5f ┆ begin found:=true; type_┆ 0x1420…1440 61 72 65 61 5f 70 72 6f 63 65 73 73 3b 20 65 6e 64 3b 0a 20 20 0a 20 20 20 20 20 20 20 20 3c 2a ┆area_process; end; <*┆ 0x1440…1460 20 61 6c 6c 20 2a 3e 0a 20 20 20 20 20 20 20 20 74 79 70 65 5f 61 72 65 61 5f 70 72 6f 63 65 73 ┆ all *> type_area_proces┆ 0x1460…1480 73 3b 0a 20 20 0a 20 20 20 20 20 20 65 6e 64 20 63 61 73 65 3b 0a 20 20 20 20 65 6e 64 20 77 68 ┆s; end case; end wh┆ 0x1480…14a0 69 6c 65 3b 0a 20 20 20 20 69 66 20 73 70 65 63 69 66 3d 33 20 61 6e 64 20 2d 2c 66 6f 75 6e 64 ┆ile; if specif=3 and -,found┆ 0x14a0…14c0 20 74 68 65 6e 20 74 79 70 65 5f 65 72 72 6f 72 28 3c 3a 6e 6f 74 20 66 6f 75 6e 64 3a 3e 2c 6e ┆ then type_error(<:not found:>,n┆ 0x14c0…14e0 61 6d 65 29 3b 0a 20 20 0a 20 20 65 6e 64 20 61 72 65 61 5f 70 72 6f 63 65 73 73 3b 0a 0c 20 20 ┆ame); end area_process; ┆ 0x14e0…1500 70 72 6f 63 65 64 75 72 65 20 63 68 61 69 6e 3b 0a 20 20 62 65 67 69 6e 20 3c 2a 20 70 72 69 6e ┆procedure chain; begin <* prin┆ 0x1500…1520 74 73 20 63 68 61 69 6e 68 65 61 64 20 2a 3e 0a 20 20 20 20 70 72 6f 63 65 64 75 72 65 20 74 79 ┆ts chainhead *> procedure ty┆ 0x1520…1540 70 65 5f 63 68 61 69 6e 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 ┆pe_chain; begin intege┆ 0x1540…1560 72 20 69 2c 6a 2c 6b 3b 0a 20 20 20 20 20 20 72 65 61 6c 20 61 72 72 61 79 20 66 69 65 6c 64 20 ┆r i,j,k; real array field ┆ 0x1560…1580 72 61 66 31 2c 72 61 66 32 3b 0a 20 20 20 20 20 20 69 66 20 66 69 72 73 74 5f 74 79 70 65 64 20 ┆raf1,raf2; if first_typed ┆ 0x1580…15a0 74 68 65 6e 20 74 79 70 65 69 6e 3b 0a 20 20 20 20 20 20 66 69 72 73 74 5f 74 79 70 65 64 3a 3d ┆then typein; first_typed:=┆ 0x15a0…15c0 20 74 72 75 65 3b 0a 20 20 20 20 20 20 6a 3a 3d 20 69 3a 3d 20 6b 3a 3d 20 31 3b 0a 20 20 20 20 ┆ true; j:= i:= k:= 1; ┆ 0x15c0…15e0 20 20 72 61 66 31 3a 3d 20 38 3b 20 72 61 66 32 3a 3d 20 31 38 3b 0a 20 20 20 20 20 20 77 72 69 ┆ raf1:= 8; raf2:= 18; wri┆ 0x15e0…1600 74 65 28 6f 75 74 2c 6e 6c 2c 31 2c 20 3c 3a 63 6f 72 65 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 ┆te(out,nl,1, <:core:>, ┆ 0x1600…1620 20 20 20 20 20 20 20 3c 3a 2e 3a 3e 2c 3c 3c 64 64 64 64 64 3e 2c 61 64 64 72 2d 33 36 2c 6e 6c ┆ <:.:>,<<ddddd>,addr-36,nl┆ 0x1620…1640 2c 31 2c 3c 3c 2d 64 64 64 64 64 64 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆,1,<<-ddddddddd>, ┆ 0x1640…1660 20 20 3c 3a 72 65 6c 2e 20 61 64 64 72 2e 20 6f 66 20 63 6c 61 69 6d 73 20 69 6e 20 69 2e 20 70 ┆ <:rel. addr. of claims in i. p┆ 0x1660…1680 2e 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 31 29 2c 6e 6c 2c 31 2c 0a ┆. : :>,sp,2,contents(1),nl,1, ┆ 0x1680…16a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 66 69 72 73 74 20 73 6c 69 63 65 20 69 6e ┆ <:first slice in┆ 0x16a0…16c0 20 61 75 78 63 61 74 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 0a 20 20 20 ┆ auxcat : :>,sp,2, ┆ 0x16c0…16e0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 28 32 29 20 73 68 69 66 74 20 28 ┆ contents(2) shift (┆ 0x16e0…1700 2d 31 32 29 20 65 78 74 72 61 63 74 20 31 32 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 ┆-12) extract 12,nl,1, ┆ 0x1700…1720 20 20 20 20 20 20 3c 3a 62 73 20 6b 69 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ <:bs kind ┆ 0x1720…1740 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 69 66 20 63 6f 6e 74 65 6e 74 73 28 32 29 ┆ : :>,sp,2,if contents(2)┆ 0x1740…1760 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 69 66 74 20 28 2d 33 29 20 65 78 74 72 ┆ shift (-3) extr┆ 0x1760…1780 61 63 74 20 31 20 3d 20 31 20 74 68 65 6e 20 3c 3a 64 69 73 63 3a 3e 20 65 6c 73 65 20 3c 3a 64 ┆act 1 = 1 then <:disc:> else <:d┆ 0x1780…17a0 72 75 6d 3a 3e 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 70 65 ┆rum:>,nl,1, <:pe┆ 0x17a0…17c0 72 6d 6b 65 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 ┆rmkey : ┆ 0x17c0…17e0 3a 3e 2c 73 70 2c 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 ┆:>,sp,2, content┆ 0x17e0…1800 73 28 32 29 20 65 78 74 72 61 63 74 20 33 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ┆s(2) extract 3,nl,1, ┆ 0x1800…1820 20 20 20 20 20 3c 3a 6e 61 6d 65 20 6f 66 20 61 75 78 63 61 74 20 20 20 20 20 20 20 20 20 20 20 ┆ <:name of auxcat ┆ 0x1820…1840 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ : :>,sp,2, ┆ 0x1840…1860 20 20 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 31 28 69 6e 63 72 65 61 73 65 28 ┆ string contents.raf1(increase(┆ 0x1860…1880 6a 29 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 73 69 7a 65 ┆j)),nl,1, <:size┆ 0x1880…18a0 20 6f 66 20 61 75 78 63 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e ┆ of auxcat : :>┆ 0x18a0…18c0 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 39 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 ┆,sp,2,contents(9),nl,1, ┆ 0x18c0…18e0 20 20 20 20 20 20 20 20 3c 3a 64 6f 63 75 6d 65 6e 74 20 6e 61 6d 65 20 20 20 20 20 20 20 20 20 ┆ <:document name ┆ 0x18e0…1900 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ┆ : :>,sp,2, ┆ 0x1900…1920 20 20 20 20 20 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 32 28 69 6e 63 72 65 61 ┆ string contents.raf2(increa┆ 0x1920…1940 73 65 28 6b 29 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 73 ┆se(k)),nl,1, <:s┆ 0x1940…1960 6c 69 63 65 20 6c 65 6e 67 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a ┆lice length :┆ 0x1960…1980 20 3a 3e 2c 73 70 2c 32 2c 63 6f 6e 74 65 6e 74 73 28 31 35 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 ┆ :>,sp,2,contents(15),nl,1, ┆ 0x1980…19a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 6c 61 73 74 20 73 6c 69 63 65 20 6f 66 20 64 6f 63 75 ┆ <:last slice of docu┆ 0x19a0…19c0 6d 65 6e 74 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 0a 20 20 20 20 20 20 20 ┆ment : :>,sp,2, ┆ 0x19c0…19e0 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 28 31 36 29 20 73 68 69 66 74 20 28 2d 31 32 ┆ contents(16) shift (-12┆ 0x19e0…1a00 29 20 65 78 74 72 61 63 74 20 31 32 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆) extract 12,nl,1, ┆ 0x1a00…1a20 20 20 20 3c 3a 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 20 61 ┆ <:first slice of chaintable a┆ 0x1a20…1a40 72 65 61 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆rea : :>,sp,2, ┆ 0x1a40…1a60 63 6f 6e 74 65 6e 74 73 28 31 36 29 20 65 78 74 72 61 63 74 20 31 32 2c 6e 6c 2c 31 2c 0a 20 20 ┆contents(16) extract 12,nl,1, ┆ 0x1a60…1a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 73 74 61 74 65 20 6f 66 20 64 6f 63 75 6d 65 6e ┆ <:state of documen┆ 0x1a80…1aa0 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 29 3b 0a 20 20 20 20 ┆t : :>,sp,2); ┆ 0x1aa0…1ac0 20 20 66 6f 72 20 69 3a 3d 20 30 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 36 20 64 6f 0a 20 20 ┆ for i:= 0 step 1 until 6 do ┆ 0x1ac0…1ae0 20 20 20 20 69 66 20 63 6f 6e 74 65 6e 74 73 28 31 37 29 20 73 68 69 66 74 20 28 2d 28 31 32 2b ┆ if contents(17) shift (-(12+┆ 0x1ae0…1b00 69 29 29 20 65 78 74 72 61 63 74 20 31 20 3d 20 31 20 74 68 65 6e 0a 20 20 20 20 20 20 77 72 69 ┆i)) extract 1 = 1 then wri┆ 0x1b00…1b20 (3,) 74 65 28 6f 75 74 2c 63 61 73 65 20 69 2b 31 20 6f 66 20 28 20 3c 3a 69 64 6c 65 3a 3e 2c 3c 3a ┆te(out,case i+1 of ( <:idle:>,<:┆ 0x1b20…1b40 61 66 74 65 72 20 70 72 65 70 61 72 65 3a 3e 2c 3c 3a 64 75 72 69 6e 67 20 69 6e 73 65 72 74 3a ┆after prepare:>,<:during insert:┆ 0x1b40…1b60 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆>, ┆ 0x1b60…1b80 20 3c 3a 72 65 61 64 79 3a 3e 2c 3c 3a 64 75 72 69 6e 67 20 64 65 6c 65 74 65 3a 3e 2c 3c 3a 64 ┆ <:ready:>,<:during delete:>,<:d┆ 0x1b80…1ba0 75 72 69 6e 67 20 61 75 78 3a 3e 29 29 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 6e ┆uring aux:>)); write(out,n┆ 0x1ba0…1bc0 6c 2c 31 2c 3c 3a 73 74 61 72 74 20 6f 66 20 63 68 61 69 6e 74 61 62 6c 65 20 61 74 20 61 64 64 ┆l,1,<:start of chaintable at add┆ 0x1bc0…1be0 72 20 20 20 20 20 3a 20 3a 3e 2c 73 70 2c 32 2c 3c 3c 2d 64 64 64 64 64 64 64 64 64 3e 2c 61 64 ┆r : :>,sp,2,<<-ddddddddd>,ad┆ 0x1be0…1c00 64 72 2c 6e 6c 2c 31 29 3b 0a 20 20 20 20 20 20 74 79 70 65 74 65 78 74 28 3c 3a 3a 3e 29 3b 0a ┆dr,nl,1); typetext(<::>); ┆ 0x1c00…1c20 20 20 20 20 65 6e 64 20 74 79 70 65 5f 63 68 61 69 6e 3b 0a 20 20 0a 20 20 20 20 62 6f 6f 6c 65 ┆ end type_chain; boole┆ 0x1c20…1c40 61 6e 20 66 6f 75 6e 64 2c 66 69 72 73 74 5f 74 79 70 65 64 2c 61 6c 6c 3b 0a 20 20 20 20 69 6e ┆an found,first_typed,all; in┆ 0x1c40…1c60 74 65 67 65 72 20 69 2c 6a 2c 63 68 61 69 6e 73 2c 61 64 64 72 3b 0a 20 20 20 20 72 65 61 6c 20 ┆teger i,j,chains,addr; real ┆ 0x1c60…1c80 61 72 72 61 79 20 64 6f 63 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 20 69 6e 74 65 67 65 72 20 ┆array docname(1:2); integer ┆ 0x1c80…1ca0 61 72 72 61 79 20 74 61 62 6c 65 28 31 3a 32 35 36 29 3b 0a 20 20 20 20 72 65 61 6c 20 61 72 72 ┆array table(1:256); real arr┆ 0x1ca0…1cc0 61 79 20 66 69 65 6c 64 20 72 61 66 3b 0a 20 20 20 20 61 6c 6c 3a 3d 20 74 72 75 65 3b 20 3c 2a ┆ay field raf; all:= true; <*┆ 0x1cc0…1ce0 20 64 65 66 61 75 6c 74 20 61 6c 6c 20 2a 3e 0a 20 20 0a 20 20 20 20 66 6f 75 6e 64 3a 3d 20 66 ┆ default all *> found:= f┆ 0x1ce0…1d00 69 72 73 74 5f 74 79 70 65 64 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 72 61 66 3a 3d 20 31 38 ┆irst_typed:= false; raf:= 18┆ 0x1d00…1d20 3b 0a 20 20 0a 20 20 20 20 77 68 69 6c 65 20 6e 65 78 74 5f 70 61 72 61 6d 28 73 5f 74 65 78 74 ┆; while next_param(s_text┆ 0x1d20…1d40 29 20 64 6f 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 70 61 72 61 6d 28 31 29 ┆) do begin if param(1)┆ 0x1d40…1d60 20 3d 20 72 65 61 6c 3c 3a 61 6c 6c 3a 3e 20 74 68 65 6e 20 61 6c 6c 3a 3d 20 74 72 75 65 20 65 ┆ = real<:all:> then all:= true e┆ 0x1d60…1d80 6c 73 65 0a 20 20 20 20 20 20 69 66 20 70 61 72 61 6d 28 31 29 20 3d 20 72 65 61 6c 3c 3a 64 6f ┆lse if param(1) = real<:do┆ 0x1d80…1da0 63 6e 61 3a 3e 20 61 64 64 20 31 30 39 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 ┆cna:> add 109 then begin ┆ 0x1da0…1dc0 20 20 20 20 20 20 20 6e 65 78 74 5f 70 61 72 61 6d 28 70 5f 74 65 78 74 29 3b 0a 20 20 20 20 20 ┆ next_param(p_text); ┆ 0x1dc0…1de0 20 20 20 64 6f 63 6e 61 6d 65 28 31 29 3a 3d 20 70 61 72 61 6d 28 31 29 3b 0a 20 20 20 20 20 20 ┆ docname(1):= param(1); ┆ 0x1de0…1e00 20 20 64 6f 63 6e 61 6d 65 28 32 29 3a 3d 20 70 61 72 61 6d 28 32 29 3b 0a 20 20 20 20 20 20 20 ┆ docname(2):= param(2); ┆ 0x1e00…1e20 20 61 6c 6c 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 65 6c ┆ all:= false; end el┆ 0x1e20…1e40 73 65 20 74 79 70 65 5f 65 72 72 6f 72 28 3c 3a 70 61 72 61 6d 65 74 65 72 20 65 72 72 6f 72 3a ┆se type_error(<:parameter error:┆ 0x1e40…1e60 3e 2c 64 75 6d 6d 79 29 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 0a 20 20 20 20 3c 2a 20 73 63 61 ┆>,dummy); end; <* sca┆ 0x1e60…1e80 6e 20 63 68 61 69 6e 68 65 61 64 73 20 2a 3e 0a 20 20 20 20 6d 6f 76 65 28 20 39 32 2c 63 6f 6e ┆n chainheads *> move( 92,con┆ 0x1e80…1ea0 74 65 6e 74 73 29 3b 0a 20 20 20 20 63 68 61 69 6e 73 3a 3d 20 28 63 6f 6e 74 65 6e 74 73 28 33 ┆tents); chains:= (contents(3┆ 0x1ea0…1ec0 29 2d 63 6f 6e 74 65 6e 74 73 28 31 29 29 2f 2f 32 3b 0a 20 20 20 20 6d 6f 76 65 28 63 6f 6e 74 ┆)-contents(1))//2; move(cont┆ 0x1ec0…1ee0 65 6e 74 73 28 31 29 2c 74 61 62 6c 65 29 3b 0a 20 20 20 20 66 6f 72 20 69 3a 3d 20 31 2c 69 2b ┆ents(1),table); for i:= 1,i+┆ 0x1ee0…1f00 31 20 77 68 69 6c 65 20 69 20 20 3c 3d 20 63 68 61 69 6e 73 20 64 6f 0a 20 20 20 20 62 65 67 69 ┆1 while i <= chains do begi┆ 0x1f00…1f20 6e 0a 20 20 20 20 20 20 61 64 64 72 3a 3d 20 74 61 62 6c 65 28 69 29 3b 0a 20 20 20 20 20 20 6d ┆n addr:= table(i); m┆ 0x1f20…1f40 6f 76 65 28 61 64 64 72 2d 33 36 2c 63 6f 6e 74 65 6e 74 73 29 3b 0a 20 20 20 20 20 20 69 66 20 ┆ove(addr-36,contents); if ┆ 0x1f40…1f60 61 6c 6c 20 74 68 65 6e 20 74 79 70 65 5f 63 68 61 69 6e 20 65 6c 73 65 0a 20 20 20 20 20 20 20 ┆all then type_chain else ┆ 0x1f60…1f80 20 20 69 66 20 64 6f 63 6e 61 6d 65 28 31 29 20 3d 20 63 6f 6e 74 65 6e 74 73 2e 72 61 66 28 31 ┆ if docname(1) = contents.raf(1┆ 0x1f80…1fa0 29 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 6e 61 6d 65 28 32 29 20 3d 20 63 ┆) and docname(2) = c┆ 0x1fa0…1fc0 6f 6e 74 65 6e 74 73 2e 72 61 66 28 32 29 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 ┆ontents.raf(2) then beg┆ 0x1fc0…1fe0 69 6e 20 66 6f 75 6e 64 3a 3d 20 74 72 75 65 3b 20 74 79 70 65 5f 63 68 61 69 6e 20 65 6e 64 3b ┆in found:= true; type_chain end;┆ 0x1fe0…2000 0a 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 2d 2c 61 6c 6c 20 61 6e 64 20 2d 2c 66 6f 75 ┆ end; if -,all and -,fou┆ 0x2000…2020 6e 64 20 74 68 65 6e 20 74 79 70 65 5f 65 72 72 6f 72 28 3c 3a 6e 6f 74 20 66 6f 75 6e 64 3a 20 ┆nd then type_error(<:not found: ┆ 0x2020…2040 3a 3e 2c 64 6f 63 6e 61 6d 65 29 3b 0a 20 20 65 6e 64 20 63 68 61 69 6e 3b 0a 20 20 20 20 20 20 ┆:>,docname); end chain; ┆ 0x2040…2060 20 20 20 0a 0a 0c 20 20 70 72 6f 63 65 64 75 72 65 20 62 75 66 3b 0a 20 20 62 65 67 69 6e 0a 20 ┆ procedure buf; begin ┆ 0x2060…2080 20 20 20 70 72 6f 63 65 64 75 72 65 20 74 79 70 65 5f 62 75 66 28 63 6f 6e 74 65 6e 74 73 29 3b ┆ procedure type_buf(contents);┆ 0x2080…20a0 0a 20 20 20 20 69 6e 74 65 67 65 72 20 61 72 72 61 79 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 ┆ integer array contents┆ 0x20a0…20c0 20 3b 0a 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 69 2c 6a 3b ┆ ; begin integer i,j;┆ 0x20c0…20e0 0a 20 20 20 20 20 20 72 65 61 6c 20 61 72 72 61 79 20 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 ┆ real array name(1:2); ┆ 0x20e0…2100 20 20 20 69 66 20 66 69 72 73 74 5f 74 79 70 65 64 20 74 68 65 6e 20 74 79 70 65 69 6e 3b 0a 20 ┆ if first_typed then typein; ┆ 0x2100…2120 20 20 20 20 20 66 69 72 73 74 5f 74 79 70 65 64 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 6a ┆ first_typed:= true; j┆ 0x2120…2140 3a 3d 20 31 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 6e 6c 2c 31 2c 20 20 3c 3a 63 ┆:= 1; write(out,nl,1, <:c┆ 0x2140…2160 6f 72 65 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 2e 3a 3e 2c 3c 3c 2d ┆ore:>, <:.:>,<<-┆ 0x2160…2180 64 64 64 64 64 64 3e 2c 73 74 61 72 74 5f 61 64 64 72 2b 62 61 73 65 2c 6e 6c 2c 31 2c 0a 20 20 ┆dddddd>,start_addr+base,nl,1, ┆ 0x2180…21a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 6d 65 73 73 61 67 65 20 66 6c 61 67 20 20 20 20 ┆ <:message flag ┆ 0x21a0…21c0 20 20 3a 20 3a 3e 2c 63 6f 6e 74 65 6e 74 73 28 31 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 ┆ : :>,contents(1),nl,1, ┆ 0x21c0…21e0 20 20 20 20 20 20 20 20 20 3c 3a 6e 65 78 74 20 62 75 66 66 65 72 20 20 20 20 20 20 20 3a 20 3a ┆ <:next buffer : :┆ 0x21e0…2200 3e 2c 63 6f 6e 74 65 6e 74 73 28 32 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ┆>,contents(2),nl,1, ┆ 0x2200…2220 20 20 20 20 3c 3a 70 72 65 76 20 62 75 66 66 65 72 20 20 20 20 20 20 20 3a 20 3a 3e 2c 63 6f 6e ┆ <:prev buffer : :>,con┆ 0x2220…2240 74 65 6e 74 73 28 33 29 2c 6e 6c 2c 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ┆tents(3),nl,1, <┆ 0x2240…2260 3a 72 65 63 65 69 76 65 72 2f 72 65 73 75 6c 74 20 20 20 3a 20 3a 3e 2c 63 6f 6e 74 65 6e 74 73 ┆:receiver/result : :>,contents┆ 0x2260…2280 28 34 29 29 3b 0a 20 20 20 20 20 20 69 66 20 61 62 73 28 63 6f 6e 74 65 6e 74 73 28 34 29 29 20 ┆(4)); if abs(contents(4)) ┆ 0x2280…22a0 3e 20 37 20 3c 2a 20 72 65 63 65 69 76 65 72 20 61 64 64 72 20 2a 3e 20 74 68 65 6e 0a 20 20 20 ┆> 7 <* receiver addr *> then ┆ 0x22a0…22c0 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 67 65 74 5f 64 65 73 63 72 5f 6f 72 5f 6e 61 ┆ begin get_descr_or_na┆ 0x22c0…22e0 6d 65 28 6e 61 6d 65 2c 61 62 73 28 63 6f 6e 74 65 6e 74 73 28 34 29 2f 2f 32 2a 32 29 2c 66 61 ┆me(name,abs(contents(4)//2*2),fa┆ 0x22e0…2300 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 6a 3a 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 77 72 69 ┆lse); j:= 1; wri┆ 0x2300…2320 74 65 28 6f 75 74 2c 73 70 2c 33 2c 73 74 72 69 6e 67 20 6e 61 6d 65 28 69 6e 63 72 65 61 73 65 ┆te(out,sp,3,string name(increase┆ 0x2320…2340 28 6a 29 29 29 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 ┆(j))); end; outchar(┆ 0x2340…2360 6f 75 74 2c 31 30 29 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3a 73 65 6e 64 65 ┆out,10); write(out,<:sende┆ 0x2360…2380 72 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 3a 3e 2c 3c 3c 2d 64 64 64 64 64 64 3e 2c 63 6f 6e ┆r : :>,<<-dddddd>,con┆ 0x2380…23a0 74 65 6e 74 73 28 35 29 29 3b 0a 20 20 20 20 20 20 69 66 20 61 62 73 28 63 6f 6e 74 65 6e 74 73 ┆tents(5)); if abs(contents┆ 0x23a0…23c0 28 35 29 29 20 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 ┆(5)) > 0 then begin ┆ 0x23c0…23e0 20 20 67 65 74 5f 64 65 73 63 72 5f 6f 72 5f 6e 61 6d 65 28 6e 61 6d 65 2c 61 62 73 28 63 6f 6e ┆ get_descr_or_name(name,abs(con┆ 0x23e0…2400 74 65 6e 74 73 28 35 29 29 2c 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 6a 3a 3d 20 31 3b ┆tents(5)),false); j:= 1;┆ 0x2400…2420 (4,) 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 73 70 2c 33 2c 73 74 72 69 6e 67 20 6e ┆ write(out,sp,3,string n┆ 0x2420…2440 61 6d 65 28 69 6e 63 72 65 61 73 65 28 6a 29 29 29 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 ┆ame(increase(j))); end; ┆ 0x2440…2460 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 31 30 29 3b 0a 20 20 20 20 20 20 66 6f 72 20 69 ┆ outchar(out,10); for i┆ 0x2460…2480 3a 3d 20 36 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 31 33 20 64 6f 0a 20 20 20 20 20 20 62 65 ┆:= 6 step 1 until 13 do be┆ 0x2480…24a0 67 69 6e 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 5f 66 6f 72 6d 61 74 74 65 64 28 63 6f 6e 74 ┆gin write_formatted(cont┆ 0x24a0…24c0 65 6e 74 73 28 69 29 2c 61 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 74 79 70 65 5f 74 65 78 74 28 ┆ents(i),all); type_text(┆ 0x24c0…24e0 3c 3a 3a 3e 29 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 65 6e 64 20 74 79 70 65 5f 62 ┆<::>); end; end type_b┆ 0x24e0…2500 75 66 3b 0a 20 20 0a 20 20 20 20 69 6e 74 65 67 65 72 20 69 2c 6a 2c 73 65 6e 64 65 72 2c 72 65 ┆uf; integer i,j,sender,re┆ 0x2500…2520 63 65 69 76 65 72 2c 63 68 65 63 6b 2c 61 64 64 72 2c 73 74 61 72 74 5f 61 64 64 72 2c 74 6f 70 ┆ceiver,check,addr,start_addr,top┆ 0x2520…2540 2c 6d 6f 76 65 73 2c 62 75 66 66 65 72 73 3b 0a 20 20 20 20 62 6f 6f 6c 65 61 6e 20 74 6f 74 61 ┆,moves,buffers; boolean tota┆ 0x2540…2560 6c 2c 6f 6b 2c 66 69 72 73 74 5f 74 79 70 65 64 3b 0a 20 20 20 20 69 6e 74 65 67 65 72 20 61 72 ┆l,ok,first_typed; integer ar┆ 0x2560…2580 72 61 79 20 66 69 65 6c 64 20 62 61 73 65 3b 0a 20 20 0a 20 20 20 20 63 68 65 63 6b 3a 3d 20 30 ┆ray field base; check:= 0┆ 0x2580…25a0 3b 0a 20 20 20 20 74 6f 74 61 6c 3a 3d 20 74 72 75 65 3b 20 3c 2a 20 64 65 66 61 75 6c 74 20 61 ┆; total:= true; <* default a┆ 0x25a0…25c0 6c 6c 20 2a 3e 0a 20 20 20 20 66 69 72 73 74 5f 74 79 70 65 64 3a 3d 20 66 61 6c 73 65 3b 0a 20 ┆ll *> first_typed:= false; ┆ 0x25c0…25e0 20 0a 20 20 20 20 77 68 69 6c 65 20 6e 65 78 74 5f 70 61 72 61 6d 28 73 5f 74 65 78 74 29 20 64 ┆ while next_param(s_text) d┆ 0x25e0…2600 6f 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 70 61 72 61 6d 28 31 29 20 3d 20 ┆o begin if param(1) = ┆ 0x2600…2620 72 65 61 6c 3c 3a 61 6c 6c 3a 3e 20 74 68 65 6e 20 74 6f 74 61 6c 3a 3d 20 74 72 75 65 20 65 6c ┆real<:all:> then total:= true el┆ 0x2620…2640 73 65 0a 20 20 20 20 20 20 69 66 20 70 61 72 61 6d 28 31 29 20 3d 20 72 65 61 6c 3c 3a 73 65 6e ┆se if param(1) = real<:sen┆ 0x2640…2660 64 65 3a 3e 20 61 64 64 20 31 31 34 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 ┆de:> add 114 then begin ┆ 0x2660…2680 20 20 20 20 20 20 63 68 65 63 6b 3a 3d 20 63 68 65 63 6b 2b 31 3b 0a 20 20 20 20 20 20 20 20 6e ┆ check:= check+1; n┆ 0x2680…26a0 65 78 74 5f 70 61 72 61 6d 28 70 5f 74 65 78 74 29 3b 0a 20 20 20 20 20 20 20 20 63 68 65 63 6b ┆ext_param(p_text); check┆ 0x26a0…26c0 5f 70 72 6f 63 66 75 6e 63 28 70 61 72 61 6d 29 3b 0a 20 20 20 20 20 20 20 20 67 65 74 5f 64 65 ┆_procfunc(param); get_de┆ 0x26c0…26e0 73 63 72 5f 6f 72 5f 6e 61 6d 65 28 70 61 72 61 6d 2c 73 65 6e 64 65 72 2c 74 72 75 65 29 3b 0a ┆scr_or_name(param,sender,true); ┆ 0x26e0…2700 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 70 61 ┆ end else if pa┆ 0x2700…2720 72 61 6d 28 31 29 20 3d 20 72 65 61 6c 3c 3a 72 65 63 65 69 3a 3e 20 61 64 64 20 31 31 38 20 74 ┆ram(1) = real<:recei:> add 118 t┆ 0x2720…2740 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 63 68 65 63 6b 3a 3d 20 ┆hen begin check:= ┆ 0x2740…2760 63 68 65 63 6b 2b 32 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 5f 70 61 72 61 6d 28 70 5f 74 65 ┆check+2; next_param(p_te┆ 0x2760…2780 78 74 29 3b 0a 20 20 20 20 20 20 20 20 63 68 65 63 6b 5f 70 72 6f 63 66 75 6e 63 28 70 61 72 61 ┆xt); check_procfunc(para┆ 0x2780…27a0 6d 29 3b 0a 20 20 20 20 20 20 20 20 67 65 74 5f 64 65 73 63 72 5f 6f 72 5f 6e 61 6d 65 28 70 61 ┆m); get_descr_or_name(pa┆ 0x27a0…27c0 72 61 6d 2c 72 65 63 65 69 76 65 72 2c 74 72 75 65 29 3b 0a 20 20 20 20 20 20 65 6e 64 0a 20 20 ┆ram,receiver,true); end ┆ 0x27c0…27e0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 74 79 70 65 5f 65 72 72 6f 72 28 3c 3a 70 61 72 61 ┆ else type_error(<:para┆ 0x27e0…2800 6d 65 74 65 72 20 65 72 72 6f 72 3a 3e 2c 64 75 6d 6d 79 29 3b 0a 20 20 20 20 65 6e 64 20 77 68 ┆meter error:>,dummy); end wh┆ 0x2800…2820 69 6c 65 3b 0a 20 20 0a 20 20 20 20 3c 2a 20 73 63 61 6e 20 6d 65 73 73 20 62 75 66 66 65 72 73 ┆ile; <* scan mess buffers┆ 0x2820…2840 20 2a 3e 0a 20 20 20 20 74 6f 74 61 6c 3a 3d 20 63 68 65 63 6b 20 3d 20 30 3b 0a 20 20 20 20 6d ┆ *> total:= check = 0; m┆ 0x2840…2860 6f 76 65 28 20 38 36 2c 63 6f 6e 74 65 6e 74 73 29 3b 0a 20 20 20 20 73 74 61 72 74 5f 61 64 64 ┆ove( 86,contents); start_add┆ 0x2860…2880 72 3a 3d 20 63 6f 6e 74 65 6e 74 73 28 31 29 2d 32 3b 0a 20 20 20 20 62 75 66 66 65 72 73 3a 3d ┆r:= contents(1)-2; buffers:=┆ 0x2880…28a0 20 28 63 6f 6e 74 65 6e 74 73 28 32 29 2d 63 6f 6e 74 65 6e 74 73 28 31 29 29 2f 32 36 3b 0a 20 ┆ (contents(2)-contents(1))/26; ┆ 0x28a0…28c0 20 20 20 74 6f 70 3a 3d 20 38 2a 32 36 3b 20 3c 2a 62 75 66 73 69 7a 65 2a 38 2a 3e 0a 20 20 20 ┆ top:= 8*26; <*bufsize*8*> ┆ 0x28c0…28e0 20 6d 6f 76 65 73 3a 3d 20 28 62 75 66 66 65 72 73 2d 31 29 2f 2f 39 2b 31 3b 0a 20 20 20 20 66 ┆ moves:= (buffers-1)//9+1; f┆ 0x28e0…2900 6f 72 20 69 3a 3d 20 31 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 6d 6f 76 65 73 20 64 6f 0a 20 ┆or i:= 1 step 1 until moves do ┆ 0x2900…2920 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 6d 6f 76 65 28 73 74 61 72 74 5f 61 64 64 72 2c 63 6f ┆ begin move(start_addr,co┆ 0x2920…2940 6e 74 65 6e 74 73 29 3b 0a 20 20 20 20 20 66 6f 72 20 62 61 73 65 3a 3d 20 30 20 73 74 65 70 20 ┆ntents); for base:= 0 step ┆ 0x2940…2960 32 36 20 75 6e 74 69 6c 20 74 6f 70 20 64 6f 0a 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 ┆26 until top do begin ┆ 0x2960…2980 20 69 66 20 2d 2c 74 6f 74 61 6c 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 ┆ if -,total then begin ┆ 0x2980…29a0 20 20 20 20 20 6f 6b 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 63 68 ┆ ok:= false; case ch┆ 0x29a0…29c0 65 63 6b 2b 31 20 6f 66 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 3b 0a 20 20 20 20 20 20 20 20 ┆eck+1 of begin; ┆ 0x29c0…29e0 20 20 6f 6b 3a 3d 20 61 62 73 28 63 6f 6e 74 65 6e 74 73 2e 62 61 73 65 28 35 29 29 20 3d 20 73 ┆ ok:= abs(contents.base(5)) = s┆ 0x29e0…2a00 65 6e 64 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 6f 6b 3a 3d 20 61 62 73 28 63 6f 6e 74 65 6e ┆ender; ok:= abs(conten┆