include "hdr1.html"; ?>
| Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 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+1 | 1824 | 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 | 6040012000144 | idptr: | +06040012000144 | ;work pointer | @1815 | ||||
| 67 | 1816 | 0000000016041 | W1816: | +7201 | ; | @1816 | ||||