File: lookupid.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/lookupid.t2
2 0  ;--------------------
3 0  ;
4 0  ; lookup identifier in id table
5 0  ;
6 0  lookupid::; 
7 0  =1811 
8 1811  ;
9 1811  ; entry point
10 1811  .ent:; 
11 1811 0602160 lod dicpt   ;start of dictionary @1811
12 1811+ .1811P:; 
13 1811+1003441 jmp .1825   ;
14 1812  =1825 
15 1825  .1825:; 
16 1825 1662142 lnk Link15d   ;set flag to search std procs @1825
17 1825+ .1825P:; 
18 1825+0403427 sto idptr   ;pointer into dictionary
19 1826 1003424 jmp .1812   ; @1826
20 1826+ ;
21 1826+ ; loop comparing ident against entries in list
22 1826+ ;
23 1826+ =1812 
24 1812  .1812:; 
25 1812 2216136600000 inc idptr/lod 0;get dic entry @1812
26 1813 1023431 jn .1817   ;type info, skip
27 1813+ ; from 1821
28 1813+ .1813P:; 
29 1813+0120576 sub ident   ;compare dic against id
30 1814 1143435 jz .1821P   ;id matches-> @1814
31 1814+1003424 jmp .1812   ;match failed, try next
32 1815  ;
33 1815  ; end of list, identifier not found
34 1815  =1817 
35 1817  .1817:; 
36 1817 0102207 add K1c   ;=1 @1817
37 1817+1143442 jz .1826P   ;marker = -1, end of dictionary
38 1818  .1818:; 
39 1818 2216136600000 inc idptr/lod 0; @1818
40 1819 1023432 jn .1818   ;skip over negative entries
41 1819+0203427 exa idptr   ;temp save value
42 1820 0403430 sto W1816   ;save id pointer @1820
43 1820+0203427 exa idptr   ;restore saved value
44 1821 1103425 jmp .1813P   ;and continue scan
45 1821+ ;
46 1821+ ; id matches, get info and return
47 1821+0603430.1821P:lod W1816   ;id address
48 1822 0016142077777 o00 W1816/add -1;plus type info @1822
49 1823 0523427 sbs idptr   ;
50 1823+0603427 lod idptr   ;
51 1824  .1824:; 
52 1824   ret     ; @1824
52+11824 0016113000001 o00 lookupid.lnk/jmp 1 
53 1825  ;
54 1825  ; done top level, now do standard procs
55 1825  ;
56 1825  =1826+ 
57 1826+0602142.1826P:lod Link15d   ;procs searched?
58 1827 1043440 jz .1824   ;yes, return @1827
59 1827+0542142 cls Link15d   ;indicate procs searched
60 1828 0602146 lod proclistptr   ;pointer to standard proc list @1828
61 1828+1103441 jmp .1825P   ; re-enter search
62 1829  ;
63 1829  ; data items
64 1829  ;
65 1829  =1815 
66 1815 6040012000144idptr:+06040012000144;work pointer @1815
67 1816 0000000016041W1816:+7201; @1816