DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦ef5fa0e68⟧ Rc489kSubCat

    Length: 145152 (0x23700)
    Types: Rc489kSubCat
    Names: »jtas«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦this⟧ »jtas« 
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »jtas« 

OctetView

0x00000…00033 (0,)  Rc489kSubCatEnt {f00=0x001542, f01=0x0007f8, f02=0x000801, filename=»tsetdef     «, entry_tail=0-4-0-1-1980-12-04T16:20-disc-0x0-0x0-0x0-0x0}
0x00033…00066       Rc489kSubCatEnt {f00=0x002dca, f01=0x0007f8, f02=0x000801, filename=»jttestext   «, entry_tail=0-4-0-1-1980-12-04T16:02-disc1-0x0-0x0-0x0-0x0}
0x00066…00099       Rc489kSubCatEnt {f00=0x003b52, f01=0x0007f8, f02=0x000801, filename=»jttrans     «, entry_tail=0-4-0-2-1980-12-04T12:29-disc1-0x0-0x0-0x0-0x0}
0x00099…000cc       Rc489kSubCatEnt {f00=0x0052cb, f01=0x0007f8, f02=0x000801, filename=»talgoltask  «, entry_tail=0-4-0-25-1980-11-27T13:13-disc3-0x0-0x0-0x0-0x0}
0x000cc…000ff       Rc489kSubCatEnt {f00=0x01eb9b, f01=0x0007f8, f02=0x000801, filename=»tsetentry   «, entry_tail=0-4-0-9-1979-12-04T12:15-disc3-0x0-0x0-0x0-0x0}
0x000ff…00132       Rc489kSubCatEnt {f00=0x027df3, f01=0x0007f8, f02=0x000801, filename=»prelinktext «, entry_tail=0-4-0-63-1980-12-02T12:42-disc3-0x0-0x0-0x0-0x0}
0x00132…00165       Rc489kSubCatEnt {f00=0x066cc3, f01=0x0007f8, f02=0x000801, filename=»texecintf1  «, entry_tail=0-4-0-16-1980-02-26T10:16-disc3-0x0-0x0-0x0-0x0}
0x00165…00198       Rc489kSubCatEnt {f00=0x0765c3, f01=0x0007f8, f02=0x000801, filename=»tcreatetask «, entry_tail=0-4-0-26-1980-11-17T15:11-disc3-0x0-0x0-0x0-0x0}
0x00198…001a0       ff ff ff ff ff ff ff ff   ┆        ┆
0x001a0…001c0       ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ┆                                ┆
         […0x3…]
0x00220…00240       ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 05 80 04 1b 80 00 01 7f ff fd 74 72 6f   ┆                             tro┆
0x00240…00260       00 00 00 00 00 00 00 00 00 80 00 0a 72 65 61 64 65 72 00 00 00 00 00 00 63 99 3e 00 00 00 00 00   ┆            reader      c >     ┆
0x00260…00280       00 00 00 00 00 00 00 1b 14 1b 80 00 01 7f ff fd 70 6f 73 00 00 00 00 00 00 00 00 00 00 00 18 64   ┆                pos            d┆
0x00280…002a0       69 73 63 00 00 00 00 00 00 00 00 69 d5 88 80 b0 b0 00 00 00 00 29 24 00 0a ac ff ff ff 00 02 6c   ┆isc        i         )$        l┆
0x002a0…002c0       00 02 75 77 72 6b 30 30 30 31 36 35 00 00 00 00 00 17 64 69 73 63 31 00 00 00 00 00 00 00 76 b3   ┆  uwrk000165      disc1       v ┆
0x002c0…002e0       29 00 00 00 00 00 00 00 00 00 00 2d ee ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ┆)          -                    ┆
0x002e0…002fd       ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ┆                             ┆
0x002fd…00300       0x000008
0x00300…00600       Data for tsetdef
0x00600…00900       Data for jttestext
0x00900…00f00 (1,)  Data for jttrans
0x00f00…05a00       Data for talgoltask
0x05a00…07500 (10,) Data for tsetentry
0x07500…13200 (13,) Data for prelinktext
0x13200…16200 (34,) Data for texecintf1
0x16200…1b000       Data for tcreatetask
0x1b000…1b020 (48,) 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 63 61 6c 63 75 6c 61 74 65 5f 68 61 73 68 5f   ┆nteger procedure calculate_hash_┆
0x1b020…1b040       6b 65 79 28 6e 61 6d 65 29 3b 0a 20 20 20 20 76 61 6c 75 65 20 6e 61 6d 65 3b 20 6c 6f 6e 67 20   ┆key(name);     value name; long ┆
0x1b040…1b060       6e 61 6d 65 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 63 61 6c 63 75 6c 61 74 65 5f 68 61   ┆name;     begin     calculate_ha┆
0x1b060…1b080       73 68 5f 6b 65 79 20 3a 3d 20 28 28 20 6e 61 6d 65 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a   ┆sh_key := (( name extract 12) + ┆
0x1b080…1b0a0       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 28 20 6e 61 6d 65   ┆                          ( name┆
0x1b0a0…1b0c0       20 73 68 69 66 74 20 28 2d 31 32 29 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a 20 20 20 20 20   ┆ shift (-12) extract 12) +      ┆
0x1b0c0…1b0e0       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66   ┆                     ( name shif┆
0x1b0e0…1b100       74 20 28 2d 32 34 29 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20   ┆t (-24) extract 12) +           ┆
0x1b100…1b120       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 33   ┆                ( name shift (-3┆
0x1b120…1b140       36 29 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆6) extract 12) +                ┆
0x1b140…1b160       20 20 20 20 20 20 20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 34 30 29 20 65 78   ┆           ( name shift (-40) ex┆
0x1b160…1b180       74 72 61 63 74 20 38 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆tract 8) +                      ┆
0x1b180…1b1a0       20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 33 32 29 20 65 78 74 72 61 63 74 20   ┆     ( name shift (-32) extract ┆
0x1b1a0…1b1c0       38 29 20 2b 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 28   ┆8) +                           (┆
0x1b1c0…1b1e0       20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 32 34 29 20 65 78 74 72 61 63 74 20 31 32 29 20 0a 20   ┆ name shift (-24) extract 12)   ┆
0x1b1e0…1b200       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20   ┆                        )       ┆
0x1b200…1b220       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 20 73 65 61 72 63 68 5f 74   ┆                    mod search_t┆
0x1b220…1b240       61 62 6c 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 20 20 65 6e 64 20 63 61 6c 63 75 6c 61 74 65 5f 68   ┆able_length;     end calculate_h┆
0x1b240…1b260       61 73 68 5f 6b 65 79 3b 0a 0a 20 20 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20   ┆ash_key;      integer procedure ┆
0x1b260…1b280       69 6e 73 65 72 74 5f 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 6e 61 6d 65 2c 74 79 70   ┆insert_name_table(index,name,typ┆
0x1b280…1b2a0       65 2c 72 65 66 66 29 3b 0a 20 20 20 20 76 61 6c 75 65 20 69 6e 64 65 78 2c 6e 61 6d 65 2c 74 79   ┆e,reff);     value index,name,ty┆
0x1b2a0…1b2c0       70 65 2c 72 65 66 66 3b 20 6c 6f 6e 67 20 69 6e 64 65 78 2c 6e 61 6d 65 3b 20 20 20 20 20 20 20   ┆pe,reff; long index,name;       ┆
0x1b2c0…1b2e0       20 20 20 0a 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 2c 72 65 66 66 3b 0a 20 20 20 20 62   ┆        integer type,reff;     b┆
0x1b2e0…1b300       65 67 69 6e 0a 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 31 29 20 3a 3d 20   ┆egin     name_table(index,1) := ┆
0x1b300…1b320       6e 61 6d 65 3b 0a 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 30 29 20 3a 3d   ┆name;     name_table(index,0) :=┆
0x1b320…1b340       20 74 79 70 65 3b 0a 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 34 29 20 3a   ┆ type;     name_table(index,4) :┆
0x1b340…1b360       3d 20 72 65 66 66 3b 0a 20 20 20 20 65 6e 64 20 69 6e 73 65 72 74 5f 6e 61 6d 65 5f 74 61 62 6c   ┆= reff;     end insert_name_tabl┆
0x1b360…1b380       65 3b 0a 0a 0a 0a 20 20 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6e 65 77 5f   ┆e;        integer procedure new_┆
0x1b380…1b3a0       69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 72 65 66 28 6e 61 6d 65 2c 69 6e 73 74 72 5f 69 6e 64 65   ┆insert_label_ref(name,instr_inde┆
0x1b3a0…1b3c0       78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 0a 20 20 20 20 76 61 6c 75   ┆x,line_no,element_no);      valu┆
0x1b3c0…1b3e0       65 20 6e 61 6d 65 2c 69 6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65   ┆e name,instr_index,line_no,eleme┆
0x1b3e0…1b400       6e 74 5f 6e 6f 3b 0a 20 20 20 20 6c 6f 6e 67 20 6e 61 6d 65 3b 0a 20 20 20 20 69 6e 74 65 67 65   ┆nt_no;     long name;     intege┆
0x1b400…1b420       72 20 69 6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f   ┆r instr_index,line_no,element_no┆
0x1b420…1b440       3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 6c 5f 72 5f 72 65 63 6f 72 64 20 3a 3d 20 61 6c   ┆;     begin     l_r_record := al┆
0x1b440…1b460       6c 6f 63 61 74 65 28 6c 5f 72 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 29 3b 0a 20 20 20 20 48   ┆locate(l_r_record_length);     H┆
0x1b460…1b480       45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 63 68 61 69 6e 20 3a 3d 20 6c 5f 72 5f   ┆EAP.l_r_record.l_r_chain := l_r_┆
0x1b480…1b4a0       72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 3b 0a 20 20 20 20 6c 5f 72 5f 72 65 63 6f 72   ┆record_chain_head;     l_r_recor┆
0x1b4a0…1b4c0       64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3a 3d 20 6c 5f 72 5f 72 65 63 6f 72 64 3b 0a 20 20 20 20   ┆d_chain_head := l_r_record;     ┆
0x1b4c0…1b4e0       48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 6e 61 6d 65 20 3a 3d 20 6e 61 6d 65   ┆HEAP.l_r_record.l_r_name := name┆
0x1b4e0…1b500       3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 69 6e 64 65 78 20   ┆;     HEAP.l_r_record.l_r_index ┆
0x1b500…1b520       3a 3d 20 69 6e 73 74 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63   ┆:= instr_index;     HEAP.l_r_rec┆
0x1b520…1b540       6f 72 64 2e 6c 5f 72 5f 6c 69 6e 65 5f 6e 6f 20 3a 3d 20 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20   ┆ord.l_r_line_no := line_no;     ┆
0x1b540…1b560       48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3a   ┆HEAP.l_r_record.l_r_element_no :┆
0x1b560…1b580       3d 20 65 6c 65 6d 65 6e 74 5f 6e 6f 3b 0a 20 20 20 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62   ┆= element_no;     new_insert_lab┆
0x1b580…1b5a0       65 6c 5f 72 65 66 20 3a 3d 20 6c 5f 72 5f 72 65 63 6f 72 64 3b 0a 20 20 20 20 65 6e 64 20 6e 65   ┆el_ref := l_r_record;     end ne┆
0x1b5a0…1b5c0       77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 72 65 66 3b 0a 0a 0a 0a 20 20 20 20 69 6e 74 65 67   ┆w_insert_label_ref;        integ┆
0x1b5c0…1b5e0       65 72 20 70 72 6f 63 65 64 75 72 65 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64 65   ┆er procedure new_insert_label_de┆
0x1b5e0…1b600       66 28 6e 61 6d 65 2c 69 6e 64 65 78 2c 69 6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f   ┆f(name,index,instr_index,line_no┆
0x1b600…1b620       2c 73 70 65 63 29 3b 0a 20 20 20 20 76 61 6c 75 65 20 6e 61 6d 65 2c 69 6e 64 65 78 2c 69 6e 73   ┆,spec);     value name,index,ins┆
0x1b620…1b640       74 72 5f 69 6e 64 65 78 2c 73 70 65 63 2c 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 6c 6f 6e 67 20   ┆tr_index,spec,line_no;     long ┆
0x1b640…1b660       6e 61 6d 65 2c 69 6e 64 65 78 3b 0a 20 20 20 20 69 6e 74 65 67 65 72 20 69 6e 73 74 72 5f 69 6e   ┆name,index;     integer instr_in┆
0x1b660…1b680       64 65 78 2c 73 70 65 63 2c 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆dex,spec,line_no;     begin     ┆
0x1b680…1b6a0       6c 5f 64 5f 72 65 63 6f 72 64 20 3a 3d 20 61 6c 6c 6f 63 61 74 65 28 6c 5f 64 5f 72 65 63 6f 72   ┆l_d_record := allocate(l_d_recor┆
0x1b6a0…1b6c0       64 5f 6c 65 6e 67 74 68 29 3b 0a 20 20 20 20 69 6e 73 65 72 74 5f 6e 61 6d 65 5f 74 61 62 6c 65   ┆d_length);     insert_name_table┆
0x1b6c0…1b6e0       28 69 6e 64 65 78 2c 6e 61 6d 65 2c 6c 61 62 65 6c 5f 74 79 70 65 2c 6c 5f 64 5f 72 65 63 6f 72   ┆(index,name,label_type,l_d_recor┆
0x1b6e0…1b700       64 29 3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 63 68 61 69   ┆d);     HEAP.l_d_record.l_d_chai┆
0x1b700…1b720       6e 20 3a 3d 20 69 6e 64 65 78 3b 20 3c 2a 20 69 6e 64 65 78 20 62 61 63 6b 20 74 6f 20 6e 61 6d   ┆n := index; <* index back to nam┆
0x1b720…1b740       65 20 74 61 62 6c 65 20 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆e table                         ┆
0x1b740…1b760       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 20 20 20   ┆                                ┆
0x1b760…1b780       2a 3e 0a 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 69 6e 64 65 78   ┆*>     HEAP.l_d_record.l_d_index┆
0x1b780…1b7a0       20 3a 3d 20 69 6e 73 74 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65   ┆ := instr_index;     HEAP.l_d_re┆
0x1b7a0…1b7c0       63 6f 72 64 2e 6c 5f 64 5f 6c 69 6e 65 5f 6e 6f 20 3a 3d 20 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20   ┆cord.l_d_line_no := line_no;    ┆
0x1b7c0…1b7e0       20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3a 3d 20 73 70 65   ┆ HEAP.l_d_record.l_d_spec := spe┆
0x1b7e0…1b800       63 3b 0a 20 20 20 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 20 3a 3d 20 69   ┆c;     new_insert_label_def := i┆
0x1b800…1b820       6e 64 65 78 3b 0a 20 20 20 20 65 6e 64 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64   ┆ndex;     end new_insert_label_d┆
0x1b820…1b840       65 66 3b 0a 0a 20 20 20 20 70 72 6f 63 65 64 75 72 65 20 72 65 73 6f 6c 76 65 5f 6c 61 62 65 6c   ┆ef;      procedure resolve_label┆
0x1b840…1b860       73 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 63 6f 64 65   ┆s;     begin     integer op_code┆
0x1b860…1b880       5f 69 6e 64 65 78 3b 0a 20 20 20 20 6c 6f 6e 67 20 6e 61 6d 65 5f 74 61 62 6c 65 5f 69 6e 64 65   ┆_index;     long name_table_inde┆
0x1b880…1b8a0       78 3b 0a 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 77 72 5f 6e 61 6d 65 28 31 3a 32 29 3b 20   ┆x;     long array wr_name(1:2); ┆
0x1b8a0…1b8c0       3c 2a 20 75 73 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 20 6f 66 20 61 20 6e 61 6d 65 20 2a 3e   ┆<* used for writing of a name *>┆
0x1b8c0…1b8e0       0a 20 20 20 20 77 72 5f 6e 61 6d 65 28 32 29 3a 3d 30 3b 0a 0a 20 20 20 20 6c 5f 72 5f 72 65 63   ┆     wr_name(2):=0;      l_r_rec┆
0x1b8e0…1b900       6f 72 64 20 3a 3d 20 6c 5f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 3b 0a 20 20   ┆ord := l_r_record_chain_head;   ┆
0x1b900…1b920 (49,) 20 20 20 77 68 69 6c 65 20 6c 5f 72 5f 72 65 63 6f 72 64 20 3e 2d 31 20 64 6f 0a 20 20 20 20 20   ┆   while l_r_record >-1 do      ┆
0x1b920…1b940       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 69 66 20 2d 2c 20 6c 6f 6f 6b 75 70 5f 6e 61 6d 65   ┆  begin        if -, lookup_name┆
0x1b940…1b960       28 6e 61 6d 65 5f 74 61 62 6c 65 2c 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f   ┆(name_table,HEAP.l_r_record.l_r_┆
0x1b960…1b980       6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74   ┆name,                     name_t┆
0x1b980…1b9a0       61 62 6c 65 5f 69 6e 64 65 78 29 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a   ┆able_index) then          begin ┆
0x1b9a0…1b9c0       20 20 20 20 20 20 20 20 20 69 6e 73 74 72 5f 69 6e 64 65 78 20 3a 3d 20 48 45 41 50 2e 6c 5f 72   ┆         instr_index := HEAP.l_r┆
0x1b9c0…1b9e0       5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f   ┆_record.l_r_index;          erro┆
0x1b9e0…1ba00       72 28 75 6e 64 65 63 5f 6c 61 62 65 6c 2c 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f   ┆r(undec_label,HEAP.l_r_record.l_┆
0x1ba00…1ba20       72 5f 6c 69 6e 65 5f 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆r_line_no,                      ┆
0x1ba20…1ba40       20 20 20 20 20 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 65 6c 65 6d 65 6e   ┆      HEAP.l_r_record.l_r_elemen┆
0x1ba40…1ba60       74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 65 6c 73 65   ┆t_no);          end         else┆
0x1ba60…1ba80       0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 6c 5f 64 5f 72 65 63   ┆          begin          l_d_rec┆
0x1ba80…1baa0       6f 72 64 20 3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 61 6d 65 5f 74 61 62 6c 65 5f 69 6e 64   ┆ord := name_table(name_table_ind┆
0x1baa0…1bac0       65 78 2c 34 29 3b 0a 20 20 20 20 20 20 20 20 20 6f 70 5f 63 6f 64 65 5f 69 6e 64 65 78 20 3a 3d   ┆ex,4);          op_code_index :=┆
0x1bac0…1bae0       20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20   ┆ HEAP.l_r_record.l_r_index;     ┆
0x1bae0…1bb00       20 20 20 20 20 6f 70 5f 63 6f 64 65 28 6f 70 63 6f 64 65 5f 69 6e 64 65 78 29 20 3a 3d 20 6d 61   ┆     op_code(opcode_index) := ma┆
0x1bb00…1bb20       73 6b 5f 69 6e 28 6f 70 5f 63 6f 64 65 28 6f 70 5f 63 6f 64 65 5f 69 6e 64 65 78 29 2c 0a 20 20   ┆sk_in(op_code(op_code_index),   ┆
0x1bb20…1bb40       20 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e   ┆         extend HEAP.l_d_record.┆
0x1bb40…1bb60       6c 5f 64 5f 69 6e 64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 61 64 64 72 73 5f 6d 61 73 6b   ┆l_d_index,            addrs_mask┆
0x1bb60…1bb80       29 3b 0a 20 20 20 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 20 20 20 69 66 20 74 65 73 74 5f 6c   ┆);                     if test_l┆
0x1bb80…1bba0       61 62 65 6c 5f 62 69 74 20 6f 72 20 74 65 73 74 5f 6c 61 62 65 6c 5f 72 65 66 20 74 68 65 6e 0a   ┆abel_bit or test_label_ref then ┆
0x1bba0…1bbc0       20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 77 72 5f 6e   ┆           begin            wr_n┆
0x1bbc0…1bbe0       61 6d 65 28 31 29 20 3a 3d 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 6e 61   ┆ame(1) := HEAP.l_d_record.l_d_na┆
0x1bbe0…1bc00       6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c   ┆me;            write(out,"nl",1,┆
0x1bc00…1bc20       22 73 70 22 2c 35 2c 3c 3c 7a 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆"sp",5,<<zddd>,                 ┆
0x1bc20…1bc40       20 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f   ┆ octal(extend HEAP.l_r_record.l_┆
0x1bc40…1bc60       72 5f 69 6e 64 65 78 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 20 6c 61   ┆r_index),                  <: la┆
0x1bc60…1bc80       62 65 6c 20 72 65 66 66 20 74 6f 3a 20 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆bel reff to: :>,                ┆
0x1bc80…1bca0       20 20 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c   ┆  octal(extend HEAP.l_d_record.l┆
0x1bca0…1bcc0       5f 64 5f 69 6e 64 65 78 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 20 6e   ┆_d_index),                  <: n┆
0x1bcc0…1bce0       61 6d 65 3a 20 3a 3e 2c 77 72 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 65 6e 64   ┆ame: :>,wr_name);            end┆
0x1bce0…1bd00       3b 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 69 66 20 74 65 73 74 5f 6c 61 62   ┆;                    if test_lab┆
0x1bd00…1bd20       65 6c 5f 62 69 74 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆el_bit then            begin    ┆
0x1bd20…1bd40       20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 22 73 70 22 2c 31 31   ┆        write(out,"nl",1,"sp",11┆
0x1bd40…1bd60       29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 66 6f 72 6d 61 74 65 64 28 6f 70 5f   ┆);            print_formated(op_┆
0x1bd60…1bd80       63 6f 64 65 28 6f 70 5f 63 6f 64 65 5f 69 6e 64 65 78 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20   ┆code(op_code_index));           ┆
0x1bd80…1bda0       20 65 6e 64 3b 0a 0a 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 6c 5f 72 5f   ┆ end;           end;        l_r_┆
0x1bda0…1bdc0       72 65 63 6f 72 64 20 3a 3d 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 63 68   ┆record := HEAP.l_r_record.l_r_ch┆
0x1bdc0…1bde0       61 69 6e 3b 0a 20 20 20 20 20 20 20 65 6e 64 20 73 63 61 6e 20 6c 6f 6f 70 3b 0a 20 20 20 20 65   ┆ain;        end scan loop;     e┆
0x1bde0…1be00       6e 64 20 72 65 73 6f 6c 76 65 5f 6c 61 62 65 6c 73 3b 0a 0a 20 20 20 20 70 72 6f 63 65 64 75 72   ┆nd resolve_labels;      procedur┆
0x1be00…1be20       65 20 6c 61 62 65 6c 5f 6c 69 73 74 28 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 29 3b 0a   ┆e label_list(only_spec_wanted); ┆
0x1be20…1be40       20 20 20 20 76 61 6c 75 65 20 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 3b 20 62 6f 6f 6c   ┆    value only_spec_wanted; bool┆
0x1be40…1be60       65 61 6e 20 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 3b 0a 20 20 20 20 62 65 67 69 6e 0a   ┆ean only_spec_wanted;     begin ┆
0x1be60…1be80       20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 77 72 5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20   ┆    long array wr_name(1:2);    ┆
0x1be80…1bea0       20 69 6e 74 65 67 65 72 20 69 6e 64 65 78 3b 0a 20 20 20 20 77 72 5f 6e 61 6d 65 28 32 29 20 3a   ┆ integer index;     wr_name(2) :┆
0x1bea0…1bec0       3d 20 30 3b 0a 20 20 20 20 0a 20 20 20 20 66 6f 72 20 69 6e 64 65 78 20 3a 3d 20 31 20 73 74 65   ┆= 0;          for index := 1 ste┆
0x1bec0…1bee0       70 20 31 20 75 6e 74 69 6c 20 6e 61 6d 65 5f 74 61 62 6c 65 5f 6c 65 6e 67 74 68 20 64 6f 0a 20   ┆p 1 until name_table_length do  ┆
0x1bee0…1bf00       20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69   ┆     begin       if name_table(i┆
0x1bf00…1bf20       6e 64 65 78 2c 30 29 20 3d 20 6c 61 62 65 6c 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆ndex,0) = label_type then       ┆
0x1bf20…1bf40       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6c 5f 64 5f 72 65 63 6f 72 64 20 3a 3d 20 6e 61   ┆  begin         l_d_record := na┆
0x1bf40…1bf60       6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 34 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 48 45   ┆me_table(index,4);         if HE┆
0x1bf60…1bf80       41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3e 20 30 20 6f 72 0a 20 20   ┆AP.l_d_record.l_d_spec > 0 or   ┆
0x1bf80…1bfa0       20 20 20 20 20 20 20 20 20 2d 2c 20 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 20 74 68 65   ┆         -, only_spec_wanted the┆
0x1bfa0…1bfc0       6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 77 72   ┆n            begin            wr┆
0x1bfc0…1bfe0       5f 6e 61 6d 65 28 31 29 20 3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 31 29 3b   ┆_name(1) := name_table(index,1);┆
0x1bfe0…1c000       0a 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 73 70 22 2c 31 35 20 2d 20   ┆            write(out,"sp",15 - ┆
0x1c000…1c020       77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 77 72 5f 6e 61 6d 65 29 2c 0a 20 20 20 20 20   ┆write(out,"nl",1,wr_name),      ┆
0x1c020…1c040       20 20 20 20 20 20 20 20 20 20 20 20 22 63 72 22 2c 31 2c 22 73 70 22 2c 37 2c 3c 3a 20 72 65 66   ┆            "cr",1,"sp",7,<: ref┆
0x1c040…1c060       66 2e 20 74 6f 20 61 64 64 72 65 73 73 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆f. to address:>,                ┆
0x1c060…1c080       20 20 3c 3c 5f 7a 64 64 64 3e 2c 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 69   ┆  <<_zddd>,HEAP.l_d_record.l_d_i┆
0x1c080…1c0a0       6e 64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63 74 61 6c 28 65 78   ┆ndex,                   octal(ex┆
0x1c0a0…1c0c0       74 65 6e 64 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 69 6e 64 65 78 29 2c   ┆tend HEAP.l_d_record.l_d_index),┆
0x1c0c0…1c0e0       0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 48 45 41 50 2e 6c 5f 64 5f 72   ┆                   if HEAP.l_d_r┆
0x1c0e0…1c100       65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20   ┆ecord.l_d_spec > 0 then         ┆
0x1c100…1c120       20 20 20 20 20 20 20 20 20 20 3c 3a 20 73 70 65 63 2e 20 6f 72 20 6c 69 6e 65 20 6e 6f 20 3a 3e   ┆          <: spec. or line no :>┆
0x1c120…1c140       20 65 6c 73 65 20 3c 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3c   ┆ else <::>,                   <<┆
0x1c140…1c160       5f 5f 62 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 48 45   ┆__bddd>,                   if HE┆
0x1c160…1c180       41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3e 20 30 20 74 68 65 6e 0a   ┆AP.l_d_record.l_d_spec > 0 then ┆
0x1c180…1c1a0       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72   ┆                  HEAP.l_d_recor┆
0x1c1a0…1c1c0       64 2e 6c 5f 64 5f 73 70 65 63 20 2d 20 31 20 65 6c 73 65 20 30 29 3b 0a 20 20 20 20 20 20 20 20   ┆d.l_d_spec - 1 else 0);         ┆
0x1c1c0…1c1e0       20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 65 6e 64 20 6c 61 62 65 6c   ┆  end;        end;     end label┆
0x1c1e0…1c200       5f 6c 69 73 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 0a 20 20 20 20 62 6f 6f   ┆_list;             end;      boo┆
0x1c200…1c220 (50,) 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 70 72 69 6e 74 5f 65 72 72 6f 72 5f 74 61 62 6c 65   ┆lean procedure print_error_table┆
0x1c220…1c240       3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 66 69 65 6c 64   ┆;     begin     long array field┆
0x1c240…1c260       20 70 72 65 76 69 75 73 2c 74 68 69 73 2c 6d 69 6e 5f 6c 69 6e 65 3b 0a 20 20 20 20 69 6e 74 65   ┆ previus,this,min_line;     inte┆
0x1c260…1c280       67 65 72 20 6d 69 6e 5f 6c 69 6e 65 5f 6e 6f 3b 0a 0a 20 20 20 20 69 66 20 65 72 72 6f 72 5f 72   ┆ger min_line_no;      if error_r┆
0x1c280…1c2a0       65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3d 20 6e 69 6c 20 74 68 65 6e 0a 20 20 20 20   ┆ecord_chain_head = nil then     ┆
0x1c2a0…1c2c0       20 20 70 72 69 6e 74 5f 65 72 72 6f 72 5f 74 61 62 6c 65 20 3a 3d 20 74 72 75 65 0a 20 20 20 20   ┆  print_error_table := true     ┆
0x1c2c0…1c2e0       65 6c 73 65 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 70 72 69 6e 74 5f 65 72 72   ┆else       begin       print_err┆
0x1c2e0…1c300       6f 72 5f 74 61 62 6c 65 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 20 65   ┆or_table := false;       while e┆
0x1c300…1c320       72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3c 3e 20 6e 69 6c 20 64 6f   ┆rror_record_chain_head <> nil do┆
0x1c320…1c340       0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6d 69 6e 5f 6c 69 6e 65 5f   ┆         begin         min_line_┆
0x1c340…1c360       6e 6f 20 3a 3d 20 38 33 38 38 36 30 36 3b 0a 20 20 20 20 20 20 20 20 74 68 69 73 20 3a 3d 20 65   ┆no := 8388606;         this := e┆
0x1c360…1c380       72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 3b 0a 20 20 20 20 20 20 20 20   ┆rror_record_chain_head;         ┆
0x1c380…1c3a0       70 72 65 76 69 75 73 20 3a 3d 20 6e 69 6c 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 74 68   ┆previus := nil;         while th┆
0x1c3a0…1c3c0       69 73 20 3c 3e 20 6e 69 6c 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆is <> nil do           begin    ┆
0x1c3c0…1c3e0       20 20 20 20 20 20 20 69 66 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆       if HEAP.this.error_record┆
0x1c3e0…1c400       5f 6c 69 6e 65 5f 6e 6f 20 3c 3d 20 6d 69 6e 5f 6c 69 6e 65 5f 6e 6f 20 74 68 65 6e 0a 20 20 20   ┆_line_no <= min_line_no then    ┆
0x1c400…1c420       20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 5f 6c   ┆         begin             min_l┆
0x1c420…1c440       69 6e 65 5f 6e 6f 20 3a 3d 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆ine_no := HEAP.this.error_record┆
0x1c440…1c460       5f 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 5f 6c 69 6e 65 3a 3d   ┆_line_no;             min_line:=┆
0x1c460…1c480       20 70 72 65 76 69 75 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20   ┆ previus;             end;      ┆
0x1c480…1c4a0       20 20 20 20 20 70 72 65 76 69 75 73 20 3a 3d 20 74 68 69 73 3b 0a 20 20 20 20 20 20 20 20 20 20   ┆     previus := this;           ┆
0x1c4a0…1c4c0       74 68 69 73 20 3a 3d 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63   ┆this := HEAP.this.error_record_c┆
0x1c4c0…1c4e0       68 61 69 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 0a 20 20 20 20 20 20 20 20 3c 2a   ┆hain;           end;          <*┆
0x1c4e0…1c500       20 72 65 6d 6f 76 65 20 72 65 63 6f 72 64 20 66 72 6f 6d 20 6c 69 73 74 20 2a 3e 0a 20 20 20 20   ┆ remove record from list *>     ┆
0x1c500…1c520       20 20 20 20 69 66 20 6d 69 6e 5f 6c 69 6e 65 20 3d 20 6e 69 6c 20 74 68 65 6e 20 20 20 20 20 20   ┆    if min_line = nil then      ┆
0x1c520…1c540       20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20   ┆                         begin  ┆
0x1c540…1c560       20 20 20 20 20 20 20 20 20 74 68 69 73 20 3a 3d 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68   ┆         this := error_record_ch┆
0x1c560…1c580       61 69 6e 5f 68 65 61 64 3b 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆ain_head;           error_record┆
0x1c580…1c5a0       5f 63 68 61 69 6e 5f 68 65 61 64 20 3a 3d 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72   ┆_chain_head := HEAP.this.error_r┆
0x1c5a0…1c5c0       65 63 6f 72 64 5f 63 68 61 69 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20   ┆ecord_chain;           end      ┆
0x1c5c0…1c5e0       20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20   ┆   else           begin         ┆
0x1c5e0…1c600       20 20 70 72 65 76 69 75 73 20 3a 3d 20 6d 69 6e 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20   ┆  previus := min_line;          ┆
0x1c600…1c620       20 74 68 69 73 20 3a 3d 20 48 45 41 50 2e 70 72 65 76 69 75 73 2e 65 72 72 6f 72 5f 72 65 63 6f   ┆ this := HEAP.previus.error_reco┆
0x1c620…1c640       72 64 5f 63 68 61 69 6e 3b 0a 20 20 20 20 20 20 20 20 20 48 45 41 50 2e 70 72 65 76 69 75 73 2e   ┆rd_chain;          HEAP.previus.┆
0x1c640…1c660       65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 20 3a 3d 0a 20 20 20 20 20 20 20 20 20 20   ┆error_record_chain :=           ┆
0x1c660…1c680       48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 3b 0a 20 20   ┆HEAP.this.error_record_chain;   ┆
0x1c680…1c6a0       20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22   ┆        end;         write(out,"┆
0x1c6a0…1c6c0       6e 6c 22 2c 31 2c 3c 3c 5f 64 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 45   ┆nl",1,<<_dddd>,               HE┆
0x1c6c0…1c6e0       41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 6c 69 6e 65 5f 6e 6f 2c 0a 20 20   ┆AP.this.error_record_line_no,   ┆
0x1c6e0…1c700       20 20 20 20 20 20 20 20 20 20 20 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f   ┆            HEAP.this.error_reco┆
0x1c700…1c720       72 64 5f 69 6e 73 74 72 5f 69 6e 64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63   ┆rd_instr_index,               oc┆
0x1c720…1c740       74 61 6c 28 65 78 74 65 6e 64 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72   ┆tal(extend HEAP.this.error_recor┆
0x1c740…1c760       64 5f 69 6e 73 74 72 5f 69 6e 64 65 78 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 45   ┆d_instr_index),               HE┆
0x1c760…1c780       41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 65 6c 65 6d 65 6e 74 5f 70 6f 73   ┆AP.this.error_record_element_pos┆
0x1c780…1c7a0       2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 70 22 2c 32 2c 73 74 72 69 6e 67 20 48 45   ┆,               "sp",2,string HE┆
0x1c7a0…1c7c0       41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 74 65 78 74 29 3b 0a 20 20 20 20   ┆AP.this.error_record_text);     ┆
0x1c7c0…1c7e0       20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 65 6e 64 20 70 72   ┆    end;        end;      end pr┆
0x1c7e0…1c800       69 6e 74 5f 65 72 72 6f 72 5f 74 61 62 6c 65 3b 0a 0a 0a 0a 20 20 20 20 70 72 6f 63 65 64 75 72   ┆int_error_table;        procedur┆
0x1c800…1c820       65 20 70 72 69 6e 74 5f 66 6f 72 6d 61 74 65 64 28 6f 70 63 6f 64 65 29 3b 0a 20 20 20 20 3c 2a   ┆e print_formated(opcode);     <*┆
0x1c820…1c840       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e   ┆*******************************>┆
0x1c840…1c860       0a 20 20 20 20 76 61 6c 75 65 20 6f 70 63 6f 64 65 3b 20 6c 6f 6e 67 20 6f 70 63 6f 64 65 3b 0a   ┆     value opcode; long opcode; ┆
0x1c860…1c880       20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 2c   ┆    begin       integer from,to,┆
0x1c880…1c8a0       6e 75 6d 62 65 72 2c 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 66 72 6f 6d 20 3a 3d 20 30 3b   ┆number,index;         from := 0;┆
0x1c8a0…1c8c0       0a 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e 64 65 78 20 3a 3d 2d 34 37 20 73 74 65 70 20 31 20   ┆         for index :=-47 step 1 ┆
0x1c8c0…1c8e0       75 6e 74 69 6c 20 30 20 64 6f 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20   ┆until 0 do         begin        ┆
0x1c8e0…1c900       20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 69 66 20 6f 70 63 6f 64 65 20 73 68 69 66 74 20 69   ┆   outchar(out,if opcode shift i┆
0x1c900…1c920       6e 64 65 78 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 20 20   ┆ndex extract 1 = 1 then         ┆
0x1c920…1c940       20 20 34 39 20 65 6c 73 65 20 34 36 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 66 6f 72 6d   ┆  49 else 46);           if form┆
0x1c940…1c960       61 74 28 66 72 6f 6d 29 20 65 78 74 72 61 63 74 20 31 32 20 3d 20 34 37 20 2b 20 69 6e 64 65 78   ┆at(from) extract 12 = 47 + index┆
0x1c960…1c980       20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ then           begin           ┆
0x1c980…1c9a0       20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 33 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66   ┆  outchar(out,32);             f┆
0x1c9a0…1c9c0       72 6f 6d 3a 3d 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20   ┆rom:=from+1;           end;     ┆
0x1c9c0…1c9e0       20 20 20 20 65 6e 64 20 66 6f 72 20 6c 6f 6f 70 3b 0a 20 20 20 20 3c 2a 20 66 6f 72 20 69 6d 70   ┆    end for loop;     <* for imp┆
0x1c9e0…1ca00       72 6f 76 69 6e 67 20 72 65 61 64 61 62 69 6c 69 74 79 20 77 72 69 74 65 20 61 6e 20 65 78 74 72   ┆roving readability write an extr┆
0x1ca00…1ca20       61 20 6e 65 77 6c 69 6e 65 20 2a 3e 0a 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 31 30 29   ┆a newline *>     outchar(out,10)┆
0x1ca20…1ca40       3b 0a 0a 20 20 20 20 65 6e 64 20 20 70 72 69 6e 74 5f 66 6f 72 6d 61 74 3b 0a 0a 0a 20 20 61 6c   ┆;      end  print_format;     al┆
0x1ca40…1ca60       67 6f 6c 20 63 6f 70 79 2e 32 20 20 3c 2a 20 73 6f 75 72 63 65 20 73 68 6f 75 6c 64 20 62 65 20   ┆gol copy.2  <* source should be ┆
0x1ca60…1ca80       6d 32 39 30 78 70 72 6f 63 20 2a 3e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 69 6e 74 65 67 65 72 20   ┆m290xproc *>;           integer ┆
0x1ca80…1caa0       70 72 6f 63 65 64 75 72 65 20 0a 20 20 20 20 67 65 74 5f 61 6c 6c 5f 72 65 67 5f 6f 70 65 72 61   ┆procedure      get_all_reg_opera┆
0x1caa0…1cac0       6e 64 73 28 6f 70 5f 31 2c 6b 69 6e 64 5f 31 2c 6f 70 5f 32 2c 6b 69 6e 64 5f 32 2c 6f 70 5f 33   ┆nds(op_1,kind_1,op_2,kind_2,op_3┆
0x1cac0…1cae0       2c 6b 69 6e 64 5f 33 29 3b 0a 20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆,kind_3);   <*******************┆
0x1cae0…1cb00       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1cb00…1cb20 (51,) 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 31 2c 6b 69 6e 64 5f 31 2c 6f   ┆*******>   integer op_1,kind_1,o┆
0x1cb20…1cb40       70 5f 32 2c 6b 69 6e 64 5f 32 2c 6f 70 5f 33 2c 6b 69 6e 64 5f 33 3b 0a 20 20 62 65 67 69 6e 0a   ┆p_2,kind_2,op_3,kind_3;   begin ┆
0x1cb40…1cb60       20 20 69 6e 74 65 67 65 72 20 6e 6f 5f 6f 66 5f 6f 70 3b 0a 20 20 6e 6f 5f 6f 66 5f 6f 70 20 3a   ┆  integer no_of_op;   no_of_op :┆
0x1cb60…1cb80       3d 20 30 3b 0a 20 20 6f 70 5f 31 20 3a 3d 20 6f 70 5f 32 20 3a 3d 20 6f 70 5f 33 20 3a 3d 20 6b   ┆= 0;   op_1 := op_2 := op_3 := k┆
0x1cb80…1cba0       69 6e 64 5f 31 20 3a 3d 20 6b 69 6e 64 5f 32 20 3a 3d 20 6b 69 6e 64 5f 33 20 3a 3d 20 6e 6f 74   ┆ind_1 := kind_2 := kind_3 := not┆
0x1cba0…1cbc0       5f 75 73 65 64 3b 0a 20 20 63 6c 61 73 73 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61   ┆_used;   class := look_ahead_cla┆
0x1cbc0…1cbe0       73 73 3b 0a 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6c 65 66 74 5f 70 61 72 5f 63 6c 61 73 73 20   ┆ss;   if class = left_par_class ┆
0x1cbe0…1cc00       74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 67 65 74   ┆then     begin     next;     get┆
0x1cc00…1cc20       5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64 28 6f 70 5f 31 2c 6b 69 6e 64 5f 31 29 3b 0a 20 20 20   ┆_a_reg_operand(op_1,kind_1);    ┆
0x1cc20…1cc40       20 6e 6f 5f 6f 66 5f 6f 70 20 3a 3d 20 31 3b 0a 20 20 20 69 66 20 6c 6f 6f 6b 5f 61 68 65 61 64   ┆ no_of_op := 1;    if look_ahead┆
0x1cc40…1cc60       5f 63 6c 61 73 73 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆_class = comma_class then       ┆
0x1cc60…1cc80       62 65 67 69 6e 0a 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 67 65 74 5f 61 5f 72 65   ┆begin       next;       get_a_re┆
0x1cc80…1cca0       67 5f 6f 70 65 72 61 6e 64 28 6f 70 5f 32 2c 6b 69 6e 64 5f 32 29 3b 0a 20 20 20 20 20 20 6e 6f   ┆g_operand(op_2,kind_2);       no┆
0x1cca0…1ccc0       5f 6f 66 5f 6f 70 20 3a 3d 20 32 3b 0a 20 20 20 20 20 20 69 66 20 6c 6f 6f 6b 5f 61 68 65 61 64   ┆_of_op := 2;       if look_ahead┆
0x1ccc0…1cce0       5f 63 6c 61 73 73 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆_class = comma_class then       ┆
0x1cce0…1cd00       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20   ┆   begin          next;         ┆
0x1cd00…1cd20       20 67 65 74 5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64 28 6f 70 5f 33 2c 6b 69 6e 64 5f 33 29 3b   ┆ get_a_reg_operand(op_3,kind_3);┆
0x1cd20…1cd40       0a 20 20 20 20 20 20 20 20 20 6e 6f 5f 6f 66 5f 6f 70 20 3a 3d 20 33 3b 0a 20 20 20 20 20 20 20   ┆          no_of_op := 3;        ┆
0x1cd40…1cd60       20 20 65 6e 64 3b 0a 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 6e 65 78 74 3b 0a 20 20 69 66 20 63   ┆  end;      end;    next;   if c┆
0x1cd60…1cd80       6c 61 73 73 20 3c 3e 20 72 69 67 68 74 5f 70 61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20   ┆lass <> right_par_class then    ┆
0x1cd80…1cda0       20 20 65 72 72 6f 72 28 74 65 72 6d 69 6e 61 74 69 6f 6e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d   ┆  error(termination,line_no,elem┆
0x1cda0…1cdc0       65 6e 74 5f 6e 6f 29 3b 0a 20 20 65 6e 64 20 65 6c 73 65 20 65 72 72 6f 72 28 6d 69 73 73 69 6e   ┆ent_no);   end else error(missin┆
0x1cdc0…1cde0       67 5f 6f 70 65 72 61 6e 64 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 67   ┆g_operand,line_no,element_no); g┆
0x1cde0…1ce00       65 74 5f 61 6c 6c 5f 72 65 67 5f 6f 70 65 72 61 6e 64 73 20 3a 3d 20 6e 6f 5f 6f 66 5f 6f 70 3b   ┆et_all_reg_operands := no_of_op;┆
0x1ce00…1ce20       0a 65 6e 64 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 61 6c 6c 5f 72 65 67 5f 6f 70 65 72 61   ┆ end procedure get_all_reg_opera┆
0x1ce20…1ce40       6e 64 73 3b 0a 0a 0a 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 61 5f 72 65 67   ┆nds;         procedure get_a_reg┆
0x1ce40…1ce60       5f 6f 70 65 72 61 6e 64 28 6f 70 5f 76 61 6c 75 65 2c 6b 69 6e 64 29 3b 0a 20 20 3c 2a 2a 2a 2a   ┆_operand(op_value,kind);   <****┆
0x1ce60…1ce80       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1ce80…1cea0       2a 2a 2a 2a 2a 3e 0a 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 76 61 6c 75 65 2c 6b 69 6e 64 3b 0a   ┆*****>   integer op_value,kind; ┆
0x1cea0…1cec0       20 20 62 65 67 69 6e 0a 20 20 6c 6f 6e 67 20 6c 6f 6f 6b 75 70 5f 69 6e 64 65 78 3b 0a 20 20 20   ┆  begin   long lookup_index;    ┆
0x1cec0…1cee0       20 6e 65 78 74 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6e 75 6d 62 65 72 5f 63 6c 61   ┆ next;     if class = number_cla┆
0x1cee0…1cf00       73 73 20 74 68 65 6e 0a 20 20 20 62 65 67 69 6e 0a 20 20 20 6b 69 6e 64 20 3a 3d 20 6e 75 6d 62   ┆ss then    begin    kind := numb┆
0x1cf00…1cf20       65 72 5f 63 6c 61 73 73 3b 0a 20 20 20 6f 70 5f 76 61 6c 75 65 20 3a 3d 20 6e 75 6d 62 65 72 0a   ┆er_class;    op_value := number ┆
0x1cf20…1cf40       20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 61 70   ┆  end     else     if class = ap┆
0x1cf40…1cf60       6f 73 74 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20   ┆ost_class then       begin      ┆
0x1cf60…1cf80       20 6e 65 78 74 3b 0a 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 6f 70   ┆ next;       kind := 0;       op┆
0x1cf80…1cfa0       5f 76 61 6c 75 65 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 75 6e   ┆_value := 0;       if class = un┆
0x1cfa0…1cfc0       6b 6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 28 63 6c   ┆known_name_class or          (cl┆
0x1cfc0…1cfe0       61 73 73 20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 61 6e 64 20 74 79 70 65 20 3d 20 6c 61 62 65   ┆ass = text_class and type = labe┆
0x1cfe0…1d000       6c 5f 74 79 70 65 29 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆l_type) then          begin     ┆
0x1d000…1d020       20 20 20 20 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 72 65 66 28 6e 61 6d 65 2c 69   ┆     new_insert_label_ref(name,i┆
0x1d020…1d040       6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a   ┆nstr_index,line_no,element_no); ┆
0x1d040…1d060       20 20 20 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 3b 0a 20   ┆         kind := number_class;  ┆
0x1d060…1d080       20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20   ┆        end        else         ┆
0x1d080…1d0a0       20 65 72 72 6f 72 28 6f 70 65 72 61 6e 64 5f 74 79 70 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d   ┆ error(operand_type,line_no,elem┆
0x1d0a0…1d0c0       65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 62 65   ┆ent_no);     end     else     be┆
0x1d0c0…1d0e0       67 69 6e 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30   ┆gin       if name_table(number,0┆
0x1d0e0…1d100       29 20 3c 3e 20 72 65 67 5f 6f 70 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69   ┆) <> reg_op_type then       begi┆
0x1d100…1d120       6e 0a 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 28 6f   ┆n       kind := 0;       error(o┆
0x1d120…1d140       70 65 72 61 6e 64 5f 74 79 70 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a   ┆perand_type,line_no,element_no) ┆
0x1d140…1d160       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 62 65 67 69 6e   ┆      end       else       begin┆
0x1d160…1d180       0a 20 20 20 20 20 20 6f 70 5f 76 61 6c 75 65 20 3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75   ┆       op_value := name_table(nu┆
0x1d180…1d1a0       6d 62 65 72 2c 32 29 3b 0a 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 74 65 78 74 5f 63 6c 61 73   ┆mber,2);       kind := text_clas┆
0x1d1a0…1d1c0       73 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 65 6e 64 20 6f 66 20   ┆s;       end;     end;   end of ┆
0x1d1c0…1d1e0       67 65 74 5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64 3b 0a 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75   ┆get_a_reg_operand;       procedu┆
0x1d1e0…1d200       72 65 20 20 67 65 74 5f 32 5f 72 65 67 5f 6f 70 65 72 61 6e 64 73 28 6f 70 5f 76 61 6c 75 65 5f   ┆re  get_2_reg_operands(op_value_┆
0x1d200…1d220       31 2c 6f 70 5f 76 61 6c 75 65 5f 32 29 3b 0a 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 76 61 6c 75   ┆1,op_value_2);   integer op_valu┆
0x1d220…1d240       65 5f 31 2c 6f 70 5f 76 61 6c 75 65 5f 32 3b 0a 20 20 62 65 67 69 6e 0a 20 20 69 6e 74 65 67 65   ┆e_1,op_value_2;   begin   intege┆
0x1d240…1d260       72 20 6b 69 6e 64 5f 31 2c 6b 69 6e 64 5f 32 3b 0a 20 20 20 20 67 65 74 5f 61 5f 72 65 67 5f 6f   ┆r kind_1,kind_2;     get_a_reg_o┆
0x1d260…1d280       70 65 72 61 6e 64 28 6f 70 5f 76 61 6c 75 65 5f 31 2c 6b 69 6e 64 5f 31 29 3b 0a 20 20 20 20 6e   ┆perand(op_value_1,kind_1);     n┆
0x1d280…1d2a0       65 78 74 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3c 3e 20 63 6f 6d 6d 61 5f 63 6c 61 73 73   ┆ext;     if class <> comma_class┆
0x1d2a0…1d2c0       20 74 68 65 6e 20 65 72 72 6f 72 28 64 65 6c 69 6d 69 74 65 72 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c   ┆ then error(delimiter,line_no,el┆
0x1d2c0…1d2e0       65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 67 65 74 5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64   ┆ement_no);     get_a_reg_operand┆
0x1d2e0…1d300       28 6f 70 5f 76 61 6c 75 65 5f 32 2c 6b 69 6e 64 5f 32 29 3b 0a 20 20 65 6e 64 20 6f 66 20 67 65   ┆(op_value_2,kind_2);   end of ge┆
0x1d300…1d320       74 5f 32 5f 72 65 67 5f 6f 70 65 72 61 6e 64 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 69 6e 74 65   ┆t_2_reg_operands;           inte┆
0x1d320…1d340       67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a   ┆ger procedure look_ahead_class; ┆
0x1d340…1d360       20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 74 6f 3b 20 6c 6f 6e 67 20 6e 61 6d   ┆  begin     integer to; long nam┆
0x1d360…1d380       65 2c 6e 75 6d 62 65 72 3b 0a 20 20 20 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 20 3a   ┆e,number;     look_ahead_class :┆
0x1d380…1d3a0       3d 20 67 65 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 6c 69 6e 65 5f 70   ┆= get_element(name,number,line_p┆
0x1d3a0…1d3c0       6f 69 6e 74 65 72 2c 74 6f 29 3b 0a 20 20 65 6e 64 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61   ┆ointer,to);   end look_ahead_cla┆
0x1d3c0…1d3e0       73 73 3b 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 5f 75 6e 74 69 6c 5f 64 65   ┆ss;      procedure skip_until_de┆
0x1d3e0…1d400       6c 69 6d 5f 63 6c 61 73 73 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 66 6f 72 20 63 6c 61 73 73   ┆lim_class;   begin     for class┆
0x1d400…1d420 (52,) 3a 3d 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 20 77 68 69 6c 65 20   ┆:=read_kind(line_pointer) while ┆
0x1d420…1d440       63 6c 61 73 73 20 3c 3e 20 64 65 6c 69 6d 5f 63 6c 61 73 73 20 20 0a 20 20 20 20 61 6e 64 20 63   ┆class <> delim_class       and c┆
0x1d440…1d460       6c 61 73 73 20 3c 3e 20 65 6f 66 5f 63 6c 61 73 73 20 0a 20 20 20 20 61 6e 64 20 63 6c 61 73 73   ┆lass <> eof_class      and class┆
0x1d460…1d480       20 3c 3e 20 73 74 6f 70 5f 6c 69 6e 65 5f 63 6c 61 73 73 20 64 6f 0a 20 20 20 20 6c 69 6e 65 5f   ┆ <> stop_line_class do     line_┆
0x1d480…1d4a0       70 6f 69 6e 74 65 72 3a 3d 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 2b 20 31 3b 0a 20 20 65 6e 64   ┆pointer:=line_pointer + 1;   end┆
0x1d4a0…1d4c0       20 73 6b 69 70 5f 75 6e 74 69 6c 5f 64 65 6c 69 6d 5f 63 6c 61 73 73 3b 0a 0a 0a 0a 0a 20 20 69   ┆ skip_until_delim_class;       i┆
0x1d4c0…1d4e0       6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 28 6c   ┆nteger procedure get_long_name(l┆
0x1d4e0…1d500       6f 6e 67 5f 6e 61 6d 65 29 3b 0a 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6c 6f 6e 67 5f 6e 61 6d   ┆ong_name);   long array long_nam┆
0x1d500…1d520       65 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 63 6c 61 73 73 2c 74 6f 3b   ┆e;   begin     integer class,to;┆
0x1d520…1d540       0a 20 20 20 20 6c 6f 6e 67 20 6e 61 6d 65 2c 6e 75 6d 62 65 72 3b 0a 20 20 20 20 63 6c 61 73 73   ┆     long name,number;     class┆
0x1d540…1d560       20 3a 3d 20 67 65 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 6c 69 6e 65   ┆ := get_element(name,number,line┆
0x1d560…1d580       5f 70 6f 69 6e 74 65 72 2c 74 6f 29 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 75 6e 6b   ┆_pointer,to);     if class = unk┆
0x1d580…1d5a0       6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 20 3d 20 74 65 78 74 5f   ┆nown_name_class or class = text_┆
0x1d5a0…1d5c0       63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 67 65 74 5f 6c   ┆class then     begin       get_l┆
0x1d5c0…1d5e0       6f 6e 67 5f 6e 61 6d 65 20 3a 3d 20 31 3b 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61 6d 65 28 31   ┆ong_name := 1;       long_name(1┆
0x1d5e0…1d600       29 20 3a 3d 20 6e 61 6d 65 3b 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61 6d 65 28 32 29 20 3a 3d   ┆) := name;       long_name(2) :=┆
0x1d600…1d620       20 30 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73   ┆ 0;     end     else     if clas┆
0x1d620…1d640       73 20 3d 20 6c 6f 6e 67 5f 74 65 78 74 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67   ┆s = long_text_class then     beg┆
0x1d640…1d660       69 6e 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61 6d 65 28 31 29 20 3a 3d 20 72 65 61 64 5f 76 61   ┆in       long_name(1) := read_va┆
0x1d660…1d680       6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61   ┆lue(line_pointer);       long_na┆
0x1d680…1d6a0       6d 65 28 32 29 20 3a 3d 20 72 65 61 64 5f 76 61 6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72   ┆me(2) := read_value(line_pointer┆
0x1d6a0…1d6c0       20 2b 20 32 29 3b 0a 20 20 20 20 20 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 20 3a 3d 20 20 69   ┆ + 2);       get_long_name :=  i┆
0x1d6c0…1d6e0       66 20 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 2b 20 33 20 29 20 3d   ┆f read_kind(line_pointer + 3 ) =┆
0x1d6e0…1d700       20 74 65 78 74 5f 63 6c 61 73 73 20 0a 20 20 20 20 20 20 74 68 65 6e 20 2d 32 20 65 6c 73 65 20   ┆ text_class        then -2 else ┆
0x1d700…1d720       32 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 67 65 74 5f 6c 6f 6e 67   ┆2;     end     else     get_long┆
0x1d720…1d740       5f 6e 61 6d 65 20 3a 3d 20 30 3b 0a 20 20 65 6e 64 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 3b   ┆_name := 0;   end get_long_name;┆
0x1d740…1d760       0a 0a 20 20 3c 2a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 63 65 64 75 72 65 73 20   ┆    <* the following procedures ┆
0x1d760…1d780       75 73 65 73 20 67 65 74 6e 65 78 74 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 74 6f 20 67 65 74   ┆uses getnext element      to get┆
0x1d780…1d7a0       20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 0a 20 20 20 20 20 63 6c 61 73 73 2c 6e   ┆ next element into       class,n┆
0x1d7a0…1d7c0       61 6d 65 2c 6e 75 6d 62 65 72 2c 74 79 70 65 0a 20 20 20 20 20 63 6c 61 73 73 31 2c 6e 61 6d 65   ┆ame,number,type      class1,name┆
0x1d7c0…1d7e0       31 2c 6e 75 6d 62 65 72 31 2c 74 79 70 65 32 0a 20 20 20 20 20 63 6c 61 73 73 32 2c 6e 61 6d 65   ┆1,number1,type2      class2,name┆
0x1d7e0…1d800       32 2c 6e 75 6d 62 65 72 32 2c 74 79 70 65 32 20 2a 3e 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72   ┆2,number2,type2 *>    integer pr┆
0x1d800…1d820       6f 63 65 64 75 72 65 20 6e 65 78 74 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6e 65 78 74 20 3a 3d 20   ┆ocedure next;   begin   next := ┆
0x1d820…1d840       63 6c 61 73 73 20 3a 3d 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e   ┆class := get_next_element(name,n┆
0x1d840…1d860       75 6d 62 65 72 29 3b 0a 20 20 74 79 70 65 20 3a 3d 20 69 66 20 63 6c 61 73 73 20 3d 20 74 65 78   ┆umber);   type := if class = tex┆
0x1d860…1d880       74 5f 63 6c 61 73 73 20 74 68 65 6e 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30   ┆t_class then name_table(number,0┆
0x1d880…1d8a0       29 20 65 6c 73 65 20 63 6c 61 73 73 3b 0a 20 20 65 6e 64 20 6e 65 78 74 3b 0a 0a 20 20 69 6e 74   ┆) else class;   end next;    int┆
0x1d8a0…1d8c0       65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6e 65 78 74 31 3b 0a 20 20 62 65 67 69 6e 0a 20 20   ┆eger procedure next1;   begin   ┆
0x1d8c0…1d8e0       6e 65 78 74 31 20 3a 3d 20 63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d   ┆next1 := class1 := get_next_elem┆
0x1d8e0…1d900       65 6e 74 28 6e 61 6d 65 31 2c 6e 75 6d 62 65 72 31 29 3b 0a 20 20 74 79 70 65 31 20 3a 3d 20 69   ┆ent(name1,number1);   type1 := i┆
0x1d900…1d920       66 20 63 6c 61 73 73 31 20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 20 74 68 65 6e 20 6e 61 6d 65   ┆f class1 = text_class  then name┆
0x1d920…1d940       5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 65 6c 73 65 20 63 6c 61 73 73 31 3b 0a 20 20   ┆_table(number,0) else class1;   ┆
0x1d940…1d960       65 6e 64 20 6e 65 78 74 31 3b 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20   ┆end next1;    integer procedure ┆
0x1d960…1d980       6e 65 78 74 32 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6e 65 78 74 32 3a 3d 63 6c 61 73 73 32 3a 3d   ┆next2;   begin   next2:=class2:=┆
0x1d980…1d9a0       67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 32 2c 6e 75 6d 62 65 72 32 29 3b   ┆get_next_element(name2,number2);┆
0x1d9a0…1d9c0       0a 20 20 74 79 70 65 32 20 3a 3d 20 69 66 20 63 6c 61 73 73 32 20 3d 20 74 65 78 74 5f 63 6c 61   ┆   type2 := if class2 = text_cla┆
0x1d9c0…1d9e0       73 73 20 74 68 65 6e 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 65 6c 73   ┆ss then name_table(number,0) els┆
0x1d9e0…1da00       65 20 63 6c 61 73 73 32 3b 0a 20 20 65 6e 64 20 6e 65 78 74 32 3b 0a 0a 20 20 69 6e 74 65 67 65   ┆e class2;   end next2;    intege┆
0x1da00…1da20       72 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 5f 6e 65 78 74 3b 0a 20 20 62 65 67 69 6e 0a 20   ┆r procedure skip_next;   begin  ┆
0x1da20…1da40       20 6c 6f 6e 67 20 64 75 6d 6d 79 6e 61 6d 65 2c 64 75 6d 6d 79 6e 75 6d 62 65 72 3b 0a 20 20 73   ┆ long dummyname,dummynumber;   s┆
0x1da40…1da60       6b 69 70 5f 6e 65 78 74 3a 3d 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 64 75 6d 6d 79   ┆kip_next:=get_next_element(dummy┆
0x1da60…1da80       6e 61 6d 65 2c 64 75 6d 6d 79 6e 75 6d 62 65 72 29 3b 0a 20 20 65 6e 64 20 73 6b 69 70 5f 6e 65   ┆name,dummynumber);   end skip_ne┆
0x1da80…1daa0       78 74 3b 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f 6b 3b 0a 20   ┆xt;    integer procedure look;  ┆
0x1daa0…1dac0       20 62 65 67 69 6e 0a 20 20 6c 6f 6f 6b 20 3a 3d 20 63 6c 61 73 73 20 3a 3d 20 6c 6f 6f 6b 5f 61   ┆ begin   look := class := look_a┆
0x1dac0…1dae0       68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 65 6e 64 20 6c 6f 6f 6b 3b 0a 0a 20 20 69 6e 74 65 67   ┆head_class;   end look;    integ┆
0x1dae0…1db00       65 72 20 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f 6b 31 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6c 6f   ┆er procedure look1;   begin   lo┆
0x1db00…1db20       6f 6b 31 20 3a 3d 20 63 6c 61 73 73 31 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73   ┆ok1 := class1 := look_ahead_clas┆
0x1db20…1db40       73 3b 0a 20 20 65 6e 64 20 6c 6f 6f 6b 31 3b 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65   ┆s;   end look1;    integer proce┆
0x1db40…1db60       64 75 72 65 20 6c 6f 6f 6b 32 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6c 6f 6f 6b 32 3a 3d 20 63 6c   ┆dure look2;   begin   look2:= cl┆
0x1db60…1db80       61 73 73 32 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 65 6e 64 20   ┆ass2 := look_ahead_class;   end ┆
0x1db80…1dba0       6c 6f 6f 6b 32 3b 0a 0a 0a 0a 0a 0a 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72   ┆look2;          integer procedur┆
0x1dba0…1dbc0       65 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 29 3b   ┆e get_next_element(name,number);┆
0x1dbc0…1dbe0       0a 20 20 6c 6f 6e 67 20 6e 61 6d 65 2c 6e 75 6d 62 65 72 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20   ┆   long name,number;   begin    ┆
0x1dbe0…1dc00       20 69 6e 74 65 67 65 72 20 74 6f 2c 74 65 73 74 63 6c 61 73 73 3b 3b 0a 20 20 20 20 67 65 74 5f   ┆ integer to,testclass;;     get_┆
0x1dc00…1dc20       6e 65 78 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 74 65 73 74 63 6c 61 73 73 20 3a 3d 20 67 65 74   ┆next_element := testclass := get┆
0x1dc20…1dc40       5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 6c 69 6e 65 5f 70 6f 69 6e 74 65   ┆_element(name,number,line_pointe┆
0x1dc40…1dc60       72 2c 74 6f 29 3b 0a 20 20 20 20 69 66 20 74 65 73 74 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69   ┆r,to);     if test then     begi┆
0x1dc60…1dc80       6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 69 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f   ┆n       integer i;       write(o┆
0x1dc80…1dca0       75 74 2c 3c 3a 3c 31 30 3e 2a 2a 2a 20 74 65 73 74 63 6c 61 73 73 3a 20 3a 3e 2c 3c 3c 5f 64 64   ┆ut,<:<10>*** testclass: :>,<<_dd┆
0x1dca0…1dcc0       3e 2c 74 65 73 74 5f 63 6c 61 73 73 2c 6c 69 6e 65 70 6f 69 6e 74 65 72 2c 74 6f 2c 0a 20 20 20   ┆>,test_class,linepointer,to,    ┆
0x1dcc0…1dce0       20 20 20 3c 3a 20 72 6b 69 6e 64 3a 20 3a 3e 29 3b 0a 20 20 20 20 20 20 66 6f 72 20 69 3a 3d 31   ┆   <: rkind: :>);       for i:=1┆
0x1dce0…1dd00       20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 6e 6f 5f 6f 66 5f 65 6c 65 6d 65 6e 74 73 20 64 6f 0a   ┆ step 1 until no_of_elements do ┆
0x1dd00…1dd20 (53,) 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 5f 64 64 3e 2c 72 65 61 64 5f 6b 69 6e 64   ┆      write(out,<<_dd>,read_kind┆
0x1dd20…1dd40       28 69 29 29 3b 0a 20 20 20 20 65 6e 64 20 74 65 73 74 3b 0a 20 20 20 20 65 6c 65 6d 65 6e 74 5f   ┆(i));     end test;     element_┆
0x1dd40…1dd60       6e 6f 3a 3d 65 6c 65 6d 65 6e 74 5f 6e 6f 2b 31 3b 0a 20 20 20 20 6c 69 6e 65 5f 70 6f 69 6e 74   ┆no:=element_no+1;     line_point┆
0x1dd60…1dd80       65 72 20 3a 3d 20 69 66 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3d 20 6e 6f 5f 6f 66 5f 65 6c   ┆er := if line_pointer = no_of_el┆
0x1dd80…1dda0       65 6d 65 6e 74 73 20 74 68 65 6e 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 65 6c 73 65 20 74 6f   ┆ements then line_pointer else to┆
0x1dda0…1ddc0       3b 0a 20 20 65 6e 64 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 3b 0a 0a 0a 0a 20 20 69   ┆;   end get_next_element;      i┆
0x1ddc0…1dde0       6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d   ┆nteger procedure get_element(nam┆
0x1dde0…1de00       65 2c 6e 75 6d 62 65 72 2c 66 72 6f 6d 2c 74 6f 29 3b 0a 20 20 76 61 6c 75 65 20 66 72 6f 6d 3b   ┆e,number,from,to);   value from;┆
0x1de00…1de20       20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 3b 20 6c 6f 6e 67 20 6e 61 6d 65 2c 6e 75 6d 62   ┆ integer from,to; long name,numb┆
0x1de20…1de40       65 72 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 63 6c 61 73 73 3b 0a 20   ┆er;   begin     integer class;  ┆
0x1de40…1de60       20 20 20 66 6f 72 20 63 6c 61 73 73 3a 3d 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 20 77 68   ┆   for class:=read_kind(from) wh┆
0x1de60…1de80       69 6c 65 20 63 6c 61 73 73 20 3d 20 64 65 6c 69 6d 5f 63 6c 61 73 73 20 64 6f 0a 20 20 20 20 66   ┆ile class = delim_class do     f┆
0x1de80…1dea0       72 6f 6d 20 3a 3d 20 66 72 6f 6d 20 2b 20 31 3b 0a 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d   ┆rom := from + 1;      if class =┆
0x1dea0…1dec0       20 36 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 72 65 61 64 5f   ┆ 6 then     begin       if read_┆
0x1dec0…1dee0       6b 69 6e 64 28 66 72 6f 6d 2b 31 29 20 3c 3e 20 36 20 6f 72 0a 20 20 20 20 20 20 28 20 72 65 61   ┆kind(from+1) <> 6 or       ( rea┆
0x1dee0…1df00       64 5f 6b 69 6e 64 28 66 72 6f 6d 2b 31 29 20 3d 20 36 20 61 6e 64 20 72 65 61 64 5f 76 61 6c 75   ┆d_kind(from+1) = 6 and read_valu┆
0x1df00…1df20       65 28 66 72 6f 6d 2b 31 29 20 3d 20 30 29 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a   ┆e(from+1) = 0) then       begin ┆
0x1df20…1df40       20 20 20 20 20 20 20 20 3c 2a 20 73 68 6f 72 74 20 74 65 78 74 20 2a 3e 0a 20 20 20 20 20 20 20   ┆        <* short text *>        ┆
0x1df40…1df60       20 6e 61 6d 65 20 3a 3d 20 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29 3b 0a 20 20 20 20 20   ┆ name := read_value(from);      ┆
0x1df60…1df80       20 20 20 69 66 20 6e 61 6d 65 20 3d 20 66 69 6e 64 5f 6e 61 6d 65 28 31 29 20 74 68 65 6e 20 66   ┆   if name = find_name(1) then f┆
0x1df80…1dfa0       6f 75 6e 64 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 69 66 20 6c 6f 6f 6b 5f 75 70   ┆ound := true;         if look_up┆
0x1dfa0…1dfc0       5f 6e 61 6d 65 28 6e 61 6d 65 5f 74 61 62 6c 65 2c 6e 61 6d 65 2c 6e 75 6d 62 65 72 29 20 74 68   ┆_name(name_table,name,number) th┆
0x1dfc0…1dfe0       65 6e 0a 20 20 20 20 20 20 20 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 36 20 65 6c 73 65   ┆en         get_element := 6 else┆
0x1dfe0…1e000       20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 39 3b 0a 0a 0a 20 20 20 20 20 20 65 6e 64 0a 20   ┆ get_element := 9;         end  ┆
0x1e000…1e020       20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 37 3b 0a 20 20 20 20   ┆     else get_element := 7;     ┆
0x1e020…1e040       20 20 3c 2a 20 73 6b 69 70 20 74 6f 20 31 2e 20 6e 6f 74 20 74 65 78 74 20 65 6c 65 6d 65 6e 74   ┆  <* skip to 1. not text element┆
0x1e040…1e060       20 2a 3e 0a 20 20 20 20 20 20 66 72 6f 6d 20 3a 3d 20 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 20 20   ┆ *>       from := from+1;       ┆
0x1e060…1e080       66 6f 72 20 63 6c 61 73 73 20 3a 3d 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 20 77 68 69   ┆for class := read_kind(from) whi┆
0x1e080…1e0a0       6c 65 20 63 6c 61 73 73 20 3d 20 36 20 64 6f 0a 20 20 20 20 20 20 66 72 6f 6d 20 3a 3d 20 66 72   ┆le class = 6 do       from := fr┆
0x1e0a0…1e0c0       6f 6d 2b 31 3b 0a 20 20 20 20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 3b 0a 20 20 20 20 65 6e 64 0a   ┆om+1;       to := from;     end ┆
0x1e0c0…1e0e0       20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 70 6c 75 73 5f 63 6c 61   ┆    else     if class = plus_cla┆
0x1e0e0…1e100       73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 67 65 74 5f 69   ┆ss then     begin       if get_i┆
0x1e100…1e120       6e 74 65 67 65 72 28 6e 75 6d 62 65 72 2c 66 72 6f 6d 2b 31 2c 74 6f 29 20 74 68 65 6e 20 67 65   ┆nteger(number,from+1,to) then ge┆
0x1e120…1e140       74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 32 0a 0a 20 20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65   ┆t_element := 2        else get_e┆
0x1e140…1e160       6c 65 6d 65 6e 74 20 3a 3d 20 31 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20   ┆lement := 1;     end     else   ┆
0x1e160…1e180       20 20 69 66 20 63 6c 61 73 73 20 3d 20 6d 69 6e 75 73 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20   ┆  if class = minus_class then   ┆
0x1e180…1e1a0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 67 65 74 5f 69 6e 74 65 67 65 72 28 6e 75 6d   ┆  begin       if get_integer(num┆
0x1e1a0…1e1c0       62 65 72 2c 66 72 6f 6d 2b 31 2c 74 6f 29 20 74 68 65 6e 20 67 65 74 5f 65 6c 65 6d 65 6e 74 3a   ┆ber,from+1,to) then get_element:┆
0x1e1c0…1e1e0       3d 32 0a 20 20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 3a 3d 31 3b 0a 20 20   ┆=2       else get_element:=1;   ┆
0x1e1e0…1e200       20 20 20 20 6e 75 6d 62 65 72 3a 3d 20 6e 75 6d 62 65 72 2a 28 2d 31 29 3b 0a 20 20 20 20 65 6e   ┆    number:= number*(-1);     en┆
0x1e200…1e220       64 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 32 20 74 68 65 6e 0a 20 20 20   ┆d else     if class = 2 then    ┆
0x1e220…1e240       20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 67 65 74 5f 69 6e 74 65 67 65 72 28 6e 75 6d 62   ┆ begin       if get_integer(numb┆
0x1e240…1e260       65 72 2c 66 72 6f 6d 2c 74 6f 29 20 74 68 65 6e 20 67 65 74 5f 65 6c 65 6d 65 6e 74 3a 3d 32 0a   ┆er,from,to) then get_element:=2 ┆
0x1e260…1e280       20 20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 31 3b 0a 20 20 20   ┆      else get_element := 1;    ┆
0x1e280…1e2a0       20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73 74 6f   ┆ end     else     if class = sto┆
0x1e2a0…1e2c0       70 5f 6c 69 6e 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆p_line_class then     begin     ┆
0x1e2c0…1e2e0       20 20 6e 75 6d 62 65 72 20 3a 3d 20 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29 3b 0a 20 20   ┆  number := read_value(from);   ┆
0x1e2e0…1e300       20 20 20 20 69 66 20 6e 75 6d 62 65 72 20 65 78 74 72 61 63 74 20 32 34 20 3d 20 32 35 20 3c 2a   ┆    if number extract 24 = 25 <*┆
0x1e300…1e320       20 65 6f 66 20 76 61 6c 75 65 20 2a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 67 65 74 5f 65 6c 65   ┆ eof value *> then       get_ele┆
0x1e320…1e340       6d 65 6e 74 20 3a 3d 20 65 6f 66 5f 63 6c 61 73 73 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20   ┆ment := eof_class       else    ┆
0x1e340…1e360       20 20 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 74 6f   ┆   get_element :=class;       to┆
0x1e360…1e380       20 3a 3d 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 62 65 67 69   ┆ :=from+1;     end else     begi┆
0x1e380…1e3a0       6e 0a 20 20 20 20 20 20 6e 75 6d 62 65 72 3a 3d 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29   ┆n       number:=read_value(from)┆
0x1e3a0…1e3c0       3b 0a 20 20 20 20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 20 20 67 65 74 5f   ┆;       to := from+1;       get_┆
0x1e3c0…1e3e0       65 6c 65 6d 65 6e 74 20 3a 3d 20 63 6c 61 73 73 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 65 6e 64   ┆element := class;     end;   end┆
0x1e3e0…1e400       20 67 65 74 5f 65 6c 65 6d 65 6e 74 3b 0a 0a 0a 20 20 62 6f 6f 6c 65 61 6e 20 70 72 6f 63 65 64   ┆ get_element;     boolean proced┆
0x1e400…1e420       75 72 65 20 67 65 74 5f 69 6e 74 65 67 65 72 28 6e 75 6d 62 65 72 2c 66 72 6f 6d 2c 74 6f 29 3b   ┆ure get_integer(number,from,to);┆
0x1e420…1e440       0a 20 20 76 61 6c 75 65 20 66 72 6f 6d 3b 20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 3b 20   ┆   value from; integer from,to; ┆
0x1e440…1e460       6c 6f 6e 67 20 6e 75 6d 62 65 72 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 6c 6f 6e 67 20 62 61   ┆long number;   begin     long ba┆
0x1e460…1e480       73 65 3b 0a 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 3c 3e 20 32 20 74   ┆se;     if read_kind(from)<> 2 t┆
0x1e480…1e4a0       68 65 6e 20 67 65 74 5f 69 6e 74 65 67 65 72 3a 3d 66 61 6c 73 65 0a 20 20 20 20 65 6c 73 65 0a   ┆hen get_integer:=false     else ┆
0x1e4a0…1e4c0       20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f   ┆    begin       if read_kind(fro┆
0x1e4c0…1e4e0       6d 2b 31 29 20 3d 20 70 65 72 69 6f 64 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62   ┆m+1) = period_class then       b┆
0x1e4e0…1e500       65 67 69 6e 0a 20 20 20 20 20 20 20 20 62 61 73 65 3a 3d 72 65 61 64 5f 76 61 6c 75 65 28 66 72   ┆egin         base:=read_value(fr┆
0x1e500…1e520       6f 6d 29 3b 0a 20 20 20 20 20 20 20 20 66 72 6f 6d 3a 3d 66 72 6f 6d 2b 32 3b 0a 20 20 20 20 20   ┆om);         from:=from+2;      ┆
0x1e520…1e540       20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 20 3c 3e 20 32 20 74 68 65 6e 0a   ┆   if read_kind(from) <> 2 then ┆
0x1e540…1e560       20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 67 65 74 5f 69 6e 74 65   ┆        begin           get_inte┆
0x1e560…1e580       67 65 72 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 3a 3d 20 66 72   ┆ger := false;           to := fr┆
0x1e580…1e5a0       6f 6d 2d 31 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 62   ┆om-1;         end else         b┆
0x1e5a0…1e5c0       65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 3a 3d 72 65 61 64 5f 76 61 6c 75   ┆egin           number:=read_valu┆
0x1e5c0…1e5e0       65 28 66 72 6f 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 67 65 74 5f 69 6e 74 65 67 65 72 3a 3d   ┆e(from);           get_integer:=┆
0x1e5e0…1e600       62 61 73 65 5f 63 6f 6e 76 65 72 74 28 62 61 73 65 2c 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 20   ┆base_convert(base,number);      ┆
0x1e600…1e620 (54,) 20 20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 3b   ┆    to := from + 1;         end;┆
0x1e620…1e640       0a 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆       end else       begin     ┆
0x1e640…1e660       20 20 20 20 6e 75 6d 62 65 72 3a 3d 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29 3b 0a 20 20   ┆    number:=read_value(from);   ┆
0x1e660…1e680       20 20 20 20 20 20 67 65 74 5f 69 6e 74 65 67 65 72 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20   ┆      get_integer := true;      ┆
0x1e680…1e6a0       20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 20 2b 20 31 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20   ┆   to := from + 1;       end;   ┆
0x1e6a0…1e6c0       20 20 65 6e 64 3b 0a 20 20 65 6e 64 20 67 65 74 5f 69 6e 74 65 67 65 72 3b 0a 0a 0a 20 20 62 6f   ┆  end;   end get_integer;     bo┆
0x1e6c0…1e6e0       6f 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 62 61 73 65 5f 63 6f 6e 76 65 72 74 28 62 61 73   ┆olean procedure base_convert(bas┆
0x1e6e0…1e700       65 2c 6e 75 6d 62 65 72 29 3b 0a 20 20 6c 6f 6e 67 20 62 61 73 65 2c 6e 75 6d 62 65 72 3b 0a 20   ┆e,number);   long base,number;  ┆
0x1e700…1e720       20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 73 68 69 66 74 5f 69 6e 64 65 78 3b 20   ┆ begin     integer shift_index; ┆
0x1e720…1e740       6c 6f 6e 67 20 6e 75 6d 62 65 72 31 2c 6e 75 6d 62 65 72 32 3b 0a 20 20 20 20 6e 75 6d 62 65 72   ┆long number1,number2;     number┆
0x1e740…1e760       32 3a 3d 30 3b 20 73 68 69 66 74 5f 69 6e 64 65 78 20 3a 3d 30 3b 0a 20 20 20 20 62 61 73 65 5f   ┆2:=0; shift_index :=0;     base_┆
0x1e760…1e780       63 6f 6e 76 65 72 74 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 20 62 61 73 65 20 3d 20 38   ┆convert := true;     if base = 8┆
0x1e780…1e7a0       20 74 68 65 6e 20 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 66 6f 72 20 6e 75 6d 62 65   ┆ then      begin       for numbe┆
0x1e7a0…1e7c0       72 31 20 3a 3d 20 6e 75 6d 62 65 72 20 6d 6f 64 20 31 30 20 77 68 69 6c 65 20 6e 75 6d 62 65 72   ┆r1 := number mod 10 while number┆
0x1e7c0…1e7e0       20 3c 3e 20 30 20 64 6f 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6e 75 6d   ┆ <> 0 do       begin         num┆
0x1e7e0…1e800       62 65 72 20 3a 3d 20 6e 75 6d 62 65 72 20 2f 2f 20 31 30 3b 0a 20 20 20 20 20 20 20 20 69 66 20   ┆ber := number // 10;         if ┆
0x1e800…1e820       6e 75 6d 62 65 72 31 3e 37 20 6f 72 20 6e 75 6d 62 65 72 31 20 3c 20 30 20 74 68 65 6e 20 62 61   ┆number1>7 or number1 < 0 then ba┆
0x1e820…1e840       73 65 5f 63 6f 6e 76 65 72 74 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 6e 75 6d   ┆se_convert := false;         num┆
0x1e840…1e860       62 65 72 32 3a 3d 6e 75 6d 62 65 72 32 20 2b 20 6e 75 6d 62 65 72 31 20 73 68 69 66 74 20 73 68   ┆ber2:=number2 + number1 shift sh┆
0x1e860…1e880       69 66 74 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 73 68 69 66 74 5f 69 6e 64 65 78 20 3a   ┆ift_index;         shift_index :┆
0x1e880…1e8a0       3d 20 73 68 69 66 74 5f 69 6e 64 65 78 2b 33 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20   ┆= shift_index+3;       end;     ┆
0x1e8a0…1e8c0       20 20 6e 75 6d 62 65 72 20 3a 3d 20 6e 75 6d 62 65 72 32 3b 0a 20 20 20 20 65 6e 64 20 65 6c 73   ┆  number := number2;     end els┆
0x1e8c0…1e8e0       65 20 62 61 73 65 5f 63 6f 6e 76 65 72 74 3a 3d 66 61 6c 73 65 3b 0a 20 20 65 6e 64 20 62 61 73   ┆e base_convert:=false;   end bas┆
0x1e8e0…1e900       65 5f 63 6f 6e 76 65 72 74 3b 0a 20 20 62 6f 6f 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 72   ┆e_convert;   boolean procedure r┆
0x1e900…1e920       65 61 64 5f 61 6e 64 5f 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61 6e 64 29 3b 0a 20 20 3c 2a 2a   ┆ead_and_set_bits(operand);   <**┆
0x1e920…1e940       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1e940…1e960       2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6f 70 65 72 61 6e 64 3b 0a   ┆********>   long array operand; ┆
0x1e960…1e980       20 20 62 65 67 69 6e 0a 20 20 62 6f 6f 6c 65 61 6e 20 65 72 72 6f 72 3b 0a 20 20 65 72 72 6f 72   ┆  begin   boolean error;   error┆
0x1e980…1e9a0       20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 0a 20 20 72 65 70 65 61 74 0a 20 20 20 20 62 65 67 69 6e   ┆ := false;      repeat     begin┆
0x1e9a0…1e9c0       0a 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6c 65 66 74 5f 70   ┆     next;     if class = left_p┆
0x1e9c0…1e9e0       61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20   ┆ar_class then       begin       ┆
0x1e9e0…1ea00       69 66 20 6e 65 78 74 31 20 3c 3e 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20   ┆if next1 <> number_class then   ┆
0x1ea00…1ea20       20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20 74 72 75 65 0a 20 20 20 20 20 20 20 65 6c 73 65 0a   ┆      error := true        else ┆
0x1ea20…1ea40       20 20 20 20 20 20 69 66 20 6e 65 78 74 3c 3e 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e   ┆      if next<> colon_class then┆
0x1ea40…1ea60       0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 65   ┆         error := true         e┆
0x1ea60…1ea80       6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 65 78 74 32 20 3c 3e 20 6e 75 6d 62 65 72 5f 63 6c 61   ┆lse       if next2 <> number_cla┆
0x1ea80…1eaa0       73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20 74 72 75 65 0a 20 20   ┆ss then         error := true   ┆
0x1eaa0…1eac0       20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 65 78 74 20 3c 3e 20 72 69 67 68 74   ┆     else       if next <> right┆
0x1eac0…1eae0       5f 70 61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20   ┆_par_class then        error := ┆
0x1eae0…1eb00       74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 69 66 20 6e 75 6d 62 65 72 5f 31 20 3c 3d 20 6e 75 6d   ┆true;         if number_1 <= num┆
0x1eb00…1eb20       62 65 72 5f 32 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 31 20 3e 3d   ┆ber_2 and            number_1 >=┆
0x1eb20…1eb40       20 30 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 32 20 3c 3d 20 6e 6f   ┆ 0 and            number_2 <= no┆
0x1eb40…1eb60       5f 6f 66 5f 62 69 74 73 5f 69 6e 5f 63 6f 64 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20   ┆_of_bits_in_code and            ┆
0x1eb60…1eb80       2d 2c 20 65 72 72 6f 72 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a   ┆-, error then            error :┆
0x1eb80…1eba0       3d 20 2d 2c 20 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61 6e 64 2c 6e 75 6d 62 65 72 31 20 65 78   ┆= -, set_bits(operand,number1 ex┆
0x1eba0…1ebc0       74 72 61 63 74 20 32 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75   ┆tract 24,                     nu┆
0x1ebc0…1ebe0       6d 62 65 72 32 20 65 78 74 72 61 63 74 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 65 6c 73 65 20   ┆mber2 extract 24)          else ┆
0x1ebe0…1ec00       65 72 72 6f 72 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 0a 20 20 20   ┆error := true;        next;     ┆
0x1ec00…1ec20       20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6e 75 6d 62   ┆    end else     if class = numb┆
0x1ec20…1ec40       65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 69 66   ┆er_class then      begin      if┆
0x1ec40…1ec60       20 6e 75 6d 62 65 72 20 3e 3d 20 30 20 61 6e 64 20 20 6e 75 6d 62 65 72 20 3c 3d 20 6e 6f 5f 6f   ┆ number >= 0 and  number <= no_o┆
0x1ec60…1ec80       66 5f 62 69 74 73 5f 69 6e 5f 63 6f 64 65 20 74 68 65 6e 0a 20 20 20 20 20 65 72 72 6f 72 20 3a   ┆f_bits_in_code then      error :┆
0x1ec80…1eca0       3d 20 2d 2c 20 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61 6e 64 2c 6e 75 6d 62 65 72 20 65 78 74   ┆= -, set_bits(operand,number ext┆
0x1eca0…1ecc0       72 61 63 74 20 32 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 65 78   ┆ract 24,               number ex┆
0x1ecc0…1ece0       74 72 61 63 74 20 32 34 29 0a 20 20 20 20 20 20 65 6c 73 65 20 65 72 72 6f 72 20 3a 3d 20 74 72   ┆tract 24)       else error := tr┆
0x1ece0…1ed00       75 65 3b 0a 20 20 20 20 20 20 6e 65 78 74 3b 0a 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20   ┆ue;       next;        end;     ┆
0x1ed00…1ed20       65 6e 64 3b 0a 20 20 75 6e 74 69 6c 20 63 6c 61 73 73 20 3c 3e 20 63 6f 6d 6d 61 5f 63 6c 61 73   ┆end;   until class <> comma_clas┆
0x1ed20…1ed40       73 20 6f 72 20 65 72 72 6f 72 3b 0a 20 20 72 65 61 64 5f 61 6e 64 5f 73 65 74 5f 62 69 74 73 20   ┆s or error;   read_and_set_bits ┆
0x1ed40…1ed60       3a 3d 20 2d 2c 20 65 72 72 6f 72 3b 0a 0a 20 20 65 6e 64 20 72 65 61 64 5f 61 6e 64 5f 73 65 74   ┆:= -, error;    end read_and_set┆
0x1ed60…1ed80       5f 62 69 74 73 3b 0a 0a 20 20 62 6f 6f 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f   ┆_bits;    boolean procedure set_┆
0x1ed80…1eda0       62 69 74 73 28 6f 70 65 72 61 6e 64 2c 62 69 74 5f 6c 6f 77 2c 62 69 74 5f 68 69 67 68 29 3b 0a   ┆bits(operand,bit_low,bit_high); ┆
0x1eda0…1edc0       20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆  <*****************************┆
0x1edc0…1ede0       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 76 61 6c 75 65   ┆***********************>   value┆
0x1ede0…1ee00       20 62 69 74 5f 6c 6f 77 2c 62 69 74 5f 68 69 67 68 3b 20 69 6e 74 65 67 65 72 20 62 69 74 5f 6c   ┆ bit_low,bit_high; integer bit_l┆
0x1ee00…1ee20       6f 77 2c 62 69 74 5f 68 69 67 68 3b 0a 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6f 70 65 72 61 6e   ┆ow,bit_high;   long array operan┆
0x1ee20…1ee40       64 3b 0a 20 20 62 65 67 69 6e 0a 20 20 69 6e 74 65 67 65 72 20 0a 20 20 20 20 69 6e 64 65 78 5f   ┆d;   begin   integer      index_┆
0x1ee40…1ee60       6c 6f 77 2c 0a 20 20 20 20 69 6e 64 65 78 5f 68 69 67 68 2c 0a 20 20 20 20 62 69 74 5f 68 69 67   ┆low,     index_high,     bit_hig┆
0x1ee60…1ee80       68 5f 69 6e 5f 77 6f 72 64 2c 0a 20 20 20 20 62 69 74 5f 6c 6f 77 5f 69 6e 5f 77 6f 72 64 2c 0a   ┆h_in_word,     bit_low_in_word, ┆
0x1ee80…1eea0       20 20 20 20 77 6f 72 64 5f 69 6e 64 65 78 3b 0a 0a 20 20 69 66 20 62 69 74 5f 68 69 67 68 20 3c   ┆    word_index;    if bit_high <┆
0x1eea0…1eec0       20 62 69 74 5f 6c 6f 77 20 74 68 65 6e 0a 20 20 20 20 73 65 74 5f 62 69 74 73 20 3a 3d 20 66 61   ┆ bit_low then     set_bits := fa┆
0x1eec0…1eee0       6c 73 65 0a 20 20 20 65 6c 73 65 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 64 65 78 5f   ┆lse    else     begin     index_┆
0x1eee0…1ef00       6c 6f 77 20 3a 3d 20 63 61 73 65 20 28 20 62 69 74 5f 6c 6f 77 2f 2f 34 38 29 20 2b 20 31 20 6f   ┆low := case ( bit_low//48) + 1 o┆
0x1ef00…1ef20 (55,) 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c   ┆f                  (1,2,3,4,5,6,┆
0x1ef20…1ef40       37 2c 38 29 3b 0a 20 20 20 20 69 6e 64 65 78 5f 68 69 67 68 20 3a 3d 20 63 61 73 65 20 28 62 69   ┆7,8);     index_high := case (bi┆
0x1ef40…1ef60       74 5f 68 69 67 68 2f 2f 34 38 29 20 2b 20 31 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆t_high//48) + 1 of              ┆
0x1ef60…1ef80       20 20 20 20 28 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 2c 38 29 3b 0a 20 20 20 20 62 69 74 5f 6c   ┆    (1,2,3,4,5,6,7,8);     bit_l┆
0x1ef80…1efa0       6f 77 5f 69 6e 5f 77 6f 72 64 20 3a 3d 20 62 69 74 5f 6c 6f 77 20 6d 6f 64 20 34 38 3b 0a 20 20   ┆ow_in_word := bit_low mod 48;   ┆
0x1efa0…1efc0       20 20 62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 20 3a 3d 20 62 69 74 5f 68 69 67 68 20 6d   ┆  bit_high_in_word := bit_high m┆
0x1efc0…1efe0       6f 64 20 34 38 3b 0a 20 20 20 20 69 66 20 69 6e 64 65 78 5f 6c 6f 77 20 3d 20 69 6e 64 65 78 5f   ┆od 48;     if index_low = index_┆
0x1efe0…1f000       68 69 67 68 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6f 70 65 72   ┆high then       begin       oper┆
0x1f000…1f020       61 6e 64 28 69 6e 64 65 78 5f 6c 6f 77 29 20 3a 3d 20 6c 6f 67 5f 6f 72 28 6f 70 65 72 61 6e 64   ┆and(index_low) := log_or(operand┆
0x1f020…1f040       28 69 6e 64 65 78 5f 6c 6f 77 29 2c 0a 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 28 2d 31 29 20   ┆(index_low),         extend(-1) ┆
0x1f040…1f060       73 68 69 66 74 20 28 28 2d 34 38 29 2b 28 62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 2b 31   ┆shift ((-48)+(bit_high_in_word+1┆
0x1f060…1f080       2d 62 69 74 5f 6c 6f 77 5f 69 6e 5f 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 73 68 69 66 74   ┆-bit_low_in_word))         shift┆
0x1f080…1f0a0       20 28 34 37 20 2d 20 62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 29 29 3b 0a 20 20 20 20 20   ┆ (47 - bit_high_in_word));      ┆
0x1f0a0…1f0c0       20 65 6e 64 0a 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆ end      else        begin     ┆
0x1f0c0…1f0e0       20 20 20 6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 6c 6f 77 29 20 3a 3d 20 6c 6f 67 5f 6f 72 28   ┆   operand(index_low) := log_or(┆
0x1f0e0…1f100       6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 6c 6f 77 29 2c 0a 20 20 20 20 20 20 20 20 20 65 78 74   ┆operand(index_low),          ext┆
0x1f100…1f120       65 6e 64 20 28 2d 31 29 20 73 68 69 66 74 20 28 20 2d 20 62 69 74 5f 6c 6f 77 5f 69 6e 5f 77 6f   ┆end (-1) shift ( - bit_low_in_wo┆
0x1f120…1f140       72 64 29 29 3b 0a 20 20 20 20 20 20 20 6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 68 69 67 68 29   ┆rd));        operand(index_high)┆
0x1f140…1f160       20 3a 3d 20 6c 6f 67 5f 6f 72 28 6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 68 69 67 68 29 2c 0a   ┆ := log_or(operand(index_high), ┆
0x1f160…1f180       20 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 28 2d 31 29 20 73 68 69 66 74 20 28 34 37 20 2d 20   ┆         extend(-1) shift (47 - ┆
0x1f180…1f1a0       62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 29 29 3b 0a 20 20 20 20 20 20 20 66 6f 72 20 77   ┆bit_high_in_word));        for w┆
0x1f1a0…1f1c0       6f 72 64 5f 69 6e 64 65 78 20 3a 3d 20 69 6e 64 65 78 5f 6c 6f 77 2b 31 20 73 74 65 70 20 31 20   ┆ord_index := index_low+1 step 1 ┆
0x1f1c0…1f1e0       75 6e 74 69 6c 20 69 6e 64 65 78 5f 6c 6f 77 20 20 2d 20 31 20 64 6f 0a 20 20 20 20 20 20 20 20   ┆until index_low  - 1 do         ┆
0x1f1e0…1f200       20 6f 70 65 72 61 6e 64 28 77 6f 72 64 5f 69 6e 64 65 78 29 20 3a 3d 20 2d 31 3b 0a 20 20 20 20   ┆ operand(word_index) := -1;     ┆
0x1f200…1f220       20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 73 65 74 5f 62 69 74 73 20 3a 3d 20 74 72 75 65 3b   ┆    end;       set_bits := true;┆
0x1f220…1f240       0a 20 20 20 20 65 6e 64 3b 0a 0a 20 20 65 6e 64 20 73 65 74 5f 62 69 74 73 3b 0a 0a 0a 0a 20 20   ┆     end;    end set_bits;      ┆
0x1f240…1f260       6c 6f 6e 67 20 70 72 6f 63 65 64 75 72 65 20 69 6e 69 74 5f 6d 61 73 6b 28 6f 70 65 72 61 6e 64   ┆long procedure init_mask(operand┆
0x1f260…1f280       2c 66 72 6f 6d 2c 74 6f 29 3b 0a 20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆,from,to);   <******************┆
0x1f280…1f2a0       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 76 61 6c 75   ┆************************>   valu┆
0x1f2a0…1f2c0       65 20 66 72 6f 6d 2c 74 6f 2c 6f 70 65 72 61 6e 64 3b 20 6c 6f 6e 67 20 6f 70 65 72 61 6e 64 3b   ┆e from,to,operand; long operand;┆
0x1f2c0…1f2e0       20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 3b 0a 20 20 69 6e 69 74 5f 6d 61 73 6b 3a 3d 6d   ┆ integer from,to;   init_mask:=m┆
0x1f2e0…1f300       61 73 6b 5f 69 6e 28 6f 70 65 72 61 6e 64 2c 65 78 74 65 6e 64 20 28 2d 31 29 2c 0a 20 20 65 78   ┆ask_in(operand,extend (-1),   ex┆
0x1f300…1f320       74 65 6e 64 20 28 2d 31 29 20 73 68 69 66 74 20 28 28 2d 34 38 29 2b 28 74 6f 2b 31 2d 66 72 6f   ┆tend (-1) shift ((-48)+(to+1-fro┆
0x1f320…1f340       6d 29 29 20 20 73 68 69 66 74 20 28 34 37 2d 74 6f 29 29 3b 0a 0a 0a 20 20 3c 2a 20 2a 2a 2a 2a   ┆m))  shift (47-to));     <* ****┆
0x1f340…1f360       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1f360…1f380       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 20 20 20 20 20 64 69 72 65 63 74 69 76 65 20 70 72 6f   ┆*************      directive pro┆
0x1f380…1f3a0       63 65 64 75 72 65 73 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆cedures section      ***********┆
0x1f3a0…1f3c0       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1f3c0…1f3e0       2a 2a 2a 2a 2a 2a 20 2a 3e 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 64 69 72 65 63 74 69 76 65   ┆****** *>    procedure directive┆
0x1f3e0…1f400       5f 73 6b 69 70 5f 75 6e 74 69 6c 3b 0a 20 20 62 65 67 69 6e 0a 20 20 62 6f 6f 6c 65 61 6e 20 75   ┆_skip_until;   begin   boolean u┆
0x1f400…1f420       6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 3b 0a 0a 20 20 6c 6f 6e 67 20 73 6b 69 70   ┆ntil_condition_met;    long skip┆
0x1f420…1f440       5f 65 6e 64 5f 6e 61 6d 65 3b 0a 20 20 6e 65 78 74 31 3b 0a 0a 20 20 69 66 20 63 6c 61 73 73 31   ┆_end_name;   next1;    if class1┆
0x1f440…1f460       20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 31 20 3d 20 75 6e 6b 6e 6f 77   ┆ = text_class or class1 = unknow┆
0x1f460…1f480       6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆n_name_class then     begin     ┆
0x1f480…1f4a0       73 6b 69 70 5f 65 6e 64 5f 6e 61 6d 65 20 3a 3d 20 6e 61 6d 65 31 3b 0a 20 20 20 20 72 65 70 65   ┆skip_end_name := name1;     repe┆
0x1f4a0…1f4c0       61 74 0a 20 20 20 20 20 69 66 20 6c 69 73 74 5f 61 6c 6c 20 74 68 65 6e 20 6c 69 73 74 5f 6c 69   ┆at      if list_all then list_li┆
0x1f4c0…1f4e0       6e 65 3b 0a 20 20 20 20 20 72 65 61 64 5f 6e 65 78 74 5f 73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a   ┆ne;      read_next_source_line; ┆
0x1f4e0…1f500       0a 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73 74 61 72 5f 63 6c 61 73 73 20 74 68 65 6e   ┆      if class = star_class then┆
0x1f500…1f520       0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20   ┆         begin         next1;   ┆
0x1f520…1f540       20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 75 6e 74 69 6c 3a 3e 20   ┆      if name1 = long <:until:> ┆
0x1f540…1f560       74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 6e   ┆then           begin           n┆
0x1f560…1f580       65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 31 20 3d 20 63 6f 6c 6f   ┆ext1;           if class1 = colo┆
0x1f580…1f5a0       6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31   ┆n_class then               next1┆
0x1f5a0…1f5c0       3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 73 6b 69 70 5f 65 6e 64 5f   ┆;           if name1 = skip_end_┆
0x1f5c0…1f5e0       6e 61 6d 65 20 74 68 65 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 5f 63   ┆name then                until_c┆
0x1f5e0…1f600       6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20   ┆ondition_met := true;           ┆
0x1f600…1f620       65 6e 64 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 66 69 72 73   ┆end;         end control of firs┆
0x1f620…1f640       74 20 74 6f 6b 65 6e 3b 0a 20 20 20 20 20 75 6e 74 69 6c 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74   ┆t token;      until until_condit┆
0x1f640…1f660       69 6f 6e 5f 6d 65 74 3b 0a 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 65 72 72   ┆ion_met;      end else       err┆
0x1f660…1f680       6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29   ┆or(directive,line_no,element_no)┆
0x1f680…1f6a0       3b 0a 20 20 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 74 72 75 65 3b 0a 20 20   ┆;   return_from_skip := true;   ┆
0x1f6a0…1f6c0       65 6e 64 20 64 69 72 65 63 74 69 76 65 5f 73 6b 69 70 5f 75 6e 74 69 6c 3b 0a 70 72 6f 63 65 64   ┆end directive_skip_until; proced┆
0x1f6c0…1f6e0       75 72 65 20 64 69 72 65 63 74 69 76 65 5f 6f 6e 6c 79 69 6e 5f 6c 6f 67 69 63 28 6d 6f 64 65 29   ┆ure directive_onlyin_logic(mode)┆
0x1f6e0…1f700       3b 0a 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆; <*****************************┆
0x1f700…1f720       2a 2a 2a 3e 0a 76 61 6c 75 65 20 6d 6f 64 65 3b 20 62 6f 6f 6c 65 61 6e 20 6d 6f 64 65 3b 0a 3c   ┆***> value mode; boolean mode; <┆
0x1f720…1f740       2a 20 69 66 20 6d 6f 64 65 20 69 73 20 74 72 75 65 20 74 68 65 6e 20 73 6b 69 70 20 6f 6e 6c 79   ┆* if mode is true then skip only┆
0x1f740…1f760       20 69 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 0a 20 20 20 65 6c 73 65 20 73 6b 69 70 20 6e 6f   ┆ in is performed    else skip no┆
0x1f760…1f780       74 20 69 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 2a 3e 0a 62 65 67 69 6e 0a 3c 2a 20 63 68   ┆t in is performed *> begin <* ch┆
0x1f780…1f7a0       65 63 6b 20 74 68 65 20 70 61 72 61 6d 20 6c 69 73 74 20 74 6f 20 73 65 20 74 68 65 20 70 61 72   ┆eck the param list to se the par┆
0x1f7a0…1f7c0       61 6d 0a 20 20 20 6d 6f 64 65 2e 3c 74 65 78 74 3e 20 2c 20 77 68 65 72 65 20 3c 74 65 78 74 3e   ┆am    mode.<text> , where <text>┆
0x1f7c0…1f7e0       20 73 63 68 61 6c 6c 20 62 65 20 65 71 75 61 6c 0a 20 20 20 74 68 65 20 6e 65 78 74 20 65 6c 65   ┆ schall be equal    the next ele┆
0x1f7e0…1f800       6d 65 6e 74 20 2a 3e 0a 6c 6f 6e 67 20 61 72 72 61 79 20 70 61 72 61 6d 5f 6e 61 6d 65 2c 75 6e   ┆ment *> long array param_name,un┆
0x1f800…1f820 (56,) 74 69 6c 5f 6e 61 6d 65 2c 6f 6e 6c 79 5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 69 6e 74 65 67 65 72   ┆til_name,only_name(1:2); integer┆
0x1f820…1f840       20 70 61 72 61 6d 5f 63 61 6c 6c 5f 72 65 73 75 6c 74 3b 0a 62 6f 6f 6c 65 61 6e 20 75 6e 74 69   ┆ param_call_result; boolean unti┆
0x1f840…1f860       6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 3b 0a 0a 0a 70 61 72 61 6d 5f 63 61 6c 6c 5f 72 65   ┆l_condition_met;   param_call_re┆
0x1f860…1f880       73 75 6c 74 20 3a 3d 20 67 65 74 5f 74 65 78 74 5f 73 74 72 69 6e 67 28 3c 3a 76 65 72 73 69 6f   ┆sult := get_text_string(<:versio┆
0x1f880…1f8a0       6e 3a 3e 2c 70 61 72 61 6d 5f 6e 61 6d 65 29 3b 0a 63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6c   ┆n:>,param_name); class1 := get_l┆
0x1f8a0…1f8c0       6f 6e 67 5f 6e 61 6d 65 28 6f 6e 6c 79 5f 6e 61 6d 65 29 3b 0a 69 66 20 70 61 72 61 6d 5f 63 61   ┆ong_name(only_name); if param_ca┆
0x1f8c0…1f8e0       6c 6c 5f 72 65 73 75 6c 74 20 3c 3e 20 30 20 6f 72 0a 20 20 20 28 70 61 72 61 6d 5f 63 61 6c 6c   ┆ll_result <> 0 or    (param_call┆
0x1f8e0…1f900       5f 72 65 73 75 6c 74 20 3d 20 30 20 61 6e 64 0a 20 20 20 20 20 28 28 20 6d 6f 64 65 20 61 6e 64   ┆_result = 0 and      (( mode and┆
0x1f900…1f920       20 28 70 61 72 61 6d 5f 6e 61 6d 65 28 31 29 20 3c 3e 20 6f 6e 6c 79 5f 6e 61 6d 65 28 31 29 20   ┆ (param_name(1) <> only_name(1) ┆
0x1f920…1f940       6f 72 0a 20 20 20 20 20 20 70 61 72 61 6d 5f 6e 61 6d 65 28 32 29 20 3c 3e 20 6f 6e 6c 79 5f 6e   ┆or       param_name(2) <> only_n┆
0x1f940…1f960       61 6d 65 28 32 29 29 29 0a 20 20 20 20 6f 72 0a 20 20 20 20 20 28 20 2d 2c 20 6d 6f 64 65 20 61   ┆ame(2)))     or      ( -, mode a┆
0x1f960…1f980       6e 64 20 20 70 61 72 61 6d 5f 6e 61 6d 65 28 31 29 20 3d 20 6f 6e 6c 79 5f 6e 61 6d 65 28 31 29   ┆nd  param_name(1) = only_name(1)┆
0x1f980…1f9a0       20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 5f 6e   ┆ and                     param_n┆
0x1f9a0…1f9c0       61 6d 65 28 32 29 20 3d 20 6f 6e 6c 79 5f 6e 61 6d 65 28 32 29 20 29 29 29 20 74 68 65 6e 0a 0a   ┆ame(2) = only_name(2) ))) then  ┆
0x1f9c0…1f9e0       20 20 62 65 67 69 6e 20 0a 20 20 3c 2a 20 73 6b 69 70 20 75 6e 74 69 6c 20 61 20 27 75 6e 74 69   ┆  begin    <* skip until a 'unti┆
0x1f9e0…1fa00       6c 27 20 64 69 72 65 63 74 69 76 65 20 69 73 20 6d 65 74 20 77 69 74 68 0a 20 20 20 20 20 77 69   ┆l' directive is met with      wi┆
0x1fa00…1fa20       74 68 20 74 68 65 20 76 65 72 73 69 6f 6e 20 74 65 78 74 20 61 73 20 70 61 72 61 6d 65 74 65 72   ┆th the version text as parameter┆
0x1fa20…1fa40       2e 20 2a 3e 0a 20 20 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20 3a 3d 20 66   ┆. *>    until_condition_met := f┆
0x1fa40…1fa60       61 6c 73 65 3b 0a 20 20 20 72 65 70 65 61 74 0a 20 20 20 20 20 69 66 20 6c 69 73 74 5f 61 6c 6c   ┆alse;    repeat      if list_all┆
0x1fa60…1fa80       20 74 68 65 6e 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 72 65 61 64 5f 6e 65 78 74 5f   ┆ then list_line;      read_next_┆
0x1fa80…1faa0       73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 65 6f 66   ┆source_line;      if class = eof┆
0x1faa0…1fac0       5f 63 6c 61 73 73 20 74 68 65 6e 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20   ┆_class then until_condition_met ┆
0x1fac0…1fae0       3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 0a 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73   ┆:= true;            if class = s┆
0x1fae0…1fb00       74 61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆tar_class then        begin     ┆
0x1fb00…1fb20       20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67   ┆   next1;        if name1 = long┆
0x1fb20…1fb40       20 3c 3a 75 6e 74 69 6c 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20   ┆ <:until:> then          begin  ┆
0x1fb40…1fb60       20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73   ┆        next1;          if class┆
0x1fb60…1fb80       31 20 3d 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20   ┆1 = colon_class then            ┆
0x1fb80…1fba0       63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 28 75 6e 74 69 6c 5f 6e 61   ┆class1 := get_long_name(until_na┆
0x1fba0…1fbc0       6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 31 20 3e 20 30 20 61 6e 64 0a   ┆me);          if class1 > 0 and ┆
0x1fbc0…1fbe0       20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 5f 6e 61 6d 65 28 31 29 20 3d 75 6e 74 69 6c 5f   ┆            only_name(1) =until_┆
0x1fbe0…1fc00       6e 61 6d 65 28 31 29 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 5f 6e 61 6d   ┆name(1) and             only_nam┆
0x1fc00…1fc20       65 28 32 29 20 3d 20 75 6e 74 69 6c 5f 6e 61 6d 65 28 32 29 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆e(2) = until_name(2) then       ┆
0x1fc20…1fc40       20 20 20 20 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20 3a 3d 20 74 72 75 65   ┆     until_condition_met := true┆
0x1fc40…1fc60       3b 0a 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 20 63 6f 6e 74 72   ┆;          end;        end contr┆
0x1fc60…1fc80       6f 6c 20 6f 66 20 66 69 72 73 74 20 74 6f 6b 65 6e 20 27 63 6f 6c 6f 6e 27 20 3b 0a 20 20 20 20   ┆ol of first token 'colon' ;     ┆
0x1fc80…1fca0       75 6e 74 69 6c 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 3b 0a 20 65 6e 64 20   ┆until until_condition_met;  end ┆
0x1fca0…1fcc0       73 6b 69 70 20 6e 6f 74 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 3b 0a 72 65 74 75 72 6e 5f 66   ┆skip not this version ; return_f┆
0x1fcc0…1fce0       72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 74 72 75 65 3b 0a 0a 0a 65 6e 64 20 64 69 72 65 63 74 69 76   ┆rom_skip := true;   end directiv┆
0x1fce0…1fd00       65 5f 6f 6e 6c 79 5f 69 6e 3b 0a 0a 0a 70 72 6f 63 65 64 75 72 65 20 69 6e 63 6c 75 64 65 5f 73   ┆e_only_in;   procedure include_s┆
0x1fd00…1fd20       6f 75 72 63 65 5f 66 69 6c 65 3b 0a 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆ource_file; <*******************┆
0x1fd20…1fd40       2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 62 65 67 69 6e 0a 6c 6f 6e 67 20 61 72 72 61 79 20 66 69 6c 65   ┆*********> begin long array file┆
0x1fd40…1fd60       5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 69 6e 74 65 67 65 72 20 73 74 61 63 6b 5f 72 65 73 75 6c 74   ┆_name(1:2); integer stack_result┆
0x1fd60…1fd80       3b 0a 63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 28 66 69 6c 65 5f 6e   ┆; class1 := get_long_name(file_n┆
0x1fd80…1fda0       61 6d 65 29 3b 0a 69 66 20 63 6c 61 73 73 31 20 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 62 65 67   ┆ame); if class1 > 0 then     beg┆
0x1fda0…1fdc0       69 6e 0a 20 20 20 20 73 74 61 63 6b 5f 72 65 73 75 6c 74 20 3a 3d 20 20 73 74 61 63 6b 5f 61 6e   ┆in     stack_result :=  stack_an┆
0x1fdc0…1fde0       64 5f 63 6f 6e 6e 65 63 74 5f 69 6e 28 66 69 6c 65 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 69 66 20   ┆d_connect_in(file_name);     if ┆
0x1fde0…1fe00       6c 69 73 74 20 74 68 65 6e 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 0a 20 20 20 20 69 66 20 73 74 61   ┆list then list_line;      if sta┆
0x1fe00…1fe20       63 6b 5f 72 65 73 75 6c 74 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 77 72 69 74 65 28   ┆ck_result <> 0 then       write(┆
0x1fe20…1fe40       6f 75 74 2c 22 2a 22 2c 34 2c 3c 3a 20 63 6f 70 79 20 63 6f 6e 6e 65 63 74 20 65 72 72 6f 72 3a   ┆out,"*",4,<: copy connect error:┆
0x1fe40…1fe60       20 3a 3e 2c 66 69 6c 65 5f 6e 61 6d 65 2c 22 6e 6c 22 2c 31 29 0a 20 20 20 20 65 6c 73 65 0a 20   ┆ :>,file_name,"nl",1)     else  ┆
0x1fe60…1fe80       20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3a 20 6d 69 63 61 73 6d 20 73 6f 75 72 63 65 20   ┆     write(out,<: micasm source ┆
0x1fe80…1fea0       3a 20 3a 3e 2c 66 69 6c 65 5f 6e 61 6d 65 2c 22 6e 6c 22 2c 31 29 3b 0a 20 20 20 20 65 6e 64 20   ┆: :>,file_name,"nl",1);     end ┆
0x1fea0…1fec0       65 6c 73 65 20 0a 20 20 20 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e   ┆else      error(directive,line_n┆
0x1fec0…1fee0       6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 65 6e 64 20 69 6e 63 6c 75 64 65 5f 73 6f 75 72 63   ┆o,element_no); end include_sourc┆
0x1fee0…1ff00       65 5f 66 69 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 63 65 64 75 72 65 20 6c 69 73 74 5f 6c 69   ┆e_file;        procedure list_li┆
0x1ff00…1ff20       6e 65 3b 0a 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 62 65 67 69 6e 0a   ┆ne; <*******************> begin ┆
0x1ff20…1ff40       69 66 20 2d 2c 20 6c 69 6e 65 5f 6c 69 73 74 65 64 20 74 68 65 6e 0a 62 65 67 69 6e 0a 6c 69 6e   ┆if -, line_listed then begin lin┆
0x1ff40…1ff60       65 5f 6c 69 73 74 65 64 20 3a 3d 20 74 72 75 65 3b 0a 69 66 20 6c 69 6e 65 5f 6e 75 6d 20 74 68   ┆e_listed := true; if line_num th┆
0x1ff60…1ff80       65 6e 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 64 64 64 64 3e 2c 6c 69 6e 65 5f 6e 6f 29 3b 0a 20   ┆en write(out,<<dddd>,line_no);  ┆
0x1ff80…1ffa0       20 20 20 20 20 69 66 20 63 6f 64 65 5f 67 65 6e 65 72 61 74 65 64 20 74 68 65 6e 0a 20 20 20 20   ┆     if code_generated then     ┆
0x1ffa0…1ffc0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 64 65 63 5f 63 6f 64 65 20 74 68 65 6e 20 77   ┆  begin       if dec_code then w┆
0x1ffc0…1ffe0       72 69 74 65 28 6f 75 74 2c 3c 3c 5f 7a 64 64 64 3e 2c 69 6e 73 74 72 5f 69 6e 64 65 78 29 3b 0a   ┆rite(out,<<_zddd>,instr_index); ┆
0x1ffe0…20000       20 20 20 20 20 20 69 66 20 6f 63 74 61 6c 5f 63 6f 64 65 20 74 68 65 6e 20 77 72 69 74 65 28 6f   ┆      if octal_code then write(o┆
0x20000…20020       75 74 2c 3c 3c 5f 7a 64 64 64 3e 2c 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 69 6e 73 74 72 5f 69   ┆ut,<<_zddd>,octal(extend instr_i┆
0x20020…20040       6e 64 65 78 29 29 3b 20 20 20 20 20 0a 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 27   ┆ndex));            outchar(out,'┆
0x20040…20060       73 70 27 29 3b 0a 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   ┆sp');       end       else      ┆
0x20060…20080       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 69 66 20 64 65 63 5f 63 6f 64 65 20 74 68 65 6e 20   ┆  begin        if dec_code then ┆
0x20080…200a0       77 72 69 74 65 28 6f 75 74 2c 22 73 70 22 2c 35 29 3b 0a 20 20 20 20 20 20 20 69 66 20 6f 63 74   ┆write(out,"sp",5);        if oct┆
0x200a0…200c0       61 6c 5f 63 6f 64 65 20 74 68 65 6e 20 77 72 69 74 65 28 6f 75 74 2c 22 73 70 22 2c 35 29 3b 0a   ┆al_code then write(out,"sp",5); ┆
0x200c0…200e0       20 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 27 73 70 27 29 3b 0a 20 20 20 20 20 20   ┆       outchar(out,'sp');       ┆
0x200e0…20100       20 65 6e 64 3b 0a 20 20 20 20 20 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3a 3d 20 30 3b 0a 20   ┆ end;       line_pointer := 0;  ┆
0x20100…20120 (57,) 20 20 20 20 20 66 6f 72 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3a 3d 20 6c 69 6e 65 5f 70 6f   ┆     for line_pointer := line_po┆
0x20120…20140       69 6e 74 65 72 2b 31 20 0a 20 20 20 20 20 20 77 68 69 6c 65 20 6c 69 6e 65 5f 70 6f 69 6e 74 65   ┆inter+1        while line_pointe┆
0x20140…20160       72 20 3c 3d 20 6e 6f 5f 6f 66 5f 65 6c 65 6d 65 6e 74 73 20 64 6f 0a 20 20 20 20 20 20 62 65 67   ┆r <= no_of_elements do       beg┆
0x20160…20180       69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69   ┆in         if read_kind(line_poi┆
0x20180…201a0       6e 74 65 72 29 20 3d 20 36 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆nter) = 6 then         begin    ┆
0x201a0…201c0       20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 73 74 72 69 6e 67 20 72 65 61 64 5f 76 61 6c   ┆       write(out,string read_val┆
0x201c0…201e0       75 65 28 69 6e 63 72 65 61 73 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 29 29 3b 0a 20 20 20   ┆ue(increase(line_pointer)));    ┆
0x201e0…20200       20 20 20 20 20 20 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3a 3d 20 6c 69 6e 65 5f 70 6f 69 6e   ┆       line_pointer := line_poin┆
0x20200…20220       74 65 72 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 65 6c 73   ┆ter - 1;         end         els┆
0x20220…20240       65 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69 6e   ┆e         if read_kind(line_poin┆
0x20240…20260       74 65 72 29 20 3d 20 32 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c   ┆ter) = 2 then         write(out,┆
0x20260…20280       3c 3c 64 3e 2c 72 65 61 64 5f 76 61 6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 29 0a 20   ┆<<d>,read_value(line_pointer))  ┆
0x20280…202a0       20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c   ┆       else         outchar(out,┆
0x202a0…202c0       72 65 61 64 5f 76 61 6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 20 65 78 74 72 61 63 74   ┆read_value(line_pointer) extract┆
0x202c0…202e0       20 38 29 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 65 6e 64 3b 0a 65 6e 64 20 6c 69 73 74 5f   ┆ 8);       end;   end; end list_┆
0x202e0…20300       6c 69 6e 65 3b 0a 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 72 65 61 64 5f 6e 65 78 74 5f   ┆line;       procedure read_next_┆
0x20300…20320       73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆source_line;   <****************┆
0x20320…20340       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 62 65 67 69 6e 0a 20 20 3c 2a 20 72 65 73   ┆**************>   begin   <* res┆
0x20340…20360       65 74 20 62 6f 6f 6c 65 61 6e 20 63 6f 6e 74 72 6f 6c 20 2a 3e 0a 20 20 65 72 72 6f 72 5f 69 6e   ┆et boolean control *>   error_in┆
0x20360…20380       5f 74 68 69 73 5f 6c 69 6e 65 20 3a 3d 20 66 61 6c 73 65 20 3b 0a 0a 20 20 63 6f 64 65 5f 67 65   ┆_this_line := false ;    code_ge┆
0x20380…203a0       6e 65 72 61 74 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 61 6c 75 5f 66 75 6e 63 74 69 6f 6e   ┆nerated := false;   alu_function┆
0x203a0…203c0       5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 6a 75 6d 70 5f 73 65 6b 76   ┆_performed := false;   jump_sekv┆
0x203c0…203e0       65 6e 73 5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 61 64 64 72 73 5f   ┆ens_performed := false;   addrs_┆
0x203e0…20400       70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 73 68 69 66 74 5f 63 6f 6e 64   ┆performed := false;   shift_cond┆
0x20400…20420       69 74 69 6f 6e 5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 6a 75 6d 70   ┆ition_performed := false;   jump┆
0x20420…20440       5f 61 64 64 72 73 5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 6c 69 6e   ┆_addrs_performed := false;   lin┆
0x20440…20460       65 5f 6c 69 73 74 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 6c 69 6e 65 5f 70 6f 69 6e 74   ┆e_listed := false;    line_point┆
0x20460…20480       65 72 20 3a 3d 20 31 3b 0a 20 20 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3a 3d 20 30 3b 0a 20 20 6e 6f   ┆er := 1;   element_no := 0;   no┆
0x20480…204a0       5f 6f 66 5f 65 6c 65 6d 65 6e 74 73 20 3a 3d 20 72 65 61 64 5f 61 6c 6c 28 69 6e 2c 72 65 61 64   ┆_of_elements := read_all(in,read┆
0x204a0…204c0       5f 76 61 6c 75 65 2c 72 65 61 64 5f 6b 69 6e 64 2c 31 29 3b 0a 20 20 6c 69 6e 65 5f 6e 6f 20 3a   ┆_value,read_kind,1);   line_no :┆
0x204c0…204e0       3d 20 6c 69 6e 65 5f 6e 6f 20 2b 20 31 3b 0a 20 20 6e 65 78 74 3b 0a 20 20 65 6e 64 20 72 65 61   ┆= line_no + 1;   next;   end rea┆
0x204e0…20500       64 5f 6e 65 78 74 5f 73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 70   ┆d_next_source_line;            p┆
0x20500…20520       6c 75 73 5f 6c 61 62 65 6c 5f 64 65 63 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 70 6c 75 73 20 6c 61 62   ┆lus_label_dec := long <:plus lab┆
0x20520…20540       65 6c 20 64 65 63 2e 3a 3e 3b 0a 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 3a 3d 20 6c 6f 6e 67   ┆el dec.:>;   declaration := long┆
0x20540…20560       20 3c 3a 64 65 63 6c 61 72 61 74 69 6f 6e 3a 3e 3b 0a 20 20 6f 70 65 72 61 6e 64 5f 74 79 70 65   ┆ <:declaration:>;   operand_type┆
0x20560…20580       20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6f 70 65 72 61 6e 64 20 74 79 70 65 3a 3e 3b 0a 20 20 6d 69 6e   ┆ := long <:operand type:>;   min┆
0x20580…205a0       75 73 5f 64 65 6c 69 6d 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6d 69 6e 75 73 20 64 65 6c 69 6d 2e 3a   ┆us_delim := long <:minus delim.:┆
0x205a0…205c0       3e 3b 0a 20 20 6d 69 73 73 69 6e 67 5f 6f 70 65 72 61 6e 64 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6d   ┆>;   missing_operand := long <:m┆
0x205c0…205e0       69 73 73 69 6e 67 20 6f 70 65 72 61 6e 64 2e 3a 3e 3b 0a 20 20 6c 61 62 65 6c 5f 64 65 63 3a 3d   ┆issing operand.:>;   label_dec:=┆
0x205e0…20600       20 6c 6f 6e 67 20 3c 3a 6c 61 62 65 6c 20 64 65 63 2e 3a 3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f   ┆ long <:label dec.:>;   illegal_┆
0x20600…20620       74 79 70 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 74 79 70 65 3a 3e 3b 0a 20   ┆type := long <:illegal type:>;  ┆
0x20620…20640       20 70 6c 75 73 5f 6e 61 6d 65 5f 64 65 63 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 70 6c 75 73 20 6e 61   ┆ plus_name_dec := long <:plus na┆
0x20640…20660       6d 65 20 64 65 63 2e 3a 3e 3b 0a 20 20 6e 61 6d 65 5f 75 6e 6b 6e 6f 77 6e 20 3a 3d 20 6c 6f 6e   ┆me dec.:>;   name_unknown := lon┆
0x20660…20680       67 20 3c 3a 6e 61 6d 65 20 75 6e 6b 6e 6f 77 6e 3a 3e 3b 0a 20 20 64 69 72 65 63 74 69 76 65 20   ┆g <:name unknown:>;   directive ┆
0x20680…206a0       3a 3d 20 6c 6f 6e 67 20 3c 3a 64 69 72 65 63 74 69 76 65 3a 3e 3b 0a 20 20 75 6e 6b 6e 6f 77 6e   ┆:= long <:directive:>;   unknown┆
0x206a0…206c0       20 3a 3d 20 6c 6f 6e 67 20 3c 3a 75 6e 6b 6e 6f 77 6e 3a 3e 3b 0a 20 20 6e 61 6d 65 5f 6c 65 6e   ┆ := long <:unknown:>;   name_len┆
0x206c0…206e0       67 74 68 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6e 61 6d 65 20 6c 65 6e 67 74 68 20 65 78 65 65 64 65   ┆gth := long <:name length exeede┆
0x206e0…20700       73 20 36 20 63 68 61 72 2e 3a 3e 3b 0a 20 20 64 65 6c 69 6d 69 74 65 72 20 3a 3d 20 6c 6f 6e 67   ┆s 6 char.:>;   delimiter := long┆
0x20700…20720       20 3c 3a 64 65 6c 69 6d 69 74 65 72 3a 3e 3b 0a 20 20 75 6e 64 65 63 5f 6c 61 62 65 6c 20 3a 3d   ┆ <:delimiter:>;   undec_label :=┆
0x20720…20740       20 6c 6f 6e 67 20 3c 3a 75 6e 64 65 63 2e 20 6c 61 62 65 6c 20 6f 72 20 61 64 64 72 73 2e 20 3a   ┆ long <:undec. label or addrs. :┆
0x20740…20760       3e 3b 0a 20 20 6d 75 6c 74 69 70 6c 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d 20 6c 6f 6e 67 20 3c   ┆>;   multiple_function := long <┆
0x20760…20780       3a 6d 75 6c 74 69 70 6c 65 20 66 75 6e 63 74 69 6f 6e 2e 3a 3e 3b 0a 20 20 70 6c 75 73 5f 61 64   ┆:multiple function.:>;   plus_ad┆
0x20780…207a0       64 72 73 5f 64 65 66 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 70 6c 75 73 20 61 64 64 72 73 20 64 65 66   ┆drs_def := long <:plus addrs def┆
0x207a0…207c0       2e 3a 3e 3b 0a 20 20 6d 69 6e 75 73 5f 61 64 64 72 73 5f 64 65 66 20 3a 3d 20 6c 6f 6e 67 20 3c   ┆.:>;   minus_addrs_def := long <┆
0x207c0…207e0       3a 6d 69 6e 75 73 20 61 64 64 72 73 2e 20 64 65 66 2e 3a 3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f   ┆:minus addrs. def.:>;   illegal_┆
0x207e0…20800       73 6f 75 72 63 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 73 6f 75 72 63 65 3a   ┆source := long <:illegal source:┆
0x20800…20820       3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f 64 65 73 74 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65   ┆>;   illegal_dest := long <:ille┆
0x20820…20840       67 61 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e 3a 3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f 64 65 73   ┆gal destination:>;   illegal_des┆
0x20840…20860       74 5f 61 6e 64 5f 73 6f 75 72 63 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 64   ┆t_and_source := long <:illegal d┆
0x20860…20880       65 73 74 69 6e 61 74 69 6f 6e 20 61 6e 64 20 6f 72 20 73 6f 75 72 63 65 20 3a 3e 3b 0a 20 20 73   ┆estination and or source :>;   s┆
0x20880…208a0       61 76 65 5f 66 69 6c 65 5f 6e 61 6d 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20   ┆ave_file_name := long <:illegal ┆
0x208a0…208c0       73 61 76 65 20 66 69 6c 65 20 6e 61 6d 65 3a 3e 3b 0a 20 20 6c 6f 61 64 5f 66 69 6c 65 5f 6e 61   ┆save file name:>;   load_file_na┆
0x208c0…208e0       6d 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 6c 6f 61 64 20 66 69 6c 65 20 6e   ┆me := long <:illegal load file n┆
0x208e0…20900       61 6d 65 3a 3e 3b 0a 20 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 74   ┆ame:>;   termination := long <:t┆
0x20900…20920       65 72 6d 69 6e 61 74 69 6f 6e 3a 3e 3b 0a 20 20 6f 70 65 72 61 6e 64 20 3a 3d 20 6c 6f 6e 67 20   ┆ermination:>;   operand := long ┆
0x20920…20940       3c 3a 75 6e 6b 6e 6f 77 6e 20 6f 70 65 72 61 6e 64 3a 3e 3b 0a 20 20 61 6c 67 6f 6c 20 63 6f 70   ┆<:unknown operand:>;   algol cop┆
0x20940…20960       79 2e 33 20 3c 2a 20 73 63 68 6f 75 6c 64 20 62 65 20 6d 32 39 30 78 69 6e 69 74 20 2a 3e 3b 0a   ┆y.3 <* schould be m290xinit *>; ┆
0x20960…20980       20 20 69 6e 69 74 5f 6c 6f 6e 67 5f 61 72 72 61 79 28 6e 61 6d 65 5f 74 61 62 6c 65 2c 2d 31 29   ┆  init_long_array(name_table,-1)┆
0x20980…209a0       3b 0a 20 20 69 6e 69 74 5f 48 45 41 50 3b 0a 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63   ┆;   init_HEAP;    error_record_c┆
0x209a0…209c0       68 61 69 6e 5f 68 65 61 64 20 3a 3d 20 6e 69 6c 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆hain_head := nil;   error_record┆
0x209c0…209e0       5f 74 65 78 74 20 3a 3d 20 34 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 6c 69 6e 65 5f   ┆_text := 4;   error_record_line_┆
0x209e0…20a00       6e 6f 20 3a 3d 20 38 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 65 6c 65 6d 65 6e 74 5f   ┆no := 8;   error_record_element_┆
0x20a00…20a20 (58,) 70 6f 73 20 3a 3d 20 31 30 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 20   ┆pos := 10;   error_record_chain ┆
0x20a20…20a40       3a 3d 20 36 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 69 6e 73 74 72 5f 69 6e 64 65 78   ┆:= 6;   error_record_instr_index┆
0x20a40…20a60       20 3a 3d 20 31 32 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 20 3a 3d   ┆ := 12;   error_record_length :=┆
0x20a60…20a80       20 31 32 3b 0a 20 20 6c 5f 64 5f 6e 61 6d 65 20 3a 3d 20 38 3b 0a 20 20 6c 5f 64 5f 73 70 65 63   ┆ 12;   l_d_name := 8;   l_d_spec┆
0x20a80…20aa0       20 3a 3d 20 32 3b 0a 20 20 6c 5f 64 5f 69 6e 64 65 78 20 3a 3d 20 34 3b 0a 20 20 6c 5f 64 5f 6c   ┆ := 2;   l_d_index := 4;   l_d_l┆
0x20aa0…20ac0       69 6e 65 5f 6e 6f 20 3a 3d 20 36 3b 0a 20 20 6c 5f 64 5f 63 68 61 69 6e 20 3a 3d 20 38 3b 0a 20   ┆ine_no := 6;   l_d_chain := 8;  ┆
0x20ac0…20ae0       20 6c 5f 64 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 20 3a 3d 20 38 3b 0a 0a 20 20 6c 5f 72 5f   ┆ l_d_record_length := 8;    l_r_┆
0x20ae0…20b00       63 68 61 69 6e 20 3a 3d 20 32 3b 0a 20 20 6c 5f 72 5f 6e 61 6d 65 20 20 3a 3d 20 36 3b 0a 20 20   ┆chain := 2;   l_r_name  := 6;   ┆
0x20b00…20b20       6c 5f 72 5f 69 6e 64 65 78 20 3a 3d 20 38 3b 0a 20 20 6c 5f 72 5f 6c 69 6e 65 5f 6e 6f 20 3a 3d   ┆l_r_index := 8;   l_r_line_no :=┆
0x20b20…20b40       20 31 30 3b 0a 20 20 6c 5f 72 5f 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3a 3d 20 31 32 3b 0a 20 20 6c   ┆ 10;   l_r_element_no := 12;   l┆
0x20b40…20b60       5f 72 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 20 3a 3d 20 31 32 3b 0a 20 20 6c 5f 72 5f 72 65   ┆_r_record_length := 12;   l_r_re┆
0x20b60…20b80       63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3a 3d 2d 31 3b 20 3c 2a 20 6e 6f 20 6c 61 62 65   ┆cord_chain_head :=-1; <* no labe┆
0x20b80…20ba0       6c 20 72 65 66 66 65 72 65 6e 63 65 20 62 6c 6f 63 6b 73 20 2a 3e 0a 20 20 6e 61 6d 65 5f 6e 61   ┆l refference blocks *>   name_na┆
0x20ba0…20bc0       6d 65 20 3a 3d 20 38 3b 0a 20 20 6e 61 6d 65 5f 63 68 61 69 6e 20 3a 3d 20 32 3b 0a 20 20 6e 61   ┆me := 8;   name_chain := 2;   na┆
0x20bc0…20be0       6d 65 5f 74 79 70 65 20 3a 3d 20 34 3b 0a 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 30 2c 30 29 20   ┆me_type := 4;   name_table(0,0) ┆
0x20be0…20c00       3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 3c 2a 20 61 73 6d 2e 20   ┆:= name_table_length;   <* asm. ┆
0x20c00…20c20       62 65 67 69 6e 20 2a 3e 0a 20 20 20 20 70 72 6f 6d 5f 63 6f 64 65 20 3a 3d 20 2d 31 3b 0a 20 20   ┆begin *>     prom_code := -1;   ┆
0x20c20…20c40       20 20 66 6f 72 20 69 6e 64 65 78 20 3a 3d 20 30 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 6c 65   ┆  for index := 0 step 1 until le┆
0x20c40…20c60       6e 67 74 68 5f 6f 66 5f 63 6f 64 65 2d 31 20 64 6f 0a 20 20 20 20 6f 70 63 6f 64 65 28 69 6e 64   ┆ngth_of_code-1 do     opcode(ind┆
0x20c60…20c80       65 78 29 3a 3d 70 72 6f 6d 5f 63 6f 64 65 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e   ┆ex):=prom_code;     begin     in┆
0x20c80…20ca0       74 65 67 65 72 20 61 72 72 61 79 20 74 61 69 6c 28 31 3a 32 30 29 3b 0a 20 20 20 20 7a 6f 6e 65   ┆teger array tail(1:20);     zone┆
0x20ca0…20cc0       20 64 75 6d 6d 79 28 31 32 38 2c 31 2c 73 74 64 65 72 72 6f 72 29 3b 0a 20 20 20 20 72 65 61 6c   ┆ dummy(128,1,stderror);     real┆
0x20cc0…20ce0       20 72 3b 0a 20 20 20 20 69 6e 74 65 67 65 72 20 69 2c 6a 2c 6c 6f 6f 6b 75 70 5f 72 65 73 75 6c   ┆ r;     integer i,j,lookup_resul┆
0x20ce0…20d00       74 3b 0a 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6d 69 63 5f 61 73 6d 5f 70 72 6f 67 5f 6e   ┆t;     long array mic_asm_prog_n┆
0x20d00…20d20       61 6d 65 2c 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 20 69 3a 3d 73 79   ┆ame,program_name(1:2);     i:=sy┆
0x20d20…20d40       73 74 65 6d 28 32 2c 6a 2c 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 6f 70 65 6e   ┆stem(2,j,program_name);     open┆
0x20d40…20d60       28 64 75 6d 6d 79 2c 34 2c 70 72 6f 67 72 61 6d 6e 61 6d 65 2c 30 29 3b 0a 20 20 20 20 6c 6f 6f   ┆(dummy,4,programname,0);     loo┆
0x20d60…20d80       6b 75 70 5f 72 65 73 75 6c 74 3a 3d 6d 6f 6e 69 74 6f 72 28 34 32 2c 64 75 6d 6d 79 2c 30 2c 74   ┆kup_result:=monitor(42,dummy,0,t┆
0x20d80…20da0       61 69 6c 29 3b 0a 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 66 66 22 2c 31 2c 3c 3a 4d 69 63   ┆ail);     write(out,"ff",1,<:Mic┆
0x20da0…20dc0       72 6f 20 61 73 6d 2e 3a 5f 3a 3e 2c 74 72 75 65 2c 31 32 2c 70 72 6f 67 72 61 6d 5f 6e 61 6d 65   ┆ro asm.:_:>,true,12,program_name┆
0x20dc0…20de0       2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 20 76 65 72 73 69 6f 6e 20 64 61 74 65   ┆,                <: version date┆
0x20de0…20e00       2e 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 3c 3c 7a 64 64 64 64 64 2e 64 64 64 64 3e 2c 73 79   ┆.:>,           <<zddddd.dddd>,sy┆
0x20e00…20e20       73 74 69 6d 65 28 36 2c 74 61 69 6c 28 36 29 2c 72 29 20 2b 20 72 2f 31 30 30 30 30 30 30 2c 22   ┆stime(6,tail(6),r) + r/1000000,"┆
0x20e20…20e40       6e 6c 22 2c 31 29 3b 0a 20 20 20 20 63 6c 6f 73 65 28 64 75 6d 6d 79 2c 74 72 75 65 29 3b 0a 20   ┆nl",1);     close(dummy,true);  ┆
0x20e40…20e60       20 69 66 20 63 6f 6e 6e 65 63 74 5f 66 69 6c 65 5f 69 6e 28 6d 69 63 5f 61 73 6d 5f 70 72 6f 67   ┆ if connect_file_in(mic_asm_prog┆
0x20e60…20e80       5f 6e 61 6d 65 29 20 3d 20 34 20 74 68 65 6e 0a 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22   ┆_name) = 4 then   write(out,"nl"┆
0x20e80…20ea0       2c 31 2c 22 2a 22 2c 35 2c 3c 3a 53 6f 75 72 63 65 20 66 69 6c 65 20 63 6f 6e 6e 65 63 74 20 65   ┆,1,"*",5,<:Source file connect e┆
0x20ea0…20ec0       72 72 6f 72 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 6d 69 63 5f 61 73 6d 5f 70 72 6f 67 5f 6e 61   ┆rror::>,         mic_asm_prog_na┆
0x20ec0…20ee0       6d 65 29 3b 0a 20 20 20 20 67 65 74 5f 63 6f 6e 6e 65 63 74 65 64 5f 6e 61 6d 65 28 69 6e 2c 6d   ┆me);     get_connected_name(in,m┆
0x20ee0…20f00       69 63 61 73 6d 5f 70 72 6f 67 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 6c 6f 6f 6b 75 70 5f 72 65 73   ┆icasm_prog_name);     lookup_res┆
0x20f00…20f20       75 6c 74 3a 3d 6d 6f 6e 69 74 6f 72 28 34 32 2c 69 6e 2c 30 2c 74 61 69 6c 29 3b 0a 20 20 20 20   ┆ult:=monitor(42,in,0,tail);     ┆
0x20f20…20f40       77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 3c 3a 53 6f 75 72 63 65 20 66 69 6c 65 3a 3a   ┆write(out,"nl",1,<:Source file::┆
0x20f40…20f60       3e 2c 74 72 75 65 2c 31 32 2c 0a 20 20 20 20 20 20 20 20 20 20 6d 69 63 5f 61 73 6d 5f 70 72 6f   ┆>,true,12,           mic_asm_pro┆
0x20f60…20f80       67 5f 6e 61 6d 65 2c 3c 3a 20 76 65 72 73 69 6f 6e 20 64 61 74 65 2e 3a 3e 2c 0a 20 20 20 20 20   ┆g_name,<: version date.:>,      ┆
0x20f80…20fa0       20 20 20 20 20 3c 3c 7a 64 64 64 64 64 2e 64 64 64 64 3e 2c 73 79 73 74 69 6d 65 28 36 2c 74 61   ┆     <<zddddd.dddd>,systime(6,ta┆
0x20fa0…20fc0       69 6c 28 36 29 2c 72 29 2b 72 2f 31 30 30 30 30 30 30 2c 22 6e 6c 22 2c 31 29 3b 0a 0a 0a 20 20   ┆il(6),r)+r/1000000,"nl",1);     ┆
0x20fc0…20fe0       20 20 3c 2a 20 63 6f 6e 74 72 6f 6c 20 69 66 20 61 6e 79 20 61 6e 64 20 67 65 74 20 6e 61 6d 65   ┆  <* control if any and get name┆
0x20fe0…21000       20 6f 66 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 2a 3e 0a 20 20 20 20 69 66 20 67 65 74 5f 6c 65   ┆ of object file *>     if get_le┆
0x21000…21020       66 74 5f 73 69 64 65 28 6f 62 6a 65 63 74 5f 66 69 6c 65 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68   ┆ft_side(object_file_name) = 0 th┆
0x21020…21040       65 6e 0a 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 3a 3d 20 74 72 75 65 20   ┆en          object_file := true ┆
0x21040…21060       65 6c 73 65 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 69   ┆else object_file := false;     i┆
0x21060…21080       66 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆f object_file then     begin    ┆
0x21080…210a0       20 6f 70 65 6e 28 64 75 6d 6d 79 2c 30 2c 6f 62 6a 65 63 74 5f 66 69 6c 65 5f 6e 61 6d 65 2c 30   ┆ open(dummy,0,object_file_name,0┆
0x210a0…210c0       29 3b 0a 20 20 20 20 6c 6f 6f 6b 75 70 5f 72 65 73 75 6c 74 20 3a 3d 20 6d 6f 6e 69 74 6f 72 28   ┆);     lookup_result := monitor(┆
0x210c0…210e0       34 32 29 20 6c 6f 6f 6b 75 70 20 74 61 69 6c 3a 28 64 75 6d 6d 79 2c 30 2c 74 61 69 6c 29 3b 0a   ┆42) lookup tail:(dummy,0,tail); ┆
0x210e0…21100       20 20 20 20 0a 20 20 20 20 69 66 20 6c 6f 6f 6b 75 70 5f 72 65 73 75 6c 74 20 3c 3e 20 30 20 74   ┆         if lookup_result <> 0 t┆
0x21100…21120       68 65 6e 0a 20 20 20 20 20 20 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 3a 3d 20 66 61 6c 73 65 3b   ┆hen        object_file := false;┆
0x21120…21140       0a 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 69 66 20 6c 6f 6f 6b 75 70 5f   ┆     write(out,"nl",1,if lookup_┆
0x21140…21160       72 65 73 75 6c 74 20 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a   ┆result = 0 then               <:┆
0x21160…21180       4f 62 6a 65 63 74 20 66 69 6c 65 3a 3a 3e 20 65 6c 73 65 20 3c 3a 2a 2a 2a 20 55 6e 6b 6e 6f 77   ┆Object file::> else <:*** Unknow┆
0x21180…211a0       6e 20 6f 62 6a 65 63 74 20 66 69 6c 65 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆n object file::>,               ┆
0x211a0…211c0       74 72 75 65 2c 31 32 2c 6f 62 6a 65 63 74 5f 66 69 6c 65 5f 6e 61 6d 65 2c 22 6e 6c 22 2c 31 29   ┆true,12,object_file_name,"nl",1)┆
0x211c0…211e0       3b 0a 20 20 20 20 63 6c 6f 73 65 28 64 75 6d 6d 79 2c 74 72 75 65 29 3b 0a 20 20 20 20 65 6e 64   ┆;     close(dummy,true);     end┆
0x211e0…21200       3b 0a 20 20 65 6e 64 20 62 6c 6f 63 6b 20 77 69 74 68 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 66 69   ┆;   end block with control of fi┆
0x21200…21220       6c 65 73 3b 0a 0a 0a 0a 20 20 20 20 3c 2a 20 67 65 74 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 6f   ┆les;        <* get and control o┆
0x21220…21240       66 20 6f 74 68 65 72 20 70 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 20 20 20 20 75 6e 6b 6e 6f   ┆f other parameters,        unkno┆
0x21240…21260       77 6e 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 69 67 6e 6f 72 65 64 2e 20 2a 3e 0a 20 20 20   ┆wn parameters is ignored. *>    ┆
0x21260…21280       20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 68 65 6c 70 3a 3e 2c 68 65 6c 70 5f 77   ┆ get_bool_string(<:help:>,help_w┆
0x21280…212a0       61 6e 74 65 64 29 3b 0a 20 20 20 20 69 66 20 68 65 6c 70 5f 77 61 6e 74 65 64 20 74 68 65 6e 20   ┆anted);     if help_wanted then ┆
0x212a0…212c0       68 65 6c 70 5f 73 74 72 69 6e 67 28 3c 3a 6d 69 63 61 73 6d 68 65 6c 70 3a 3e 29 3b 0a 20 20 20   ┆help_string(<:micasmhelp:>);    ┆
0x212c0…212e0       20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 6d 65 73 73 61 67 65 3a 3e 2c   ┆ if get_bool_string(<:message:>,┆
0x212e0…21300       6d 65 73 73 61 67 65 5f 6c 69 73 74 29 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 6d 65   ┆message_list) <> 0 then       me┆
0x21300…21320 (59,) 73 73 61 67 65 5f 6c 69 73 74 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 6c 69 73 74 5f 61 6c 6c   ┆ssage_list := true;     list_all┆
0x21320…21340       20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e   ┆ := false;     if get_bool_strin┆
0x21340…21360       67 28 3c 3a 6c 69 73 74 3a 3e 2c 6c 69 73 74 29 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20   ┆g(<:list:>,list) <> 0 then      ┆
0x21360…21380       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 70 61 72 61 6d 5f   ┆  begin        long array param_┆
0x21380…213a0       6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 20 20 20 20 69 66 20 67 65 74 5f 74 65 78 74 5f 73 74   ┆name(1:2);        if get_text_st┆
0x213a0…213c0       72 69 6e 67 28 3c 3a 6c 69 73 74 3a 3e 2c 70 61 72 61 6d 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68   ┆ring(<:list:>,param_name) = 0 th┆
0x213c0…213e0       65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 69 66 20 70 61   ┆en          begin          if pa┆
0x213e0…21400       72 61 6d 5f 6e 61 6d 65 28 31 29 20 3d 20 6c 6f 6e 67 20 3c 3a 61 6c 6c 3a 3e 20 74 68 65 6e 20   ┆ram_name(1) = long <:all:> then ┆
0x21400…21420       6c 69 73 74 3a 3d 6c 69 73 74 5f 61 6c 6c 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20   ┆list:=list_all := true;         ┆
0x21420…21440       20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f   ┆ end;        end;     if get_boo┆
0x21440…21460       6c 5f 73 74 72 69 6e 67 28 3c 3a 6c 69 6e 65 6e 75 6d 3a 3e 2c 6c 69 6e 65 5f 6e 75 6d 29 20 3c   ┆l_string(<:linenum:>,line_num) <┆
0x21460…21480       3e 20 30 20 74 68 65 6e 20 6c 69 6e 65 5f 6e 75 6d 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66   ┆> 0 then line_num:= true;     if┆
0x21480…214a0       20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 64 65 63 63 6f 64 65 3a 3e 2c 64 65 63   ┆ get_bool_string(<:deccode:>,dec┆
0x214a0…214c0       5f 63 6f 64 65 29 20 3c 3e 20 30 20 74 68 65 6e 20 64 65 63 5f 63 6f 64 65 20 3a 3d 20 74 72 75   ┆_code) <> 0 then dec_code := tru┆
0x214c0…214e0       65 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 6f 63 74 61   ┆e;     if get_bool_string(<:octa┆
0x214e0…21500       6c 3a 3e 2c 6f 63 74 61 6c 5f 63 6f 64 65 29 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆l:>,octal_code) <> 0 then       ┆
0x21500…21520       62 65 67 69 6e 0a 20 20 20 20 20 20 6f 63 74 61 6c 5f 63 6f 64 65 20 3a 3d 20 74 72 75 65 3b 0a   ┆begin       octal_code := true; ┆
0x21520…21540       20 20 20 20 20 20 69 66 20 67 65 74 5f 74 65 78 74 5f 73 74 72 69 6e 67 28 3c 3a 6f 63 74 61 6c   ┆      if get_text_string(<:octal┆
0x21540…21560       3a 3e 2c 70 61 72 61 6d 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20   ┆:>,param_name) = 0 then         ┆
0x21560…21580       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 70 61 72 61 6d 5f 6e 61 6d 65 28 31 29 20 3d   ┆begin         if param_name(1) =┆
0x21580…215a0       20 6c 6f 6e 67 20 3c 3a 6f 6e 6c 79 3a 3e 20 74 68 65 6e 20 64 65 63 5f 63 6f 64 65 3a 3d 20 6c   ┆ long <:only:> then dec_code:= l┆
0x215a0…215c0       69 6e 65 5f 6e 75 6d 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20   ┆ine_num := false;         end;  ┆
0x215c0…215e0       20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 74 65 78 74 5f 73 74 72 69 6e 67   ┆     end;     if get_text_string┆
0x215e0…21600       28 3c 3a 66 69 6e 64 3a 3e 2c 66 69 6e 64 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68 65 6e 20 66 69   ┆(<:find:>,find_name) = 0 then fi┆
0x21600…21620       6e 64 20 3a 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72   ┆nd := true;      if get_bool_str┆
0x21620…21640       69 6e 67 28 3c 3a 65 72 72 6f 72 73 3a 3e 2c 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29   ┆ing(<:errors:>,list_error_lines)┆
0x21640…21660       20 3c 3e 20 30 20 61 6e 64 0a 20 20 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28   ┆ <> 0 and       get_bool_string(┆
0x21660…21680       3c 3a 65 72 72 6f 72 6c 69 6e 65 73 3a 3e 2c 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29   ┆<:errorlines:>,list_error_lines)┆
0x21680…216a0       20 3c 3e 20 30 20 61 6e 64 0a 20 20 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28   ┆ <> 0 and       get_bool_string(┆
0x216a0…216c0       3c 3a 65 6c 73 3a 3e 2c 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29 20 3c 3e 20 30 20 74   ┆<:els:>,list_error_lines) <> 0 t┆
0x216c0…216e0       68 65 6e 0a 20 20 20 20 20 20 20 20 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 20 3a 3d   ┆hen          list_error_lines :=┆
0x216e0…21700       20 74 72 75 65 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 63 6f 64   ┆ true;     get_bool_string(<:cod┆
0x21700…21720       65 3a 3e 2c 70 72 69 6e 74 5f 63 6f 64 65 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74   ┆e:>,print_code);     get_bool_st┆
0x21720…21740       72 69 6e 67 28 3c 3a 6c 61 62 65 6c 78 72 65 66 3a 3e 2c 74 65 73 74 5f 6c 61 62 65 6c 5f 72 65   ┆ring(<:labelxref:>,test_label_re┆
0x21740…21760       66 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 6c 61 62 65 6c 62   ┆f);     get_bool_string(<:labelb┆
0x21760…21780       69 74 3a 3e 2c 74 65 73 74 5f 6c 61 62 65 6c 5f 62 69 74 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f   ┆it:>,test_label_bit);     get_bo┆
0x21780…217a0       6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 65 6e 74 72 79 3a 3e 2c 65 6e 74 72 79 5f 6c 69 73 74 5f 77   ┆ol_string(<:entry:>,entry_list_w┆
0x217a0…217c0       61 6e 74 65 64 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 62 69   ┆anted);     get_bool_string(<:bi┆
0x217c0…217e0       74 6c 69 6e 65 73 3a 3e 2c 6c 69 73 74 5f 62 69 74 5f 6c 69 6e 65 73 29 3b 0a 20 20 20 20 72 65   ┆tlines:>,list_bit_lines);     re┆
0x217e0…21800       74 75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 3c 2a   ┆turn_from_skip := false;      <*┆
0x21800…21820       20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 6f 66 20 63 6f 75 6e 74 69 6e 67 20 76 61 72 69 61 62   ┆ initializing of counting variab┆
0x21820…21840       6c 65 73 20 61 6e 64 0a 20 20 20 20 20 20 20 72 65 61 64 69 6e 67 20 6f 66 20 66 69 72 73 74 20   ┆les and        reading of first ┆
0x21840…21860       63 6f 64 65 20 6c 69 6e 65 20 2a 3e 0a 20 20 20 20 0a 0a 20 20 20 20 69 6e 73 74 72 5f 69 6e 64   ┆code line *>           instr_ind┆
0x21860…21880       65 78 3a 3d 30 3b 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 70 72 65 73 65 6e 74 5f 63   ┆ex:=0;                 present_c┆
0x21880…218a0       6f 64 65 20 3a 3d 20 6e 6f 70 5f 63 6f 64 65 3b 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20   ┆ode := nop_code;                ┆
0x218a0…218c0       20 65 72 72 6f 72 5f 69 6e 5f 74 68 69 73 5f 6c 69 6e 65 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20   ┆ error_in_this_line := false;   ┆
0x218c0…218e0       20 20 6c 69 6e 65 5f 6e 6f 20 3a 3d 20 30 3b 0a 20 20 20 20 72 65 61 64 5f 6e 65 78 74 5f 73 6f   ┆  line_no := 0;     read_next_so┆
0x218e0…21900       75 72 63 65 5f 6c 69 6e 65 3b 0a 0a 77 68 69 6c 65 20 63 6c 61 73 73 20 3c 3e 20 65 6f 66 5f 63   ┆urce_line;  while class <> eof_c┆
0x21900…21920       6c 61 73 73 20 64 6f 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 63 6c 61 73 73   ┆lass do     begin       if class┆
0x21920…21940       20 3d 20 73 74 6f 70 5f 6c 69 6e 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65   ┆ = stop_line_class then       be┆
0x21940…21960       67 69 6e 0a 20 20 20 20 20 20 20 20 3c 2a 20 0a 20 20 20 20 20 20 65 6e 64 20 6c 69 6e 65 20 2c   ┆gin         <*        end line ,┆
0x21960…21980       20 6f 72 0a 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20 2e 20 43 6f 6d 6d 61 6e 74 20 77 69 6c 20 62   ┆ or comment      . Commant wil b┆
0x21980…219a0       65 20 62 65 20 63 72 65 61 74 65 64 20 62 79 0a 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74   ┆e be created by get_next_element┆
0x219a0…219c0       20 20 20 20 20 20 20 2a 3e 0a 69 66 20 28 6c 69 73 74 20 6f 72 20 28 65 72 72 6f 72 5f 69 6e 5f   ┆       *> if (list or (error_in_┆
0x219c0…219e0       74 68 69 73 5f 6c 69 6e 65 20 61 6e 64 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 20 29   ┆this_line and list_error_lines )┆
0x219e0…21a00       20 20 0a 20 20 20 20 6f 72 20 28 20 66 69 6e 64 20 61 6e 64 20 66 6f 75 6e 64 20 29 29 0a 20 20   ┆       or ( find and found ))   ┆
0x21a00…21a20       20 20 61 6e 64 20 28 20 2d 2c 20 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 6f 72 20 6c   ┆  and ( -, return_from_skip or l┆
0x21a20…21a40       69 73 74 5f 61 6c 6c 29 20 74 68 65 6e 0a 20 20 20 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 72 65 74   ┆ist_all) then     list_line; ret┆
0x21a40…21a60       75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 66 61 6c 73 65 3b 0a 66 6f 75 6e 64 20 3a 3d   ┆urn_from_skip := false; found :=┆
0x21a60…21a80       20 66 61 6c 73 65 3b 0a 20 20 20 20 69 66 20 70 72 69 6e 74 5f 63 6f 64 65 20 61 6e 64 20 63 6f   ┆ false;     if print_code and co┆
0x21a80…21aa0       64 65 5f 67 65 6e 65 72 61 74 65 64 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆de_generated then     begin     ┆
0x21aa0…21ac0       69 66 20 2d 2c 20 6c 69 73 74 20 20 61 6e 64 20 2d 2c 20 6c 69 73 74 5f 62 69 74 5f 6c 69 6e 65   ┆if -, list  and -, list_bit_line┆
0x21ac0…21ae0       73 20 61 6e 64 0a 20 20 20 20 20 20 20 2d 2c 20 28 65 72 72 6f 72 5f 69 6e 5f 74 68 69 73 5f 6c   ┆s and        -, (error_in_this_l┆
0x21ae0…21b00       69 6e 65 20 61 6e 64 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29 20 74 68 65 6e 0a 20   ┆ine and list_error_lines) then  ┆
0x21b00…21b20       20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 2d 7a 64 64 64 3e 2c 69 6e 73 74 72 5f 69 6e   ┆     write(out,<<-zddd>,instr_in┆
0x21b20…21b40       64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 69   ┆dex,              octal(extend i┆
0x21b40…21b60       6e 73 74 72 5f 69 6e 64 65 78 29 2c 22 73 70 22 2c 31 29 0a 20 20 20 20 20 20 65 6c 73 65 0a 20   ┆nstr_index),"sp",1)       else  ┆
0x21b60…21b80       20 20 69 66 20 2d 2c 20 6c 69 73 74 20 61 6e 64 20 6c 69 73 74 5f 62 69 74 5f 6c 69 6e 65 73 20   ┆  if -, list and list_bit_lines ┆
0x21b80…21ba0       20 61 6e 64 0a 20 20 20 20 20 20 2d 2c 20 28 65 72 72 6f 72 5f 69 6e 5f 74 68 69 73 5f 6c 69 6e   ┆ and       -, (error_in_this_lin┆
0x21ba0…21bc0       65 20 61 6e 64 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29 20 74 68 65 6e 0a 20 20 20   ┆e and list_error_lines) then    ┆
0x21bc0…21be0       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 20   ┆   begin       list_line;       ┆
0x21be0…21c00       77 72 69 74 65 28 6f 75 74 2c 3c 3a 20 20 20 20 20 20 20 20 20 20 3a 3e 29 3b 0a 20 20 20 20 20   ┆write(out,<:          :>);      ┆
0x21c00…21c20 (60,) 20 65 6e 64 0a 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c   ┆ end      else       write(out,<┆
0x21c20…21c40       3a 20 20 20 20 20 20 20 20 20 20 3a 3e 29 3b 0a 20 20 20 20 20 20 70 72 69 6e 74 5f 66 6f 72 6d   ┆:          :>);       print_form┆
0x21c40…21c60       61 74 65 64 28 70 72 65 73 65 6e 74 5f 63 6f 64 65 29 3b 0a 20 20 20 20 20 20 6f 75 74 63 68 61   ┆ated(present_code);       outcha┆
0x21c60…21c80       72 28 6f 75 74 2c 31 30 29 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 63 6f 64 65 5f   ┆r(out,10);     end;     if code_┆
0x21c80…21ca0       67 65 6e 65 72 61 74 65 64 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6f   ┆generated then     begin       o┆
0x21ca0…21cc0       70 5f 63 6f 64 65 28 69 6e 73 74 72 5f 69 6e 64 65 78 29 3a 3d 70 72 65 73 65 6e 74 5f 63 6f 64   ┆p_code(instr_index):=present_cod┆
0x21cc0…21ce0       65 3b 0a 20 20 20 20 20 20 69 6e 73 74 72 5f 69 6e 64 65 78 3a 3d 69 6e 73 74 72 5f 69 6e 64 65   ┆e;       instr_index:=instr_inde┆
0x21ce0…21d00       78 2b 31 3b 0a 20 20 20 20 20 20 70 72 65 73 65 6e 74 5f 63 6f 64 65 20 3a 3d 20 6e 6f 70 5f 63   ┆x+1;       present_code := nop_c┆
0x21d00…21d20       6f 64 65 3b 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 65 6e 64 3b 0a 20 20 3c 2a 20 72   ┆ode;                 end;   <* r┆
0x21d20…21d40       65 61 64 20 6e 65 78 74 20 6c 69 6e 65 20 6f 66 20 73 6f 75 72 63 65 20 20 74 65 78 74 20 2a 3e   ┆ead next line of source  text *>┆
0x21d40…21d60       0a 20 20 72 65 61 64 5f 6e 65 78 74 5f 73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 20 20 65 6e 64 20   ┆   read_next_source_line;   end ┆
0x21d60…21d80       63 6c 61 73 73 20 32 20 6e 65 77 20 6c 69 6e 65 0a 20 20 65 6c 73 65 0a 20 20 69 66 20 63 6c 61   ┆class 2 new line   else   if cla┆
0x21d80…21da0       73 73 20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 20 3d 20 75 6e 6b 6e 6f   ┆ss = text_class or class = unkno┆
0x21da0…21dc0       77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 63   ┆wn_name_class then   begin     c┆
0x21dc0…21de0       6c 61 73 73 5f 32 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 20 20   ┆lass_2 := look_ahead_class;     ┆
0x21de0…21e00       69 66 20 63 6c 61 73 73 5f 32 20 3d 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73   ┆if class_2 = colon_class or clas┆
0x21e00…21e20       73 5f 32 20 3d 20 73 6c 61 73 68 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67   ┆s_2 = slash_class then       beg┆
0x21e20…21e40       69 6e 0a 20 20 20 20 20 20 69 66 20 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3d 20 31 20 61 6e 64 20 63   ┆in       if element_no = 1 and c┆
0x21e40…21e60       6c 61 73 73 20 3d 20 75 6e 6b 6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20   ┆lass = unknown_name_class then  ┆
0x21e60…21e80       20 20 20 20 20 20 20 62 65 67 69 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆       begin                    ┆
0x21e80…21ea0       0a 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 32 20 3d 20 73 6c 61 73 68 5f 63 6c 61 73 73   ┆         if class2 = slash_class┆
0x21ea0…21ec0       20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ then           begin           ┆
0x21ec0…21ee0       73 6b 69 70 5f 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 32 20 3a 3d 20 6c   ┆skip_next;           class2 := l┆
0x21ee0…21f00       6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c   ┆ook_ahead_class;           if cl┆
0x21f00…21f20       61 73 73 32 20 3d 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 32 20 3d 20   ┆ass2 = number_class or class2 = ┆
0x21f20…21f40       63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65   ┆colon_class then              be┆
0x21f40…21f60       67 69 6e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 5f 32 20 3d 20 6e   ┆gin               if class_2 = n┆
0x21f60…21f80       75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆umber_class then                ┆
0x21f80…21fa0       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20   ┆begin                next1;     ┆
0x21fa0…21fc0       20 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 32 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f   ┆           class2 := look_ahead_┆
0x21fc0…21fe0       63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20   ┆class;                end       ┆
0x21fe0…22000       20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65   ┆        else               numbe┆
0x22000…22020       72 5f 31 20 3a 3d 20 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20   ┆r_1 := line_no;              if ┆
0x22020…22040       63 6c 61 73 73 32 20 3d 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆class2 = colon_class then       ┆
0x22040…22060       20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65   ┆         begin                ne┆
0x22060…22080       77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 69   ┆w_insert_label_def(name,number,i┆
0x22080…220a0       6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆nstr_index,line_no,             ┆
0x220a0…220c0       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 28 31 2b 61 62 73   ┆                          (1+abs┆
0x220c0…220e0       28 6e 75 6d 62 65 72 31 29 29 20 65 78 74 72 61 63 74 20 32 34 29 3b 0a 20 20 20 20 20 20 20 20   ┆(number1)) extract 24);         ┆
0x220e0…22100       20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72   ┆       end else               er┆
0x22100…22120       72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f   ┆ror(directive,line_no,element_no┆
0x22120…22140       29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆);              end             ┆
0x22140…22160       65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76   ┆else              error(directiv┆
0x22160…22180       65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20   ┆e,line_no,element_no);          ┆
0x22180…221a0       20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20   ┆    end             else        ┆
0x221a0…221c0       20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 5f 69 6e 73   ┆      begin              new_ins┆
0x221c0…221e0       65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 69 6e 73 74 72 5f   ┆ert_label_def(name,number,instr_┆
0x221e0…22200       69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65   ┆index,line_no,0);              e┆
0x22200…22220       6e 64 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20   ┆nd;         next;         end   ┆
0x22220…22240       20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 65 72 72 6f 72   ┆                else       error┆
0x22240…22260       28 6c 61 62 65 6c 5f 64 65 63 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a   ┆(label_dec,line_no,element_no); ┆
0x22260…22280       20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 65 6e 64 20 0a 20 20 20 20 65 6c 73 65 0a 20 20   ┆      next;     end      else   ┆
0x22280…222a0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 75 6e 6b 6e 6f 77 6e   ┆  begin       if class = unknown┆
0x222a0…222c0       5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆_name_class then       begin    ┆
0x222c0…222e0       20 20 20 20 20 65 72 72 6f 72 28 6e 61 6d 65 5f 75 6e 6b 6e 6f 77 6e 2c 6c 69 6e 65 5f 6e 6f 2c   ┆     error(name_unknown,line_no,┆
0x222e0…22300       65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 73 6b 69 70 5f 75 6e 74 69 6c 5f   ┆element_no);         skip_until_┆
0x22300…22320       64 65 6c 69 6d 5f 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20   ┆delim_class;         next;      ┆
0x22320…22340       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 6e 61 6d 65 5f 74 61   ┆ end       else       if name_ta┆
0x22340…22360       62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 3d 20 61 6c 75 5f 66 75 6e 63 74 69 6f 6e 5f 74 79 70   ┆ble(number,0) = alu_function_typ┆
0x22360…22380       65 20 74 68 65 6e 0a 20 20 20 20 20 20 61 6c 75 5f 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20   ┆e then       alu_function       ┆
0x22380…223a0       65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c   ┆else       if name_table(number,┆
0x223a0…223c0       30 29 20 3d 20 6a 75 6d 70 5f 61 64 64 72 73 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆0) = jump_addrs_type then       ┆
0x223c0…223e0       6a 75 6d 70 5f 61 64 64 72 73 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e   ┆jump_addrs       else       if n┆
0x223e0…22400       61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 3d 20 6a 75 6d 70 5f 73 65 6b 76 65   ┆ame_table(number,0) = jump_sekve┆
0x22400…22420       6e 73 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 75 6d 70 5f 73 65 6b 76 65 6e 73 0a   ┆ns_type then       jump_sekvens ┆
0x22420…22440       20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e   ┆      else       if name_table(n┆
0x22440…22460       75 6d 62 65 72 2c 30 29 20 3d 20 6c 6f 61 64 5f 63 6f 75 6e 74 65 72 5f 74 79 70 65 20 74 68 65   ┆umber,0) = load_counter_type the┆
0x22460…22480       6e 0a 20 20 20 20 20 20 6c 6f 61 64 5f 63 6f 75 6e 74 65 72 0a 20 20 20 20 20 20 65 6c 73 65 0a   ┆n       load_counter       else ┆
0x22480…224a0       20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 3d 20   ┆      if name_table(number,0) = ┆
0x224a0…224c0       73 70 65 63 69 61 6c 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 0a   ┆special_type then       special ┆
0x224c0…224e0       20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 65   ┆      else       begin         e┆
0x224e0…22500       72 72 6f 72 28 69 6c 6c 65 67 61 6c 5f 74 79 70 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e   ┆rror(illegal_type,line_no,elemen┆
0x22500…22520 (61,) 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20   ┆t_no);         next       end;  ┆
0x22520…22540       20 20 20 65 6e 64 3b 0a 20 20 65 6e 64 20 74 79 70 65 20 65 71 75 61 6c 20 69 64 65 6e 74 69 66   ┆   end;   end type equal identif┆
0x22540…22560       69 65 72 0a 20 20 65 6c 73 65 0a 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73 74 61 72 5f 63 6c 61   ┆ier   else   if class = star_cla┆
0x22560…22580       73 73 20 74 68 65 6e 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 3c 2a 20 41 66 74 65 72 20 73 74 61   ┆ss then   begin     <* After sta┆
0x22580…225a0       72 20 69 73 20 61 73 73 6d 2e 20 64 69 72 65 63 74 69 76 65 2c 0a 20 20 20 20 31 20 64 69 72 65   ┆r is assm. directive,     1 dire┆
0x225a0…225c0       6b 74 69 76 65 20 70 72 2e 20 6c 69 6e 65 2c 0a 20 20 20 20 61 66 74 65 72 20 74 68 65 20 64 69   ┆ktive pr. line,     after the di┆
0x225c0…225e0       72 65 6b 74 69 76 65 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 20   ┆rektive the rest of the line is ┆
0x225e0…22600       73 6b 69 70 70 65 64 2c 0a 20 20 20 20 74 68 65 20 64 69 72 65 6b 74 69 76 65 20 73 63 68 6f 75   ┆skipped,     the direktive schou┆
0x22600…22620       6c 64 20 62 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c   ┆ld be the first element in the l┆
0x22620…22640       69 6e 65 20 2a 3e 0a 20 20 20 20 69 66 20 63 6f 64 65 5f 67 65 6e 65 72 61 74 65 64 20 74 68 65   ┆ine *>     if code_generated the┆
0x22640…22660       6e 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e   ┆n error(directive,line_no,elemen┆
0x22660…22680       74 5f 6e 6f 29 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6e   ┆t_no)     else     begin       n┆
0x22680…226a0       65 78 74 31 3b 0a 20 20 20 20 20 20 6e 65 78 74 32 3b 0a 20 20 20 20 20 20 69 66 20 28 63 6c 61   ┆ext1;       next2;       if (cla┆
0x226a0…226c0       73 73 31 20 3c 3e 20 39 20 61 6e 64 20 63 6c 61 73 73 31 20 3c 3e 20 36 20 29 20 6f 72 20 63 6c   ┆ss1 <> 9 and class1 <> 6 ) or cl┆
0x226c0…226e0       61 73 73 32 20 3c 3e 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 3c 2a 63 6f 6c 6f 6e 2a 3e 20 74 68   ┆ass2 <> colon_class <*colon*> th┆
0x226e0…22700       65 6e 0a 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65 73 74 20 64 69 72 20 31   ┆en       error(long <:test dir 1┆
0x22700…22720       20 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 69 66 20 63 6c 61 73 73 32 20 3c 3e 20 63 6f 6c 6f 6e 5f 63   ┆ :>,line_no,if class2 <> colon_c┆
0x22720…22740       6c 61 73 73 20 74 68 65 6e 20 65 6c 65 6d 65 6e 74 5f 6e 6f 20 65 6c 73 65 0a 20 20 20 20 20 20   ┆lass then element_no else       ┆
0x22740…22760       65 6c 65 6d 65 6e 74 5f 6e 6f 20 2d 31 29 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20   ┆element_no -1)       else       ┆
0x22760…22780       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a   ┆begin         if name1 = long <:┆
0x22780…227a0       6e 61 6d 65 3a 3e 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   ┆name:> then         begin       ┆
0x227a0…227c0       20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 31 20 3c   ┆    next1;           if class1 <┆
0x227c0…227e0       3e 20 39 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 69 66 20 63 6c 61 73   ┆> 9 then           error(if clas┆
0x227e0…22800       73 31 20 3c 3e 20 36 20 74 68 65 6e 20 6c 6f 6e 67 20 3c 3a 74 65 73 74 20 64 69 72 20 32 2e 3a   ┆s1 <> 6 then long <:test dir 2.:┆
0x22800…22820       3e 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 70 6c 75 73 5f 6e 61 6d 65 5f 64 65 63 2c 6c   ┆> else           plus_name_dec,l┆
0x22820…22840       69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73   ┆ine_no,element_no)           els┆
0x22840…22860       65 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 61   ┆e           begin             na┆
0x22860…22880       6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 31 2c 31 29 20 3a 3d 20 6e 61 6d 65 31 3b 0a 20 20   ┆me_table(number1,1) := name1;   ┆
0x22880…228a0       20 20 20 20 20 20 20 20 20 20 69 6e 64 65 78 3a 3d 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20   ┆          index:=0;             ┆
0x228a0…228c0       20 66 6f 72 20 63 6c 61 73 73 32 20 3a 3d 20 6e 65 78 74 32 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ for class2 := next2            ┆
0x228c0…228e0       20 77 68 69 6c 65 20 63 6c 61 73 73 32 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 61 6e 64 20   ┆ while class2 = comma_class and ┆
0x228e0…22900       69 6e 64 65 78 20 3c 20 35 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20   ┆index < 5 do             begin  ┆
0x22900…22920       20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆             next2;             ┆
0x22920…22940       20 20 69 66 20 63 6c 61 73 73 32 20 3d 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a   ┆  if class2 = number_class then ┆
0x22940…22960       20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 31   ┆              name_table(number1┆
0x22960…22980       2c 69 6e 64 65 78 29 20 3a 3d 20 6e 75 6d 62 65 72 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,index) := number2              ┆
0x22980…229a0       20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 32 20 3d 20   ┆ else               if class2 = ┆
0x229a0…229c0       36 20 3c 2a 20 64 65 66 69 6e 65 64 20 6e 61 6d 65 20 2a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆6 <* defined name *> then       ┆
0x229c0…229e0       20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 31 2c 69 6e 64 65 78   ┆        name_table(number1,index┆
0x229e0…22a00       29 20 3a 3d 20 6e 75 6d 62 65 72 5f 32 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20   ┆) := number_2                   ┆
0x22a00…22a20       20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e   ┆        else               begin┆
0x22a20…22a40       0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65   ┆                 error(long <:te┆
0x22a40…22a60       73 74 20 64 69 72 2e 20 33 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b   ┆st dir. 3:>,line_no,element_no);┆
0x22a60…22a80       0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64 65 78 3a 3d 31 30 30 3b 0a 20 20 20   ┆                 index:=100;    ┆
0x22a80…22aa0       20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66   ┆           end;               if┆
0x22aa0…22ac0       20 69 6e 64 65 78 20 3d 20 30 20 74 68 65 6e 20 69 6e 64 65 78 20 3a 3d 32 20 65 6c 73 65 0a 20   ┆ index = 0 then index :=2 else  ┆
0x22ac0…22ae0       20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 69 6e 64 65 78 3c 31 30 30 20 74 68 65 6e 20 69   ┆             if index<100 then i┆
0x22ae0…22b00       6e 64 65 78 3a 3d 69 6e 64 65 78 2b 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a   ┆ndex:=index+1;             end; ┆
0x22b00…22b20       20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a   ┆          end;         end else ┆
0x22b20…22b40       20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67   ┆                 if name1 = long┆
0x22b40…22b60       20 3c 3a 63 6f 6e 73 74 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a   ┆ <:const:> then           begin ┆
0x22b60…22b80       20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c   ┆          next1;           if cl┆
0x22b80…22ba0       61 73 73 31 20 3c 3e 20 39 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72   ┆ass1 <> 9 then             error┆
0x22ba0…22bc0       28 69 66 20 63 6c 61 73 73 31 20 3c 3e 20 36 20 74 68 65 6e 20 64 69 72 65 63 74 69 76 65 20 65   ┆(if class1 <> 6 then directive e┆
0x22bc0…22be0       6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 75 73 5f 6e 61 6d 65   ┆lse                    plus_name┆
0x22be0…22c00       5f 64 65 63 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20   ┆_dec,line_no,element_no)        ┆
0x22c00…22c20       20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆    else              begin     ┆
0x22c20…22c40       20 20 20 20 20 20 20 20 20 6e 65 78 74 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20   ┆         next2;              if ┆
0x22c40…22c60       63 6c 61 73 73 32 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆class2 = comma_class then       ┆
0x22c60…22c80       20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65   ┆         begin                ne┆
0x22c80…22ca0       78 74 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 32 20 3d 20   ┆xt2;                if class2 = ┆
0x22ca0…22cc0       6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆number_class then               ┆
0x22cc0…22ce0       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 5f 69 6e   ┆   begin                  new_in┆
0x22ce0…22d00       73 65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 28 6e 61 6d 65 31 2c 6e 75 6d 62 65 72 31 2c 0a 20 20   ┆sert_label_def(name1,number1,   ┆
0x22d00…22d20       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 20 20 20   ┆                                ┆
0x22d20…22d40       20 20 20 20 6e 75 6d 62 65 72 32 20 65 78 74 72 61 63 74 20 31 32 2c 6c 69 6e 65 5f 6e 6f 2c 30   ┆    number2 extract 12,line_no,0┆
0x22d40…22d60       29 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20   ┆);;                  end        ┆
0x22d60…22d80       20 20 20 20 20 20 20 20 20 65 6c 73 65 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69   ┆         else error(directive,li┆
0x22d80…22da0       6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ne_no,element_no);              ┆
0x22da0…22dc0       20 20 65 6e 64 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 65 72 72 6f 72 28   ┆  end                else error(┆
0x22dc0…22de0       64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20   ┆directive,line_no,element_no);  ┆
0x22de0…22e00       20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 65   ┆            end;           end e┆
0x22e00…22e20 (62,) 6c 73 65 0a 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c   ┆lse                 if name1 = l┆
0x22e20…22e40       6f 6e 67 20 3c 3a 6d 61 73 6b 3a 3e 20 74 68 65 6e 20 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e   ┆ong <:mask:> then          begin┆
0x22e40…22e60       0a 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6f 70 65 72 61 6e 64 28 31 3a 31 29   ┆         long array operand(1:1)┆
0x22e60…22e80       3b 20 3c 2a 20 6f 6e 6c 79 20 6f 6e 65 20 77 6f 72 64 20 75 73 65 64 20 2a 3e 0a 20 20 20 20 20   ┆; <* only one word used *>      ┆
0x22e80…22ea0       20 20 20 62 6f 6f 6c 65 61 6e 20 6d 61 73 6b 5f 73 75 63 63 65 73 3b 0a 20 20 20 20 20 20 20 20   ┆   boolean mask_succes;         ┆
0x22ea0…22ec0       6c 6f 6e 67 20 6d 61 73 6b 5f 6e 61 6d 65 2c 6d 61 73 6b 5f 6e 75 6d 62 65 72 3b 0a 20 20 20 20   ┆long mask_name,mask_number;     ┆
0x22ec0…22ee0       20 20 20 20 6f 70 65 72 61 6e 64 28 31 29 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 69   ┆    operand(1) := 0;           i┆
0x22ee0…22f00       66 20 6e 65 78 74 31 20 3c 3e 20 75 6e 6b 6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68   ┆f next1 <> unknown_name_class th┆
0x22f00…22f20       65 6e 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 20 64 69 72 65 63   ┆en           error(long <: direc┆
0x22f20…22f40       74 69 76 65 20 32 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20   ┆tive 2:>,line_no,element_no)    ┆
0x22f40…22f60       20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 65 78 74 32 20 3c   ┆       else           if next2 <┆
0x22f60…22f80       3e 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 65 72   ┆> comma_class  then           er┆
0x22f80…22fa0       72 6f 72 28 6c 6f 6e 67 20 3c 3a 64 69 72 65 63 74 69 76 65 20 33 3a 3e 2c 6c 69 6e 65 5f 6e 6f   ┆ror(long <:directive 3:>,line_no┆
0x22fa0…22fc0       2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20   ┆,element_no)           else     ┆
0x22fc0…22fe0       20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 6e 61 6d   ┆       begin            mask_nam┆
0x22fe0…23000       65 20 3a 3d 20 6e 61 6d 65 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 6e 75 6d 62   ┆e := name1;            mask_numb┆
0x23000…23020       65 72 20 3a 3d 20 6e 75 6d 62 65 72 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 73   ┆er := number1;            mask_s┆
0x23020…23040       75 63 63 65 73 20 3a 3d 20 72 65 61 64 5f 61 6e 64 5f 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61   ┆ucces := read_and_set_bits(opera┆
0x23040…23060       6e 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 20 2d 2c 20 6d 61 73 6b 5f 73 75 63 63   ┆nd);            if  -, mask_succ┆
0x23060…23080       65 73 20 74 68 65 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67   ┆es then               error(long┆
0x23080…230a0       20 3c 3a 64 69 72 65 63 74 69 76 65 20 34 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74   ┆ <:directive 4:>,line_no,element┆
0x230a0…230c0       5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20   ┆_no)             else           ┆
0x230c0…230e0       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65   ┆   begin              name_table┆
0x230e0…23100       28 6d 61 73 6b 5f 6e 75 6d 62 65 72 2c 30 29 20 3a 3d 20 6d 61 73 6b 5f 74 79 70 65 3b 0a 20 20   ┆(mask_number,0) := mask_type;   ┆
0x23100…23120       20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6d 61 73 6b 5f 6e 75 6d 62 65   ┆           name_table(mask_numbe┆
0x23120…23140       72 2c 31 29 20 3a 3d 20 6d 61 73 6b 5f 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆r,1) := mask_name;              ┆
0x23140…23160       6e 61 6d 65 5f 74 61 62 6c 65 28 6d 61 73 6b 5f 6e 75 6d 62 65 72 2c 32 29 20 3a 3d 20 6f 70 65   ┆name_table(mask_number,2) := ope┆
0x23160…23180       72 61 6e 64 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c   ┆rand(1);              write(out,┆
0x23180…231a0       3c 3a 3c 31 30 3e 2a 2a 2a 4d 41 53 4b 20 30 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆<:<10>***MASK 0::>,             ┆
0x231a0…231c0       20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 6e 75 6d 62 65 72 2c 0a 20 20 20 20 20 20 20 20   ┆           mask_number,         ┆
0x231c0…231e0       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 6e 64 28 31 29 20 73 68 69 66 74 28   ┆               operand(1) shift(┆
0x231e0…23200       2d 32 34 29 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   ┆-24),                           ┆
0x23200…23220       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 6e 64 28 31 29 20 65 78 74 72 61   ┆                operand(1) extra┆
0x23220…23240       63 74 20 32 34 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   ┆ct 24,                          ┆
0x23240…23260       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63 74 61 6c 28 6f 70 65 72 61 6e 64 28 31   ┆                 octal(operand(1┆
0x23260…23280       29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20   ┆)));               end;         ┆
0x23280…232a0       20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20   ┆   end;         end else        ┆
0x232a0…232c0       20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 72 69 67 6f 3a 3e 20 74 68 65 6e 0a   ┆ if name1 = long <:origo:> then ┆
0x232c0…232e0       20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 65 78 74 31   ┆        begin           if next1┆
0x232e0…23300       20 3c 3e 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ <> number_class then           ┆
0x23300…23320       65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65 73 74 20 64 69 72 2e 20 34 3a 3e 2c 6c 69 6e 65 5f   ┆error(long <:test dir. 4:>,line_┆
0x23320…23340       6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20   ┆no,element_no)           else   ┆
0x23340…23360       20 20 20 20 20 20 20 20 69 6e 73 74 72 5f 69 6e 64 65 78 20 3a 3d 20 6e 75 6d 62 65 72 31 3b 0a   ┆        instr_index := number1; ┆
0x23360…23380       20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20   ┆        end         else        ┆
0x23380…233a0       20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6c 69 73 74 3a 3e 20 74 68 65 6e 0a 20   ┆ if name1 = long <:list:> then  ┆
0x233a0…233c0       20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20   ┆       begin           next1;   ┆
0x233c0…233e0       20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 6e 3a 3e 20 6f   ┆        if name1 = long <:on:> o┆
0x233e0…23400       72 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 79 65 73 3a 3e 20 74 68 65 6e 0a 20 20 20 20   ┆r name1 = long <:yes:> then     ┆
0x23400…23420       20 20 20 20 20 20 6c 69 73 74 20 3a 3d 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73   ┆      list := true           els┆
0x23420…23440       65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 66   ┆e           if name1 = long <:of┆
0x23440…23460       66 3a 3e 20 6f 72 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6e 6f 3a 3e 20 74 68 65 6e 0a   ┆f:> or name1 = long <:no:> then ┆
0x23460…23480       20 20 20 20 20 20 20 20 20 20 6c 69 73 74 20 3a 3d 20 66 61 6c 73 65 0a 20 20 20 20 20 20 20 20   ┆          list := false         ┆
0x23480…234a0       20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65   ┆  else           error(long <:te┆
0x234a0…234c0       73 74 20 64 69 72 20 35 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20   ┆st dir 5:>,line_no,element_no)  ┆
0x234c0…234e0       20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31   ┆       end else         if name1┆
0x234e0…23500       20 3d 20 6c 6f 6e 67 20 3c 3a 70 61 67 65 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ = long <:page:> then           ┆
0x23500…23520       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 69 73 74 20 74 68 65 6e 0a 20 20 20   ┆begin           if list then    ┆
0x23520…23540       20 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 31 32 29 3b 0a 20 20 20 20 20 20 20 20   ┆       outchar(out,12);         ┆
0x23540…23560       20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f   ┆  end else         if name1 = lo┆
0x23560…23580       6e 67 20 3c 3a 73 6b 69 70 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69   ┆ng <:skip:> then            begi┆
0x23580…235a0       6e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 2a 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 20 6c   ┆n            <* procedure skip l┆
0x235a0…235c0       6f 67 69 63 20 2a 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 69 76 65 5f 73 6b 69   ┆ogic *>            directive_ski┆
0x235c0…235e0       70 5f 75 6e 74 69 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20   ┆p_until;            end else    ┆
0x235e0…23600       20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 6e 6c 79 69 3a 3e 20 20   ┆     if name1 = long <:onlyi:>  ┆
0x23600…23620       61 64 64 20 27 6e 27 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20   ┆add 'n' then            begin   ┆
0x23620…23640       20 20 20 20 20 20 20 20 20 3c 2a 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 20 69 66 20 6e 6f   ┆         <* procedure skip if no┆
0x23640…23660       74 20 69 6e 20 6e 61 6d 65 64 20 6d 6f 64 65 20 2a 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 69   ┆t in named mode *>            di┆
0x23660…23680       72 65 63 74 69 76 65 5f 6f 6e 6c 79 69 6e 5f 6c 6f 67 69 63 28 74 72 75 65 29 3b 0a 20 20 20 20   ┆rective_onlyin_logic(true);     ┆
0x23680…236a0       20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31   ┆       end else         if name1┆
0x236a0…236c0       20 3d 20 6c 6f 6e 67 20 3c 3a 6e 6f 74 69 6e 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20   ┆ = long <:notin:> then          ┆
0x236c0…236e0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 2a 20 73 6b 69 70 20 69 66 20 6e 61   ┆  begin            <* skip if na┆
0x236e0…23700       6d 65 64 20 6d 6f 64 65 20 2a 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 69 76 65   ┆med mode *>            directive┆

OctetView

0x00000…00033 (0,)  Rc489kSubCatEnt {f00=0x001542, f01=0x0007f8, f02=0x000801, filename=»tsetdef     «, entry_tail=0-4-0-1-1980-12-04T16:20-disc-0x0-0x0-0x0-0x0}
0x00033…00066       Rc489kSubCatEnt {f00=0x002dca, f01=0x0007f8, f02=0x000801, filename=»jttestext   «, entry_tail=0-4-0-1-1980-12-04T16:02-disc1-0x0-0x0-0x0-0x0}
0x00066…00099       Rc489kSubCatEnt {f00=0x003b52, f01=0x0007f8, f02=0x000801, filename=»jttrans     «, entry_tail=0-4-0-2-1980-12-04T12:29-disc1-0x0-0x0-0x0-0x0}
0x00099…000cc       Rc489kSubCatEnt {f00=0x0052cb, f01=0x0007f8, f02=0x000801, filename=»talgoltask  «, entry_tail=0-4-0-25-1980-11-27T13:13-disc3-0x0-0x0-0x0-0x0}
0x000cc…000ff       Rc489kSubCatEnt {f00=0x01eb9b, f01=0x0007f8, f02=0x000801, filename=»tsetentry   «, entry_tail=0-4-0-9-1979-12-04T12:15-disc3-0x0-0x0-0x0-0x0}
0x000ff…00132       Rc489kSubCatEnt {f00=0x027df3, f01=0x0007f8, f02=0x000801, filename=»prelinktext «, entry_tail=0-4-0-63-1980-12-02T12:42-disc3-0x0-0x0-0x0-0x0}
0x00132…00165       Rc489kSubCatEnt {f00=0x066cc3, f01=0x0007f8, f02=0x000801, filename=»texecintf1  «, entry_tail=0-4-0-16-1980-02-26T10:16-disc3-0x0-0x0-0x0-0x0}
0x00165…00198       Rc489kSubCatEnt {f00=0x0765c3, f01=0x0007f8, f02=0x000801, filename=»tcreatetask «, entry_tail=0-4-0-26-1980-11-17T15:11-disc3-0x0-0x0-0x0-0x0}
0x00198…001a0       ff ff ff ff ff ff ff ff   ┆        ┆
0x001a0…001c0       ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ┆                                ┆
         […0x3…]
0x00220…00240       ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 05 80 04 1b 80 00 01 7f ff fd 74 72 6f   ┆                             tro┆
0x00240…00260       00 00 00 00 00 00 00 00 00 80 00 0a 72 65 61 64 65 72 00 00 00 00 00 00 63 99 3e 00 00 00 00 00   ┆            reader      c >     ┆
0x00260…00280       00 00 00 00 00 00 00 1b 14 1b 80 00 01 7f ff fd 70 6f 73 00 00 00 00 00 00 00 00 00 00 00 18 64   ┆                pos            d┆
0x00280…002a0       69 73 63 00 00 00 00 00 00 00 00 69 d5 88 80 b0 b0 00 00 00 00 29 24 00 0a ac ff ff ff 00 02 6c   ┆isc        i         )$        l┆
0x002a0…002c0       00 02 75 77 72 6b 30 30 30 31 36 35 00 00 00 00 00 17 64 69 73 63 31 00 00 00 00 00 00 00 76 b3   ┆  uwrk000165      disc1       v ┆
0x002c0…002e0       29 00 00 00 00 00 00 00 00 00 00 2d ee ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ┆)          -                    ┆
0x002e0…002fd       ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ┆                             ┆
0x002fd…00300       0x000008
0x00300…00600       Data for tsetdef
0x00600…00900       Data for jttestext
0x00900…00f00 (1,)  Data for jttrans
0x00f00…05a00       Data for talgoltask
0x05a00…07500 (10,) Data for tsetentry
0x07500…13200 (13,) Data for prelinktext
0x13200…16200 (34,) Data for texecintf1
0x16200…1b000       Data for tcreatetask
0x1b000…1b020 (48,) 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 63 61 6c 63 75 6c 61 74 65 5f 68 61 73 68 5f   ┆nteger procedure calculate_hash_┆
0x1b020…1b040       6b 65 79 28 6e 61 6d 65 29 3b 0a 20 20 20 20 76 61 6c 75 65 20 6e 61 6d 65 3b 20 6c 6f 6e 67 20   ┆key(name);     value name; long ┆
0x1b040…1b060       6e 61 6d 65 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 63 61 6c 63 75 6c 61 74 65 5f 68 61   ┆name;     begin     calculate_ha┆
0x1b060…1b080       73 68 5f 6b 65 79 20 3a 3d 20 28 28 20 6e 61 6d 65 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a   ┆sh_key := (( name extract 12) + ┆
0x1b080…1b0a0       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 28 20 6e 61 6d 65   ┆                          ( name┆
0x1b0a0…1b0c0       20 73 68 69 66 74 20 28 2d 31 32 29 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a 20 20 20 20 20   ┆ shift (-12) extract 12) +      ┆
0x1b0c0…1b0e0       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66   ┆                     ( name shif┆
0x1b0e0…1b100       74 20 28 2d 32 34 29 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20   ┆t (-24) extract 12) +           ┆
0x1b100…1b120       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 33   ┆                ( name shift (-3┆
0x1b120…1b140       36 29 20 65 78 74 72 61 63 74 20 31 32 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆6) extract 12) +                ┆
0x1b140…1b160       20 20 20 20 20 20 20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 34 30 29 20 65 78   ┆           ( name shift (-40) ex┆
0x1b160…1b180       74 72 61 63 74 20 38 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆tract 8) +                      ┆
0x1b180…1b1a0       20 20 20 20 20 28 20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 33 32 29 20 65 78 74 72 61 63 74 20   ┆     ( name shift (-32) extract ┆
0x1b1a0…1b1c0       38 29 20 2b 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 28   ┆8) +                           (┆
0x1b1c0…1b1e0       20 6e 61 6d 65 20 73 68 69 66 74 20 28 2d 32 34 29 20 65 78 74 72 61 63 74 20 31 32 29 20 0a 20   ┆ name shift (-24) extract 12)   ┆
0x1b1e0…1b200       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20   ┆                        )       ┆
0x1b200…1b220       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 20 73 65 61 72 63 68 5f 74   ┆                    mod search_t┆
0x1b220…1b240       61 62 6c 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 20 20 65 6e 64 20 63 61 6c 63 75 6c 61 74 65 5f 68   ┆able_length;     end calculate_h┆
0x1b240…1b260       61 73 68 5f 6b 65 79 3b 0a 0a 20 20 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20   ┆ash_key;      integer procedure ┆
0x1b260…1b280       69 6e 73 65 72 74 5f 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 6e 61 6d 65 2c 74 79 70   ┆insert_name_table(index,name,typ┆
0x1b280…1b2a0       65 2c 72 65 66 66 29 3b 0a 20 20 20 20 76 61 6c 75 65 20 69 6e 64 65 78 2c 6e 61 6d 65 2c 74 79   ┆e,reff);     value index,name,ty┆
0x1b2a0…1b2c0       70 65 2c 72 65 66 66 3b 20 6c 6f 6e 67 20 69 6e 64 65 78 2c 6e 61 6d 65 3b 20 20 20 20 20 20 20   ┆pe,reff; long index,name;       ┆
0x1b2c0…1b2e0       20 20 20 0a 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 2c 72 65 66 66 3b 0a 20 20 20 20 62   ┆        integer type,reff;     b┆
0x1b2e0…1b300       65 67 69 6e 0a 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 31 29 20 3a 3d 20   ┆egin     name_table(index,1) := ┆
0x1b300…1b320       6e 61 6d 65 3b 0a 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 30 29 20 3a 3d   ┆name;     name_table(index,0) :=┆
0x1b320…1b340       20 74 79 70 65 3b 0a 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 34 29 20 3a   ┆ type;     name_table(index,4) :┆
0x1b340…1b360       3d 20 72 65 66 66 3b 0a 20 20 20 20 65 6e 64 20 69 6e 73 65 72 74 5f 6e 61 6d 65 5f 74 61 62 6c   ┆= reff;     end insert_name_tabl┆
0x1b360…1b380       65 3b 0a 0a 0a 0a 20 20 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6e 65 77 5f   ┆e;        integer procedure new_┆
0x1b380…1b3a0       69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 72 65 66 28 6e 61 6d 65 2c 69 6e 73 74 72 5f 69 6e 64 65   ┆insert_label_ref(name,instr_inde┆
0x1b3a0…1b3c0       78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 0a 20 20 20 20 76 61 6c 75   ┆x,line_no,element_no);      valu┆
0x1b3c0…1b3e0       65 20 6e 61 6d 65 2c 69 6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65   ┆e name,instr_index,line_no,eleme┆
0x1b3e0…1b400       6e 74 5f 6e 6f 3b 0a 20 20 20 20 6c 6f 6e 67 20 6e 61 6d 65 3b 0a 20 20 20 20 69 6e 74 65 67 65   ┆nt_no;     long name;     intege┆
0x1b400…1b420       72 20 69 6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f   ┆r instr_index,line_no,element_no┆
0x1b420…1b440       3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 6c 5f 72 5f 72 65 63 6f 72 64 20 3a 3d 20 61 6c   ┆;     begin     l_r_record := al┆
0x1b440…1b460       6c 6f 63 61 74 65 28 6c 5f 72 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 29 3b 0a 20 20 20 20 48   ┆locate(l_r_record_length);     H┆
0x1b460…1b480       45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 63 68 61 69 6e 20 3a 3d 20 6c 5f 72 5f   ┆EAP.l_r_record.l_r_chain := l_r_┆
0x1b480…1b4a0       72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 3b 0a 20 20 20 20 6c 5f 72 5f 72 65 63 6f 72   ┆record_chain_head;     l_r_recor┆
0x1b4a0…1b4c0       64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3a 3d 20 6c 5f 72 5f 72 65 63 6f 72 64 3b 0a 20 20 20 20   ┆d_chain_head := l_r_record;     ┆
0x1b4c0…1b4e0       48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 6e 61 6d 65 20 3a 3d 20 6e 61 6d 65   ┆HEAP.l_r_record.l_r_name := name┆
0x1b4e0…1b500       3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 69 6e 64 65 78 20   ┆;     HEAP.l_r_record.l_r_index ┆
0x1b500…1b520       3a 3d 20 69 6e 73 74 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63   ┆:= instr_index;     HEAP.l_r_rec┆
0x1b520…1b540       6f 72 64 2e 6c 5f 72 5f 6c 69 6e 65 5f 6e 6f 20 3a 3d 20 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20   ┆ord.l_r_line_no := line_no;     ┆
0x1b540…1b560       48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3a   ┆HEAP.l_r_record.l_r_element_no :┆
0x1b560…1b580       3d 20 65 6c 65 6d 65 6e 74 5f 6e 6f 3b 0a 20 20 20 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62   ┆= element_no;     new_insert_lab┆
0x1b580…1b5a0       65 6c 5f 72 65 66 20 3a 3d 20 6c 5f 72 5f 72 65 63 6f 72 64 3b 0a 20 20 20 20 65 6e 64 20 6e 65   ┆el_ref := l_r_record;     end ne┆
0x1b5a0…1b5c0       77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 72 65 66 3b 0a 0a 0a 0a 20 20 20 20 69 6e 74 65 67   ┆w_insert_label_ref;        integ┆
0x1b5c0…1b5e0       65 72 20 70 72 6f 63 65 64 75 72 65 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64 65   ┆er procedure new_insert_label_de┆
0x1b5e0…1b600       66 28 6e 61 6d 65 2c 69 6e 64 65 78 2c 69 6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f   ┆f(name,index,instr_index,line_no┆
0x1b600…1b620       2c 73 70 65 63 29 3b 0a 20 20 20 20 76 61 6c 75 65 20 6e 61 6d 65 2c 69 6e 64 65 78 2c 69 6e 73   ┆,spec);     value name,index,ins┆
0x1b620…1b640       74 72 5f 69 6e 64 65 78 2c 73 70 65 63 2c 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 6c 6f 6e 67 20   ┆tr_index,spec,line_no;     long ┆
0x1b640…1b660       6e 61 6d 65 2c 69 6e 64 65 78 3b 0a 20 20 20 20 69 6e 74 65 67 65 72 20 69 6e 73 74 72 5f 69 6e   ┆name,index;     integer instr_in┆
0x1b660…1b680       64 65 78 2c 73 70 65 63 2c 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆dex,spec,line_no;     begin     ┆
0x1b680…1b6a0       6c 5f 64 5f 72 65 63 6f 72 64 20 3a 3d 20 61 6c 6c 6f 63 61 74 65 28 6c 5f 64 5f 72 65 63 6f 72   ┆l_d_record := allocate(l_d_recor┆
0x1b6a0…1b6c0       64 5f 6c 65 6e 67 74 68 29 3b 0a 20 20 20 20 69 6e 73 65 72 74 5f 6e 61 6d 65 5f 74 61 62 6c 65   ┆d_length);     insert_name_table┆
0x1b6c0…1b6e0       28 69 6e 64 65 78 2c 6e 61 6d 65 2c 6c 61 62 65 6c 5f 74 79 70 65 2c 6c 5f 64 5f 72 65 63 6f 72   ┆(index,name,label_type,l_d_recor┆
0x1b6e0…1b700       64 29 3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 63 68 61 69   ┆d);     HEAP.l_d_record.l_d_chai┆
0x1b700…1b720       6e 20 3a 3d 20 69 6e 64 65 78 3b 20 3c 2a 20 69 6e 64 65 78 20 62 61 63 6b 20 74 6f 20 6e 61 6d   ┆n := index; <* index back to nam┆
0x1b720…1b740       65 20 74 61 62 6c 65 20 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆e table                         ┆
0x1b740…1b760       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 20 20 20   ┆                                ┆
0x1b760…1b780       2a 3e 0a 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 69 6e 64 65 78   ┆*>     HEAP.l_d_record.l_d_index┆
0x1b780…1b7a0       20 3a 3d 20 69 6e 73 74 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65   ┆ := instr_index;     HEAP.l_d_re┆
0x1b7a0…1b7c0       63 6f 72 64 2e 6c 5f 64 5f 6c 69 6e 65 5f 6e 6f 20 3a 3d 20 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20   ┆cord.l_d_line_no := line_no;    ┆
0x1b7c0…1b7e0       20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3a 3d 20 73 70 65   ┆ HEAP.l_d_record.l_d_spec := spe┆
0x1b7e0…1b800       63 3b 0a 20 20 20 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 20 3a 3d 20 69   ┆c;     new_insert_label_def := i┆
0x1b800…1b820       6e 64 65 78 3b 0a 20 20 20 20 65 6e 64 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64   ┆ndex;     end new_insert_label_d┆
0x1b820…1b840       65 66 3b 0a 0a 20 20 20 20 70 72 6f 63 65 64 75 72 65 20 72 65 73 6f 6c 76 65 5f 6c 61 62 65 6c   ┆ef;      procedure resolve_label┆
0x1b840…1b860       73 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 63 6f 64 65   ┆s;     begin     integer op_code┆
0x1b860…1b880       5f 69 6e 64 65 78 3b 0a 20 20 20 20 6c 6f 6e 67 20 6e 61 6d 65 5f 74 61 62 6c 65 5f 69 6e 64 65   ┆_index;     long name_table_inde┆
0x1b880…1b8a0       78 3b 0a 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 77 72 5f 6e 61 6d 65 28 31 3a 32 29 3b 20   ┆x;     long array wr_name(1:2); ┆
0x1b8a0…1b8c0       3c 2a 20 75 73 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 20 6f 66 20 61 20 6e 61 6d 65 20 2a 3e   ┆<* used for writing of a name *>┆
0x1b8c0…1b8e0       0a 20 20 20 20 77 72 5f 6e 61 6d 65 28 32 29 3a 3d 30 3b 0a 0a 20 20 20 20 6c 5f 72 5f 72 65 63   ┆     wr_name(2):=0;      l_r_rec┆
0x1b8e0…1b900       6f 72 64 20 3a 3d 20 6c 5f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 3b 0a 20 20   ┆ord := l_r_record_chain_head;   ┆
0x1b900…1b920 (49,) 20 20 20 77 68 69 6c 65 20 6c 5f 72 5f 72 65 63 6f 72 64 20 3e 2d 31 20 64 6f 0a 20 20 20 20 20   ┆   while l_r_record >-1 do      ┆
0x1b920…1b940       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 69 66 20 2d 2c 20 6c 6f 6f 6b 75 70 5f 6e 61 6d 65   ┆  begin        if -, lookup_name┆
0x1b940…1b960       28 6e 61 6d 65 5f 74 61 62 6c 65 2c 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f   ┆(name_table,HEAP.l_r_record.l_r_┆
0x1b960…1b980       6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74   ┆name,                     name_t┆
0x1b980…1b9a0       61 62 6c 65 5f 69 6e 64 65 78 29 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a   ┆able_index) then          begin ┆
0x1b9a0…1b9c0       20 20 20 20 20 20 20 20 20 69 6e 73 74 72 5f 69 6e 64 65 78 20 3a 3d 20 48 45 41 50 2e 6c 5f 72   ┆         instr_index := HEAP.l_r┆
0x1b9c0…1b9e0       5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f   ┆_record.l_r_index;          erro┆
0x1b9e0…1ba00       72 28 75 6e 64 65 63 5f 6c 61 62 65 6c 2c 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f   ┆r(undec_label,HEAP.l_r_record.l_┆
0x1ba00…1ba20       72 5f 6c 69 6e 65 5f 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆r_line_no,                      ┆
0x1ba20…1ba40       20 20 20 20 20 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 65 6c 65 6d 65 6e   ┆      HEAP.l_r_record.l_r_elemen┆
0x1ba40…1ba60       74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 65 6c 73 65   ┆t_no);          end         else┆
0x1ba60…1ba80       0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 6c 5f 64 5f 72 65 63   ┆          begin          l_d_rec┆
0x1ba80…1baa0       6f 72 64 20 3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 61 6d 65 5f 74 61 62 6c 65 5f 69 6e 64   ┆ord := name_table(name_table_ind┆
0x1baa0…1bac0       65 78 2c 34 29 3b 0a 20 20 20 20 20 20 20 20 20 6f 70 5f 63 6f 64 65 5f 69 6e 64 65 78 20 3a 3d   ┆ex,4);          op_code_index :=┆
0x1bac0…1bae0       20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 69 6e 64 65 78 3b 0a 20 20 20 20   ┆ HEAP.l_r_record.l_r_index;     ┆
0x1bae0…1bb00       20 20 20 20 20 6f 70 5f 63 6f 64 65 28 6f 70 63 6f 64 65 5f 69 6e 64 65 78 29 20 3a 3d 20 6d 61   ┆     op_code(opcode_index) := ma┆
0x1bb00…1bb20       73 6b 5f 69 6e 28 6f 70 5f 63 6f 64 65 28 6f 70 5f 63 6f 64 65 5f 69 6e 64 65 78 29 2c 0a 20 20   ┆sk_in(op_code(op_code_index),   ┆
0x1bb20…1bb40       20 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e   ┆         extend HEAP.l_d_record.┆
0x1bb40…1bb60       6c 5f 64 5f 69 6e 64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 61 64 64 72 73 5f 6d 61 73 6b   ┆l_d_index,            addrs_mask┆
0x1bb60…1bb80       29 3b 0a 20 20 20 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 20 20 20 69 66 20 74 65 73 74 5f 6c   ┆);                     if test_l┆
0x1bb80…1bba0       61 62 65 6c 5f 62 69 74 20 6f 72 20 74 65 73 74 5f 6c 61 62 65 6c 5f 72 65 66 20 74 68 65 6e 0a   ┆abel_bit or test_label_ref then ┆
0x1bba0…1bbc0       20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 77 72 5f 6e   ┆           begin            wr_n┆
0x1bbc0…1bbe0       61 6d 65 28 31 29 20 3a 3d 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 6e 61   ┆ame(1) := HEAP.l_d_record.l_d_na┆
0x1bbe0…1bc00       6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c   ┆me;            write(out,"nl",1,┆
0x1bc00…1bc20       22 73 70 22 2c 35 2c 3c 3c 7a 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆"sp",5,<<zddd>,                 ┆
0x1bc20…1bc40       20 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f   ┆ octal(extend HEAP.l_r_record.l_┆
0x1bc40…1bc60       72 5f 69 6e 64 65 78 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 20 6c 61   ┆r_index),                  <: la┆
0x1bc60…1bc80       62 65 6c 20 72 65 66 66 20 74 6f 3a 20 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆bel reff to: :>,                ┆
0x1bc80…1bca0       20 20 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c   ┆  octal(extend HEAP.l_d_record.l┆
0x1bca0…1bcc0       5f 64 5f 69 6e 64 65 78 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 20 6e   ┆_d_index),                  <: n┆
0x1bcc0…1bce0       61 6d 65 3a 20 3a 3e 2c 77 72 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 65 6e 64   ┆ame: :>,wr_name);            end┆
0x1bce0…1bd00       3b 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 69 66 20 74 65 73 74 5f 6c 61 62   ┆;                    if test_lab┆
0x1bd00…1bd20       65 6c 5f 62 69 74 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆el_bit then            begin    ┆
0x1bd20…1bd40       20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 22 73 70 22 2c 31 31   ┆        write(out,"nl",1,"sp",11┆
0x1bd40…1bd60       29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 66 6f 72 6d 61 74 65 64 28 6f 70 5f   ┆);            print_formated(op_┆
0x1bd60…1bd80       63 6f 64 65 28 6f 70 5f 63 6f 64 65 5f 69 6e 64 65 78 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20   ┆code(op_code_index));           ┆
0x1bd80…1bda0       20 65 6e 64 3b 0a 0a 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 6c 5f 72 5f   ┆ end;           end;        l_r_┆
0x1bda0…1bdc0       72 65 63 6f 72 64 20 3a 3d 20 48 45 41 50 2e 6c 5f 72 5f 72 65 63 6f 72 64 2e 6c 5f 72 5f 63 68   ┆record := HEAP.l_r_record.l_r_ch┆
0x1bdc0…1bde0       61 69 6e 3b 0a 20 20 20 20 20 20 20 65 6e 64 20 73 63 61 6e 20 6c 6f 6f 70 3b 0a 20 20 20 20 65   ┆ain;        end scan loop;     e┆
0x1bde0…1be00       6e 64 20 72 65 73 6f 6c 76 65 5f 6c 61 62 65 6c 73 3b 0a 0a 20 20 20 20 70 72 6f 63 65 64 75 72   ┆nd resolve_labels;      procedur┆
0x1be00…1be20       65 20 6c 61 62 65 6c 5f 6c 69 73 74 28 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 29 3b 0a   ┆e label_list(only_spec_wanted); ┆
0x1be20…1be40       20 20 20 20 76 61 6c 75 65 20 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 3b 20 62 6f 6f 6c   ┆    value only_spec_wanted; bool┆
0x1be40…1be60       65 61 6e 20 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 3b 0a 20 20 20 20 62 65 67 69 6e 0a   ┆ean only_spec_wanted;     begin ┆
0x1be60…1be80       20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 77 72 5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20   ┆    long array wr_name(1:2);    ┆
0x1be80…1bea0       20 69 6e 74 65 67 65 72 20 69 6e 64 65 78 3b 0a 20 20 20 20 77 72 5f 6e 61 6d 65 28 32 29 20 3a   ┆ integer index;     wr_name(2) :┆
0x1bea0…1bec0       3d 20 30 3b 0a 20 20 20 20 0a 20 20 20 20 66 6f 72 20 69 6e 64 65 78 20 3a 3d 20 31 20 73 74 65   ┆= 0;          for index := 1 ste┆
0x1bec0…1bee0       70 20 31 20 75 6e 74 69 6c 20 6e 61 6d 65 5f 74 61 62 6c 65 5f 6c 65 6e 67 74 68 20 64 6f 0a 20   ┆p 1 until name_table_length do  ┆
0x1bee0…1bf00       20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69   ┆     begin       if name_table(i┆
0x1bf00…1bf20       6e 64 65 78 2c 30 29 20 3d 20 6c 61 62 65 6c 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆ndex,0) = label_type then       ┆
0x1bf20…1bf40       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6c 5f 64 5f 72 65 63 6f 72 64 20 3a 3d 20 6e 61   ┆  begin         l_d_record := na┆
0x1bf40…1bf60       6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 34 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 48 45   ┆me_table(index,4);         if HE┆
0x1bf60…1bf80       41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3e 20 30 20 6f 72 0a 20 20   ┆AP.l_d_record.l_d_spec > 0 or   ┆
0x1bf80…1bfa0       20 20 20 20 20 20 20 20 20 2d 2c 20 6f 6e 6c 79 5f 73 70 65 63 5f 77 61 6e 74 65 64 20 74 68 65   ┆         -, only_spec_wanted the┆
0x1bfa0…1bfc0       6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 77 72   ┆n            begin            wr┆
0x1bfc0…1bfe0       5f 6e 61 6d 65 28 31 29 20 3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 28 69 6e 64 65 78 2c 31 29 3b   ┆_name(1) := name_table(index,1);┆
0x1bfe0…1c000       0a 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 73 70 22 2c 31 35 20 2d 20   ┆            write(out,"sp",15 - ┆
0x1c000…1c020       77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 77 72 5f 6e 61 6d 65 29 2c 0a 20 20 20 20 20   ┆write(out,"nl",1,wr_name),      ┆
0x1c020…1c040       20 20 20 20 20 20 20 20 20 20 20 20 22 63 72 22 2c 31 2c 22 73 70 22 2c 37 2c 3c 3a 20 72 65 66   ┆            "cr",1,"sp",7,<: ref┆
0x1c040…1c060       66 2e 20 74 6f 20 61 64 64 72 65 73 73 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆f. to address:>,                ┆
0x1c060…1c080       20 20 3c 3c 5f 7a 64 64 64 3e 2c 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 69   ┆  <<_zddd>,HEAP.l_d_record.l_d_i┆
0x1c080…1c0a0       6e 64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63 74 61 6c 28 65 78   ┆ndex,                   octal(ex┆
0x1c0a0…1c0c0       74 65 6e 64 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 69 6e 64 65 78 29 2c   ┆tend HEAP.l_d_record.l_d_index),┆
0x1c0c0…1c0e0       0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 48 45 41 50 2e 6c 5f 64 5f 72   ┆                   if HEAP.l_d_r┆
0x1c0e0…1c100       65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20   ┆ecord.l_d_spec > 0 then         ┆
0x1c100…1c120       20 20 20 20 20 20 20 20 20 20 3c 3a 20 73 70 65 63 2e 20 6f 72 20 6c 69 6e 65 20 6e 6f 20 3a 3e   ┆          <: spec. or line no :>┆
0x1c120…1c140       20 65 6c 73 65 20 3c 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3c   ┆ else <::>,                   <<┆
0x1c140…1c160       5f 5f 62 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 48 45   ┆__bddd>,                   if HE┆
0x1c160…1c180       41 50 2e 6c 5f 64 5f 72 65 63 6f 72 64 2e 6c 5f 64 5f 73 70 65 63 20 3e 20 30 20 74 68 65 6e 0a   ┆AP.l_d_record.l_d_spec > 0 then ┆
0x1c180…1c1a0       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 45 41 50 2e 6c 5f 64 5f 72 65 63 6f 72   ┆                  HEAP.l_d_recor┆
0x1c1a0…1c1c0       64 2e 6c 5f 64 5f 73 70 65 63 20 2d 20 31 20 65 6c 73 65 20 30 29 3b 0a 20 20 20 20 20 20 20 20   ┆d.l_d_spec - 1 else 0);         ┆
0x1c1c0…1c1e0       20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 65 6e 64 20 6c 61 62 65 6c   ┆  end;        end;     end label┆
0x1c1e0…1c200       5f 6c 69 73 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 0a 20 20 20 20 62 6f 6f   ┆_list;             end;      boo┆
0x1c200…1c220 (50,) 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 70 72 69 6e 74 5f 65 72 72 6f 72 5f 74 61 62 6c 65   ┆lean procedure print_error_table┆
0x1c220…1c240       3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 66 69 65 6c 64   ┆;     begin     long array field┆
0x1c240…1c260       20 70 72 65 76 69 75 73 2c 74 68 69 73 2c 6d 69 6e 5f 6c 69 6e 65 3b 0a 20 20 20 20 69 6e 74 65   ┆ previus,this,min_line;     inte┆
0x1c260…1c280       67 65 72 20 6d 69 6e 5f 6c 69 6e 65 5f 6e 6f 3b 0a 0a 20 20 20 20 69 66 20 65 72 72 6f 72 5f 72   ┆ger min_line_no;      if error_r┆
0x1c280…1c2a0       65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3d 20 6e 69 6c 20 74 68 65 6e 0a 20 20 20 20   ┆ecord_chain_head = nil then     ┆
0x1c2a0…1c2c0       20 20 70 72 69 6e 74 5f 65 72 72 6f 72 5f 74 61 62 6c 65 20 3a 3d 20 74 72 75 65 0a 20 20 20 20   ┆  print_error_table := true     ┆
0x1c2c0…1c2e0       65 6c 73 65 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 70 72 69 6e 74 5f 65 72 72   ┆else       begin       print_err┆
0x1c2e0…1c300       6f 72 5f 74 61 62 6c 65 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 20 65   ┆or_table := false;       while e┆
0x1c300…1c320       72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3c 3e 20 6e 69 6c 20 64 6f   ┆rror_record_chain_head <> nil do┆
0x1c320…1c340       0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6d 69 6e 5f 6c 69 6e 65 5f   ┆         begin         min_line_┆
0x1c340…1c360       6e 6f 20 3a 3d 20 38 33 38 38 36 30 36 3b 0a 20 20 20 20 20 20 20 20 74 68 69 73 20 3a 3d 20 65   ┆no := 8388606;         this := e┆
0x1c360…1c380       72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 3b 0a 20 20 20 20 20 20 20 20   ┆rror_record_chain_head;         ┆
0x1c380…1c3a0       70 72 65 76 69 75 73 20 3a 3d 20 6e 69 6c 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 74 68   ┆previus := nil;         while th┆
0x1c3a0…1c3c0       69 73 20 3c 3e 20 6e 69 6c 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆is <> nil do           begin    ┆
0x1c3c0…1c3e0       20 20 20 20 20 20 20 69 66 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆       if HEAP.this.error_record┆
0x1c3e0…1c400       5f 6c 69 6e 65 5f 6e 6f 20 3c 3d 20 6d 69 6e 5f 6c 69 6e 65 5f 6e 6f 20 74 68 65 6e 0a 20 20 20   ┆_line_no <= min_line_no then    ┆
0x1c400…1c420       20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 5f 6c   ┆         begin             min_l┆
0x1c420…1c440       69 6e 65 5f 6e 6f 20 3a 3d 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆ine_no := HEAP.this.error_record┆
0x1c440…1c460       5f 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 5f 6c 69 6e 65 3a 3d   ┆_line_no;             min_line:=┆
0x1c460…1c480       20 70 72 65 76 69 75 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20   ┆ previus;             end;      ┆
0x1c480…1c4a0       20 20 20 20 20 70 72 65 76 69 75 73 20 3a 3d 20 74 68 69 73 3b 0a 20 20 20 20 20 20 20 20 20 20   ┆     previus := this;           ┆
0x1c4a0…1c4c0       74 68 69 73 20 3a 3d 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63   ┆this := HEAP.this.error_record_c┆
0x1c4c0…1c4e0       68 61 69 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 0a 20 20 20 20 20 20 20 20 3c 2a   ┆hain;           end;          <*┆
0x1c4e0…1c500       20 72 65 6d 6f 76 65 20 72 65 63 6f 72 64 20 66 72 6f 6d 20 6c 69 73 74 20 2a 3e 0a 20 20 20 20   ┆ remove record from list *>     ┆
0x1c500…1c520       20 20 20 20 69 66 20 6d 69 6e 5f 6c 69 6e 65 20 3d 20 6e 69 6c 20 74 68 65 6e 20 20 20 20 20 20   ┆    if min_line = nil then      ┆
0x1c520…1c540       20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20   ┆                         begin  ┆
0x1c540…1c560       20 20 20 20 20 20 20 20 20 74 68 69 73 20 3a 3d 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68   ┆         this := error_record_ch┆
0x1c560…1c580       61 69 6e 5f 68 65 61 64 3b 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆ain_head;           error_record┆
0x1c580…1c5a0       5f 63 68 61 69 6e 5f 68 65 61 64 20 3a 3d 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72   ┆_chain_head := HEAP.this.error_r┆
0x1c5a0…1c5c0       65 63 6f 72 64 5f 63 68 61 69 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20   ┆ecord_chain;           end      ┆
0x1c5c0…1c5e0       20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20   ┆   else           begin         ┆
0x1c5e0…1c600       20 20 70 72 65 76 69 75 73 20 3a 3d 20 6d 69 6e 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20   ┆  previus := min_line;          ┆
0x1c600…1c620       20 74 68 69 73 20 3a 3d 20 48 45 41 50 2e 70 72 65 76 69 75 73 2e 65 72 72 6f 72 5f 72 65 63 6f   ┆ this := HEAP.previus.error_reco┆
0x1c620…1c640       72 64 5f 63 68 61 69 6e 3b 0a 20 20 20 20 20 20 20 20 20 48 45 41 50 2e 70 72 65 76 69 75 73 2e   ┆rd_chain;          HEAP.previus.┆
0x1c640…1c660       65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 20 3a 3d 0a 20 20 20 20 20 20 20 20 20 20   ┆error_record_chain :=           ┆
0x1c660…1c680       48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 3b 0a 20 20   ┆HEAP.this.error_record_chain;   ┆
0x1c680…1c6a0       20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22   ┆        end;         write(out,"┆
0x1c6a0…1c6c0       6e 6c 22 2c 31 2c 3c 3c 5f 64 64 64 64 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 45   ┆nl",1,<<_dddd>,               HE┆
0x1c6c0…1c6e0       41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 6c 69 6e 65 5f 6e 6f 2c 0a 20 20   ┆AP.this.error_record_line_no,   ┆
0x1c6e0…1c700       20 20 20 20 20 20 20 20 20 20 20 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f   ┆            HEAP.this.error_reco┆
0x1c700…1c720       72 64 5f 69 6e 73 74 72 5f 69 6e 64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63   ┆rd_instr_index,               oc┆
0x1c720…1c740       74 61 6c 28 65 78 74 65 6e 64 20 48 45 41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72   ┆tal(extend HEAP.this.error_recor┆
0x1c740…1c760       64 5f 69 6e 73 74 72 5f 69 6e 64 65 78 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 45   ┆d_instr_index),               HE┆
0x1c760…1c780       41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 65 6c 65 6d 65 6e 74 5f 70 6f 73   ┆AP.this.error_record_element_pos┆
0x1c780…1c7a0       2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 70 22 2c 32 2c 73 74 72 69 6e 67 20 48 45   ┆,               "sp",2,string HE┆
0x1c7a0…1c7c0       41 50 2e 74 68 69 73 2e 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 74 65 78 74 29 3b 0a 20 20 20 20   ┆AP.this.error_record_text);     ┆
0x1c7c0…1c7e0       20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 65 6e 64 20 70 72   ┆    end;        end;      end pr┆
0x1c7e0…1c800       69 6e 74 5f 65 72 72 6f 72 5f 74 61 62 6c 65 3b 0a 0a 0a 0a 20 20 20 20 70 72 6f 63 65 64 75 72   ┆int_error_table;        procedur┆
0x1c800…1c820       65 20 70 72 69 6e 74 5f 66 6f 72 6d 61 74 65 64 28 6f 70 63 6f 64 65 29 3b 0a 20 20 20 20 3c 2a   ┆e print_formated(opcode);     <*┆
0x1c820…1c840       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e   ┆*******************************>┆
0x1c840…1c860       0a 20 20 20 20 76 61 6c 75 65 20 6f 70 63 6f 64 65 3b 20 6c 6f 6e 67 20 6f 70 63 6f 64 65 3b 0a   ┆     value opcode; long opcode; ┆
0x1c860…1c880       20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 2c   ┆    begin       integer from,to,┆
0x1c880…1c8a0       6e 75 6d 62 65 72 2c 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 66 72 6f 6d 20 3a 3d 20 30 3b   ┆number,index;         from := 0;┆
0x1c8a0…1c8c0       0a 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e 64 65 78 20 3a 3d 2d 34 37 20 73 74 65 70 20 31 20   ┆         for index :=-47 step 1 ┆
0x1c8c0…1c8e0       75 6e 74 69 6c 20 30 20 64 6f 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20   ┆until 0 do         begin        ┆
0x1c8e0…1c900       20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 69 66 20 6f 70 63 6f 64 65 20 73 68 69 66 74 20 69   ┆   outchar(out,if opcode shift i┆
0x1c900…1c920       6e 64 65 78 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 20 20   ┆ndex extract 1 = 1 then         ┆
0x1c920…1c940       20 20 34 39 20 65 6c 73 65 20 34 36 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 66 6f 72 6d   ┆  49 else 46);           if form┆
0x1c940…1c960       61 74 28 66 72 6f 6d 29 20 65 78 74 72 61 63 74 20 31 32 20 3d 20 34 37 20 2b 20 69 6e 64 65 78   ┆at(from) extract 12 = 47 + index┆
0x1c960…1c980       20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ then           begin           ┆
0x1c980…1c9a0       20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 33 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66   ┆  outchar(out,32);             f┆
0x1c9a0…1c9c0       72 6f 6d 3a 3d 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20   ┆rom:=from+1;           end;     ┆
0x1c9c0…1c9e0       20 20 20 20 65 6e 64 20 66 6f 72 20 6c 6f 6f 70 3b 0a 20 20 20 20 3c 2a 20 66 6f 72 20 69 6d 70   ┆    end for loop;     <* for imp┆
0x1c9e0…1ca00       72 6f 76 69 6e 67 20 72 65 61 64 61 62 69 6c 69 74 79 20 77 72 69 74 65 20 61 6e 20 65 78 74 72   ┆roving readability write an extr┆
0x1ca00…1ca20       61 20 6e 65 77 6c 69 6e 65 20 2a 3e 0a 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 31 30 29   ┆a newline *>     outchar(out,10)┆
0x1ca20…1ca40       3b 0a 0a 20 20 20 20 65 6e 64 20 20 70 72 69 6e 74 5f 66 6f 72 6d 61 74 3b 0a 0a 0a 20 20 61 6c   ┆;      end  print_format;     al┆
0x1ca40…1ca60       67 6f 6c 20 63 6f 70 79 2e 32 20 20 3c 2a 20 73 6f 75 72 63 65 20 73 68 6f 75 6c 64 20 62 65 20   ┆gol copy.2  <* source should be ┆
0x1ca60…1ca80       6d 32 39 30 78 70 72 6f 63 20 2a 3e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 69 6e 74 65 67 65 72 20   ┆m290xproc *>;           integer ┆
0x1ca80…1caa0       70 72 6f 63 65 64 75 72 65 20 0a 20 20 20 20 67 65 74 5f 61 6c 6c 5f 72 65 67 5f 6f 70 65 72 61   ┆procedure      get_all_reg_opera┆
0x1caa0…1cac0       6e 64 73 28 6f 70 5f 31 2c 6b 69 6e 64 5f 31 2c 6f 70 5f 32 2c 6b 69 6e 64 5f 32 2c 6f 70 5f 33   ┆nds(op_1,kind_1,op_2,kind_2,op_3┆
0x1cac0…1cae0       2c 6b 69 6e 64 5f 33 29 3b 0a 20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆,kind_3);   <*******************┆
0x1cae0…1cb00       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1cb00…1cb20 (51,) 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 31 2c 6b 69 6e 64 5f 31 2c 6f   ┆*******>   integer op_1,kind_1,o┆
0x1cb20…1cb40       70 5f 32 2c 6b 69 6e 64 5f 32 2c 6f 70 5f 33 2c 6b 69 6e 64 5f 33 3b 0a 20 20 62 65 67 69 6e 0a   ┆p_2,kind_2,op_3,kind_3;   begin ┆
0x1cb40…1cb60       20 20 69 6e 74 65 67 65 72 20 6e 6f 5f 6f 66 5f 6f 70 3b 0a 20 20 6e 6f 5f 6f 66 5f 6f 70 20 3a   ┆  integer no_of_op;   no_of_op :┆
0x1cb60…1cb80       3d 20 30 3b 0a 20 20 6f 70 5f 31 20 3a 3d 20 6f 70 5f 32 20 3a 3d 20 6f 70 5f 33 20 3a 3d 20 6b   ┆= 0;   op_1 := op_2 := op_3 := k┆
0x1cb80…1cba0       69 6e 64 5f 31 20 3a 3d 20 6b 69 6e 64 5f 32 20 3a 3d 20 6b 69 6e 64 5f 33 20 3a 3d 20 6e 6f 74   ┆ind_1 := kind_2 := kind_3 := not┆
0x1cba0…1cbc0       5f 75 73 65 64 3b 0a 20 20 63 6c 61 73 73 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61   ┆_used;   class := look_ahead_cla┆
0x1cbc0…1cbe0       73 73 3b 0a 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6c 65 66 74 5f 70 61 72 5f 63 6c 61 73 73 20   ┆ss;   if class = left_par_class ┆
0x1cbe0…1cc00       74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 67 65 74   ┆then     begin     next;     get┆
0x1cc00…1cc20       5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64 28 6f 70 5f 31 2c 6b 69 6e 64 5f 31 29 3b 0a 20 20 20   ┆_a_reg_operand(op_1,kind_1);    ┆
0x1cc20…1cc40       20 6e 6f 5f 6f 66 5f 6f 70 20 3a 3d 20 31 3b 0a 20 20 20 69 66 20 6c 6f 6f 6b 5f 61 68 65 61 64   ┆ no_of_op := 1;    if look_ahead┆
0x1cc40…1cc60       5f 63 6c 61 73 73 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆_class = comma_class then       ┆
0x1cc60…1cc80       62 65 67 69 6e 0a 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 67 65 74 5f 61 5f 72 65   ┆begin       next;       get_a_re┆
0x1cc80…1cca0       67 5f 6f 70 65 72 61 6e 64 28 6f 70 5f 32 2c 6b 69 6e 64 5f 32 29 3b 0a 20 20 20 20 20 20 6e 6f   ┆g_operand(op_2,kind_2);       no┆
0x1cca0…1ccc0       5f 6f 66 5f 6f 70 20 3a 3d 20 32 3b 0a 20 20 20 20 20 20 69 66 20 6c 6f 6f 6b 5f 61 68 65 61 64   ┆_of_op := 2;       if look_ahead┆
0x1ccc0…1cce0       5f 63 6c 61 73 73 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆_class = comma_class then       ┆
0x1cce0…1cd00       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20   ┆   begin          next;         ┆
0x1cd00…1cd20       20 67 65 74 5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64 28 6f 70 5f 33 2c 6b 69 6e 64 5f 33 29 3b   ┆ get_a_reg_operand(op_3,kind_3);┆
0x1cd20…1cd40       0a 20 20 20 20 20 20 20 20 20 6e 6f 5f 6f 66 5f 6f 70 20 3a 3d 20 33 3b 0a 20 20 20 20 20 20 20   ┆          no_of_op := 3;        ┆
0x1cd40…1cd60       20 20 65 6e 64 3b 0a 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 6e 65 78 74 3b 0a 20 20 69 66 20 63   ┆  end;      end;    next;   if c┆
0x1cd60…1cd80       6c 61 73 73 20 3c 3e 20 72 69 67 68 74 5f 70 61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20   ┆lass <> right_par_class then    ┆
0x1cd80…1cda0       20 20 65 72 72 6f 72 28 74 65 72 6d 69 6e 61 74 69 6f 6e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d   ┆  error(termination,line_no,elem┆
0x1cda0…1cdc0       65 6e 74 5f 6e 6f 29 3b 0a 20 20 65 6e 64 20 65 6c 73 65 20 65 72 72 6f 72 28 6d 69 73 73 69 6e   ┆ent_no);   end else error(missin┆
0x1cdc0…1cde0       67 5f 6f 70 65 72 61 6e 64 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 67   ┆g_operand,line_no,element_no); g┆
0x1cde0…1ce00       65 74 5f 61 6c 6c 5f 72 65 67 5f 6f 70 65 72 61 6e 64 73 20 3a 3d 20 6e 6f 5f 6f 66 5f 6f 70 3b   ┆et_all_reg_operands := no_of_op;┆
0x1ce00…1ce20       0a 65 6e 64 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 61 6c 6c 5f 72 65 67 5f 6f 70 65 72 61   ┆ end procedure get_all_reg_opera┆
0x1ce20…1ce40       6e 64 73 3b 0a 0a 0a 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 61 5f 72 65 67   ┆nds;         procedure get_a_reg┆
0x1ce40…1ce60       5f 6f 70 65 72 61 6e 64 28 6f 70 5f 76 61 6c 75 65 2c 6b 69 6e 64 29 3b 0a 20 20 3c 2a 2a 2a 2a   ┆_operand(op_value,kind);   <****┆
0x1ce60…1ce80       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1ce80…1cea0       2a 2a 2a 2a 2a 3e 0a 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 76 61 6c 75 65 2c 6b 69 6e 64 3b 0a   ┆*****>   integer op_value,kind; ┆
0x1cea0…1cec0       20 20 62 65 67 69 6e 0a 20 20 6c 6f 6e 67 20 6c 6f 6f 6b 75 70 5f 69 6e 64 65 78 3b 0a 20 20 20   ┆  begin   long lookup_index;    ┆
0x1cec0…1cee0       20 6e 65 78 74 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6e 75 6d 62 65 72 5f 63 6c 61   ┆ next;     if class = number_cla┆
0x1cee0…1cf00       73 73 20 74 68 65 6e 0a 20 20 20 62 65 67 69 6e 0a 20 20 20 6b 69 6e 64 20 3a 3d 20 6e 75 6d 62   ┆ss then    begin    kind := numb┆
0x1cf00…1cf20       65 72 5f 63 6c 61 73 73 3b 0a 20 20 20 6f 70 5f 76 61 6c 75 65 20 3a 3d 20 6e 75 6d 62 65 72 0a   ┆er_class;    op_value := number ┆
0x1cf20…1cf40       20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 61 70   ┆  end     else     if class = ap┆
0x1cf40…1cf60       6f 73 74 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20   ┆ost_class then       begin      ┆
0x1cf60…1cf80       20 6e 65 78 74 3b 0a 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 6f 70   ┆ next;       kind := 0;       op┆
0x1cf80…1cfa0       5f 76 61 6c 75 65 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 75 6e   ┆_value := 0;       if class = un┆
0x1cfa0…1cfc0       6b 6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 28 63 6c   ┆known_name_class or          (cl┆
0x1cfc0…1cfe0       61 73 73 20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 61 6e 64 20 74 79 70 65 20 3d 20 6c 61 62 65   ┆ass = text_class and type = labe┆
0x1cfe0…1d000       6c 5f 74 79 70 65 29 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆l_type) then          begin     ┆
0x1d000…1d020       20 20 20 20 20 6e 65 77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 72 65 66 28 6e 61 6d 65 2c 69   ┆     new_insert_label_ref(name,i┆
0x1d020…1d040       6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a   ┆nstr_index,line_no,element_no); ┆
0x1d040…1d060       20 20 20 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 3b 0a 20   ┆         kind := number_class;  ┆
0x1d060…1d080       20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20   ┆        end        else         ┆
0x1d080…1d0a0       20 65 72 72 6f 72 28 6f 70 65 72 61 6e 64 5f 74 79 70 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d   ┆ error(operand_type,line_no,elem┆
0x1d0a0…1d0c0       65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 62 65   ┆ent_no);     end     else     be┆
0x1d0c0…1d0e0       67 69 6e 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30   ┆gin       if name_table(number,0┆
0x1d0e0…1d100       29 20 3c 3e 20 72 65 67 5f 6f 70 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69   ┆) <> reg_op_type then       begi┆
0x1d100…1d120       6e 0a 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 28 6f   ┆n       kind := 0;       error(o┆
0x1d120…1d140       70 65 72 61 6e 64 5f 74 79 70 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a   ┆perand_type,line_no,element_no) ┆
0x1d140…1d160       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 62 65 67 69 6e   ┆      end       else       begin┆
0x1d160…1d180       0a 20 20 20 20 20 20 6f 70 5f 76 61 6c 75 65 20 3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75   ┆       op_value := name_table(nu┆
0x1d180…1d1a0       6d 62 65 72 2c 32 29 3b 0a 20 20 20 20 20 20 6b 69 6e 64 20 3a 3d 20 74 65 78 74 5f 63 6c 61 73   ┆mber,2);       kind := text_clas┆
0x1d1a0…1d1c0       73 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 65 6e 64 20 6f 66 20   ┆s;       end;     end;   end of ┆
0x1d1c0…1d1e0       67 65 74 5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64 3b 0a 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75   ┆get_a_reg_operand;       procedu┆
0x1d1e0…1d200       72 65 20 20 67 65 74 5f 32 5f 72 65 67 5f 6f 70 65 72 61 6e 64 73 28 6f 70 5f 76 61 6c 75 65 5f   ┆re  get_2_reg_operands(op_value_┆
0x1d200…1d220       31 2c 6f 70 5f 76 61 6c 75 65 5f 32 29 3b 0a 20 20 69 6e 74 65 67 65 72 20 6f 70 5f 76 61 6c 75   ┆1,op_value_2);   integer op_valu┆
0x1d220…1d240       65 5f 31 2c 6f 70 5f 76 61 6c 75 65 5f 32 3b 0a 20 20 62 65 67 69 6e 0a 20 20 69 6e 74 65 67 65   ┆e_1,op_value_2;   begin   intege┆
0x1d240…1d260       72 20 6b 69 6e 64 5f 31 2c 6b 69 6e 64 5f 32 3b 0a 20 20 20 20 67 65 74 5f 61 5f 72 65 67 5f 6f   ┆r kind_1,kind_2;     get_a_reg_o┆
0x1d260…1d280       70 65 72 61 6e 64 28 6f 70 5f 76 61 6c 75 65 5f 31 2c 6b 69 6e 64 5f 31 29 3b 0a 20 20 20 20 6e   ┆perand(op_value_1,kind_1);     n┆
0x1d280…1d2a0       65 78 74 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3c 3e 20 63 6f 6d 6d 61 5f 63 6c 61 73 73   ┆ext;     if class <> comma_class┆
0x1d2a0…1d2c0       20 74 68 65 6e 20 65 72 72 6f 72 28 64 65 6c 69 6d 69 74 65 72 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c   ┆ then error(delimiter,line_no,el┆
0x1d2c0…1d2e0       65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 67 65 74 5f 61 5f 72 65 67 5f 6f 70 65 72 61 6e 64   ┆ement_no);     get_a_reg_operand┆
0x1d2e0…1d300       28 6f 70 5f 76 61 6c 75 65 5f 32 2c 6b 69 6e 64 5f 32 29 3b 0a 20 20 65 6e 64 20 6f 66 20 67 65   ┆(op_value_2,kind_2);   end of ge┆
0x1d300…1d320       74 5f 32 5f 72 65 67 5f 6f 70 65 72 61 6e 64 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 69 6e 74 65   ┆t_2_reg_operands;           inte┆
0x1d320…1d340       67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a   ┆ger procedure look_ahead_class; ┆
0x1d340…1d360       20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 74 6f 3b 20 6c 6f 6e 67 20 6e 61 6d   ┆  begin     integer to; long nam┆
0x1d360…1d380       65 2c 6e 75 6d 62 65 72 3b 0a 20 20 20 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 20 3a   ┆e,number;     look_ahead_class :┆
0x1d380…1d3a0       3d 20 67 65 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 6c 69 6e 65 5f 70   ┆= get_element(name,number,line_p┆
0x1d3a0…1d3c0       6f 69 6e 74 65 72 2c 74 6f 29 3b 0a 20 20 65 6e 64 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61   ┆ointer,to);   end look_ahead_cla┆
0x1d3c0…1d3e0       73 73 3b 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 5f 75 6e 74 69 6c 5f 64 65   ┆ss;      procedure skip_until_de┆
0x1d3e0…1d400       6c 69 6d 5f 63 6c 61 73 73 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 66 6f 72 20 63 6c 61 73 73   ┆lim_class;   begin     for class┆
0x1d400…1d420 (52,) 3a 3d 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 20 77 68 69 6c 65 20   ┆:=read_kind(line_pointer) while ┆
0x1d420…1d440       63 6c 61 73 73 20 3c 3e 20 64 65 6c 69 6d 5f 63 6c 61 73 73 20 20 0a 20 20 20 20 61 6e 64 20 63   ┆class <> delim_class       and c┆
0x1d440…1d460       6c 61 73 73 20 3c 3e 20 65 6f 66 5f 63 6c 61 73 73 20 0a 20 20 20 20 61 6e 64 20 63 6c 61 73 73   ┆lass <> eof_class      and class┆
0x1d460…1d480       20 3c 3e 20 73 74 6f 70 5f 6c 69 6e 65 5f 63 6c 61 73 73 20 64 6f 0a 20 20 20 20 6c 69 6e 65 5f   ┆ <> stop_line_class do     line_┆
0x1d480…1d4a0       70 6f 69 6e 74 65 72 3a 3d 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 2b 20 31 3b 0a 20 20 65 6e 64   ┆pointer:=line_pointer + 1;   end┆
0x1d4a0…1d4c0       20 73 6b 69 70 5f 75 6e 74 69 6c 5f 64 65 6c 69 6d 5f 63 6c 61 73 73 3b 0a 0a 0a 0a 0a 20 20 69   ┆ skip_until_delim_class;       i┆
0x1d4c0…1d4e0       6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 28 6c   ┆nteger procedure get_long_name(l┆
0x1d4e0…1d500       6f 6e 67 5f 6e 61 6d 65 29 3b 0a 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6c 6f 6e 67 5f 6e 61 6d   ┆ong_name);   long array long_nam┆
0x1d500…1d520       65 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 63 6c 61 73 73 2c 74 6f 3b   ┆e;   begin     integer class,to;┆
0x1d520…1d540       0a 20 20 20 20 6c 6f 6e 67 20 6e 61 6d 65 2c 6e 75 6d 62 65 72 3b 0a 20 20 20 20 63 6c 61 73 73   ┆     long name,number;     class┆
0x1d540…1d560       20 3a 3d 20 67 65 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 6c 69 6e 65   ┆ := get_element(name,number,line┆
0x1d560…1d580       5f 70 6f 69 6e 74 65 72 2c 74 6f 29 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 75 6e 6b   ┆_pointer,to);     if class = unk┆
0x1d580…1d5a0       6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 20 3d 20 74 65 78 74 5f   ┆nown_name_class or class = text_┆
0x1d5a0…1d5c0       63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 67 65 74 5f 6c   ┆class then     begin       get_l┆
0x1d5c0…1d5e0       6f 6e 67 5f 6e 61 6d 65 20 3a 3d 20 31 3b 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61 6d 65 28 31   ┆ong_name := 1;       long_name(1┆
0x1d5e0…1d600       29 20 3a 3d 20 6e 61 6d 65 3b 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61 6d 65 28 32 29 20 3a 3d   ┆) := name;       long_name(2) :=┆
0x1d600…1d620       20 30 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73   ┆ 0;     end     else     if clas┆
0x1d620…1d640       73 20 3d 20 6c 6f 6e 67 5f 74 65 78 74 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67   ┆s = long_text_class then     beg┆
0x1d640…1d660       69 6e 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61 6d 65 28 31 29 20 3a 3d 20 72 65 61 64 5f 76 61   ┆in       long_name(1) := read_va┆
0x1d660…1d680       6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 6c 6f 6e 67 5f 6e 61   ┆lue(line_pointer);       long_na┆
0x1d680…1d6a0       6d 65 28 32 29 20 3a 3d 20 72 65 61 64 5f 76 61 6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72   ┆me(2) := read_value(line_pointer┆
0x1d6a0…1d6c0       20 2b 20 32 29 3b 0a 20 20 20 20 20 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 20 3a 3d 20 20 69   ┆ + 2);       get_long_name :=  i┆
0x1d6c0…1d6e0       66 20 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 2b 20 33 20 29 20 3d   ┆f read_kind(line_pointer + 3 ) =┆
0x1d6e0…1d700       20 74 65 78 74 5f 63 6c 61 73 73 20 0a 20 20 20 20 20 20 74 68 65 6e 20 2d 32 20 65 6c 73 65 20   ┆ text_class        then -2 else ┆
0x1d700…1d720       32 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 67 65 74 5f 6c 6f 6e 67   ┆2;     end     else     get_long┆
0x1d720…1d740       5f 6e 61 6d 65 20 3a 3d 20 30 3b 0a 20 20 65 6e 64 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 3b   ┆_name := 0;   end get_long_name;┆
0x1d740…1d760       0a 0a 20 20 3c 2a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 63 65 64 75 72 65 73 20   ┆    <* the following procedures ┆
0x1d760…1d780       75 73 65 73 20 67 65 74 6e 65 78 74 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 74 6f 20 67 65 74   ┆uses getnext element      to get┆
0x1d780…1d7a0       20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 0a 20 20 20 20 20 63 6c 61 73 73 2c 6e   ┆ next element into       class,n┆
0x1d7a0…1d7c0       61 6d 65 2c 6e 75 6d 62 65 72 2c 74 79 70 65 0a 20 20 20 20 20 63 6c 61 73 73 31 2c 6e 61 6d 65   ┆ame,number,type      class1,name┆
0x1d7c0…1d7e0       31 2c 6e 75 6d 62 65 72 31 2c 74 79 70 65 32 0a 20 20 20 20 20 63 6c 61 73 73 32 2c 6e 61 6d 65   ┆1,number1,type2      class2,name┆
0x1d7e0…1d800       32 2c 6e 75 6d 62 65 72 32 2c 74 79 70 65 32 20 2a 3e 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72   ┆2,number2,type2 *>    integer pr┆
0x1d800…1d820       6f 63 65 64 75 72 65 20 6e 65 78 74 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6e 65 78 74 20 3a 3d 20   ┆ocedure next;   begin   next := ┆
0x1d820…1d840       63 6c 61 73 73 20 3a 3d 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e   ┆class := get_next_element(name,n┆
0x1d840…1d860       75 6d 62 65 72 29 3b 0a 20 20 74 79 70 65 20 3a 3d 20 69 66 20 63 6c 61 73 73 20 3d 20 74 65 78   ┆umber);   type := if class = tex┆
0x1d860…1d880       74 5f 63 6c 61 73 73 20 74 68 65 6e 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30   ┆t_class then name_table(number,0┆
0x1d880…1d8a0       29 20 65 6c 73 65 20 63 6c 61 73 73 3b 0a 20 20 65 6e 64 20 6e 65 78 74 3b 0a 0a 20 20 69 6e 74   ┆) else class;   end next;    int┆
0x1d8a0…1d8c0       65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6e 65 78 74 31 3b 0a 20 20 62 65 67 69 6e 0a 20 20   ┆eger procedure next1;   begin   ┆
0x1d8c0…1d8e0       6e 65 78 74 31 20 3a 3d 20 63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d   ┆next1 := class1 := get_next_elem┆
0x1d8e0…1d900       65 6e 74 28 6e 61 6d 65 31 2c 6e 75 6d 62 65 72 31 29 3b 0a 20 20 74 79 70 65 31 20 3a 3d 20 69   ┆ent(name1,number1);   type1 := i┆
0x1d900…1d920       66 20 63 6c 61 73 73 31 20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 20 74 68 65 6e 20 6e 61 6d 65   ┆f class1 = text_class  then name┆
0x1d920…1d940       5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 65 6c 73 65 20 63 6c 61 73 73 31 3b 0a 20 20   ┆_table(number,0) else class1;   ┆
0x1d940…1d960       65 6e 64 20 6e 65 78 74 31 3b 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20   ┆end next1;    integer procedure ┆
0x1d960…1d980       6e 65 78 74 32 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6e 65 78 74 32 3a 3d 63 6c 61 73 73 32 3a 3d   ┆next2;   begin   next2:=class2:=┆
0x1d980…1d9a0       67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 32 2c 6e 75 6d 62 65 72 32 29 3b   ┆get_next_element(name2,number2);┆
0x1d9a0…1d9c0       0a 20 20 74 79 70 65 32 20 3a 3d 20 69 66 20 63 6c 61 73 73 32 20 3d 20 74 65 78 74 5f 63 6c 61   ┆   type2 := if class2 = text_cla┆
0x1d9c0…1d9e0       73 73 20 74 68 65 6e 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 65 6c 73   ┆ss then name_table(number,0) els┆
0x1d9e0…1da00       65 20 63 6c 61 73 73 32 3b 0a 20 20 65 6e 64 20 6e 65 78 74 32 3b 0a 0a 20 20 69 6e 74 65 67 65   ┆e class2;   end next2;    intege┆
0x1da00…1da20       72 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 5f 6e 65 78 74 3b 0a 20 20 62 65 67 69 6e 0a 20   ┆r procedure skip_next;   begin  ┆
0x1da20…1da40       20 6c 6f 6e 67 20 64 75 6d 6d 79 6e 61 6d 65 2c 64 75 6d 6d 79 6e 75 6d 62 65 72 3b 0a 20 20 73   ┆ long dummyname,dummynumber;   s┆
0x1da40…1da60       6b 69 70 5f 6e 65 78 74 3a 3d 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 64 75 6d 6d 79   ┆kip_next:=get_next_element(dummy┆
0x1da60…1da80       6e 61 6d 65 2c 64 75 6d 6d 79 6e 75 6d 62 65 72 29 3b 0a 20 20 65 6e 64 20 73 6b 69 70 5f 6e 65   ┆name,dummynumber);   end skip_ne┆
0x1da80…1daa0       78 74 3b 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f 6b 3b 0a 20   ┆xt;    integer procedure look;  ┆
0x1daa0…1dac0       20 62 65 67 69 6e 0a 20 20 6c 6f 6f 6b 20 3a 3d 20 63 6c 61 73 73 20 3a 3d 20 6c 6f 6f 6b 5f 61   ┆ begin   look := class := look_a┆
0x1dac0…1dae0       68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 65 6e 64 20 6c 6f 6f 6b 3b 0a 0a 20 20 69 6e 74 65 67   ┆head_class;   end look;    integ┆
0x1dae0…1db00       65 72 20 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f 6b 31 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6c 6f   ┆er procedure look1;   begin   lo┆
0x1db00…1db20       6f 6b 31 20 3a 3d 20 63 6c 61 73 73 31 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73   ┆ok1 := class1 := look_ahead_clas┆
0x1db20…1db40       73 3b 0a 20 20 65 6e 64 20 6c 6f 6f 6b 31 3b 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65   ┆s;   end look1;    integer proce┆
0x1db40…1db60       64 75 72 65 20 6c 6f 6f 6b 32 3b 0a 20 20 62 65 67 69 6e 0a 20 20 6c 6f 6f 6b 32 3a 3d 20 63 6c   ┆dure look2;   begin   look2:= cl┆
0x1db60…1db80       61 73 73 32 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 65 6e 64 20   ┆ass2 := look_ahead_class;   end ┆
0x1db80…1dba0       6c 6f 6f 6b 32 3b 0a 0a 0a 0a 0a 0a 0a 0a 20 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72   ┆look2;          integer procedur┆
0x1dba0…1dbc0       65 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 29 3b   ┆e get_next_element(name,number);┆
0x1dbc0…1dbe0       0a 20 20 6c 6f 6e 67 20 6e 61 6d 65 2c 6e 75 6d 62 65 72 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20   ┆   long name,number;   begin    ┆
0x1dbe0…1dc00       20 69 6e 74 65 67 65 72 20 74 6f 2c 74 65 73 74 63 6c 61 73 73 3b 3b 0a 20 20 20 20 67 65 74 5f   ┆ integer to,testclass;;     get_┆
0x1dc00…1dc20       6e 65 78 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 74 65 73 74 63 6c 61 73 73 20 3a 3d 20 67 65 74   ┆next_element := testclass := get┆
0x1dc20…1dc40       5f 65 6c 65 6d 65 6e 74 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 6c 69 6e 65 5f 70 6f 69 6e 74 65   ┆_element(name,number,line_pointe┆
0x1dc40…1dc60       72 2c 74 6f 29 3b 0a 20 20 20 20 69 66 20 74 65 73 74 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69   ┆r,to);     if test then     begi┆
0x1dc60…1dc80       6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 69 3b 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f   ┆n       integer i;       write(o┆
0x1dc80…1dca0       75 74 2c 3c 3a 3c 31 30 3e 2a 2a 2a 20 74 65 73 74 63 6c 61 73 73 3a 20 3a 3e 2c 3c 3c 5f 64 64   ┆ut,<:<10>*** testclass: :>,<<_dd┆
0x1dca0…1dcc0       3e 2c 74 65 73 74 5f 63 6c 61 73 73 2c 6c 69 6e 65 70 6f 69 6e 74 65 72 2c 74 6f 2c 0a 20 20 20   ┆>,test_class,linepointer,to,    ┆
0x1dcc0…1dce0       20 20 20 3c 3a 20 72 6b 69 6e 64 3a 20 3a 3e 29 3b 0a 20 20 20 20 20 20 66 6f 72 20 69 3a 3d 31   ┆   <: rkind: :>);       for i:=1┆
0x1dce0…1dd00       20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 6e 6f 5f 6f 66 5f 65 6c 65 6d 65 6e 74 73 20 64 6f 0a   ┆ step 1 until no_of_elements do ┆
0x1dd00…1dd20 (53,) 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 5f 64 64 3e 2c 72 65 61 64 5f 6b 69 6e 64   ┆      write(out,<<_dd>,read_kind┆
0x1dd20…1dd40       28 69 29 29 3b 0a 20 20 20 20 65 6e 64 20 74 65 73 74 3b 0a 20 20 20 20 65 6c 65 6d 65 6e 74 5f   ┆(i));     end test;     element_┆
0x1dd40…1dd60       6e 6f 3a 3d 65 6c 65 6d 65 6e 74 5f 6e 6f 2b 31 3b 0a 20 20 20 20 6c 69 6e 65 5f 70 6f 69 6e 74   ┆no:=element_no+1;     line_point┆
0x1dd60…1dd80       65 72 20 3a 3d 20 69 66 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3d 20 6e 6f 5f 6f 66 5f 65 6c   ┆er := if line_pointer = no_of_el┆
0x1dd80…1dda0       65 6d 65 6e 74 73 20 74 68 65 6e 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 65 6c 73 65 20 74 6f   ┆ements then line_pointer else to┆
0x1dda0…1ddc0       3b 0a 20 20 65 6e 64 20 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74 3b 0a 0a 0a 0a 20 20 69   ┆;   end get_next_element;      i┆
0x1ddc0…1dde0       6e 74 65 67 65 72 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 28 6e 61 6d   ┆nteger procedure get_element(nam┆
0x1dde0…1de00       65 2c 6e 75 6d 62 65 72 2c 66 72 6f 6d 2c 74 6f 29 3b 0a 20 20 76 61 6c 75 65 20 66 72 6f 6d 3b   ┆e,number,from,to);   value from;┆
0x1de00…1de20       20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 3b 20 6c 6f 6e 67 20 6e 61 6d 65 2c 6e 75 6d 62   ┆ integer from,to; long name,numb┆
0x1de20…1de40       65 72 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 63 6c 61 73 73 3b 0a 20   ┆er;   begin     integer class;  ┆
0x1de40…1de60       20 20 20 66 6f 72 20 63 6c 61 73 73 3a 3d 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 20 77 68   ┆   for class:=read_kind(from) wh┆
0x1de60…1de80       69 6c 65 20 63 6c 61 73 73 20 3d 20 64 65 6c 69 6d 5f 63 6c 61 73 73 20 64 6f 0a 20 20 20 20 66   ┆ile class = delim_class do     f┆
0x1de80…1dea0       72 6f 6d 20 3a 3d 20 66 72 6f 6d 20 2b 20 31 3b 0a 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d   ┆rom := from + 1;      if class =┆
0x1dea0…1dec0       20 36 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 72 65 61 64 5f   ┆ 6 then     begin       if read_┆
0x1dec0…1dee0       6b 69 6e 64 28 66 72 6f 6d 2b 31 29 20 3c 3e 20 36 20 6f 72 0a 20 20 20 20 20 20 28 20 72 65 61   ┆kind(from+1) <> 6 or       ( rea┆
0x1dee0…1df00       64 5f 6b 69 6e 64 28 66 72 6f 6d 2b 31 29 20 3d 20 36 20 61 6e 64 20 72 65 61 64 5f 76 61 6c 75   ┆d_kind(from+1) = 6 and read_valu┆
0x1df00…1df20       65 28 66 72 6f 6d 2b 31 29 20 3d 20 30 29 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a   ┆e(from+1) = 0) then       begin ┆
0x1df20…1df40       20 20 20 20 20 20 20 20 3c 2a 20 73 68 6f 72 74 20 74 65 78 74 20 2a 3e 0a 20 20 20 20 20 20 20   ┆        <* short text *>        ┆
0x1df40…1df60       20 6e 61 6d 65 20 3a 3d 20 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29 3b 0a 20 20 20 20 20   ┆ name := read_value(from);      ┆
0x1df60…1df80       20 20 20 69 66 20 6e 61 6d 65 20 3d 20 66 69 6e 64 5f 6e 61 6d 65 28 31 29 20 74 68 65 6e 20 66   ┆   if name = find_name(1) then f┆
0x1df80…1dfa0       6f 75 6e 64 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 69 66 20 6c 6f 6f 6b 5f 75 70   ┆ound := true;         if look_up┆
0x1dfa0…1dfc0       5f 6e 61 6d 65 28 6e 61 6d 65 5f 74 61 62 6c 65 2c 6e 61 6d 65 2c 6e 75 6d 62 65 72 29 20 74 68   ┆_name(name_table,name,number) th┆
0x1dfc0…1dfe0       65 6e 0a 20 20 20 20 20 20 20 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 36 20 65 6c 73 65   ┆en         get_element := 6 else┆
0x1dfe0…1e000       20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 39 3b 0a 0a 0a 20 20 20 20 20 20 65 6e 64 0a 20   ┆ get_element := 9;         end  ┆
0x1e000…1e020       20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 37 3b 0a 20 20 20 20   ┆     else get_element := 7;     ┆
0x1e020…1e040       20 20 3c 2a 20 73 6b 69 70 20 74 6f 20 31 2e 20 6e 6f 74 20 74 65 78 74 20 65 6c 65 6d 65 6e 74   ┆  <* skip to 1. not text element┆
0x1e040…1e060       20 2a 3e 0a 20 20 20 20 20 20 66 72 6f 6d 20 3a 3d 20 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 20 20   ┆ *>       from := from+1;       ┆
0x1e060…1e080       66 6f 72 20 63 6c 61 73 73 20 3a 3d 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 20 77 68 69   ┆for class := read_kind(from) whi┆
0x1e080…1e0a0       6c 65 20 63 6c 61 73 73 20 3d 20 36 20 64 6f 0a 20 20 20 20 20 20 66 72 6f 6d 20 3a 3d 20 66 72   ┆le class = 6 do       from := fr┆
0x1e0a0…1e0c0       6f 6d 2b 31 3b 0a 20 20 20 20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 3b 0a 20 20 20 20 65 6e 64 0a   ┆om+1;       to := from;     end ┆
0x1e0c0…1e0e0       20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 70 6c 75 73 5f 63 6c 61   ┆    else     if class = plus_cla┆
0x1e0e0…1e100       73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 67 65 74 5f 69   ┆ss then     begin       if get_i┆
0x1e100…1e120       6e 74 65 67 65 72 28 6e 75 6d 62 65 72 2c 66 72 6f 6d 2b 31 2c 74 6f 29 20 74 68 65 6e 20 67 65   ┆nteger(number,from+1,to) then ge┆
0x1e120…1e140       74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 32 0a 0a 20 20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65   ┆t_element := 2        else get_e┆
0x1e140…1e160       6c 65 6d 65 6e 74 20 3a 3d 20 31 3b 0a 20 20 20 20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20   ┆lement := 1;     end     else   ┆
0x1e160…1e180       20 20 69 66 20 63 6c 61 73 73 20 3d 20 6d 69 6e 75 73 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20   ┆  if class = minus_class then   ┆
0x1e180…1e1a0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 67 65 74 5f 69 6e 74 65 67 65 72 28 6e 75 6d   ┆  begin       if get_integer(num┆
0x1e1a0…1e1c0       62 65 72 2c 66 72 6f 6d 2b 31 2c 74 6f 29 20 74 68 65 6e 20 67 65 74 5f 65 6c 65 6d 65 6e 74 3a   ┆ber,from+1,to) then get_element:┆
0x1e1c0…1e1e0       3d 32 0a 20 20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 3a 3d 31 3b 0a 20 20   ┆=2       else get_element:=1;   ┆
0x1e1e0…1e200       20 20 20 20 6e 75 6d 62 65 72 3a 3d 20 6e 75 6d 62 65 72 2a 28 2d 31 29 3b 0a 20 20 20 20 65 6e   ┆    number:= number*(-1);     en┆
0x1e200…1e220       64 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 32 20 74 68 65 6e 0a 20 20 20   ┆d else     if class = 2 then    ┆
0x1e220…1e240       20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 67 65 74 5f 69 6e 74 65 67 65 72 28 6e 75 6d 62   ┆ begin       if get_integer(numb┆
0x1e240…1e260       65 72 2c 66 72 6f 6d 2c 74 6f 29 20 74 68 65 6e 20 67 65 74 5f 65 6c 65 6d 65 6e 74 3a 3d 32 0a   ┆er,from,to) then get_element:=2 ┆
0x1e260…1e280       20 20 20 20 20 20 65 6c 73 65 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 20 31 3b 0a 20 20 20   ┆      else get_element := 1;    ┆
0x1e280…1e2a0       20 65 6e 64 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73 74 6f   ┆ end     else     if class = sto┆
0x1e2a0…1e2c0       70 5f 6c 69 6e 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆p_line_class then     begin     ┆
0x1e2c0…1e2e0       20 20 6e 75 6d 62 65 72 20 3a 3d 20 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29 3b 0a 20 20   ┆  number := read_value(from);   ┆
0x1e2e0…1e300       20 20 20 20 69 66 20 6e 75 6d 62 65 72 20 65 78 74 72 61 63 74 20 32 34 20 3d 20 32 35 20 3c 2a   ┆    if number extract 24 = 25 <*┆
0x1e300…1e320       20 65 6f 66 20 76 61 6c 75 65 20 2a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 67 65 74 5f 65 6c 65   ┆ eof value *> then       get_ele┆
0x1e320…1e340       6d 65 6e 74 20 3a 3d 20 65 6f 66 5f 63 6c 61 73 73 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20   ┆ment := eof_class       else    ┆
0x1e340…1e360       20 20 20 67 65 74 5f 65 6c 65 6d 65 6e 74 20 3a 3d 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 74 6f   ┆   get_element :=class;       to┆
0x1e360…1e380       20 3a 3d 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 62 65 67 69   ┆ :=from+1;     end else     begi┆
0x1e380…1e3a0       6e 0a 20 20 20 20 20 20 6e 75 6d 62 65 72 3a 3d 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29   ┆n       number:=read_value(from)┆
0x1e3a0…1e3c0       3b 0a 20 20 20 20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 2b 31 3b 0a 20 20 20 20 20 20 67 65 74 5f   ┆;       to := from+1;       get_┆
0x1e3c0…1e3e0       65 6c 65 6d 65 6e 74 20 3a 3d 20 63 6c 61 73 73 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 65 6e 64   ┆element := class;     end;   end┆
0x1e3e0…1e400       20 67 65 74 5f 65 6c 65 6d 65 6e 74 3b 0a 0a 0a 20 20 62 6f 6f 6c 65 61 6e 20 70 72 6f 63 65 64   ┆ get_element;     boolean proced┆
0x1e400…1e420       75 72 65 20 67 65 74 5f 69 6e 74 65 67 65 72 28 6e 75 6d 62 65 72 2c 66 72 6f 6d 2c 74 6f 29 3b   ┆ure get_integer(number,from,to);┆
0x1e420…1e440       0a 20 20 76 61 6c 75 65 20 66 72 6f 6d 3b 20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 3b 20   ┆   value from; integer from,to; ┆
0x1e440…1e460       6c 6f 6e 67 20 6e 75 6d 62 65 72 3b 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 6c 6f 6e 67 20 62 61   ┆long number;   begin     long ba┆
0x1e460…1e480       73 65 3b 0a 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 3c 3e 20 32 20 74   ┆se;     if read_kind(from)<> 2 t┆
0x1e480…1e4a0       68 65 6e 20 67 65 74 5f 69 6e 74 65 67 65 72 3a 3d 66 61 6c 73 65 0a 20 20 20 20 65 6c 73 65 0a   ┆hen get_integer:=false     else ┆
0x1e4a0…1e4c0       20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f   ┆    begin       if read_kind(fro┆
0x1e4c0…1e4e0       6d 2b 31 29 20 3d 20 70 65 72 69 6f 64 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62   ┆m+1) = period_class then       b┆
0x1e4e0…1e500       65 67 69 6e 0a 20 20 20 20 20 20 20 20 62 61 73 65 3a 3d 72 65 61 64 5f 76 61 6c 75 65 28 66 72   ┆egin         base:=read_value(fr┆
0x1e500…1e520       6f 6d 29 3b 0a 20 20 20 20 20 20 20 20 66 72 6f 6d 3a 3d 66 72 6f 6d 2b 32 3b 0a 20 20 20 20 20   ┆om);         from:=from+2;      ┆
0x1e520…1e540       20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 66 72 6f 6d 29 20 3c 3e 20 32 20 74 68 65 6e 0a   ┆   if read_kind(from) <> 2 then ┆
0x1e540…1e560       20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 67 65 74 5f 69 6e 74 65   ┆        begin           get_inte┆
0x1e560…1e580       67 65 72 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 3a 3d 20 66 72   ┆ger := false;           to := fr┆
0x1e580…1e5a0       6f 6d 2d 31 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 62   ┆om-1;         end else         b┆
0x1e5a0…1e5c0       65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 3a 3d 72 65 61 64 5f 76 61 6c 75   ┆egin           number:=read_valu┆
0x1e5c0…1e5e0       65 28 66 72 6f 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 67 65 74 5f 69 6e 74 65 67 65 72 3a 3d   ┆e(from);           get_integer:=┆
0x1e5e0…1e600       62 61 73 65 5f 63 6f 6e 76 65 72 74 28 62 61 73 65 2c 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 20   ┆base_convert(base,number);      ┆
0x1e600…1e620 (54,) 20 20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 3b   ┆    to := from + 1;         end;┆
0x1e620…1e640       0a 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆       end else       begin     ┆
0x1e640…1e660       20 20 20 20 6e 75 6d 62 65 72 3a 3d 72 65 61 64 5f 76 61 6c 75 65 28 66 72 6f 6d 29 3b 0a 20 20   ┆    number:=read_value(from);   ┆
0x1e660…1e680       20 20 20 20 20 20 67 65 74 5f 69 6e 74 65 67 65 72 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20   ┆      get_integer := true;      ┆
0x1e680…1e6a0       20 20 20 74 6f 20 3a 3d 20 66 72 6f 6d 20 2b 20 31 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20   ┆   to := from + 1;       end;   ┆
0x1e6a0…1e6c0       20 20 65 6e 64 3b 0a 20 20 65 6e 64 20 67 65 74 5f 69 6e 74 65 67 65 72 3b 0a 0a 0a 20 20 62 6f   ┆  end;   end get_integer;     bo┆
0x1e6c0…1e6e0       6f 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 62 61 73 65 5f 63 6f 6e 76 65 72 74 28 62 61 73   ┆olean procedure base_convert(bas┆
0x1e6e0…1e700       65 2c 6e 75 6d 62 65 72 29 3b 0a 20 20 6c 6f 6e 67 20 62 61 73 65 2c 6e 75 6d 62 65 72 3b 0a 20   ┆e,number);   long base,number;  ┆
0x1e700…1e720       20 62 65 67 69 6e 0a 20 20 20 20 69 6e 74 65 67 65 72 20 73 68 69 66 74 5f 69 6e 64 65 78 3b 20   ┆ begin     integer shift_index; ┆
0x1e720…1e740       6c 6f 6e 67 20 6e 75 6d 62 65 72 31 2c 6e 75 6d 62 65 72 32 3b 0a 20 20 20 20 6e 75 6d 62 65 72   ┆long number1,number2;     number┆
0x1e740…1e760       32 3a 3d 30 3b 20 73 68 69 66 74 5f 69 6e 64 65 78 20 3a 3d 30 3b 0a 20 20 20 20 62 61 73 65 5f   ┆2:=0; shift_index :=0;     base_┆
0x1e760…1e780       63 6f 6e 76 65 72 74 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 20 62 61 73 65 20 3d 20 38   ┆convert := true;     if base = 8┆
0x1e780…1e7a0       20 74 68 65 6e 20 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 66 6f 72 20 6e 75 6d 62 65   ┆ then      begin       for numbe┆
0x1e7a0…1e7c0       72 31 20 3a 3d 20 6e 75 6d 62 65 72 20 6d 6f 64 20 31 30 20 77 68 69 6c 65 20 6e 75 6d 62 65 72   ┆r1 := number mod 10 while number┆
0x1e7c0…1e7e0       20 3c 3e 20 30 20 64 6f 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6e 75 6d   ┆ <> 0 do       begin         num┆
0x1e7e0…1e800       62 65 72 20 3a 3d 20 6e 75 6d 62 65 72 20 2f 2f 20 31 30 3b 0a 20 20 20 20 20 20 20 20 69 66 20   ┆ber := number // 10;         if ┆
0x1e800…1e820       6e 75 6d 62 65 72 31 3e 37 20 6f 72 20 6e 75 6d 62 65 72 31 20 3c 20 30 20 74 68 65 6e 20 62 61   ┆number1>7 or number1 < 0 then ba┆
0x1e820…1e840       73 65 5f 63 6f 6e 76 65 72 74 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 6e 75 6d   ┆se_convert := false;         num┆
0x1e840…1e860       62 65 72 32 3a 3d 6e 75 6d 62 65 72 32 20 2b 20 6e 75 6d 62 65 72 31 20 73 68 69 66 74 20 73 68   ┆ber2:=number2 + number1 shift sh┆
0x1e860…1e880       69 66 74 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 73 68 69 66 74 5f 69 6e 64 65 78 20 3a   ┆ift_index;         shift_index :┆
0x1e880…1e8a0       3d 20 73 68 69 66 74 5f 69 6e 64 65 78 2b 33 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20   ┆= shift_index+3;       end;     ┆
0x1e8a0…1e8c0       20 20 6e 75 6d 62 65 72 20 3a 3d 20 6e 75 6d 62 65 72 32 3b 0a 20 20 20 20 65 6e 64 20 65 6c 73   ┆  number := number2;     end els┆
0x1e8c0…1e8e0       65 20 62 61 73 65 5f 63 6f 6e 76 65 72 74 3a 3d 66 61 6c 73 65 3b 0a 20 20 65 6e 64 20 62 61 73   ┆e base_convert:=false;   end bas┆
0x1e8e0…1e900       65 5f 63 6f 6e 76 65 72 74 3b 0a 20 20 62 6f 6f 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 72   ┆e_convert;   boolean procedure r┆
0x1e900…1e920       65 61 64 5f 61 6e 64 5f 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61 6e 64 29 3b 0a 20 20 3c 2a 2a   ┆ead_and_set_bits(operand);   <**┆
0x1e920…1e940       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1e940…1e960       2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6f 70 65 72 61 6e 64 3b 0a   ┆********>   long array operand; ┆
0x1e960…1e980       20 20 62 65 67 69 6e 0a 20 20 62 6f 6f 6c 65 61 6e 20 65 72 72 6f 72 3b 0a 20 20 65 72 72 6f 72   ┆  begin   boolean error;   error┆
0x1e980…1e9a0       20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 0a 20 20 72 65 70 65 61 74 0a 20 20 20 20 62 65 67 69 6e   ┆ := false;      repeat     begin┆
0x1e9a0…1e9c0       0a 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6c 65 66 74 5f 70   ┆     next;     if class = left_p┆
0x1e9c0…1e9e0       61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20   ┆ar_class then       begin       ┆
0x1e9e0…1ea00       69 66 20 6e 65 78 74 31 20 3c 3e 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20   ┆if next1 <> number_class then   ┆
0x1ea00…1ea20       20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20 74 72 75 65 0a 20 20 20 20 20 20 20 65 6c 73 65 0a   ┆      error := true        else ┆
0x1ea20…1ea40       20 20 20 20 20 20 69 66 20 6e 65 78 74 3c 3e 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e   ┆      if next<> colon_class then┆
0x1ea40…1ea60       0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 65   ┆         error := true         e┆
0x1ea60…1ea80       6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 65 78 74 32 20 3c 3e 20 6e 75 6d 62 65 72 5f 63 6c 61   ┆lse       if next2 <> number_cla┆
0x1ea80…1eaa0       73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20 74 72 75 65 0a 20 20   ┆ss then         error := true   ┆
0x1eaa0…1eac0       20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 65 78 74 20 3c 3e 20 72 69 67 68 74   ┆     else       if next <> right┆
0x1eac0…1eae0       5f 70 61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a 3d 20   ┆_par_class then        error := ┆
0x1eae0…1eb00       74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 69 66 20 6e 75 6d 62 65 72 5f 31 20 3c 3d 20 6e 75 6d   ┆true;         if number_1 <= num┆
0x1eb00…1eb20       62 65 72 5f 32 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 31 20 3e 3d   ┆ber_2 and            number_1 >=┆
0x1eb20…1eb40       20 30 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 32 20 3c 3d 20 6e 6f   ┆ 0 and            number_2 <= no┆
0x1eb40…1eb60       5f 6f 66 5f 62 69 74 73 5f 69 6e 5f 63 6f 64 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20   ┆_of_bits_in_code and            ┆
0x1eb60…1eb80       2d 2c 20 65 72 72 6f 72 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3a   ┆-, error then            error :┆
0x1eb80…1eba0       3d 20 2d 2c 20 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61 6e 64 2c 6e 75 6d 62 65 72 31 20 65 78   ┆= -, set_bits(operand,number1 ex┆
0x1eba0…1ebc0       74 72 61 63 74 20 32 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75   ┆tract 24,                     nu┆
0x1ebc0…1ebe0       6d 62 65 72 32 20 65 78 74 72 61 63 74 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 65 6c 73 65 20   ┆mber2 extract 24)          else ┆
0x1ebe0…1ec00       65 72 72 6f 72 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 0a 20 20 20   ┆error := true;        next;     ┆
0x1ec00…1ec20       20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 6e 75 6d 62   ┆    end else     if class = numb┆
0x1ec20…1ec40       65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 69 66   ┆er_class then      begin      if┆
0x1ec40…1ec60       20 6e 75 6d 62 65 72 20 3e 3d 20 30 20 61 6e 64 20 20 6e 75 6d 62 65 72 20 3c 3d 20 6e 6f 5f 6f   ┆ number >= 0 and  number <= no_o┆
0x1ec60…1ec80       66 5f 62 69 74 73 5f 69 6e 5f 63 6f 64 65 20 74 68 65 6e 0a 20 20 20 20 20 65 72 72 6f 72 20 3a   ┆f_bits_in_code then      error :┆
0x1ec80…1eca0       3d 20 2d 2c 20 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61 6e 64 2c 6e 75 6d 62 65 72 20 65 78 74   ┆= -, set_bits(operand,number ext┆
0x1eca0…1ecc0       72 61 63 74 20 32 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 65 78   ┆ract 24,               number ex┆
0x1ecc0…1ece0       74 72 61 63 74 20 32 34 29 0a 20 20 20 20 20 20 65 6c 73 65 20 65 72 72 6f 72 20 3a 3d 20 74 72   ┆tract 24)       else error := tr┆
0x1ece0…1ed00       75 65 3b 0a 20 20 20 20 20 20 6e 65 78 74 3b 0a 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20   ┆ue;       next;        end;     ┆
0x1ed00…1ed20       65 6e 64 3b 0a 20 20 75 6e 74 69 6c 20 63 6c 61 73 73 20 3c 3e 20 63 6f 6d 6d 61 5f 63 6c 61 73   ┆end;   until class <> comma_clas┆
0x1ed20…1ed40       73 20 6f 72 20 65 72 72 6f 72 3b 0a 20 20 72 65 61 64 5f 61 6e 64 5f 73 65 74 5f 62 69 74 73 20   ┆s or error;   read_and_set_bits ┆
0x1ed40…1ed60       3a 3d 20 2d 2c 20 65 72 72 6f 72 3b 0a 0a 20 20 65 6e 64 20 72 65 61 64 5f 61 6e 64 5f 73 65 74   ┆:= -, error;    end read_and_set┆
0x1ed60…1ed80       5f 62 69 74 73 3b 0a 0a 20 20 62 6f 6f 6c 65 61 6e 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f   ┆_bits;    boolean procedure set_┆
0x1ed80…1eda0       62 69 74 73 28 6f 70 65 72 61 6e 64 2c 62 69 74 5f 6c 6f 77 2c 62 69 74 5f 68 69 67 68 29 3b 0a   ┆bits(operand,bit_low,bit_high); ┆
0x1eda0…1edc0       20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆  <*****************************┆
0x1edc0…1ede0       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 76 61 6c 75 65   ┆***********************>   value┆
0x1ede0…1ee00       20 62 69 74 5f 6c 6f 77 2c 62 69 74 5f 68 69 67 68 3b 20 69 6e 74 65 67 65 72 20 62 69 74 5f 6c   ┆ bit_low,bit_high; integer bit_l┆
0x1ee00…1ee20       6f 77 2c 62 69 74 5f 68 69 67 68 3b 0a 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6f 70 65 72 61 6e   ┆ow,bit_high;   long array operan┆
0x1ee20…1ee40       64 3b 0a 20 20 62 65 67 69 6e 0a 20 20 69 6e 74 65 67 65 72 20 0a 20 20 20 20 69 6e 64 65 78 5f   ┆d;   begin   integer      index_┆
0x1ee40…1ee60       6c 6f 77 2c 0a 20 20 20 20 69 6e 64 65 78 5f 68 69 67 68 2c 0a 20 20 20 20 62 69 74 5f 68 69 67   ┆low,     index_high,     bit_hig┆
0x1ee60…1ee80       68 5f 69 6e 5f 77 6f 72 64 2c 0a 20 20 20 20 62 69 74 5f 6c 6f 77 5f 69 6e 5f 77 6f 72 64 2c 0a   ┆h_in_word,     bit_low_in_word, ┆
0x1ee80…1eea0       20 20 20 20 77 6f 72 64 5f 69 6e 64 65 78 3b 0a 0a 20 20 69 66 20 62 69 74 5f 68 69 67 68 20 3c   ┆    word_index;    if bit_high <┆
0x1eea0…1eec0       20 62 69 74 5f 6c 6f 77 20 74 68 65 6e 0a 20 20 20 20 73 65 74 5f 62 69 74 73 20 3a 3d 20 66 61   ┆ bit_low then     set_bits := fa┆
0x1eec0…1eee0       6c 73 65 0a 20 20 20 65 6c 73 65 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e 64 65 78 5f   ┆lse    else     begin     index_┆
0x1eee0…1ef00       6c 6f 77 20 3a 3d 20 63 61 73 65 20 28 20 62 69 74 5f 6c 6f 77 2f 2f 34 38 29 20 2b 20 31 20 6f   ┆low := case ( bit_low//48) + 1 o┆
0x1ef00…1ef20 (55,) 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c   ┆f                  (1,2,3,4,5,6,┆
0x1ef20…1ef40       37 2c 38 29 3b 0a 20 20 20 20 69 6e 64 65 78 5f 68 69 67 68 20 3a 3d 20 63 61 73 65 20 28 62 69   ┆7,8);     index_high := case (bi┆
0x1ef40…1ef60       74 5f 68 69 67 68 2f 2f 34 38 29 20 2b 20 31 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆t_high//48) + 1 of              ┆
0x1ef60…1ef80       20 20 20 20 28 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 2c 38 29 3b 0a 20 20 20 20 62 69 74 5f 6c   ┆    (1,2,3,4,5,6,7,8);     bit_l┆
0x1ef80…1efa0       6f 77 5f 69 6e 5f 77 6f 72 64 20 3a 3d 20 62 69 74 5f 6c 6f 77 20 6d 6f 64 20 34 38 3b 0a 20 20   ┆ow_in_word := bit_low mod 48;   ┆
0x1efa0…1efc0       20 20 62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 20 3a 3d 20 62 69 74 5f 68 69 67 68 20 6d   ┆  bit_high_in_word := bit_high m┆
0x1efc0…1efe0       6f 64 20 34 38 3b 0a 20 20 20 20 69 66 20 69 6e 64 65 78 5f 6c 6f 77 20 3d 20 69 6e 64 65 78 5f   ┆od 48;     if index_low = index_┆
0x1efe0…1f000       68 69 67 68 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6f 70 65 72   ┆high then       begin       oper┆
0x1f000…1f020       61 6e 64 28 69 6e 64 65 78 5f 6c 6f 77 29 20 3a 3d 20 6c 6f 67 5f 6f 72 28 6f 70 65 72 61 6e 64   ┆and(index_low) := log_or(operand┆
0x1f020…1f040       28 69 6e 64 65 78 5f 6c 6f 77 29 2c 0a 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 28 2d 31 29 20   ┆(index_low),         extend(-1) ┆
0x1f040…1f060       73 68 69 66 74 20 28 28 2d 34 38 29 2b 28 62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 2b 31   ┆shift ((-48)+(bit_high_in_word+1┆
0x1f060…1f080       2d 62 69 74 5f 6c 6f 77 5f 69 6e 5f 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 73 68 69 66 74   ┆-bit_low_in_word))         shift┆
0x1f080…1f0a0       20 28 34 37 20 2d 20 62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 29 29 3b 0a 20 20 20 20 20   ┆ (47 - bit_high_in_word));      ┆
0x1f0a0…1f0c0       20 65 6e 64 0a 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆ end      else        begin     ┆
0x1f0c0…1f0e0       20 20 20 6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 6c 6f 77 29 20 3a 3d 20 6c 6f 67 5f 6f 72 28   ┆   operand(index_low) := log_or(┆
0x1f0e0…1f100       6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 6c 6f 77 29 2c 0a 20 20 20 20 20 20 20 20 20 65 78 74   ┆operand(index_low),          ext┆
0x1f100…1f120       65 6e 64 20 28 2d 31 29 20 73 68 69 66 74 20 28 20 2d 20 62 69 74 5f 6c 6f 77 5f 69 6e 5f 77 6f   ┆end (-1) shift ( - bit_low_in_wo┆
0x1f120…1f140       72 64 29 29 3b 0a 20 20 20 20 20 20 20 6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 68 69 67 68 29   ┆rd));        operand(index_high)┆
0x1f140…1f160       20 3a 3d 20 6c 6f 67 5f 6f 72 28 6f 70 65 72 61 6e 64 28 69 6e 64 65 78 5f 68 69 67 68 29 2c 0a   ┆ := log_or(operand(index_high), ┆
0x1f160…1f180       20 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 28 2d 31 29 20 73 68 69 66 74 20 28 34 37 20 2d 20   ┆         extend(-1) shift (47 - ┆
0x1f180…1f1a0       62 69 74 5f 68 69 67 68 5f 69 6e 5f 77 6f 72 64 29 29 3b 0a 20 20 20 20 20 20 20 66 6f 72 20 77   ┆bit_high_in_word));        for w┆
0x1f1a0…1f1c0       6f 72 64 5f 69 6e 64 65 78 20 3a 3d 20 69 6e 64 65 78 5f 6c 6f 77 2b 31 20 73 74 65 70 20 31 20   ┆ord_index := index_low+1 step 1 ┆
0x1f1c0…1f1e0       75 6e 74 69 6c 20 69 6e 64 65 78 5f 6c 6f 77 20 20 2d 20 31 20 64 6f 0a 20 20 20 20 20 20 20 20   ┆until index_low  - 1 do         ┆
0x1f1e0…1f200       20 6f 70 65 72 61 6e 64 28 77 6f 72 64 5f 69 6e 64 65 78 29 20 3a 3d 20 2d 31 3b 0a 20 20 20 20   ┆ operand(word_index) := -1;     ┆
0x1f200…1f220       20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 73 65 74 5f 62 69 74 73 20 3a 3d 20 74 72 75 65 3b   ┆    end;       set_bits := true;┆
0x1f220…1f240       0a 20 20 20 20 65 6e 64 3b 0a 0a 20 20 65 6e 64 20 73 65 74 5f 62 69 74 73 3b 0a 0a 0a 0a 20 20   ┆     end;    end set_bits;      ┆
0x1f240…1f260       6c 6f 6e 67 20 70 72 6f 63 65 64 75 72 65 20 69 6e 69 74 5f 6d 61 73 6b 28 6f 70 65 72 61 6e 64   ┆long procedure init_mask(operand┆
0x1f260…1f280       2c 66 72 6f 6d 2c 74 6f 29 3b 0a 20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆,from,to);   <******************┆
0x1f280…1f2a0       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 76 61 6c 75   ┆************************>   valu┆
0x1f2a0…1f2c0       65 20 66 72 6f 6d 2c 74 6f 2c 6f 70 65 72 61 6e 64 3b 20 6c 6f 6e 67 20 6f 70 65 72 61 6e 64 3b   ┆e from,to,operand; long operand;┆
0x1f2c0…1f2e0       20 69 6e 74 65 67 65 72 20 66 72 6f 6d 2c 74 6f 3b 0a 20 20 69 6e 69 74 5f 6d 61 73 6b 3a 3d 6d   ┆ integer from,to;   init_mask:=m┆
0x1f2e0…1f300       61 73 6b 5f 69 6e 28 6f 70 65 72 61 6e 64 2c 65 78 74 65 6e 64 20 28 2d 31 29 2c 0a 20 20 65 78   ┆ask_in(operand,extend (-1),   ex┆
0x1f300…1f320       74 65 6e 64 20 28 2d 31 29 20 73 68 69 66 74 20 28 28 2d 34 38 29 2b 28 74 6f 2b 31 2d 66 72 6f   ┆tend (-1) shift ((-48)+(to+1-fro┆
0x1f320…1f340       6d 29 29 20 20 73 68 69 66 74 20 28 34 37 2d 74 6f 29 29 3b 0a 0a 0a 20 20 3c 2a 20 2a 2a 2a 2a   ┆m))  shift (47-to));     <* ****┆
0x1f340…1f360       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1f360…1f380       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 20 20 20 20 20 64 69 72 65 63 74 69 76 65 20 70 72 6f   ┆*************      directive pro┆
0x1f380…1f3a0       63 65 64 75 72 65 73 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆cedures section      ***********┆
0x1f3a0…1f3c0       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1f3c0…1f3e0       2a 2a 2a 2a 2a 2a 20 2a 3e 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 64 69 72 65 63 74 69 76 65   ┆****** *>    procedure directive┆
0x1f3e0…1f400       5f 73 6b 69 70 5f 75 6e 74 69 6c 3b 0a 20 20 62 65 67 69 6e 0a 20 20 62 6f 6f 6c 65 61 6e 20 75   ┆_skip_until;   begin   boolean u┆
0x1f400…1f420       6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 3b 0a 0a 20 20 6c 6f 6e 67 20 73 6b 69 70   ┆ntil_condition_met;    long skip┆
0x1f420…1f440       5f 65 6e 64 5f 6e 61 6d 65 3b 0a 20 20 6e 65 78 74 31 3b 0a 0a 20 20 69 66 20 63 6c 61 73 73 31   ┆_end_name;   next1;    if class1┆
0x1f440…1f460       20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 31 20 3d 20 75 6e 6b 6e 6f 77   ┆ = text_class or class1 = unknow┆
0x1f460…1f480       6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆n_name_class then     begin     ┆
0x1f480…1f4a0       73 6b 69 70 5f 65 6e 64 5f 6e 61 6d 65 20 3a 3d 20 6e 61 6d 65 31 3b 0a 20 20 20 20 72 65 70 65   ┆skip_end_name := name1;     repe┆
0x1f4a0…1f4c0       61 74 0a 20 20 20 20 20 69 66 20 6c 69 73 74 5f 61 6c 6c 20 74 68 65 6e 20 6c 69 73 74 5f 6c 69   ┆at      if list_all then list_li┆
0x1f4c0…1f4e0       6e 65 3b 0a 20 20 20 20 20 72 65 61 64 5f 6e 65 78 74 5f 73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a   ┆ne;      read_next_source_line; ┆
0x1f4e0…1f500       0a 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73 74 61 72 5f 63 6c 61 73 73 20 74 68 65 6e   ┆      if class = star_class then┆
0x1f500…1f520       0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20   ┆         begin         next1;   ┆
0x1f520…1f540       20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 75 6e 74 69 6c 3a 3e 20   ┆      if name1 = long <:until:> ┆
0x1f540…1f560       74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 6e   ┆then           begin           n┆
0x1f560…1f580       65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 31 20 3d 20 63 6f 6c 6f   ┆ext1;           if class1 = colo┆
0x1f580…1f5a0       6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31   ┆n_class then               next1┆
0x1f5a0…1f5c0       3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 73 6b 69 70 5f 65 6e 64 5f   ┆;           if name1 = skip_end_┆
0x1f5c0…1f5e0       6e 61 6d 65 20 74 68 65 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 5f 63   ┆name then                until_c┆
0x1f5e0…1f600       6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20   ┆ondition_met := true;           ┆
0x1f600…1f620       65 6e 64 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 66 69 72 73   ┆end;         end control of firs┆
0x1f620…1f640       74 20 74 6f 6b 65 6e 3b 0a 20 20 20 20 20 75 6e 74 69 6c 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74   ┆t token;      until until_condit┆
0x1f640…1f660       69 6f 6e 5f 6d 65 74 3b 0a 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 65 72 72   ┆ion_met;      end else       err┆
0x1f660…1f680       6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29   ┆or(directive,line_no,element_no)┆
0x1f680…1f6a0       3b 0a 20 20 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 74 72 75 65 3b 0a 20 20   ┆;   return_from_skip := true;   ┆
0x1f6a0…1f6c0       65 6e 64 20 64 69 72 65 63 74 69 76 65 5f 73 6b 69 70 5f 75 6e 74 69 6c 3b 0a 70 72 6f 63 65 64   ┆end directive_skip_until; proced┆
0x1f6c0…1f6e0       75 72 65 20 64 69 72 65 63 74 69 76 65 5f 6f 6e 6c 79 69 6e 5f 6c 6f 67 69 63 28 6d 6f 64 65 29   ┆ure directive_onlyin_logic(mode)┆
0x1f6e0…1f700       3b 0a 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆; <*****************************┆
0x1f700…1f720       2a 2a 2a 3e 0a 76 61 6c 75 65 20 6d 6f 64 65 3b 20 62 6f 6f 6c 65 61 6e 20 6d 6f 64 65 3b 0a 3c   ┆***> value mode; boolean mode; <┆
0x1f720…1f740       2a 20 69 66 20 6d 6f 64 65 20 69 73 20 74 72 75 65 20 74 68 65 6e 20 73 6b 69 70 20 6f 6e 6c 79   ┆* if mode is true then skip only┆
0x1f740…1f760       20 69 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 0a 20 20 20 65 6c 73 65 20 73 6b 69 70 20 6e 6f   ┆ in is performed    else skip no┆
0x1f760…1f780       74 20 69 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 2a 3e 0a 62 65 67 69 6e 0a 3c 2a 20 63 68   ┆t in is performed *> begin <* ch┆
0x1f780…1f7a0       65 63 6b 20 74 68 65 20 70 61 72 61 6d 20 6c 69 73 74 20 74 6f 20 73 65 20 74 68 65 20 70 61 72   ┆eck the param list to se the par┆
0x1f7a0…1f7c0       61 6d 0a 20 20 20 6d 6f 64 65 2e 3c 74 65 78 74 3e 20 2c 20 77 68 65 72 65 20 3c 74 65 78 74 3e   ┆am    mode.<text> , where <text>┆
0x1f7c0…1f7e0       20 73 63 68 61 6c 6c 20 62 65 20 65 71 75 61 6c 0a 20 20 20 74 68 65 20 6e 65 78 74 20 65 6c 65   ┆ schall be equal    the next ele┆
0x1f7e0…1f800       6d 65 6e 74 20 2a 3e 0a 6c 6f 6e 67 20 61 72 72 61 79 20 70 61 72 61 6d 5f 6e 61 6d 65 2c 75 6e   ┆ment *> long array param_name,un┆
0x1f800…1f820 (56,) 74 69 6c 5f 6e 61 6d 65 2c 6f 6e 6c 79 5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 69 6e 74 65 67 65 72   ┆til_name,only_name(1:2); integer┆
0x1f820…1f840       20 70 61 72 61 6d 5f 63 61 6c 6c 5f 72 65 73 75 6c 74 3b 0a 62 6f 6f 6c 65 61 6e 20 75 6e 74 69   ┆ param_call_result; boolean unti┆
0x1f840…1f860       6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 3b 0a 0a 0a 70 61 72 61 6d 5f 63 61 6c 6c 5f 72 65   ┆l_condition_met;   param_call_re┆
0x1f860…1f880       73 75 6c 74 20 3a 3d 20 67 65 74 5f 74 65 78 74 5f 73 74 72 69 6e 67 28 3c 3a 76 65 72 73 69 6f   ┆sult := get_text_string(<:versio┆
0x1f880…1f8a0       6e 3a 3e 2c 70 61 72 61 6d 5f 6e 61 6d 65 29 3b 0a 63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6c   ┆n:>,param_name); class1 := get_l┆
0x1f8a0…1f8c0       6f 6e 67 5f 6e 61 6d 65 28 6f 6e 6c 79 5f 6e 61 6d 65 29 3b 0a 69 66 20 70 61 72 61 6d 5f 63 61   ┆ong_name(only_name); if param_ca┆
0x1f8c0…1f8e0       6c 6c 5f 72 65 73 75 6c 74 20 3c 3e 20 30 20 6f 72 0a 20 20 20 28 70 61 72 61 6d 5f 63 61 6c 6c   ┆ll_result <> 0 or    (param_call┆
0x1f8e0…1f900       5f 72 65 73 75 6c 74 20 3d 20 30 20 61 6e 64 0a 20 20 20 20 20 28 28 20 6d 6f 64 65 20 61 6e 64   ┆_result = 0 and      (( mode and┆
0x1f900…1f920       20 28 70 61 72 61 6d 5f 6e 61 6d 65 28 31 29 20 3c 3e 20 6f 6e 6c 79 5f 6e 61 6d 65 28 31 29 20   ┆ (param_name(1) <> only_name(1) ┆
0x1f920…1f940       6f 72 0a 20 20 20 20 20 20 70 61 72 61 6d 5f 6e 61 6d 65 28 32 29 20 3c 3e 20 6f 6e 6c 79 5f 6e   ┆or       param_name(2) <> only_n┆
0x1f940…1f960       61 6d 65 28 32 29 29 29 0a 20 20 20 20 6f 72 0a 20 20 20 20 20 28 20 2d 2c 20 6d 6f 64 65 20 61   ┆ame(2)))     or      ( -, mode a┆
0x1f960…1f980       6e 64 20 20 70 61 72 61 6d 5f 6e 61 6d 65 28 31 29 20 3d 20 6f 6e 6c 79 5f 6e 61 6d 65 28 31 29   ┆nd  param_name(1) = only_name(1)┆
0x1f980…1f9a0       20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 5f 6e   ┆ and                     param_n┆
0x1f9a0…1f9c0       61 6d 65 28 32 29 20 3d 20 6f 6e 6c 79 5f 6e 61 6d 65 28 32 29 20 29 29 29 20 74 68 65 6e 0a 0a   ┆ame(2) = only_name(2) ))) then  ┆
0x1f9c0…1f9e0       20 20 62 65 67 69 6e 20 0a 20 20 3c 2a 20 73 6b 69 70 20 75 6e 74 69 6c 20 61 20 27 75 6e 74 69   ┆  begin    <* skip until a 'unti┆
0x1f9e0…1fa00       6c 27 20 64 69 72 65 63 74 69 76 65 20 69 73 20 6d 65 74 20 77 69 74 68 0a 20 20 20 20 20 77 69   ┆l' directive is met with      wi┆
0x1fa00…1fa20       74 68 20 74 68 65 20 76 65 72 73 69 6f 6e 20 74 65 78 74 20 61 73 20 70 61 72 61 6d 65 74 65 72   ┆th the version text as parameter┆
0x1fa20…1fa40       2e 20 2a 3e 0a 20 20 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20 3a 3d 20 66   ┆. *>    until_condition_met := f┆
0x1fa40…1fa60       61 6c 73 65 3b 0a 20 20 20 72 65 70 65 61 74 0a 20 20 20 20 20 69 66 20 6c 69 73 74 5f 61 6c 6c   ┆alse;    repeat      if list_all┆
0x1fa60…1fa80       20 74 68 65 6e 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 72 65 61 64 5f 6e 65 78 74 5f   ┆ then list_line;      read_next_┆
0x1fa80…1faa0       73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 65 6f 66   ┆source_line;      if class = eof┆
0x1faa0…1fac0       5f 63 6c 61 73 73 20 74 68 65 6e 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20   ┆_class then until_condition_met ┆
0x1fac0…1fae0       3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 0a 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73   ┆:= true;            if class = s┆
0x1fae0…1fb00       74 61 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆tar_class then        begin     ┆
0x1fb00…1fb20       20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67   ┆   next1;        if name1 = long┆
0x1fb20…1fb40       20 3c 3a 75 6e 74 69 6c 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20   ┆ <:until:> then          begin  ┆
0x1fb40…1fb60       20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73   ┆        next1;          if class┆
0x1fb60…1fb80       31 20 3d 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20   ┆1 = colon_class then            ┆
0x1fb80…1fba0       63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 28 75 6e 74 69 6c 5f 6e 61   ┆class1 := get_long_name(until_na┆
0x1fba0…1fbc0       6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 31 20 3e 20 30 20 61 6e 64 0a   ┆me);          if class1 > 0 and ┆
0x1fbc0…1fbe0       20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 5f 6e 61 6d 65 28 31 29 20 3d 75 6e 74 69 6c 5f   ┆            only_name(1) =until_┆
0x1fbe0…1fc00       6e 61 6d 65 28 31 29 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 5f 6e 61 6d   ┆name(1) and             only_nam┆
0x1fc00…1fc20       65 28 32 29 20 3d 20 75 6e 74 69 6c 5f 6e 61 6d 65 28 32 29 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆e(2) = until_name(2) then       ┆
0x1fc20…1fc40       20 20 20 20 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 20 3a 3d 20 74 72 75 65   ┆     until_condition_met := true┆
0x1fc40…1fc60       3b 0a 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 20 63 6f 6e 74 72   ┆;          end;        end contr┆
0x1fc60…1fc80       6f 6c 20 6f 66 20 66 69 72 73 74 20 74 6f 6b 65 6e 20 27 63 6f 6c 6f 6e 27 20 3b 0a 20 20 20 20   ┆ol of first token 'colon' ;     ┆
0x1fc80…1fca0       75 6e 74 69 6c 20 75 6e 74 69 6c 5f 63 6f 6e 64 69 74 69 6f 6e 5f 6d 65 74 3b 0a 20 65 6e 64 20   ┆until until_condition_met;  end ┆
0x1fca0…1fcc0       73 6b 69 70 20 6e 6f 74 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 3b 0a 72 65 74 75 72 6e 5f 66   ┆skip not this version ; return_f┆
0x1fcc0…1fce0       72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 74 72 75 65 3b 0a 0a 0a 65 6e 64 20 64 69 72 65 63 74 69 76   ┆rom_skip := true;   end directiv┆
0x1fce0…1fd00       65 5f 6f 6e 6c 79 5f 69 6e 3b 0a 0a 0a 70 72 6f 63 65 64 75 72 65 20 69 6e 63 6c 75 64 65 5f 73   ┆e_only_in;   procedure include_s┆
0x1fd00…1fd20       6f 75 72 63 65 5f 66 69 6c 65 3b 0a 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆ource_file; <*******************┆
0x1fd20…1fd40       2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 62 65 67 69 6e 0a 6c 6f 6e 67 20 61 72 72 61 79 20 66 69 6c 65   ┆*********> begin long array file┆
0x1fd40…1fd60       5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 69 6e 74 65 67 65 72 20 73 74 61 63 6b 5f 72 65 73 75 6c 74   ┆_name(1:2); integer stack_result┆
0x1fd60…1fd80       3b 0a 63 6c 61 73 73 31 20 3a 3d 20 67 65 74 5f 6c 6f 6e 67 5f 6e 61 6d 65 28 66 69 6c 65 5f 6e   ┆; class1 := get_long_name(file_n┆
0x1fd80…1fda0       61 6d 65 29 3b 0a 69 66 20 63 6c 61 73 73 31 20 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 62 65 67   ┆ame); if class1 > 0 then     beg┆
0x1fda0…1fdc0       69 6e 0a 20 20 20 20 73 74 61 63 6b 5f 72 65 73 75 6c 74 20 3a 3d 20 20 73 74 61 63 6b 5f 61 6e   ┆in     stack_result :=  stack_an┆
0x1fdc0…1fde0       64 5f 63 6f 6e 6e 65 63 74 5f 69 6e 28 66 69 6c 65 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 69 66 20   ┆d_connect_in(file_name);     if ┆
0x1fde0…1fe00       6c 69 73 74 20 74 68 65 6e 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 0a 20 20 20 20 69 66 20 73 74 61   ┆list then list_line;      if sta┆
0x1fe00…1fe20       63 6b 5f 72 65 73 75 6c 74 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 77 72 69 74 65 28   ┆ck_result <> 0 then       write(┆
0x1fe20…1fe40       6f 75 74 2c 22 2a 22 2c 34 2c 3c 3a 20 63 6f 70 79 20 63 6f 6e 6e 65 63 74 20 65 72 72 6f 72 3a   ┆out,"*",4,<: copy connect error:┆
0x1fe40…1fe60       20 3a 3e 2c 66 69 6c 65 5f 6e 61 6d 65 2c 22 6e 6c 22 2c 31 29 0a 20 20 20 20 65 6c 73 65 0a 20   ┆ :>,file_name,"nl",1)     else  ┆
0x1fe60…1fe80       20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3a 20 6d 69 63 61 73 6d 20 73 6f 75 72 63 65 20   ┆     write(out,<: micasm source ┆
0x1fe80…1fea0       3a 20 3a 3e 2c 66 69 6c 65 5f 6e 61 6d 65 2c 22 6e 6c 22 2c 31 29 3b 0a 20 20 20 20 65 6e 64 20   ┆: :>,file_name,"nl",1);     end ┆
0x1fea0…1fec0       65 6c 73 65 20 0a 20 20 20 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e   ┆else      error(directive,line_n┆
0x1fec0…1fee0       6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 65 6e 64 20 69 6e 63 6c 75 64 65 5f 73 6f 75 72 63   ┆o,element_no); end include_sourc┆
0x1fee0…1ff00       65 5f 66 69 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 63 65 64 75 72 65 20 6c 69 73 74 5f 6c 69   ┆e_file;        procedure list_li┆
0x1ff00…1ff20       6e 65 3b 0a 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 62 65 67 69 6e 0a   ┆ne; <*******************> begin ┆
0x1ff20…1ff40       69 66 20 2d 2c 20 6c 69 6e 65 5f 6c 69 73 74 65 64 20 74 68 65 6e 0a 62 65 67 69 6e 0a 6c 69 6e   ┆if -, line_listed then begin lin┆
0x1ff40…1ff60       65 5f 6c 69 73 74 65 64 20 3a 3d 20 74 72 75 65 3b 0a 69 66 20 6c 69 6e 65 5f 6e 75 6d 20 74 68   ┆e_listed := true; if line_num th┆
0x1ff60…1ff80       65 6e 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 64 64 64 64 3e 2c 6c 69 6e 65 5f 6e 6f 29 3b 0a 20   ┆en write(out,<<dddd>,line_no);  ┆
0x1ff80…1ffa0       20 20 20 20 20 69 66 20 63 6f 64 65 5f 67 65 6e 65 72 61 74 65 64 20 74 68 65 6e 0a 20 20 20 20   ┆     if code_generated then     ┆
0x1ffa0…1ffc0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 64 65 63 5f 63 6f 64 65 20 74 68 65 6e 20 77   ┆  begin       if dec_code then w┆
0x1ffc0…1ffe0       72 69 74 65 28 6f 75 74 2c 3c 3c 5f 7a 64 64 64 3e 2c 69 6e 73 74 72 5f 69 6e 64 65 78 29 3b 0a   ┆rite(out,<<_zddd>,instr_index); ┆
0x1ffe0…20000       20 20 20 20 20 20 69 66 20 6f 63 74 61 6c 5f 63 6f 64 65 20 74 68 65 6e 20 77 72 69 74 65 28 6f   ┆      if octal_code then write(o┆
0x20000…20020       75 74 2c 3c 3c 5f 7a 64 64 64 3e 2c 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 69 6e 73 74 72 5f 69   ┆ut,<<_zddd>,octal(extend instr_i┆
0x20020…20040       6e 64 65 78 29 29 3b 20 20 20 20 20 0a 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 27   ┆ndex));            outchar(out,'┆
0x20040…20060       73 70 27 29 3b 0a 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   ┆sp');       end       else      ┆
0x20060…20080       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 69 66 20 64 65 63 5f 63 6f 64 65 20 74 68 65 6e 20   ┆  begin        if dec_code then ┆
0x20080…200a0       77 72 69 74 65 28 6f 75 74 2c 22 73 70 22 2c 35 29 3b 0a 20 20 20 20 20 20 20 69 66 20 6f 63 74   ┆write(out,"sp",5);        if oct┆
0x200a0…200c0       61 6c 5f 63 6f 64 65 20 74 68 65 6e 20 77 72 69 74 65 28 6f 75 74 2c 22 73 70 22 2c 35 29 3b 0a   ┆al_code then write(out,"sp",5); ┆
0x200c0…200e0       20 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 27 73 70 27 29 3b 0a 20 20 20 20 20 20   ┆       outchar(out,'sp');       ┆
0x200e0…20100       20 65 6e 64 3b 0a 20 20 20 20 20 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3a 3d 20 30 3b 0a 20   ┆ end;       line_pointer := 0;  ┆
0x20100…20120 (57,) 20 20 20 20 20 66 6f 72 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3a 3d 20 6c 69 6e 65 5f 70 6f   ┆     for line_pointer := line_po┆
0x20120…20140       69 6e 74 65 72 2b 31 20 0a 20 20 20 20 20 20 77 68 69 6c 65 20 6c 69 6e 65 5f 70 6f 69 6e 74 65   ┆inter+1        while line_pointe┆
0x20140…20160       72 20 3c 3d 20 6e 6f 5f 6f 66 5f 65 6c 65 6d 65 6e 74 73 20 64 6f 0a 20 20 20 20 20 20 62 65 67   ┆r <= no_of_elements do       beg┆
0x20160…20180       69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69   ┆in         if read_kind(line_poi┆
0x20180…201a0       6e 74 65 72 29 20 3d 20 36 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆nter) = 6 then         begin    ┆
0x201a0…201c0       20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 73 74 72 69 6e 67 20 72 65 61 64 5f 76 61 6c   ┆       write(out,string read_val┆
0x201c0…201e0       75 65 28 69 6e 63 72 65 61 73 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 29 29 3b 0a 20 20 20   ┆ue(increase(line_pointer)));    ┆
0x201e0…20200       20 20 20 20 20 20 20 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 20 3a 3d 20 6c 69 6e 65 5f 70 6f 69 6e   ┆       line_pointer := line_poin┆
0x20200…20220       74 65 72 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 65 6c 73   ┆ter - 1;         end         els┆
0x20220…20240       65 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 64 5f 6b 69 6e 64 28 6c 69 6e 65 5f 70 6f 69 6e   ┆e         if read_kind(line_poin┆
0x20240…20260       74 65 72 29 20 3d 20 32 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c   ┆ter) = 2 then         write(out,┆
0x20260…20280       3c 3c 64 3e 2c 72 65 61 64 5f 76 61 6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 29 0a 20   ┆<<d>,read_value(line_pointer))  ┆
0x20280…202a0       20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c   ┆       else         outchar(out,┆
0x202a0…202c0       72 65 61 64 5f 76 61 6c 75 65 28 6c 69 6e 65 5f 70 6f 69 6e 74 65 72 29 20 65 78 74 72 61 63 74   ┆read_value(line_pointer) extract┆
0x202c0…202e0       20 38 29 3b 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 65 6e 64 3b 0a 65 6e 64 20 6c 69 73 74 5f   ┆ 8);       end;   end; end list_┆
0x202e0…20300       6c 69 6e 65 3b 0a 0a 0a 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 20 72 65 61 64 5f 6e 65 78 74 5f   ┆line;       procedure read_next_┆
0x20300…20320       73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 20 20 3c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆source_line;   <****************┆
0x20320…20340       2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 3e 0a 20 20 62 65 67 69 6e 0a 20 20 3c 2a 20 72 65 73   ┆**************>   begin   <* res┆
0x20340…20360       65 74 20 62 6f 6f 6c 65 61 6e 20 63 6f 6e 74 72 6f 6c 20 2a 3e 0a 20 20 65 72 72 6f 72 5f 69 6e   ┆et boolean control *>   error_in┆
0x20360…20380       5f 74 68 69 73 5f 6c 69 6e 65 20 3a 3d 20 66 61 6c 73 65 20 3b 0a 0a 20 20 63 6f 64 65 5f 67 65   ┆_this_line := false ;    code_ge┆
0x20380…203a0       6e 65 72 61 74 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 61 6c 75 5f 66 75 6e 63 74 69 6f 6e   ┆nerated := false;   alu_function┆
0x203a0…203c0       5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 6a 75 6d 70 5f 73 65 6b 76   ┆_performed := false;   jump_sekv┆
0x203c0…203e0       65 6e 73 5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 61 64 64 72 73 5f   ┆ens_performed := false;   addrs_┆
0x203e0…20400       70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 73 68 69 66 74 5f 63 6f 6e 64   ┆performed := false;   shift_cond┆
0x20400…20420       69 74 69 6f 6e 5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 6a 75 6d 70   ┆ition_performed := false;   jump┆
0x20420…20440       5f 61 64 64 72 73 5f 70 65 72 66 6f 72 6d 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 6c 69 6e   ┆_addrs_performed := false;   lin┆
0x20440…20460       65 5f 6c 69 73 74 65 64 20 3a 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 6c 69 6e 65 5f 70 6f 69 6e 74   ┆e_listed := false;    line_point┆
0x20460…20480       65 72 20 3a 3d 20 31 3b 0a 20 20 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3a 3d 20 30 3b 0a 20 20 6e 6f   ┆er := 1;   element_no := 0;   no┆
0x20480…204a0       5f 6f 66 5f 65 6c 65 6d 65 6e 74 73 20 3a 3d 20 72 65 61 64 5f 61 6c 6c 28 69 6e 2c 72 65 61 64   ┆_of_elements := read_all(in,read┆
0x204a0…204c0       5f 76 61 6c 75 65 2c 72 65 61 64 5f 6b 69 6e 64 2c 31 29 3b 0a 20 20 6c 69 6e 65 5f 6e 6f 20 3a   ┆_value,read_kind,1);   line_no :┆
0x204c0…204e0       3d 20 6c 69 6e 65 5f 6e 6f 20 2b 20 31 3b 0a 20 20 6e 65 78 74 3b 0a 20 20 65 6e 64 20 72 65 61   ┆= line_no + 1;   next;   end rea┆
0x204e0…20500       64 5f 6e 65 78 74 5f 73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 70   ┆d_next_source_line;            p┆
0x20500…20520       6c 75 73 5f 6c 61 62 65 6c 5f 64 65 63 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 70 6c 75 73 20 6c 61 62   ┆lus_label_dec := long <:plus lab┆
0x20520…20540       65 6c 20 64 65 63 2e 3a 3e 3b 0a 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 3a 3d 20 6c 6f 6e 67   ┆el dec.:>;   declaration := long┆
0x20540…20560       20 3c 3a 64 65 63 6c 61 72 61 74 69 6f 6e 3a 3e 3b 0a 20 20 6f 70 65 72 61 6e 64 5f 74 79 70 65   ┆ <:declaration:>;   operand_type┆
0x20560…20580       20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6f 70 65 72 61 6e 64 20 74 79 70 65 3a 3e 3b 0a 20 20 6d 69 6e   ┆ := long <:operand type:>;   min┆
0x20580…205a0       75 73 5f 64 65 6c 69 6d 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6d 69 6e 75 73 20 64 65 6c 69 6d 2e 3a   ┆us_delim := long <:minus delim.:┆
0x205a0…205c0       3e 3b 0a 20 20 6d 69 73 73 69 6e 67 5f 6f 70 65 72 61 6e 64 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6d   ┆>;   missing_operand := long <:m┆
0x205c0…205e0       69 73 73 69 6e 67 20 6f 70 65 72 61 6e 64 2e 3a 3e 3b 0a 20 20 6c 61 62 65 6c 5f 64 65 63 3a 3d   ┆issing operand.:>;   label_dec:=┆
0x205e0…20600       20 6c 6f 6e 67 20 3c 3a 6c 61 62 65 6c 20 64 65 63 2e 3a 3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f   ┆ long <:label dec.:>;   illegal_┆
0x20600…20620       74 79 70 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 74 79 70 65 3a 3e 3b 0a 20   ┆type := long <:illegal type:>;  ┆
0x20620…20640       20 70 6c 75 73 5f 6e 61 6d 65 5f 64 65 63 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 70 6c 75 73 20 6e 61   ┆ plus_name_dec := long <:plus na┆
0x20640…20660       6d 65 20 64 65 63 2e 3a 3e 3b 0a 20 20 6e 61 6d 65 5f 75 6e 6b 6e 6f 77 6e 20 3a 3d 20 6c 6f 6e   ┆me dec.:>;   name_unknown := lon┆
0x20660…20680       67 20 3c 3a 6e 61 6d 65 20 75 6e 6b 6e 6f 77 6e 3a 3e 3b 0a 20 20 64 69 72 65 63 74 69 76 65 20   ┆g <:name unknown:>;   directive ┆
0x20680…206a0       3a 3d 20 6c 6f 6e 67 20 3c 3a 64 69 72 65 63 74 69 76 65 3a 3e 3b 0a 20 20 75 6e 6b 6e 6f 77 6e   ┆:= long <:directive:>;   unknown┆
0x206a0…206c0       20 3a 3d 20 6c 6f 6e 67 20 3c 3a 75 6e 6b 6e 6f 77 6e 3a 3e 3b 0a 20 20 6e 61 6d 65 5f 6c 65 6e   ┆ := long <:unknown:>;   name_len┆
0x206c0…206e0       67 74 68 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 6e 61 6d 65 20 6c 65 6e 67 74 68 20 65 78 65 65 64 65   ┆gth := long <:name length exeede┆
0x206e0…20700       73 20 36 20 63 68 61 72 2e 3a 3e 3b 0a 20 20 64 65 6c 69 6d 69 74 65 72 20 3a 3d 20 6c 6f 6e 67   ┆s 6 char.:>;   delimiter := long┆
0x20700…20720       20 3c 3a 64 65 6c 69 6d 69 74 65 72 3a 3e 3b 0a 20 20 75 6e 64 65 63 5f 6c 61 62 65 6c 20 3a 3d   ┆ <:delimiter:>;   undec_label :=┆
0x20720…20740       20 6c 6f 6e 67 20 3c 3a 75 6e 64 65 63 2e 20 6c 61 62 65 6c 20 6f 72 20 61 64 64 72 73 2e 20 3a   ┆ long <:undec. label or addrs. :┆
0x20740…20760       3e 3b 0a 20 20 6d 75 6c 74 69 70 6c 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d 20 6c 6f 6e 67 20 3c   ┆>;   multiple_function := long <┆
0x20760…20780       3a 6d 75 6c 74 69 70 6c 65 20 66 75 6e 63 74 69 6f 6e 2e 3a 3e 3b 0a 20 20 70 6c 75 73 5f 61 64   ┆:multiple function.:>;   plus_ad┆
0x20780…207a0       64 72 73 5f 64 65 66 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 70 6c 75 73 20 61 64 64 72 73 20 64 65 66   ┆drs_def := long <:plus addrs def┆
0x207a0…207c0       2e 3a 3e 3b 0a 20 20 6d 69 6e 75 73 5f 61 64 64 72 73 5f 64 65 66 20 3a 3d 20 6c 6f 6e 67 20 3c   ┆.:>;   minus_addrs_def := long <┆
0x207c0…207e0       3a 6d 69 6e 75 73 20 61 64 64 72 73 2e 20 64 65 66 2e 3a 3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f   ┆:minus addrs. def.:>;   illegal_┆
0x207e0…20800       73 6f 75 72 63 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 73 6f 75 72 63 65 3a   ┆source := long <:illegal source:┆
0x20800…20820       3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f 64 65 73 74 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65   ┆>;   illegal_dest := long <:ille┆
0x20820…20840       67 61 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e 3a 3e 3b 0a 20 20 69 6c 6c 65 67 61 6c 5f 64 65 73   ┆gal destination:>;   illegal_des┆
0x20840…20860       74 5f 61 6e 64 5f 73 6f 75 72 63 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 64   ┆t_and_source := long <:illegal d┆
0x20860…20880       65 73 74 69 6e 61 74 69 6f 6e 20 61 6e 64 20 6f 72 20 73 6f 75 72 63 65 20 3a 3e 3b 0a 20 20 73   ┆estination and or source :>;   s┆
0x20880…208a0       61 76 65 5f 66 69 6c 65 5f 6e 61 6d 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20   ┆ave_file_name := long <:illegal ┆
0x208a0…208c0       73 61 76 65 20 66 69 6c 65 20 6e 61 6d 65 3a 3e 3b 0a 20 20 6c 6f 61 64 5f 66 69 6c 65 5f 6e 61   ┆save file name:>;   load_file_na┆
0x208c0…208e0       6d 65 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 69 6c 6c 65 67 61 6c 20 6c 6f 61 64 20 66 69 6c 65 20 6e   ┆me := long <:illegal load file n┆
0x208e0…20900       61 6d 65 3a 3e 3b 0a 20 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 3a 3d 20 6c 6f 6e 67 20 3c 3a 74   ┆ame:>;   termination := long <:t┆
0x20900…20920       65 72 6d 69 6e 61 74 69 6f 6e 3a 3e 3b 0a 20 20 6f 70 65 72 61 6e 64 20 3a 3d 20 6c 6f 6e 67 20   ┆ermination:>;   operand := long ┆
0x20920…20940       3c 3a 75 6e 6b 6e 6f 77 6e 20 6f 70 65 72 61 6e 64 3a 3e 3b 0a 20 20 61 6c 67 6f 6c 20 63 6f 70   ┆<:unknown operand:>;   algol cop┆
0x20940…20960       79 2e 33 20 3c 2a 20 73 63 68 6f 75 6c 64 20 62 65 20 6d 32 39 30 78 69 6e 69 74 20 2a 3e 3b 0a   ┆y.3 <* schould be m290xinit *>; ┆
0x20960…20980       20 20 69 6e 69 74 5f 6c 6f 6e 67 5f 61 72 72 61 79 28 6e 61 6d 65 5f 74 61 62 6c 65 2c 2d 31 29   ┆  init_long_array(name_table,-1)┆
0x20980…209a0       3b 0a 20 20 69 6e 69 74 5f 48 45 41 50 3b 0a 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63   ┆;   init_HEAP;    error_record_c┆
0x209a0…209c0       68 61 69 6e 5f 68 65 61 64 20 3a 3d 20 6e 69 6c 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64   ┆hain_head := nil;   error_record┆
0x209c0…209e0       5f 74 65 78 74 20 3a 3d 20 34 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 6c 69 6e 65 5f   ┆_text := 4;   error_record_line_┆
0x209e0…20a00       6e 6f 20 3a 3d 20 38 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 65 6c 65 6d 65 6e 74 5f   ┆no := 8;   error_record_element_┆
0x20a00…20a20 (58,) 70 6f 73 20 3a 3d 20 31 30 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 63 68 61 69 6e 20   ┆pos := 10;   error_record_chain ┆
0x20a20…20a40       3a 3d 20 36 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 69 6e 73 74 72 5f 69 6e 64 65 78   ┆:= 6;   error_record_instr_index┆
0x20a40…20a60       20 3a 3d 20 31 32 3b 0a 20 20 65 72 72 6f 72 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 20 3a 3d   ┆ := 12;   error_record_length :=┆
0x20a60…20a80       20 31 32 3b 0a 20 20 6c 5f 64 5f 6e 61 6d 65 20 3a 3d 20 38 3b 0a 20 20 6c 5f 64 5f 73 70 65 63   ┆ 12;   l_d_name := 8;   l_d_spec┆
0x20a80…20aa0       20 3a 3d 20 32 3b 0a 20 20 6c 5f 64 5f 69 6e 64 65 78 20 3a 3d 20 34 3b 0a 20 20 6c 5f 64 5f 6c   ┆ := 2;   l_d_index := 4;   l_d_l┆
0x20aa0…20ac0       69 6e 65 5f 6e 6f 20 3a 3d 20 36 3b 0a 20 20 6c 5f 64 5f 63 68 61 69 6e 20 3a 3d 20 38 3b 0a 20   ┆ine_no := 6;   l_d_chain := 8;  ┆
0x20ac0…20ae0       20 6c 5f 64 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 20 3a 3d 20 38 3b 0a 0a 20 20 6c 5f 72 5f   ┆ l_d_record_length := 8;    l_r_┆
0x20ae0…20b00       63 68 61 69 6e 20 3a 3d 20 32 3b 0a 20 20 6c 5f 72 5f 6e 61 6d 65 20 20 3a 3d 20 36 3b 0a 20 20   ┆chain := 2;   l_r_name  := 6;   ┆
0x20b00…20b20       6c 5f 72 5f 69 6e 64 65 78 20 3a 3d 20 38 3b 0a 20 20 6c 5f 72 5f 6c 69 6e 65 5f 6e 6f 20 3a 3d   ┆l_r_index := 8;   l_r_line_no :=┆
0x20b20…20b40       20 31 30 3b 0a 20 20 6c 5f 72 5f 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3a 3d 20 31 32 3b 0a 20 20 6c   ┆ 10;   l_r_element_no := 12;   l┆
0x20b40…20b60       5f 72 5f 72 65 63 6f 72 64 5f 6c 65 6e 67 74 68 20 3a 3d 20 31 32 3b 0a 20 20 6c 5f 72 5f 72 65   ┆_r_record_length := 12;   l_r_re┆
0x20b60…20b80       63 6f 72 64 5f 63 68 61 69 6e 5f 68 65 61 64 20 3a 3d 2d 31 3b 20 3c 2a 20 6e 6f 20 6c 61 62 65   ┆cord_chain_head :=-1; <* no labe┆
0x20b80…20ba0       6c 20 72 65 66 66 65 72 65 6e 63 65 20 62 6c 6f 63 6b 73 20 2a 3e 0a 20 20 6e 61 6d 65 5f 6e 61   ┆l refference blocks *>   name_na┆
0x20ba0…20bc0       6d 65 20 3a 3d 20 38 3b 0a 20 20 6e 61 6d 65 5f 63 68 61 69 6e 20 3a 3d 20 32 3b 0a 20 20 6e 61   ┆me := 8;   name_chain := 2;   na┆
0x20bc0…20be0       6d 65 5f 74 79 70 65 20 3a 3d 20 34 3b 0a 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 30 2c 30 29 20   ┆me_type := 4;   name_table(0,0) ┆
0x20be0…20c00       3a 3d 20 6e 61 6d 65 5f 74 61 62 6c 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 3c 2a 20 61 73 6d 2e 20   ┆:= name_table_length;   <* asm. ┆
0x20c00…20c20       62 65 67 69 6e 20 2a 3e 0a 20 20 20 20 70 72 6f 6d 5f 63 6f 64 65 20 3a 3d 20 2d 31 3b 0a 20 20   ┆begin *>     prom_code := -1;   ┆
0x20c20…20c40       20 20 66 6f 72 20 69 6e 64 65 78 20 3a 3d 20 30 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 6c 65   ┆  for index := 0 step 1 until le┆
0x20c40…20c60       6e 67 74 68 5f 6f 66 5f 63 6f 64 65 2d 31 20 64 6f 0a 20 20 20 20 6f 70 63 6f 64 65 28 69 6e 64   ┆ngth_of_code-1 do     opcode(ind┆
0x20c60…20c80       65 78 29 3a 3d 70 72 6f 6d 5f 63 6f 64 65 3b 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 69 6e   ┆ex):=prom_code;     begin     in┆
0x20c80…20ca0       74 65 67 65 72 20 61 72 72 61 79 20 74 61 69 6c 28 31 3a 32 30 29 3b 0a 20 20 20 20 7a 6f 6e 65   ┆teger array tail(1:20);     zone┆
0x20ca0…20cc0       20 64 75 6d 6d 79 28 31 32 38 2c 31 2c 73 74 64 65 72 72 6f 72 29 3b 0a 20 20 20 20 72 65 61 6c   ┆ dummy(128,1,stderror);     real┆
0x20cc0…20ce0       20 72 3b 0a 20 20 20 20 69 6e 74 65 67 65 72 20 69 2c 6a 2c 6c 6f 6f 6b 75 70 5f 72 65 73 75 6c   ┆ r;     integer i,j,lookup_resul┆
0x20ce0…20d00       74 3b 0a 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6d 69 63 5f 61 73 6d 5f 70 72 6f 67 5f 6e   ┆t;     long array mic_asm_prog_n┆
0x20d00…20d20       61 6d 65 2c 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 20 69 3a 3d 73 79   ┆ame,program_name(1:2);     i:=sy┆
0x20d20…20d40       73 74 65 6d 28 32 2c 6a 2c 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 6f 70 65 6e   ┆stem(2,j,program_name);     open┆
0x20d40…20d60       28 64 75 6d 6d 79 2c 34 2c 70 72 6f 67 72 61 6d 6e 61 6d 65 2c 30 29 3b 0a 20 20 20 20 6c 6f 6f   ┆(dummy,4,programname,0);     loo┆
0x20d60…20d80       6b 75 70 5f 72 65 73 75 6c 74 3a 3d 6d 6f 6e 69 74 6f 72 28 34 32 2c 64 75 6d 6d 79 2c 30 2c 74   ┆kup_result:=monitor(42,dummy,0,t┆
0x20d80…20da0       61 69 6c 29 3b 0a 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 66 66 22 2c 31 2c 3c 3a 4d 69 63   ┆ail);     write(out,"ff",1,<:Mic┆
0x20da0…20dc0       72 6f 20 61 73 6d 2e 3a 5f 3a 3e 2c 74 72 75 65 2c 31 32 2c 70 72 6f 67 72 61 6d 5f 6e 61 6d 65   ┆ro asm.:_:>,true,12,program_name┆
0x20dc0…20de0       2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a 20 76 65 72 73 69 6f 6e 20 64 61 74 65   ┆,                <: version date┆
0x20de0…20e00       2e 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 3c 3c 7a 64 64 64 64 64 2e 64 64 64 64 3e 2c 73 79   ┆.:>,           <<zddddd.dddd>,sy┆
0x20e00…20e20       73 74 69 6d 65 28 36 2c 74 61 69 6c 28 36 29 2c 72 29 20 2b 20 72 2f 31 30 30 30 30 30 30 2c 22   ┆stime(6,tail(6),r) + r/1000000,"┆
0x20e20…20e40       6e 6c 22 2c 31 29 3b 0a 20 20 20 20 63 6c 6f 73 65 28 64 75 6d 6d 79 2c 74 72 75 65 29 3b 0a 20   ┆nl",1);     close(dummy,true);  ┆
0x20e40…20e60       20 69 66 20 63 6f 6e 6e 65 63 74 5f 66 69 6c 65 5f 69 6e 28 6d 69 63 5f 61 73 6d 5f 70 72 6f 67   ┆ if connect_file_in(mic_asm_prog┆
0x20e60…20e80       5f 6e 61 6d 65 29 20 3d 20 34 20 74 68 65 6e 0a 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22   ┆_name) = 4 then   write(out,"nl"┆
0x20e80…20ea0       2c 31 2c 22 2a 22 2c 35 2c 3c 3a 53 6f 75 72 63 65 20 66 69 6c 65 20 63 6f 6e 6e 65 63 74 20 65   ┆,1,"*",5,<:Source file connect e┆
0x20ea0…20ec0       72 72 6f 72 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 6d 69 63 5f 61 73 6d 5f 70 72 6f 67 5f 6e 61   ┆rror::>,         mic_asm_prog_na┆
0x20ec0…20ee0       6d 65 29 3b 0a 20 20 20 20 67 65 74 5f 63 6f 6e 6e 65 63 74 65 64 5f 6e 61 6d 65 28 69 6e 2c 6d   ┆me);     get_connected_name(in,m┆
0x20ee0…20f00       69 63 61 73 6d 5f 70 72 6f 67 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 6c 6f 6f 6b 75 70 5f 72 65 73   ┆icasm_prog_name);     lookup_res┆
0x20f00…20f20       75 6c 74 3a 3d 6d 6f 6e 69 74 6f 72 28 34 32 2c 69 6e 2c 30 2c 74 61 69 6c 29 3b 0a 20 20 20 20   ┆ult:=monitor(42,in,0,tail);     ┆
0x20f20…20f40       77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 3c 3a 53 6f 75 72 63 65 20 66 69 6c 65 3a 3a   ┆write(out,"nl",1,<:Source file::┆
0x20f40…20f60       3e 2c 74 72 75 65 2c 31 32 2c 0a 20 20 20 20 20 20 20 20 20 20 6d 69 63 5f 61 73 6d 5f 70 72 6f   ┆>,true,12,           mic_asm_pro┆
0x20f60…20f80       67 5f 6e 61 6d 65 2c 3c 3a 20 76 65 72 73 69 6f 6e 20 64 61 74 65 2e 3a 3e 2c 0a 20 20 20 20 20   ┆g_name,<: version date.:>,      ┆
0x20f80…20fa0       20 20 20 20 20 3c 3c 7a 64 64 64 64 64 2e 64 64 64 64 3e 2c 73 79 73 74 69 6d 65 28 36 2c 74 61   ┆     <<zddddd.dddd>,systime(6,ta┆
0x20fa0…20fc0       69 6c 28 36 29 2c 72 29 2b 72 2f 31 30 30 30 30 30 30 2c 22 6e 6c 22 2c 31 29 3b 0a 0a 0a 20 20   ┆il(6),r)+r/1000000,"nl",1);     ┆
0x20fc0…20fe0       20 20 3c 2a 20 63 6f 6e 74 72 6f 6c 20 69 66 20 61 6e 79 20 61 6e 64 20 67 65 74 20 6e 61 6d 65   ┆  <* control if any and get name┆
0x20fe0…21000       20 6f 66 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 2a 3e 0a 20 20 20 20 69 66 20 67 65 74 5f 6c 65   ┆ of object file *>     if get_le┆
0x21000…21020       66 74 5f 73 69 64 65 28 6f 62 6a 65 63 74 5f 66 69 6c 65 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68   ┆ft_side(object_file_name) = 0 th┆
0x21020…21040       65 6e 0a 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 3a 3d 20 74 72 75 65 20   ┆en          object_file := true ┆
0x21040…21060       65 6c 73 65 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 69   ┆else object_file := false;     i┆
0x21060…21080       66 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆f object_file then     begin    ┆
0x21080…210a0       20 6f 70 65 6e 28 64 75 6d 6d 79 2c 30 2c 6f 62 6a 65 63 74 5f 66 69 6c 65 5f 6e 61 6d 65 2c 30   ┆ open(dummy,0,object_file_name,0┆
0x210a0…210c0       29 3b 0a 20 20 20 20 6c 6f 6f 6b 75 70 5f 72 65 73 75 6c 74 20 3a 3d 20 6d 6f 6e 69 74 6f 72 28   ┆);     lookup_result := monitor(┆
0x210c0…210e0       34 32 29 20 6c 6f 6f 6b 75 70 20 74 61 69 6c 3a 28 64 75 6d 6d 79 2c 30 2c 74 61 69 6c 29 3b 0a   ┆42) lookup tail:(dummy,0,tail); ┆
0x210e0…21100       20 20 20 20 0a 20 20 20 20 69 66 20 6c 6f 6f 6b 75 70 5f 72 65 73 75 6c 74 20 3c 3e 20 30 20 74   ┆         if lookup_result <> 0 t┆
0x21100…21120       68 65 6e 0a 20 20 20 20 20 20 20 6f 62 6a 65 63 74 5f 66 69 6c 65 20 3a 3d 20 66 61 6c 73 65 3b   ┆hen        object_file := false;┆
0x21120…21140       0a 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 22 6e 6c 22 2c 31 2c 69 66 20 6c 6f 6f 6b 75 70 5f   ┆     write(out,"nl",1,if lookup_┆
0x21140…21160       72 65 73 75 6c 74 20 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 3a   ┆result = 0 then               <:┆
0x21160…21180       4f 62 6a 65 63 74 20 66 69 6c 65 3a 3a 3e 20 65 6c 73 65 20 3c 3a 2a 2a 2a 20 55 6e 6b 6e 6f 77   ┆Object file::> else <:*** Unknow┆
0x21180…211a0       6e 20 6f 62 6a 65 63 74 20 66 69 6c 65 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆n object file::>,               ┆
0x211a0…211c0       74 72 75 65 2c 31 32 2c 6f 62 6a 65 63 74 5f 66 69 6c 65 5f 6e 61 6d 65 2c 22 6e 6c 22 2c 31 29   ┆true,12,object_file_name,"nl",1)┆
0x211c0…211e0       3b 0a 20 20 20 20 63 6c 6f 73 65 28 64 75 6d 6d 79 2c 74 72 75 65 29 3b 0a 20 20 20 20 65 6e 64   ┆;     close(dummy,true);     end┆
0x211e0…21200       3b 0a 20 20 65 6e 64 20 62 6c 6f 63 6b 20 77 69 74 68 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 66 69   ┆;   end block with control of fi┆
0x21200…21220       6c 65 73 3b 0a 0a 0a 0a 20 20 20 20 3c 2a 20 67 65 74 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 6f   ┆les;        <* get and control o┆
0x21220…21240       66 20 6f 74 68 65 72 20 70 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 20 20 20 20 75 6e 6b 6e 6f   ┆f other parameters,        unkno┆
0x21240…21260       77 6e 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 69 67 6e 6f 72 65 64 2e 20 2a 3e 0a 20 20 20   ┆wn parameters is ignored. *>    ┆
0x21260…21280       20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 68 65 6c 70 3a 3e 2c 68 65 6c 70 5f 77   ┆ get_bool_string(<:help:>,help_w┆
0x21280…212a0       61 6e 74 65 64 29 3b 0a 20 20 20 20 69 66 20 68 65 6c 70 5f 77 61 6e 74 65 64 20 74 68 65 6e 20   ┆anted);     if help_wanted then ┆
0x212a0…212c0       68 65 6c 70 5f 73 74 72 69 6e 67 28 3c 3a 6d 69 63 61 73 6d 68 65 6c 70 3a 3e 29 3b 0a 20 20 20   ┆help_string(<:micasmhelp:>);    ┆
0x212c0…212e0       20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 6d 65 73 73 61 67 65 3a 3e 2c   ┆ if get_bool_string(<:message:>,┆
0x212e0…21300       6d 65 73 73 61 67 65 5f 6c 69 73 74 29 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 6d 65   ┆message_list) <> 0 then       me┆
0x21300…21320 (59,) 73 73 61 67 65 5f 6c 69 73 74 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 6c 69 73 74 5f 61 6c 6c   ┆ssage_list := true;     list_all┆
0x21320…21340       20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e   ┆ := false;     if get_bool_strin┆
0x21340…21360       67 28 3c 3a 6c 69 73 74 3a 3e 2c 6c 69 73 74 29 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20   ┆g(<:list:>,list) <> 0 then      ┆
0x21360…21380       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 70 61 72 61 6d 5f   ┆  begin        long array param_┆
0x21380…213a0       6e 61 6d 65 28 31 3a 32 29 3b 0a 20 20 20 20 20 20 20 69 66 20 67 65 74 5f 74 65 78 74 5f 73 74   ┆name(1:2);        if get_text_st┆
0x213a0…213c0       72 69 6e 67 28 3c 3a 6c 69 73 74 3a 3e 2c 70 61 72 61 6d 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68   ┆ring(<:list:>,param_name) = 0 th┆
0x213c0…213e0       65 6e 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 69 66 20 70 61   ┆en          begin          if pa┆
0x213e0…21400       72 61 6d 5f 6e 61 6d 65 28 31 29 20 3d 20 6c 6f 6e 67 20 3c 3a 61 6c 6c 3a 3e 20 74 68 65 6e 20   ┆ram_name(1) = long <:all:> then ┆
0x21400…21420       6c 69 73 74 3a 3d 6c 69 73 74 5f 61 6c 6c 20 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20   ┆list:=list_all := true;         ┆
0x21420…21440       20 65 6e 64 3b 0a 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f   ┆ end;        end;     if get_boo┆
0x21440…21460       6c 5f 73 74 72 69 6e 67 28 3c 3a 6c 69 6e 65 6e 75 6d 3a 3e 2c 6c 69 6e 65 5f 6e 75 6d 29 20 3c   ┆l_string(<:linenum:>,line_num) <┆
0x21460…21480       3e 20 30 20 74 68 65 6e 20 6c 69 6e 65 5f 6e 75 6d 3a 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66   ┆> 0 then line_num:= true;     if┆
0x21480…214a0       20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 64 65 63 63 6f 64 65 3a 3e 2c 64 65 63   ┆ get_bool_string(<:deccode:>,dec┆
0x214a0…214c0       5f 63 6f 64 65 29 20 3c 3e 20 30 20 74 68 65 6e 20 64 65 63 5f 63 6f 64 65 20 3a 3d 20 74 72 75   ┆_code) <> 0 then dec_code := tru┆
0x214c0…214e0       65 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 6f 63 74 61   ┆e;     if get_bool_string(<:octa┆
0x214e0…21500       6c 3a 3e 2c 6f 63 74 61 6c 5f 63 6f 64 65 29 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆l:>,octal_code) <> 0 then       ┆
0x21500…21520       62 65 67 69 6e 0a 20 20 20 20 20 20 6f 63 74 61 6c 5f 63 6f 64 65 20 3a 3d 20 74 72 75 65 3b 0a   ┆begin       octal_code := true; ┆
0x21520…21540       20 20 20 20 20 20 69 66 20 67 65 74 5f 74 65 78 74 5f 73 74 72 69 6e 67 28 3c 3a 6f 63 74 61 6c   ┆      if get_text_string(<:octal┆
0x21540…21560       3a 3e 2c 70 61 72 61 6d 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20   ┆:>,param_name) = 0 then         ┆
0x21560…21580       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 70 61 72 61 6d 5f 6e 61 6d 65 28 31 29 20 3d   ┆begin         if param_name(1) =┆
0x21580…215a0       20 6c 6f 6e 67 20 3c 3a 6f 6e 6c 79 3a 3e 20 74 68 65 6e 20 64 65 63 5f 63 6f 64 65 3a 3d 20 6c   ┆ long <:only:> then dec_code:= l┆
0x215a0…215c0       69 6e 65 5f 6e 75 6d 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20   ┆ine_num := false;         end;  ┆
0x215c0…215e0       20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 67 65 74 5f 74 65 78 74 5f 73 74 72 69 6e 67   ┆     end;     if get_text_string┆
0x215e0…21600       28 3c 3a 66 69 6e 64 3a 3e 2c 66 69 6e 64 5f 6e 61 6d 65 29 20 3d 20 30 20 74 68 65 6e 20 66 69   ┆(<:find:>,find_name) = 0 then fi┆
0x21600…21620       6e 64 20 3a 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 69 66 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72   ┆nd := true;      if get_bool_str┆
0x21620…21640       69 6e 67 28 3c 3a 65 72 72 6f 72 73 3a 3e 2c 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29   ┆ing(<:errors:>,list_error_lines)┆
0x21640…21660       20 3c 3e 20 30 20 61 6e 64 0a 20 20 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28   ┆ <> 0 and       get_bool_string(┆
0x21660…21680       3c 3a 65 72 72 6f 72 6c 69 6e 65 73 3a 3e 2c 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29   ┆<:errorlines:>,list_error_lines)┆
0x21680…216a0       20 3c 3e 20 30 20 61 6e 64 0a 20 20 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28   ┆ <> 0 and       get_bool_string(┆
0x216a0…216c0       3c 3a 65 6c 73 3a 3e 2c 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29 20 3c 3e 20 30 20 74   ┆<:els:>,list_error_lines) <> 0 t┆
0x216c0…216e0       68 65 6e 0a 20 20 20 20 20 20 20 20 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 20 3a 3d   ┆hen          list_error_lines :=┆
0x216e0…21700       20 74 72 75 65 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 63 6f 64   ┆ true;     get_bool_string(<:cod┆
0x21700…21720       65 3a 3e 2c 70 72 69 6e 74 5f 63 6f 64 65 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74   ┆e:>,print_code);     get_bool_st┆
0x21720…21740       72 69 6e 67 28 3c 3a 6c 61 62 65 6c 78 72 65 66 3a 3e 2c 74 65 73 74 5f 6c 61 62 65 6c 5f 72 65   ┆ring(<:labelxref:>,test_label_re┆
0x21740…21760       66 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 6c 61 62 65 6c 62   ┆f);     get_bool_string(<:labelb┆
0x21760…21780       69 74 3a 3e 2c 74 65 73 74 5f 6c 61 62 65 6c 5f 62 69 74 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f   ┆it:>,test_label_bit);     get_bo┆
0x21780…217a0       6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 65 6e 74 72 79 3a 3e 2c 65 6e 74 72 79 5f 6c 69 73 74 5f 77   ┆ol_string(<:entry:>,entry_list_w┆
0x217a0…217c0       61 6e 74 65 64 29 3b 0a 20 20 20 20 67 65 74 5f 62 6f 6f 6c 5f 73 74 72 69 6e 67 28 3c 3a 62 69   ┆anted);     get_bool_string(<:bi┆
0x217c0…217e0       74 6c 69 6e 65 73 3a 3e 2c 6c 69 73 74 5f 62 69 74 5f 6c 69 6e 65 73 29 3b 0a 20 20 20 20 72 65   ┆tlines:>,list_bit_lines);     re┆
0x217e0…21800       74 75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 3c 2a   ┆turn_from_skip := false;      <*┆
0x21800…21820       20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 6f 66 20 63 6f 75 6e 74 69 6e 67 20 76 61 72 69 61 62   ┆ initializing of counting variab┆
0x21820…21840       6c 65 73 20 61 6e 64 0a 20 20 20 20 20 20 20 72 65 61 64 69 6e 67 20 6f 66 20 66 69 72 73 74 20   ┆les and        reading of first ┆
0x21840…21860       63 6f 64 65 20 6c 69 6e 65 20 2a 3e 0a 20 20 20 20 0a 0a 20 20 20 20 69 6e 73 74 72 5f 69 6e 64   ┆code line *>           instr_ind┆
0x21860…21880       65 78 3a 3d 30 3b 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 70 72 65 73 65 6e 74 5f 63   ┆ex:=0;                 present_c┆
0x21880…218a0       6f 64 65 20 3a 3d 20 6e 6f 70 5f 63 6f 64 65 3b 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20   ┆ode := nop_code;                ┆
0x218a0…218c0       20 65 72 72 6f 72 5f 69 6e 5f 74 68 69 73 5f 6c 69 6e 65 20 3a 3d 20 66 61 6c 73 65 3b 0a 20 20   ┆ error_in_this_line := false;   ┆
0x218c0…218e0       20 20 6c 69 6e 65 5f 6e 6f 20 3a 3d 20 30 3b 0a 20 20 20 20 72 65 61 64 5f 6e 65 78 74 5f 73 6f   ┆  line_no := 0;     read_next_so┆
0x218e0…21900       75 72 63 65 5f 6c 69 6e 65 3b 0a 0a 77 68 69 6c 65 20 63 6c 61 73 73 20 3c 3e 20 65 6f 66 5f 63   ┆urce_line;  while class <> eof_c┆
0x21900…21920       6c 61 73 73 20 64 6f 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 63 6c 61 73 73   ┆lass do     begin       if class┆
0x21920…21940       20 3d 20 73 74 6f 70 5f 6c 69 6e 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65   ┆ = stop_line_class then       be┆
0x21940…21960       67 69 6e 0a 20 20 20 20 20 20 20 20 3c 2a 20 0a 20 20 20 20 20 20 65 6e 64 20 6c 69 6e 65 20 2c   ┆gin         <*        end line ,┆
0x21960…21980       20 6f 72 0a 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20 2e 20 43 6f 6d 6d 61 6e 74 20 77 69 6c 20 62   ┆ or comment      . Commant wil b┆
0x21980…219a0       65 20 62 65 20 63 72 65 61 74 65 64 20 62 79 0a 67 65 74 5f 6e 65 78 74 5f 65 6c 65 6d 65 6e 74   ┆e be created by get_next_element┆
0x219a0…219c0       20 20 20 20 20 20 20 2a 3e 0a 69 66 20 28 6c 69 73 74 20 6f 72 20 28 65 72 72 6f 72 5f 69 6e 5f   ┆       *> if (list or (error_in_┆
0x219c0…219e0       74 68 69 73 5f 6c 69 6e 65 20 61 6e 64 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 20 29   ┆this_line and list_error_lines )┆
0x219e0…21a00       20 20 0a 20 20 20 20 6f 72 20 28 20 66 69 6e 64 20 61 6e 64 20 66 6f 75 6e 64 20 29 29 0a 20 20   ┆       or ( find and found ))   ┆
0x21a00…21a20       20 20 61 6e 64 20 28 20 2d 2c 20 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 6f 72 20 6c   ┆  and ( -, return_from_skip or l┆
0x21a20…21a40       69 73 74 5f 61 6c 6c 29 20 74 68 65 6e 0a 20 20 20 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 72 65 74   ┆ist_all) then     list_line; ret┆
0x21a40…21a60       75 72 6e 5f 66 72 6f 6d 5f 73 6b 69 70 20 3a 3d 20 66 61 6c 73 65 3b 0a 66 6f 75 6e 64 20 3a 3d   ┆urn_from_skip := false; found :=┆
0x21a60…21a80       20 66 61 6c 73 65 3b 0a 20 20 20 20 69 66 20 70 72 69 6e 74 5f 63 6f 64 65 20 61 6e 64 20 63 6f   ┆ false;     if print_code and co┆
0x21a80…21aa0       64 65 5f 67 65 6e 65 72 61 74 65 64 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆de_generated then     begin     ┆
0x21aa0…21ac0       69 66 20 2d 2c 20 6c 69 73 74 20 20 61 6e 64 20 2d 2c 20 6c 69 73 74 5f 62 69 74 5f 6c 69 6e 65   ┆if -, list  and -, list_bit_line┆
0x21ac0…21ae0       73 20 61 6e 64 0a 20 20 20 20 20 20 20 2d 2c 20 28 65 72 72 6f 72 5f 69 6e 5f 74 68 69 73 5f 6c   ┆s and        -, (error_in_this_l┆
0x21ae0…21b00       69 6e 65 20 61 6e 64 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29 20 74 68 65 6e 0a 20   ┆ine and list_error_lines) then  ┆
0x21b00…21b20       20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c 3c 2d 7a 64 64 64 3e 2c 69 6e 73 74 72 5f 69 6e   ┆     write(out,<<-zddd>,instr_in┆
0x21b20…21b40       64 65 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63 74 61 6c 28 65 78 74 65 6e 64 20 69   ┆dex,              octal(extend i┆
0x21b40…21b60       6e 73 74 72 5f 69 6e 64 65 78 29 2c 22 73 70 22 2c 31 29 0a 20 20 20 20 20 20 65 6c 73 65 0a 20   ┆nstr_index),"sp",1)       else  ┆
0x21b60…21b80       20 20 69 66 20 2d 2c 20 6c 69 73 74 20 61 6e 64 20 6c 69 73 74 5f 62 69 74 5f 6c 69 6e 65 73 20   ┆  if -, list and list_bit_lines ┆
0x21b80…21ba0       20 61 6e 64 0a 20 20 20 20 20 20 2d 2c 20 28 65 72 72 6f 72 5f 69 6e 5f 74 68 69 73 5f 6c 69 6e   ┆ and       -, (error_in_this_lin┆
0x21ba0…21bc0       65 20 61 6e 64 20 6c 69 73 74 5f 65 72 72 6f 72 5f 6c 69 6e 65 73 29 20 74 68 65 6e 0a 20 20 20   ┆e and list_error_lines) then    ┆
0x21bc0…21be0       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6c 69 73 74 5f 6c 69 6e 65 3b 0a 20 20 20 20 20 20   ┆   begin       list_line;       ┆
0x21be0…21c00       77 72 69 74 65 28 6f 75 74 2c 3c 3a 20 20 20 20 20 20 20 20 20 20 3a 3e 29 3b 0a 20 20 20 20 20   ┆write(out,<:          :>);      ┆
0x21c00…21c20 (60,) 20 65 6e 64 0a 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c 3c   ┆ end      else       write(out,<┆
0x21c20…21c40       3a 20 20 20 20 20 20 20 20 20 20 3a 3e 29 3b 0a 20 20 20 20 20 20 70 72 69 6e 74 5f 66 6f 72 6d   ┆:          :>);       print_form┆
0x21c40…21c60       61 74 65 64 28 70 72 65 73 65 6e 74 5f 63 6f 64 65 29 3b 0a 20 20 20 20 20 20 6f 75 74 63 68 61   ┆ated(present_code);       outcha┆
0x21c60…21c80       72 28 6f 75 74 2c 31 30 29 3b 0a 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 69 66 20 63 6f 64 65 5f   ┆r(out,10);     end;     if code_┆
0x21c80…21ca0       67 65 6e 65 72 61 74 65 64 20 74 68 65 6e 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6f   ┆generated then     begin       o┆
0x21ca0…21cc0       70 5f 63 6f 64 65 28 69 6e 73 74 72 5f 69 6e 64 65 78 29 3a 3d 70 72 65 73 65 6e 74 5f 63 6f 64   ┆p_code(instr_index):=present_cod┆
0x21cc0…21ce0       65 3b 0a 20 20 20 20 20 20 69 6e 73 74 72 5f 69 6e 64 65 78 3a 3d 69 6e 73 74 72 5f 69 6e 64 65   ┆e;       instr_index:=instr_inde┆
0x21ce0…21d00       78 2b 31 3b 0a 20 20 20 20 20 20 70 72 65 73 65 6e 74 5f 63 6f 64 65 20 3a 3d 20 6e 6f 70 5f 63   ┆x+1;       present_code := nop_c┆
0x21d00…21d20       6f 64 65 3b 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 65 6e 64 3b 0a 20 20 3c 2a 20 72   ┆ode;                 end;   <* r┆
0x21d20…21d40       65 61 64 20 6e 65 78 74 20 6c 69 6e 65 20 6f 66 20 73 6f 75 72 63 65 20 20 74 65 78 74 20 2a 3e   ┆ead next line of source  text *>┆
0x21d40…21d60       0a 20 20 72 65 61 64 5f 6e 65 78 74 5f 73 6f 75 72 63 65 5f 6c 69 6e 65 3b 0a 20 20 65 6e 64 20   ┆   read_next_source_line;   end ┆
0x21d60…21d80       63 6c 61 73 73 20 32 20 6e 65 77 20 6c 69 6e 65 0a 20 20 65 6c 73 65 0a 20 20 69 66 20 63 6c 61   ┆class 2 new line   else   if cla┆
0x21d80…21da0       73 73 20 3d 20 74 65 78 74 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 20 3d 20 75 6e 6b 6e 6f   ┆ss = text_class or class = unkno┆
0x21da0…21dc0       77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 63   ┆wn_name_class then   begin     c┆
0x21dc0…21de0       6c 61 73 73 5f 32 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 20 20   ┆lass_2 := look_ahead_class;     ┆
0x21de0…21e00       69 66 20 63 6c 61 73 73 5f 32 20 3d 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73   ┆if class_2 = colon_class or clas┆
0x21e00…21e20       73 5f 32 20 3d 20 73 6c 61 73 68 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67   ┆s_2 = slash_class then       beg┆
0x21e20…21e40       69 6e 0a 20 20 20 20 20 20 69 66 20 65 6c 65 6d 65 6e 74 5f 6e 6f 20 3d 20 31 20 61 6e 64 20 63   ┆in       if element_no = 1 and c┆
0x21e40…21e60       6c 61 73 73 20 3d 20 75 6e 6b 6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20   ┆lass = unknown_name_class then  ┆
0x21e60…21e80       20 20 20 20 20 20 20 62 65 67 69 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆       begin                    ┆
0x21e80…21ea0       0a 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 32 20 3d 20 73 6c 61 73 68 5f 63 6c 61 73 73   ┆         if class2 = slash_class┆
0x21ea0…21ec0       20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ then           begin           ┆
0x21ec0…21ee0       73 6b 69 70 5f 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 32 20 3a 3d 20 6c   ┆skip_next;           class2 := l┆
0x21ee0…21f00       6f 6f 6b 5f 61 68 65 61 64 5f 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c   ┆ook_ahead_class;           if cl┆
0x21f00…21f20       61 73 73 32 20 3d 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 6f 72 20 63 6c 61 73 73 32 20 3d 20   ┆ass2 = number_class or class2 = ┆
0x21f20…21f40       63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65   ┆colon_class then              be┆
0x21f40…21f60       67 69 6e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 5f 32 20 3d 20 6e   ┆gin               if class_2 = n┆
0x21f60…21f80       75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆umber_class then                ┆
0x21f80…21fa0       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20   ┆begin                next1;     ┆
0x21fa0…21fc0       20 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 32 20 3a 3d 20 6c 6f 6f 6b 5f 61 68 65 61 64 5f   ┆           class2 := look_ahead_┆
0x21fc0…21fe0       63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20   ┆class;                end       ┆
0x21fe0…22000       20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65   ┆        else               numbe┆
0x22000…22020       72 5f 31 20 3a 3d 20 6c 69 6e 65 5f 6e 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20   ┆r_1 := line_no;              if ┆
0x22020…22040       63 6c 61 73 73 32 20 3d 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆class2 = colon_class then       ┆
0x22040…22060       20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65   ┆         begin                ne┆
0x22060…22080       77 5f 69 6e 73 65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 69   ┆w_insert_label_def(name,number,i┆
0x22080…220a0       6e 73 74 72 5f 69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆nstr_index,line_no,             ┆
0x220a0…220c0       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 28 31 2b 61 62 73   ┆                          (1+abs┆
0x220c0…220e0       28 6e 75 6d 62 65 72 31 29 29 20 65 78 74 72 61 63 74 20 32 34 29 3b 0a 20 20 20 20 20 20 20 20   ┆(number1)) extract 24);         ┆
0x220e0…22100       20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72   ┆       end else               er┆
0x22100…22120       72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f   ┆ror(directive,line_no,element_no┆
0x22120…22140       29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆);              end             ┆
0x22140…22160       65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76   ┆else              error(directiv┆
0x22160…22180       65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20   ┆e,line_no,element_no);          ┆
0x22180…221a0       20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20   ┆    end             else        ┆
0x221a0…221c0       20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 5f 69 6e 73   ┆      begin              new_ins┆
0x221c0…221e0       65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 28 6e 61 6d 65 2c 6e 75 6d 62 65 72 2c 69 6e 73 74 72 5f   ┆ert_label_def(name,number,instr_┆
0x221e0…22200       69 6e 64 65 78 2c 6c 69 6e 65 5f 6e 6f 2c 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65   ┆index,line_no,0);              e┆
0x22200…22220       6e 64 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20   ┆nd;         next;         end   ┆
0x22220…22240       20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 65 72 72 6f 72   ┆                else       error┆
0x22240…22260       28 6c 61 62 65 6c 5f 64 65 63 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a   ┆(label_dec,line_no,element_no); ┆
0x22260…22280       20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 65 6e 64 20 0a 20 20 20 20 65 6c 73 65 0a 20 20   ┆      next;     end      else   ┆
0x22280…222a0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 20 3d 20 75 6e 6b 6e 6f 77 6e   ┆  begin       if class = unknown┆
0x222a0…222c0       5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20   ┆_name_class then       begin    ┆
0x222c0…222e0       20 20 20 20 20 65 72 72 6f 72 28 6e 61 6d 65 5f 75 6e 6b 6e 6f 77 6e 2c 6c 69 6e 65 5f 6e 6f 2c   ┆     error(name_unknown,line_no,┆
0x222e0…22300       65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 73 6b 69 70 5f 75 6e 74 69 6c 5f   ┆element_no);         skip_until_┆
0x22300…22320       64 65 6c 69 6d 5f 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 3b 0a 20 20 20 20 20   ┆delim_class;         next;      ┆
0x22320…22340       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 6e 61 6d 65 5f 74 61   ┆ end       else       if name_ta┆
0x22340…22360       62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 3d 20 61 6c 75 5f 66 75 6e 63 74 69 6f 6e 5f 74 79 70   ┆ble(number,0) = alu_function_typ┆
0x22360…22380       65 20 74 68 65 6e 0a 20 20 20 20 20 20 61 6c 75 5f 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20   ┆e then       alu_function       ┆
0x22380…223a0       65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c   ┆else       if name_table(number,┆
0x223a0…223c0       30 29 20 3d 20 6a 75 6d 70 5f 61 64 64 72 73 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆0) = jump_addrs_type then       ┆
0x223c0…223e0       6a 75 6d 70 5f 61 64 64 72 73 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e   ┆jump_addrs       else       if n┆
0x223e0…22400       61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 3d 20 6a 75 6d 70 5f 73 65 6b 76 65   ┆ame_table(number,0) = jump_sekve┆
0x22400…22420       6e 73 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 75 6d 70 5f 73 65 6b 76 65 6e 73 0a   ┆ns_type then       jump_sekvens ┆
0x22420…22440       20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e   ┆      else       if name_table(n┆
0x22440…22460       75 6d 62 65 72 2c 30 29 20 3d 20 6c 6f 61 64 5f 63 6f 75 6e 74 65 72 5f 74 79 70 65 20 74 68 65   ┆umber,0) = load_counter_type the┆
0x22460…22480       6e 0a 20 20 20 20 20 20 6c 6f 61 64 5f 63 6f 75 6e 74 65 72 0a 20 20 20 20 20 20 65 6c 73 65 0a   ┆n       load_counter       else ┆
0x22480…224a0       20 20 20 20 20 20 69 66 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 2c 30 29 20 3d 20   ┆      if name_table(number,0) = ┆
0x224a0…224c0       73 70 65 63 69 61 6c 5f 74 79 70 65 20 74 68 65 6e 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 0a   ┆special_type then       special ┆
0x224c0…224e0       20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 65   ┆      else       begin         e┆
0x224e0…22500       72 72 6f 72 28 69 6c 6c 65 67 61 6c 5f 74 79 70 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e   ┆rror(illegal_type,line_no,elemen┆
0x22500…22520 (61,) 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 0a 20 20 20 20 20 20 65 6e 64 3b 0a 20   ┆t_no);         next       end;  ┆
0x22520…22540       20 20 20 65 6e 64 3b 0a 20 20 65 6e 64 20 74 79 70 65 20 65 71 75 61 6c 20 69 64 65 6e 74 69 66   ┆   end;   end type equal identif┆
0x22540…22560       69 65 72 0a 20 20 65 6c 73 65 0a 20 20 69 66 20 63 6c 61 73 73 20 3d 20 73 74 61 72 5f 63 6c 61   ┆ier   else   if class = star_cla┆
0x22560…22580       73 73 20 74 68 65 6e 0a 20 20 62 65 67 69 6e 0a 20 20 20 20 3c 2a 20 41 66 74 65 72 20 73 74 61   ┆ss then   begin     <* After sta┆
0x22580…225a0       72 20 69 73 20 61 73 73 6d 2e 20 64 69 72 65 63 74 69 76 65 2c 0a 20 20 20 20 31 20 64 69 72 65   ┆r is assm. directive,     1 dire┆
0x225a0…225c0       6b 74 69 76 65 20 70 72 2e 20 6c 69 6e 65 2c 0a 20 20 20 20 61 66 74 65 72 20 74 68 65 20 64 69   ┆ktive pr. line,     after the di┆
0x225c0…225e0       72 65 6b 74 69 76 65 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 20   ┆rektive the rest of the line is ┆
0x225e0…22600       73 6b 69 70 70 65 64 2c 0a 20 20 20 20 74 68 65 20 64 69 72 65 6b 74 69 76 65 20 73 63 68 6f 75   ┆skipped,     the direktive schou┆
0x22600…22620       6c 64 20 62 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c   ┆ld be the first element in the l┆
0x22620…22640       69 6e 65 20 2a 3e 0a 20 20 20 20 69 66 20 63 6f 64 65 5f 67 65 6e 65 72 61 74 65 64 20 74 68 65   ┆ine *>     if code_generated the┆
0x22640…22660       6e 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e   ┆n error(directive,line_no,elemen┆
0x22660…22680       74 5f 6e 6f 29 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6e   ┆t_no)     else     begin       n┆
0x22680…226a0       65 78 74 31 3b 0a 20 20 20 20 20 20 6e 65 78 74 32 3b 0a 20 20 20 20 20 20 69 66 20 28 63 6c 61   ┆ext1;       next2;       if (cla┆
0x226a0…226c0       73 73 31 20 3c 3e 20 39 20 61 6e 64 20 63 6c 61 73 73 31 20 3c 3e 20 36 20 29 20 6f 72 20 63 6c   ┆ss1 <> 9 and class1 <> 6 ) or cl┆
0x226c0…226e0       61 73 73 32 20 3c 3e 20 63 6f 6c 6f 6e 5f 63 6c 61 73 73 20 3c 2a 63 6f 6c 6f 6e 2a 3e 20 74 68   ┆ass2 <> colon_class <*colon*> th┆
0x226e0…22700       65 6e 0a 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65 73 74 20 64 69 72 20 31   ┆en       error(long <:test dir 1┆
0x22700…22720       20 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 69 66 20 63 6c 61 73 73 32 20 3c 3e 20 63 6f 6c 6f 6e 5f 63   ┆ :>,line_no,if class2 <> colon_c┆
0x22720…22740       6c 61 73 73 20 74 68 65 6e 20 65 6c 65 6d 65 6e 74 5f 6e 6f 20 65 6c 73 65 0a 20 20 20 20 20 20   ┆lass then element_no else       ┆
0x22740…22760       65 6c 65 6d 65 6e 74 5f 6e 6f 20 2d 31 29 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20   ┆element_no -1)       else       ┆
0x22760…22780       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a   ┆begin         if name1 = long <:┆
0x22780…227a0       6e 61 6d 65 3a 3e 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   ┆name:> then         begin       ┆
0x227a0…227c0       20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 31 20 3c   ┆    next1;           if class1 <┆
0x227c0…227e0       3e 20 39 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 69 66 20 63 6c 61 73   ┆> 9 then           error(if clas┆
0x227e0…22800       73 31 20 3c 3e 20 36 20 74 68 65 6e 20 6c 6f 6e 67 20 3c 3a 74 65 73 74 20 64 69 72 20 32 2e 3a   ┆s1 <> 6 then long <:test dir 2.:┆
0x22800…22820       3e 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 70 6c 75 73 5f 6e 61 6d 65 5f 64 65 63 2c 6c   ┆> else           plus_name_dec,l┆
0x22820…22840       69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73   ┆ine_no,element_no)           els┆
0x22840…22860       65 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 61   ┆e           begin             na┆
0x22860…22880       6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 31 2c 31 29 20 3a 3d 20 6e 61 6d 65 31 3b 0a 20 20   ┆me_table(number1,1) := name1;   ┆
0x22880…228a0       20 20 20 20 20 20 20 20 20 20 69 6e 64 65 78 3a 3d 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20   ┆          index:=0;             ┆
0x228a0…228c0       20 66 6f 72 20 63 6c 61 73 73 32 20 3a 3d 20 6e 65 78 74 32 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ for class2 := next2            ┆
0x228c0…228e0       20 77 68 69 6c 65 20 63 6c 61 73 73 32 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 61 6e 64 20   ┆ while class2 = comma_class and ┆
0x228e0…22900       69 6e 64 65 78 20 3c 20 35 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20   ┆index < 5 do             begin  ┆
0x22900…22920       20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆             next2;             ┆
0x22920…22940       20 20 69 66 20 63 6c 61 73 73 32 20 3d 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a   ┆  if class2 = number_class then ┆
0x22940…22960       20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 31   ┆              name_table(number1┆
0x22960…22980       2c 69 6e 64 65 78 29 20 3a 3d 20 6e 75 6d 62 65 72 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,index) := number2              ┆
0x22980…229a0       20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 32 20 3d 20   ┆ else               if class2 = ┆
0x229a0…229c0       36 20 3c 2a 20 64 65 66 69 6e 65 64 20 6e 61 6d 65 20 2a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆6 <* defined name *> then       ┆
0x229c0…229e0       20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6e 75 6d 62 65 72 31 2c 69 6e 64 65 78   ┆        name_table(number1,index┆
0x229e0…22a00       29 20 3a 3d 20 6e 75 6d 62 65 72 5f 32 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20   ┆) := number_2                   ┆
0x22a00…22a20       20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e   ┆        else               begin┆
0x22a20…22a40       0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65   ┆                 error(long <:te┆
0x22a40…22a60       73 74 20 64 69 72 2e 20 33 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b   ┆st dir. 3:>,line_no,element_no);┆
0x22a60…22a80       0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64 65 78 3a 3d 31 30 30 3b 0a 20 20 20   ┆                 index:=100;    ┆
0x22a80…22aa0       20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66   ┆           end;               if┆
0x22aa0…22ac0       20 69 6e 64 65 78 20 3d 20 30 20 74 68 65 6e 20 69 6e 64 65 78 20 3a 3d 32 20 65 6c 73 65 0a 20   ┆ index = 0 then index :=2 else  ┆
0x22ac0…22ae0       20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 69 6e 64 65 78 3c 31 30 30 20 74 68 65 6e 20 69   ┆             if index<100 then i┆
0x22ae0…22b00       6e 64 65 78 3a 3d 69 6e 64 65 78 2b 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a   ┆ndex:=index+1;             end; ┆
0x22b00…22b20       20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a   ┆          end;         end else ┆
0x22b20…22b40       20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67   ┆                 if name1 = long┆
0x22b40…22b60       20 3c 3a 63 6f 6e 73 74 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a   ┆ <:const:> then           begin ┆
0x22b60…22b80       20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c   ┆          next1;           if cl┆
0x22b80…22ba0       61 73 73 31 20 3c 3e 20 39 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72   ┆ass1 <> 9 then             error┆
0x22ba0…22bc0       28 69 66 20 63 6c 61 73 73 31 20 3c 3e 20 36 20 74 68 65 6e 20 64 69 72 65 63 74 69 76 65 20 65   ┆(if class1 <> 6 then directive e┆
0x22bc0…22be0       6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 75 73 5f 6e 61 6d 65   ┆lse                    plus_name┆
0x22be0…22c00       5f 64 65 63 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20   ┆_dec,line_no,element_no)        ┆
0x22c00…22c20       20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20   ┆    else              begin     ┆
0x22c20…22c40       20 20 20 20 20 20 20 20 20 6e 65 78 74 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20   ┆         next2;              if ┆
0x22c40…22c60       63 6c 61 73 73 32 20 3d 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20   ┆class2 = comma_class then       ┆
0x22c60…22c80       20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65   ┆         begin                ne┆
0x22c80…22ca0       78 74 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 61 73 73 32 20 3d 20   ┆xt2;                if class2 = ┆
0x22ca0…22cc0       6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆number_class then               ┆
0x22cc0…22ce0       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 5f 69 6e   ┆   begin                  new_in┆
0x22ce0…22d00       73 65 72 74 5f 6c 61 62 65 6c 5f 64 65 66 28 6e 61 6d 65 31 2c 6e 75 6d 62 65 72 31 2c 0a 20 20   ┆sert_label_def(name1,number1,   ┆
0x22d00…22d20       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 20 20 20   ┆                                ┆
0x22d20…22d40       20 20 20 20 6e 75 6d 62 65 72 32 20 65 78 74 72 61 63 74 20 31 32 2c 6c 69 6e 65 5f 6e 6f 2c 30   ┆    number2 extract 12,line_no,0┆
0x22d40…22d60       29 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20   ┆);;                  end        ┆
0x22d60…22d80       20 20 20 20 20 20 20 20 20 65 6c 73 65 20 65 72 72 6f 72 28 64 69 72 65 63 74 69 76 65 2c 6c 69   ┆         else error(directive,li┆
0x22d80…22da0       6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ne_no,element_no);              ┆
0x22da0…22dc0       20 20 65 6e 64 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 65 72 72 6f 72 28   ┆  end                else error(┆
0x22dc0…22de0       64 69 72 65 63 74 69 76 65 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 3b 0a 20   ┆directive,line_no,element_no);  ┆
0x22de0…22e00       20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 65   ┆            end;           end e┆
0x22e00…22e20 (62,) 6c 73 65 0a 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c   ┆lse                 if name1 = l┆
0x22e20…22e40       6f 6e 67 20 3c 3a 6d 61 73 6b 3a 3e 20 74 68 65 6e 20 0a 20 20 20 20 20 20 20 20 62 65 67 69 6e   ┆ong <:mask:> then          begin┆
0x22e40…22e60       0a 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 72 72 61 79 20 6f 70 65 72 61 6e 64 28 31 3a 31 29   ┆         long array operand(1:1)┆
0x22e60…22e80       3b 20 3c 2a 20 6f 6e 6c 79 20 6f 6e 65 20 77 6f 72 64 20 75 73 65 64 20 2a 3e 0a 20 20 20 20 20   ┆; <* only one word used *>      ┆
0x22e80…22ea0       20 20 20 62 6f 6f 6c 65 61 6e 20 6d 61 73 6b 5f 73 75 63 63 65 73 3b 0a 20 20 20 20 20 20 20 20   ┆   boolean mask_succes;         ┆
0x22ea0…22ec0       6c 6f 6e 67 20 6d 61 73 6b 5f 6e 61 6d 65 2c 6d 61 73 6b 5f 6e 75 6d 62 65 72 3b 0a 20 20 20 20   ┆long mask_name,mask_number;     ┆
0x22ec0…22ee0       20 20 20 20 6f 70 65 72 61 6e 64 28 31 29 20 3a 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 69   ┆    operand(1) := 0;           i┆
0x22ee0…22f00       66 20 6e 65 78 74 31 20 3c 3e 20 75 6e 6b 6e 6f 77 6e 5f 6e 61 6d 65 5f 63 6c 61 73 73 20 74 68   ┆f next1 <> unknown_name_class th┆
0x22f00…22f20       65 6e 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 20 64 69 72 65 63   ┆en           error(long <: direc┆
0x22f20…22f40       74 69 76 65 20 32 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20   ┆tive 2:>,line_no,element_no)    ┆
0x22f40…22f60       20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 65 78 74 32 20 3c   ┆       else           if next2 <┆
0x22f60…22f80       3e 20 63 6f 6d 6d 61 5f 63 6c 61 73 73 20 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 65 72   ┆> comma_class  then           er┆
0x22f80…22fa0       72 6f 72 28 6c 6f 6e 67 20 3c 3a 64 69 72 65 63 74 69 76 65 20 33 3a 3e 2c 6c 69 6e 65 5f 6e 6f   ┆ror(long <:directive 3:>,line_no┆
0x22fa0…22fc0       2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20   ┆,element_no)           else     ┆
0x22fc0…22fe0       20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 6e 61 6d   ┆       begin            mask_nam┆
0x22fe0…23000       65 20 3a 3d 20 6e 61 6d 65 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 6e 75 6d 62   ┆e := name1;            mask_numb┆
0x23000…23020       65 72 20 3a 3d 20 6e 75 6d 62 65 72 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 73   ┆er := number1;            mask_s┆
0x23020…23040       75 63 63 65 73 20 3a 3d 20 72 65 61 64 5f 61 6e 64 5f 73 65 74 5f 62 69 74 73 28 6f 70 65 72 61   ┆ucces := read_and_set_bits(opera┆
0x23040…23060       6e 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 20 2d 2c 20 6d 61 73 6b 5f 73 75 63 63   ┆nd);            if  -, mask_succ┆
0x23060…23080       65 73 20 74 68 65 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67   ┆es then               error(long┆
0x23080…230a0       20 3c 3a 64 69 72 65 63 74 69 76 65 20 34 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74   ┆ <:directive 4:>,line_no,element┆
0x230a0…230c0       5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20   ┆_no)             else           ┆
0x230c0…230e0       20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65   ┆   begin              name_table┆
0x230e0…23100       28 6d 61 73 6b 5f 6e 75 6d 62 65 72 2c 30 29 20 3a 3d 20 6d 61 73 6b 5f 74 79 70 65 3b 0a 20 20   ┆(mask_number,0) := mask_type;   ┆
0x23100…23120       20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 74 61 62 6c 65 28 6d 61 73 6b 5f 6e 75 6d 62 65   ┆           name_table(mask_numbe┆
0x23120…23140       72 2c 31 29 20 3a 3d 20 6d 61 73 6b 5f 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆r,1) := mask_name;              ┆
0x23140…23160       6e 61 6d 65 5f 74 61 62 6c 65 28 6d 61 73 6b 5f 6e 75 6d 62 65 72 2c 32 29 20 3a 3d 20 6f 70 65   ┆name_table(mask_number,2) := ope┆
0x23160…23180       72 61 6e 64 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 6f 75 74 2c   ┆rand(1);              write(out,┆
0x23180…231a0       3c 3a 3c 31 30 3e 2a 2a 2a 4d 41 53 4b 20 30 3a 3a 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆<:<10>***MASK 0::>,             ┆
0x231a0…231c0       20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 5f 6e 75 6d 62 65 72 2c 0a 20 20 20 20 20 20 20 20   ┆           mask_number,         ┆
0x231c0…231e0       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 6e 64 28 31 29 20 73 68 69 66 74 28   ┆               operand(1) shift(┆
0x231e0…23200       2d 32 34 29 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   ┆-24),                           ┆
0x23200…23220       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 6e 64 28 31 29 20 65 78 74 72 61   ┆                operand(1) extra┆
0x23220…23240       63 74 20 32 34 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   ┆ct 24,                          ┆
0x23240…23260       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 63 74 61 6c 28 6f 70 65 72 61 6e 64 28 31   ┆                 octal(operand(1┆
0x23260…23280       29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20   ┆)));               end;         ┆
0x23280…232a0       20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20   ┆   end;         end else        ┆
0x232a0…232c0       20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 72 69 67 6f 3a 3e 20 74 68 65 6e 0a   ┆ if name1 = long <:origo:> then ┆
0x232c0…232e0       20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 65 78 74 31   ┆        begin           if next1┆
0x232e0…23300       20 3c 3e 20 6e 75 6d 62 65 72 5f 63 6c 61 73 73 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ <> number_class then           ┆
0x23300…23320       65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65 73 74 20 64 69 72 2e 20 34 3a 3e 2c 6c 69 6e 65 5f   ┆error(long <:test dir. 4:>,line_┆
0x23320…23340       6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20   ┆no,element_no)           else   ┆
0x23340…23360       20 20 20 20 20 20 20 20 69 6e 73 74 72 5f 69 6e 64 65 78 20 3a 3d 20 6e 75 6d 62 65 72 31 3b 0a   ┆        instr_index := number1; ┆
0x23360…23380       20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20   ┆        end         else        ┆
0x23380…233a0       20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6c 69 73 74 3a 3e 20 74 68 65 6e 0a 20   ┆ if name1 = long <:list:> then  ┆
0x233a0…233c0       20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 31 3b 0a 20 20   ┆       begin           next1;   ┆
0x233c0…233e0       20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 6e 3a 3e 20 6f   ┆        if name1 = long <:on:> o┆
0x233e0…23400       72 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 79 65 73 3a 3e 20 74 68 65 6e 0a 20 20 20 20   ┆r name1 = long <:yes:> then     ┆
0x23400…23420       20 20 20 20 20 20 6c 69 73 74 20 3a 3d 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73   ┆      list := true           els┆
0x23420…23440       65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 66   ┆e           if name1 = long <:of┆
0x23440…23460       66 3a 3e 20 6f 72 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6e 6f 3a 3e 20 74 68 65 6e 0a   ┆f:> or name1 = long <:no:> then ┆
0x23460…23480       20 20 20 20 20 20 20 20 20 20 6c 69 73 74 20 3a 3d 20 66 61 6c 73 65 0a 20 20 20 20 20 20 20 20   ┆          list := false         ┆
0x23480…234a0       20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 28 6c 6f 6e 67 20 3c 3a 74 65   ┆  else           error(long <:te┆
0x234a0…234c0       73 74 20 64 69 72 20 35 3a 3e 2c 6c 69 6e 65 5f 6e 6f 2c 65 6c 65 6d 65 6e 74 5f 6e 6f 29 0a 20   ┆st dir 5:>,line_no,element_no)  ┆
0x234c0…234e0       20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31   ┆       end else         if name1┆
0x234e0…23500       20 3d 20 6c 6f 6e 67 20 3c 3a 70 61 67 65 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   ┆ = long <:page:> then           ┆
0x23500…23520       62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 69 73 74 20 74 68 65 6e 0a 20 20 20   ┆begin           if list then    ┆
0x23520…23540       20 20 20 20 20 20 20 6f 75 74 63 68 61 72 28 6f 75 74 2c 31 32 29 3b 0a 20 20 20 20 20 20 20 20   ┆       outchar(out,12);         ┆
0x23540…23560       20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f   ┆  end else         if name1 = lo┆
0x23560…23580       6e 67 20 3c 3a 73 6b 69 70 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69   ┆ng <:skip:> then            begi┆
0x23580…235a0       6e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 2a 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 20 6c   ┆n            <* procedure skip l┆
0x235a0…235c0       6f 67 69 63 20 2a 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 69 76 65 5f 73 6b 69   ┆ogic *>            directive_ski┆
0x235c0…235e0       70 5f 75 6e 74 69 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20   ┆p_until;            end else    ┆
0x235e0…23600       20 20 20 20 20 69 66 20 6e 61 6d 65 31 20 3d 20 6c 6f 6e 67 20 3c 3a 6f 6e 6c 79 69 3a 3e 20 20   ┆     if name1 = long <:onlyi:>  ┆
0x23600…23620       61 64 64 20 27 6e 27 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20   ┆add 'n' then            begin   ┆
0x23620…23640       20 20 20 20 20 20 20 20 20 3c 2a 20 70 72 6f 63 65 64 75 72 65 20 73 6b 69 70 20 69 66 20 6e 6f   ┆         <* procedure skip if no┆
0x23640…23660       74 20 69 6e 20 6e 61 6d 65 64 20 6d 6f 64 65 20 2a 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 69   ┆t in named mode *>            di┆
0x23660…23680       72 65 63 74 69 76 65 5f 6f 6e 6c 79 69 6e 5f 6c 6f 67 69 63 28 74 72 75 65 29 3b 0a 20 20 20 20   ┆rective_onlyin_logic(true);     ┆
0x23680…236a0       20 20 20 20 20 20 20 65 6e 64 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 31   ┆       end else         if name1┆
0x236a0…236c0       20 3d 20 6c 6f 6e 67 20 3c 3a 6e 6f 74 69 6e 3a 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20   ┆ = long <:notin:> then          ┆
0x236c0…236e0       20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 2a 20 73 6b 69 70 20 69 66 20 6e 61   ┆  begin            <* skip if na┆
0x236e0…23700       6d 65 64 20 6d 6f 64 65 20 2a 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 69 76 65   ┆med mode *>            directive┆