| 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 |  | ;-------------------------------------------------------------------- |  |  |  |