Line | Address | Object Code
| Label | F1 | N1 | B | F2 | N2 | Comments | Check
|
---|
1 | 0 | | ; tape1.d/statement.t2 |
|
2 | 0 | | ;--------------------- |
|
3 | 0 | | ; |
|
4 | 0 | | ; compile statement |
|
5 | 0 | | ; |
|
6 | 0 | | =1708 | |
|
7 | 1708 | | statement:: | ; | |
|
8 | 1708 | | ; |
|
9 | 1708 | | .ent: | ; | |
|
10 | 1708 | 0602160 | | lod | dicpt | | | | ; | @1708
|
11 | 1708+ | 0404304 | | sto | constptr | | | | ;save dicpt |
|
12 | 1709 | 0602142 | | lod | Link15d | | | | ;return address |
|
13 | 1709+ | 0202154 | | exa | W1132 | | | | ;hide return |
|
14 | 1710 | | | call | | | | | ; stack previous return address | @1710
|
14+1 | 1710 | 7312031002415 | | lnk | stack.lnk | : | jmp | stack.ent | |
|
15 | 1711 | | .1711: | ; | |
|
16 | 1711 | 0550621 | | cls | W4497 | | | | ;set return flag=0 |
|
17 | 1711+ | 1010626 | | jmp | .4502 | | | | ;->patched bit |
|
18 | 1712 | | ; patch added into compile statement |
|
19 | 1712 | | ; |
|
20 | 1712 | | =4502 | |
|
21 | 4502 | | .4502: | ; | |
|
22 | 4502 | 0602151 | | lod | stkp | | | | ; | @4502
|
23 | 4502+ | 0350622 | | stc | W4498 | | | | ; |
|
24 | 4503 | 0043107010632 | | o00 | W4497 | / | jmp | .SW4504+2 | ; switch on recovery flag |
|
25 | 4504 | | ; |
|
26 | 4504 | | .SW4504: | ; | |
|
27 | 4504 | 2643125001222 | | cls | W4501 | : | jmp | gettoken.ent | ; -2 | @4504
|
28 | 4505 | 2643125002361 | | cls | W4501 | : | jmp | declid.ent | ; -1 |
|
29 | 4506 | 3003001110633 | | lod | token | : | jmp | .4507P | ; 0 load token and skip | @4506
|
30 | 4507 | 1102300 | | jmp | declaration.resumeproc | | | | ; 1 resume proc declaration |
|
31 | 4507+ | | ; |
|
32 | 4507+ | 0550625 | .4507P: | cls | W4501 | | | | ; |
|
33 | 4508 | 1023270 | | jn | .1720 | | | | ;not valid for statement start | @4508
|
34 | 4508+ | 1003260 | | jmp | .1712 | | | | ; compile statement |
|
35 | 4509 | | ; |
|
36 | 4509 | | L4509.ent: | ; | |
|
37 | 4509 | 0604340 | | lod | K2b | | | | ;=2 set recovery flag=-2 |
|
38 | 4509+ | | .4509P: | ; | |
|
39 | 4509+ | 0430621 | | stn | W4497 | | | | ; set recovery flag -1/-2 |
|
40 | 4510 | 1010626 | | jmp | .4502 | | | | ; | @4510
|
41 | 4510+ | | ; |
|
42 | 4510+ | | ; |
|
43 | 4510+ | | L4510.ent: | ; | |
|
44 | 4510+ | | ;.4510P: |
|
45 | 4510+ | 0040000 | | o02 | 0 | | | | ;=1 | @4510+
|
46 | 4511 | 1110635 | | jmp | .4509P | | | | ;set recover=-1 |
|
47 | 4511+ | | ; |
|
48 | 4511+ | | =1712 | |
|
49 | 1712 | | ; |
|
50 | 1712 | | ; compile statement, cont'd |
|
51 | 1712 | | .1712: | ; | |
|
52 | 1712 | 0162176 | | bus | K9a | | | | ;=9 | @1712
|
53 | 1712+ | 1023270 | | jn | .1720 | | | | ; not statement starter |
|
54 | 1713 | 0003003003332 | | o00 | token | / | jmp | .SW | ; switch on statement type |
|
55 | 1714 | | ; |
|
56 | 1714 | | .1714: | ; | |
|
57 | 1714 | | | call | | | | | |
|
57+1 | 1714 | 7312031002420 | | lnk | skipcomment.lnk | : | jmp | skipcomment.ent | |
|
58 | 1715 | | ; kw=begin comes here |
|
59 | 1715 | | .1715: | ; | |
|
60 | 1715 | | | call | | | | | |
|
60+1 | 1715 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
|
61 | 1716 | 0600600 | | lod | token | | | | ; token | @1716
|
62 | 1716+ | 0122176 | | sub | K9a | | | | ;=9 |
|
63 | 1717 | 1023267 | | jn | .1719 | | | | ; statement-> |
|
64 | 1717+ | 1043262 | | jz | .1714 | | | | ; comment-> |
|
65 | 1718 | 0122200 | | sub | K8a | | | | ;=8 | @1718
|
66 | 1718+ | 1123271 | | jn | .1721P | | | | ; declaration-> |
|
67 | 1719 | | ; from 1717 |
|
68 | 1719 | | .1719: | ; | |
|
69 | 1719 | | | call | | | | | ; compile statement list |
|
69+1 | 1719 | 7310611003325 | | lnk | stmtlist.lnk | : | jmp | stmtlist.ent | |
|
70 | 1720 | | L1720: | ; | |
|
71 | 1720 | 0040000 | .1720: | o02 | 0 | | | | ;=1 | @1720
|
72 | 1720+ | 1003311 | | jmp | .1737 | | | | ; |
|
73 | 1721 | | ; |
|
74 | 1721 | 0000000 | | o00 | 0 | | | | ; |
|
75 | 1721+ | | ; |
|
76 | 1721+ | | ; compile block body |
|
77 | 1721+ | | ; |
|
78 | 1721+ | 0602156 | .1721P: | lod | frameptr | | | | ; |
|
79 | 1722 | | | call | | | | | ;stack value | @1722
|
79+1 | 1722 | 7312031002415 | | lnk | stack.lnk | : | jmp | stack.ent | |
|
80 | 1723 | 0602157 | | lod | W1135 | | | | ; |
|
81 | 1723+ | 0000000 | | o00 | 0 | | | | ;no-op |
|
82 | 1724 | | | call | | | | | ; stack value | @1724
|
82+1 | 1724 | 7312031002415 | | lnk | stack.lnk | : | jmp | stack.ent | |
|
83 | 1725 | 0602161 | | lod | wsptr | | | | ; |
|
84 | 1725+ | 0402157 | | sto | W1135 | | | | ; |
|
85 | 1726 | 0602160 | | lod | dicpt | | | | ; | @1726
|
86 | 1726+ | 0402156 | | sto | frameptr | | | | ; |
|
87 | 1727 | | | call | | | | | ;generate Enter Block call |
|
87+1 | 1727 | 7320121003403 | | lnk | GenEB.lnk | : | jmp | GenEB.ent | |
|
88 | 1728 | | | call | | | | | ; compile declaration list | @1728
|
88+1 | 1728 | 7310641002255 | | lnk | declns.lnk | : | jmp | declns.ent | |
|
89 | 1729 | | | call | | | | | ; compile stmt list |
|
89+1 | 1729 | 7310611003325 | | lnk | stmtlist.lnk | : | jmp | stmtlist.ent | |
|
90 | 1730 | | | call | | | | | ;generate Exit Block call | @1730
|
90+1 | 1730 | 7320121003401 | | lnk | GenXB.lnk | : | jmp | GenXB.ent | |
|
91 | 1731 | 0602156 | | lod | frameptr | | | | ; |
|
92 | 1731+ | 0402160 | | sto | dicpt | | | | ; |
|
93 | 1732 | 0602157 | | lod | W1135 | | | | ; | @1732
|
94 | 1732+ | 0402161 | | sto | wsptr | | | | ; |
|
95 | 1733 | 0010646577777 | | o00 | stkp | / | lod | -1 | ;unstack W1135 |
|
96 | 1734 | 0402157 | | sto | W1135 | | | | ; | @1734
|
97 | 1734+ | 0000000 | | o00 | 0 | | | | ; |
|
98 | 1735 | 0010646577776 | | o00 | stkp | / | lod | -2 | ;unstack frameptr |
|
99 | 1736 | 0402156 | | sto | frameptr | | | | ; | @1736
|
100 | 1736+ | 0042205 | | o02 | K2a | | | | ;two words to be popped |
|
101 | 1737 | | ; |
|
102 | 1737 | | ; unwind stack and return to original caller |
|
103 | 1737 | | ; |
|
104 | 1737 | | .1737: | ; | |
|
105 | 1737 | 2710646600000 | | o27 | stkp | / | lod | 0 | ;adjust stack | @1737
|
106 | 1738 | 0202154 | | exa | W1132 | | | | ;save result |
|
107 | 1738+ | 0000000 | | o00 | 0 | | | | ;no-op |
|
108 | 1739 | | popstk: | ; | |
|
109 | 1739 | 2010613000001 | | sto | Link15d | / | jmp | 1 | ; return +1 |
|
110 | 1740 | | ;---------------------------------------------------------- |
|
111 | 1740 | | ;compile statement list (up to [end]). |
|
112 | 1740 | | ; |
|
113 | 1740 | | ;L1740: ; no references |
|
114 | 1740 | | | call | | | | | ;get next token | @1740
|
114+1 | 1740 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
|
115 | 1741 | | ; from 1799+ |
|
116 | 1741 | | .1741: | ; | |
|
117 | 1741 | | | call | | | | | ; |
|
117+1 | 1741 | 7310611003254 | | lnk | statement.lnk | : | jmp | statement.ent | |
|
118 | 1742 | 0600600 | | lod | token | | | | ;token | @1742
|
119 | 1742+ | 0122200 | | sub | K8a | | | | ;=8 [semicolon] |
|
120 | 1743 | 1043405 | | jz | .1797 | | | | ;OK->advance input, and repeat |
|
121 | 1743+ | 0102211 | | add | K4 | | | | ;=4 [end] |
|
122 | 1744 | 1043321 | | jz | .1745 | | | | ; yes, end of compound | @1744
|
123 | 1744+ | 1003330 | | jmp | _err17 | | | | |
|
124 | 1745 | | ; |
|
125 | 1745 | | .1745: | ; | |
|
126 | 1745 | | | call | | | | | ;skip comment after end, check for else |
|
126+1 | 1745 | 7312031002424 | | lnk | skipelse.lnk | : | jmp | skipelse.ent | |
|
127 | 1746 | 0040000 | | o02 | 0 | | | | ; | @1746
|
128 | 1746+ | 0000000 | | o00 | 0 | | | | ; |
|
129 | 1747 | 2710646600000 | | o27 | stkp | / | lod | 0 | ;unstack word |
|
130 | 1748 | 0202155 | | exa | W1133 | | | | ; | @1748
|
131 | 1748+ | 1003313 | | jmp | popstk | | | | ;->return |
|
132 | 1749 | | ;-------------------------------------------------------- |
|
133 | 1749 | | ; compile statement list, start token already read in |
|
134 | 1749 | | ; |
|
135 | 1749 | | stmtlist.ent: | ; | |
|
136 | 1749 | 0602142 | | lod | Link15d | | | | ; |
|
137 | 1749+ | 0202155 | | exa | W1133 | | | | ; |
|
138 | 1750 | | | call | | | | | ; | @1750
|
138+1 | 1750 | 7312031002415 | | lnk | stack.lnk | : | jmp | stack.ent | |
|
139 | 1751 | 1003315 | | jmp | .1741 | | | | ; |
|
140 | 1751+ | | ; |
|
141 | 1751+ | 0000000 | | o00 | 0 | | | | |
|
142 | 1752 | | ; |
|
143 | 1752 | | ; semicolon after statement |
|
144 | 1752 | | ; compile next statement in list |
|
145 | 1752 | | ; |
|
146 | 1752 | | =1797 | |
|
147 | 1797 | | .1797: | call | | | | | ;get next token |
|
147+1 | 1797 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
|
148 | 1798 | 0600600 | | lod | token | | | | ;token | @1798
|
149 | 1798+ | 0122176 | | sub | K9a | | | | ;=9 |
|
150 | 1799 | | | jnz | | | | | ;otherwise-> |
|
150+1 | 1799 | 1043410 | | jz | .1 | | | | |
|
150+2 | 1799+ | 1003315 | | jmp | statement.1741 | | | | |
|
150+3 | 1800 | | .1: | ; | |
|
151 | 1800 | | | call | | | | | ;discard the comments | @1800
|
151+1 | 1800 | 7312031002420 | | lnk | skipcomment.lnk | : | jmp | skipcomment.ent | |
|
152 | 1801 | 1003405 | | jmp | .1797 | | | | ;and repeat |
|
153 | 1801+ | | ; |
|
154 | 1801+ | | =1752 | |
|
155 | 1752 | | _err17: | ; | |
|
156 | 1752 | 1661044 | | lnk | errlnk | | | | ;error 17: no end or ; after statement |
|
157 | 1752+ | | | ;or, no colon after label | |
|
158 | 1752+ | | | ;or, impermissible start to statement | |
|
159 | 1752+ | 1002262 | | jmp | Error2 | | | | ;goto error rtne |
|
160 | 1753 | 1003331 | .1753: | jmp | .1753 | | | | ;dynamic stop |
|
161 | 1753+ | | ; |
|
162 | 1753+ | 0000000 | | o00 | 0 | | | | |
|
163 | 1754 | | ; |
|
164 | 1754 | | .SW: | ; | |
|
165 | 1754 | 3016135103345 | | lod | idptr | : | jmp | .1765P | ; +0 identifier | @1754
|
166 | 1755 | 4015744000000 | | jmp | .1785 | : | o00 | 0 | ; +1 goto |
|
167 | 1756 | 4015754000000 | | jmp | .1787 | : | o00 | 0 | ; +2 if |
|
168 | 1757 | 4015764000000 | | jmp | .1789 | : | o00 | 0 | ; +3 for |
|
169 | 1758 | 0200001003311 | | o02 | 0 | : | jmp | .1737 | ; +4 end | @1758
|
170 | 1759 | 3002771003363 | | lod | ident | : | jmp | .1779 | ; +5 print/read |
|
171 | 1760 | 4015314000000 | | jmp | .1715 | : | o00 | 0 | ; +6 begin | @1760
|
172 | 1761 | 4015774000000 | | jmp | .1791 | : | o00 | 0 | ; +7 code |
|
173 | 1762 | 0200001003311 | L1762: | o02 | 0 | : | jmp | .1737 | ; +8 apostrophe (semicolon) |
|
174 | 1763 | 0200001003311 | | o02 | 0 | : | jmp | .1737 | ; +9 comment |
|
175 | 1764 | | ; |
|
176 | 1764 | | .1764: | ; | |
|
177 | 1764 | | | call | | | | | ; | @1764
|
177+1 | 1764 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
|
178 | 1765 | 1003257 | | jmp | .1711 | | | | |
|
179 | 1765+ | | ; |
|
180 | 1765+ | | ; statement beginning with identifier: label, assignment, or procedure call |
|
181 | 1765+ | 0062232 | .1765P: | and | procbit | | | | ;=02000000000000 |
|
182 | 1766 | 1043354 | | jz | .1772 | | | | ;not procedure, label or assignment? | @1766
|
183 | 1766+ | 0603427 | | lod | idptr | | | | ;procedure |
|
184 | 1767 | 0062215 | | and | realbit | | | | ;=00300000000000 |
|
185 | 1767+ | 1150573 | | jz | L4475P | | | | ;no type, procedure call |
|
186 | 1768 | | .1768: | ; | |
|
187 | 1768 | | | call | | | | | ;call 2307 compile assignment | @1768
|
187+1 | 1768 | 7322011004403 | | lnk | assignment.lnk | : | jmp | assignment.ent | |
|
188 | 1769 | 0040000 | | o02 | 0 | | | | ;=1 |
|
189 | 1769+ | 1003311 | | jmp | .1737 | | | | ; |
|
190 | 1770 | | ; |
|
191 | 1770 | | =4475+ | |
|
192 | 4475+ | | L4475P: | ; | |
|
193 | 4475+ | 0046265 | .4475P: | o02 | checkb | | | | ;='CHECKB'=>'CHECKC' |
|
194 | 4476 | 0102245 | | add | K16 | | | | ;=16=>'CHECKS' | @4476
|
195 | 4476+ | 0120576 | | sub | ident | | | | ;compare current id |
|
196 | 4477 | 1050576 | | jz | .4478 | | | | ;do checks call |
|
197 | 4477+ | 1003416 | | jmp | .1806 | | | | ;other procedures |
|
198 | 4478 | | ; |
|
199 | 4478 | 1600000 | .4478: | kbd | 0 | | | | ; read keyboard |
|
200 | 4478+ | 0062225 | | and | Bbit | | | | ;=<000/000> |
|
201 | 4479 | 1050600 | | jz | .4480 | | | | ; not set, ignore |
|
202 | 4479+ | 1003421 | | jmp | .1809 | | | | ;compile as normal |
|
203 | 4480 | | ; |
|
204 | 4480 | 0601513 | .4480: | lod | putcode.ret | | | | ;= suppress object code @4480
| 205 | 4480+ | 0341477 | | stc | putcode.ent | | | | ; |
| 206 | 4481 | 0602145 | | lod | ObjPC | | | | ;save ObjPC for later |
| 207 | 4481+ | 0347035 | | stc | W3613 | | | | ; |
| 208 | 4482 | 0601426 | | lod | W790 | | | | ;save W790 for later | @4482
| 209 | 4482+ | 0347036 | | stc | W3614 | | | | ; |
| 210 | 4483 | 1003352 | | jmp | .1770 | | | | ; |
| 211 | 4483+ | | ; |
| 212 | 4483+ | | =1770 | |
| 213 | 1770 | | ; compile 'normal' procedure call |
| 214 | 1770 | | ; |
| 215 | 1770 | | .1770: | ; | |
| 216 | 1770 | | | call | | | | | ; | @1770
| 216+1 | 1770 | 7331155006266 | | lnk | CallProc.lnk | : | jmp | CallProc.ent | |
| 217 | 1771 | 0040000 | | o02 | 0 | | | | ;=1 |
| 218 | 1771+ | 1003311 | | jmp | .1737 | | | | ; |
| 219 | 1772 | | ; |
| 220 | 1772 | 0603427 | .1772: | lod | idptr | | | | ;idinfo | @1772
| 221 | 1772+ | 0062243 | | and | MskArgTp | | | | ;=037400000000000 mask out type bits |
| 222 | 1773 | 0122250 | | sub | W1192 | | | | ;=005000000000000 label? |
| 223 | 1773+ | 1143356 | | jz | .1774P | | | | ;yes, proces label |
| 224 | 1774 | 1003350 | | jmp | .1768 | | | | ;back for assignment | @1774
| 225 | 1774+ | | ; |
| 226 | 1774+ | | ; label identifier |
| 227 | 1774+ | | ; |
| 228 | 1774+ | 0603427 | .1774P: | lod | idptr | | | | ; |
| 229 | 1775 | | | call | | | | | ;place label |
| 229+1 | 1775 | 7307175103411 | | lnk | PutLabel.lnk | : | jmp | PutLabel.ent | |
| 230 | 1776 | | | call | | | | | ; | @1776
| 230+1 | 1776 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
| 231 | 1777 | 0600600 | | lod | token | | | | ; |
| 232 | 1777+ | 0122201 | | sub | K42 | | | | ;=42 [:] |
| 233 | 1778 | 1043344 | | jz | .1764 | | | | ;ok, start again | @1778
| 234 | 1778+ | 1003330 | | jmp | _err17 | | | | ; |
| 235 | 1779 | | ; |
| 236 | 1779 | | ; read or print statement |
| 237 | 1779 | | ; |
| 238 | 1779 | 0122251 | .1779: | sub | print | | | | ;=PRINT |
| 239 | 1779+ | 1043366 | | jz | .1782 | | | | ;yes-> |
| 240 | 1780 | | ; read statement |
| 241 | 1780 | | | call | | | | | ; | @1780
| 241+1 | 1780 | 7336515007605 | | lnk | comprd.lnk | : | jmp | comprd.ent | |
| 242 | 1781 | 1003367 | | jmp | .1783 | | | | ; |
| 243 | 1781+ | | ; |
| 244 | 1781+ | 0000000 | | o00 | 0 | | | | |
| 245 | 1782 | | ; print statement |
| 246 | 1782 | | .1782: | ; | |
| 247 | 1782 | | | call | | | | | ;compile print stmt | @1782
| 247+1 | 1782 | 7336515007640 | | lnk | comppr.lnk | : | jmp | comppr.ent | |
| 248 | 1783 | | ; from 1781 |
| 249 | 1783 | | .1783: | ; | |
| 250 | 1783 | 0544302 | | cls | W2242 | | | | ; |
| 251 | 1783+ | 0040000 | | o02 | 0 | | | | ;=1 |
| 252 | 1784 | 1003311 | | jmp | .1737 | | | | ; | @1784
| 253 | 1784+ | | ; |
| 254 | 1784+ | 0000000 | | o00 | 0 | | | | ; |
| 255 | 1785 | | ; |
| 256 | 1785 | | ; compile goto statement |
| 257 | 1785 | | ; |
| 258 | 1785 | | .1785: | ; | |
| 259 | 1785 | | | call | | | | | ; |
| 259+1 | 1785 | 7334161007042 | | lnk | DesigExprn.lnk | : | jmp | DesigExprn.ent | |
| 260 | 1786 | 0040000 | | o02 | 0 | | | | ; | @1786
| 261 | 1786+ | 1003311 | | jmp | .1737 | | | | ; |
| 262 | 1787 | | ; |
| 263 | 1787 | | ; compile if statement |
| 264 | 1787 | | ; |
| 265 | 1787 | | ;from 1756 (in switch list) |
| 266 | 1787 | | .1787: | ; | |
| 267 | 1787 | | | call | | | | | ; 3701 comp cond stat |
| 267+1 | 1787 | 7334161007165 | | lnk | condstat.lnk | : | jmp | condstat.ent | |
| 268 | 1788 | 0040000 | | o02 | 0 | | | | ;=1 | @1788
| 269 | 1788+ | 1003311 | | jmp | .1737 | | | | ; |
| 270 | 1789 | | ; |
| 271 | 1789 | | ; compile for statement |
| 272 | 1789 | | ; |
| 273 | 1789 | | .1789: | ; | |
| 274 | 1789 | | | call | | | | | ; |
| 274+1 | 1789 | 7334161007200 | | lnk | forstat.lnk | : | jmp | forstat.ent | |
| 275 | 1790 | 0040000 | | o02 | 0 | | | | ;=1 | @1790
| 276 | 1790+ | 1003311 | | jmp | .1737 | | | | ;-> finished statement |
| 277 | 1791 | | ; |
| 278 | 1791 | 0000000000000 | .1791: | +0 | |
| 279 | 1792 | | ; |
| 280 | 1792 | 0040000 | .1792: | o02 | 0 | | | | ;=1 | @1792
| 281 | 1792+ | 1003311 | | jmp | .1737 | | | | ; |
| 282 | 1793 | | ; |
| 283 | 1793 | | GenXB.ent: | ; | |
| 284 | 1793 | | ;L1793.ent: |
| 285 | 1793 | 0040000 | | o02 | 0 | | | | ;=1 | @1793
| 286 | 1793+ | 0562144 | | o27 | W1124 | | | | ; |
| 287 | 1794 | 0603521 | | lod | GPs+44 | | | | ;=GP7F 3,00 | @1794
| 288 | 1794+ | 1004033 | | jmp | gencode.ent | | | | ;gencode |
| 289 | 1795 | | ; |
| 290 | 1795 | | GenEB.ent: | ; | |
| 291 | 1795 | | ;L1795.ent: |
| 292 | 1795 | 0442144 | | inc | W1124 | | | | ; | @1795
| 293 | 1795+ | 0603520 | | lod | GPs+43 | | | | ;=
| 294 | 1796 | 1004033 | | jmp | gencode.ent | | | | ;gencode |
| 295 | 1796+ | | ; |
| 296 | 1796+ | 0000000 | | o00 | 0 | | | | ; |
| 297 | 1797 | | ;-------------------------------------------------------------------- |
| 298 | 1797 | | =1806 | |
| 299 | 1806 | | ;-------------------------------------------------------------------- |
| 300 | 1806 | | statement:: | ; | |
| 301 | 1806 | | ; procedure call, check special cases |
| 302 | 1806 | | ;L1806: |
| 303 | 1806 | | .1806: | ; | |
| 304 | 1806 | 0600576 | | lod | ident | | | | ; | @1806
| 305 | 1806+ | 0124233 | | sub | elliott | | | | ;'ELLIOTT' |
| 306 | 1807 | 1044205 | | jz | Elliott | | | | ; |
| 307 | 1807+ | 0600576 | | lod | ident | | | | ; |
| 308 | 1808 | 0130450 | | sub | precom | | | | ;'PRECOM' | @1808
| 309 | 1808+ | 1050451 | | jz | Precompile | | | | ;syntax check then dump |
| 310 | 1809 | | ;L1809: |
| 311 | 1809 | | ; standard procedure calls, specials filtered out above |
| 312 | 1809 | | ; |
| 313 | 1809 | | .1809: | ; | |
| 314 | 1809 | 0140000 | | cla | 0 | | | | ; |
| 315 | 1809+ | 1003352 | | jmp | .1770 | | | | ; |
| 316 | 1810 | | ;--------------------------------------------------------------------- |
| 317 | 1810 | | ; generate jump instruction in label list |
| 318 | 1810 | | ; first check that scope etc. is correct |
| 319 | 1810 | | ; |
| 320 | 1810 | | PutLabel:: | ; | |
| 321 | 1810 | | ; |
| 322 | 1810 | | =1801+ | |
| 323 | 1801+ | | .ent: | ; | |
| 324 | 1801+ | 1220027 | | srl | 23 | | | | ; | @1801+
| 325 | 1802 | 0064362 | | and | K127 | | | | ;=127 mask block level | @1802
| 326 | 1802+ | 0122144 | | sub | W1124 | | | | ; |
| 327 | 1803 | 1143414 | | jz | .1 | | | | ; |
| 328 | 1803+ | 1661044 | _err50: | lnk | errlnk | | | | ;error 50: label not declared in |
| 329 | 1804 | | | ;innermost possible block | |
| 330 | 1804 | 1001070 | | jmp | Error | | | | ;goto error handler | @1804
| 331 | 1804+ | | ; |
| 332 | 1804+ | | .1: | ; | |
| 333 | 1804+ | 0603427 | | lod | idptr | | | | ;re-load id info |
| 334 | 1805 | 0067033 | | and | W3611 | | | | ;=0000036017777 | @1805
| 335 | 1805+ | 1001661 | | jmp | LabRef | | | | ;optimise call away |
| 336 | 1806 | | ;-------------------------------------------------------------------- |
| 337 | 1806 | | =4497 | |
| 338 | 4497 | 0000000000000 | W4497: | +0 | ;recovery flag? -2..+1 |
| 339 | 4498 | 0000000000000 | W4498: | +0 | |
| 340 | 4499 | | =4500 | |
| 341 | 4500 | 0000000000000 | W4500: | +0 | |
| 342 | 4501 | 0000000000000 | W4501: | +0 | |
| 343 | 4502 | | ;-------------------------------------------------------------------- |
| | |