include "hdr1.html"; ?>
Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check |
---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | ; tape1.d/assign.t2 | ||||||||
2 | 0 | ;------------------ | ||||||||
3 | 0 | ; | ||||||||
4 | 0 | assignment:: | ; | |||||||
5 | 0 | ; | ||||||||
6 | 0 | =2307 | ||||||||
7 | 2307 | .ent: | ; | |||||||
8 | 2307 | 0603427 | lod | idptr | ; | @2307 | ||||
9 | 2307+ | 0064324 | and | T_Mask | ;=0700000000000 | |||||
10 | 2308 | 0344301 | stc | W2241 | ;save it | |||||
11 | 2308+ | 0000000 | o00 | 0 | ;no-op | |||||
12 | 2309 | call | ;stack zero | |||||||
12+1 | 2309 | 7323731005012 | lnk | push.lnk | : | jmp | push.ent | |||
13 | 2310 | .loop1: | ; | |||||||
14 | 2310 | 0603427 | lod | idptr | ; | @2310 | ||||
15 | 2310+ | 0347041 | stc | W3617 | ;save id info | |||||
16 | 2311 | call | ;check id and push onto stack | |||||||
16+1 | 2311 | 7326171005437 | lnk | Variable.lnk | : | jmp | Variable.ent | |||
17 | 2312 | 0600600 | lod | token | ;token | @2312 | ||||
18 | 2312+ | 1045373 | jz | _err31 | ;identifier | |||||
19 | 2313 | 0124355 | sub | W2285 | ;=43 [:=] | |||||
20 | 2313+ | 1044443 | jz | .13 | ; yes, assignment | |||||
21 | 2314 | 0604341 | lod | K3a | ;=3 | |||||
22 | 2314+ | 0404300 | sto | W2240 | ; | |||||
23 | 2315 | 0603427 | lod | idptr | ; | |||||
24 | 2315+ | 0064360 | and | procbit2 | ;=02000000000000 | |||||
25 | 2316 | 1104472 | jmp | .skip1 | ;-->> | @2316 | ||||
26 | 2316+ | =2362+ | ||||||||
27 | 2362+ | 1144474 | .skip1: | jz | .2 | ; | ||||
28 | 2363 | call | ; | |||||||
28+1 | 2363 | 7331155010611 | lnk | CallFunc.lnk | : | jmp | CallFunc.ent | |||
29 | 2364 | 1104414 | jmp | .3 | ; | @2364 | ||||
30 | 2364+ | ; | ||||||||
31 | 2364+ | ; from 2362+ | ||||||||
32 | 2364+ | 0603427 | .2: | lod | idptr | ; | @2364+ | |||
33 | 2365 | 0404031 | sto | IdInfo | ; | |||||
34 | 2365+ | 0064367 | and | Bit33a | ;=0040000000000 | |||||
35 | 2366 | 1144417 | jz | .4 | ; | @2366 | ||||
36 | 2366+ | 0603515 | lod | GPs+40 | ;=>GP2M 1,20;GP0F 30,0 | |||||
37 | 2367 | call | ; | |||||||
37+1 | 2367 | 7320121004033 | lnk | gencode.lnk | : | jmp | gencode.ent | |||
38 | 2368 | 0040000 | o02 | 0 | ;=1 | @2368 | ||||
39 | 2368+ | 0562161 | o27 | wsptr | ; | |||||
40 | 2369 | 1104414 | jmp | .3 | ; | |||||
41 | 2369+ | ; | ||||||||
42 | 2369+ | pad | ; | |||||||
42+1 | 2369+ | 0000000 | 00 | 0 | ||||||
43 | 2370 | =2316+ | ||||||||
44 | 2316+ | .3: | ; | |||||||
45 | 2316+ | 0604301 | lod | W2241 | ; | |||||
46 | 2317 | 0010646377777 | o00 | stkp | / | sto | -1 | ; | ||
47 | 2318 | 0604347 | lod | K4a | ;=4 | @2318 | ||||
48 | 2318+ | 0404300 | sto | W2240 | ; | |||||
49 | 2319 | pad | ; | |||||||
49+1 | 2319 | 0000000 | 00 | 0 | ||||||
50 | 2319+ | ; from 2366 | ||||||||
51 | 2319+ | .4: | ; | |||||||
52 | 2319+ | 0040000 | o02 | 0 | ;=1 | |||||
53 | 2320 | 2710646600000 | o27 | stkp | / | lod | 0 | ;pop value | @2320 | |
54 | 2321 | .5: | ; | |||||||
55 | 2321 | 0404303 | sto | W2243 | ;save it | |||||
56 | 2321+ | .6: | ; | |||||||
57 | 2321+ | 0604301 | lod | W2241 | ; | |||||
58 | 2322 | 0124322 | sub | TBool | ;=0100000000000 (boolean) | @2322 | ||||
59 | 2322+ | 1044425 | jz | .7 | ;boolean expression needed-> | |||||
60 | 2323 | call | ;get arithmetic expression | |||||||
60+1 | 2323 | 7323131004627 | lnk | expression.lnk | : | jmp | expression.ent | |||
61 | 2324 | 1004426 | jmp | .8 | ;-> | @2324 | ||||
62 | 2324+ | ; | ||||||||
63 | 2324+ | pad | ; | |||||||
63+1 | 2324+ | 0000000 | 00 | 0 | ||||||
64 | 2325 | .7: | ; | |||||||
65 | 2325 | call | ;get boolean expression | @2325 | ||||||
65+1 | 2325 | 7326605005553 | lnk | compbool.lnk | : | jmp | compbool.ent | |||
66 | 2326 | .8: | ; | |||||||
67 | 2326 | 0544305 | cls | W2245 | ; | @2326 | ||||
68 | 2326+ | 0604340 | lod | K2b | ;=2 removing two items | |||||
69 | 2327 | 2710646600001 | o27 | stkp | / | lod | 1 | ;get top item | ||
70 | 2328 | 0404306 | sto | W2246 | ;save it | @2328 | ||||
71 | 2328+ | 0124301 | sub | W2241 | ;=0300000000000 | |||||
72 | 2329 | 1044433 | jz | .9 | ;-> | |||||
73 | 2329+ | 0604341 | lod | K3a | ;=3 | |||||
74 | 2330 | call | ; | @2330 | ||||||
74+1 | 2330 | 7320121004032 | lnk | gencode1.lnk | : | jmp | gencode1.ent | |||
75 | 2331 | .9: | ; | |||||||
76 | 2331 | 0010646600000 | o00 | stkp | / | lod | 0 | ;get second item | ||
77 | 2332 | 1661044 | _err18: | lnk | errlnk | ;error 18: := missing in assignment | @2332 | |||
78 | 2332+ | 1044772 | jz | error2 | ;if zero goto error rtne | |||||
79 | 2333 | .10: | ; | |||||||
80 | 2333 | 0404031 | sto | IdInfo | ;save it | |||||
81 | 2333+ | 1004467 | jmp | .11 | ;-> | |||||
82 | 2334 | ; | ||||||||
83 | 2334 | =2359 | ||||||||
84 | 2359 | .11: | ; | |||||||
85 | 2359 | call | ; | |||||||
85+1 | 2359 | 7323761005051 | lnk | FreeTemp.lnk | : | jmp | FreeTemp.ent | |||
86 | 2360 | 0604305 | lod | W2245 | ; | @2360 | ||||
87 | 2360+ | 1004436 | jmp | .12 | ;-->> | |||||
88 | 2361 | =2334 | ||||||||
89 | 2334 | .12: | ; | |||||||
90 | 2334 | call | ;generate store instruction | @2334 | ||||||
90+1 | 2334 | 7320121004032 | lnk | gencode1.lnk | : | jmp | gencode1.ent | |||
91 | 2335 | pad | ;no-op | |||||||
91+1 | 2335 | 0000000 | 00 | 0 | ||||||
92 | 2335+ | 0040000 | o02 | 0 | ;=1 | |||||
93 | 2336 | 2710646600000 | o27 | stkp | / | lod | 0 | ;unstack item | @2336 | |
94 | 2337 | jnz | ;repeat until stopper found | |||||||
94+1 | 2337 | 1044442 | jz | .1 | ||||||
94+2 | 2337+ | 1004435 | jmp | assignment.10 | ||||||
94+3 | 2338 | .1: | ; | |||||||
95 | 2338 | 0022013000001 | o00 | .lnk | / | jmp | 1 | ;return | @2338 | |
96 | 2339 | ;------------------------------------------------ | ||||||||
97 | 2339 | ; | ||||||||
98 | 2339 | .13: | ; | |||||||
99 | 2339 | 0607041 | lod | W3617 | ; | |||||
100 | 2339+ | 0064360 | and | procbit2 | ;=02000000000000 | |||||
101 | 2340 | 1044471 | jz | .18 | ;-> | @2340 | ||||
102 | 2340+ | 0603427 | lod | idptr | ; | |||||
103 | 2341 | 0064361 | and | W2289 | ; | |||||
104 | 2341+ | 1661044 | _err19: | lnk | errlnk | ;error 19: value assigned to proc outside body | ||||
105 | 2342 | 1044772 | jz | error2 | ;error | @2342 | ||||
106 | 2342+ | 1004471 | jmp | .18 | ;-->> | |||||
107 | 2343 | =2361 | ||||||||
108 | 2361 | .18: | ; | |||||||
109 | 2361 | 0604340 | lod | K2b | ;=2 | |||||
110 | 2361+ | 0404300 | sto | W2240 | ; | |||||
111 | 2362 | 1004447 | jmp | .14 | ;-->> | @2362 | ||||
112 | 2362+ | =2343 | ||||||||
113 | 2343 | .14: | ; | |||||||
114 | 2343 | call | ; 1 | @2343 | ||||||
114+1 | 2343 | 7322411004503 | lnk | advance.lnk | : | jmp | advance.ent | |||
115 | 2344 | 0600600 | lod | token | ; | @2344 | ||||
116 | 2344+ | 1144452 | jz | .15 | ;identifier-> | |||||
117 | 2345 | 0040600 | o02 | token | ;token+1 | |||||
118 | 2345+ | 1024455 | jn | .16 | ; | |||||
119 | 2346 | 1104421 | jmp | .6 | ; | @2346 | ||||
120 | 2346+ | ; | ||||||||
121 | 2346+ | .15: | ; | |||||||
122 | 2346+ | 0603427 | lod | idptr | ; | |||||
123 | 2347 | 0064324 | and | T_Mask | ;=0700000000000 | |||||
124 | 2347+ | 0124301 | sub | W2241 | ;=0200000000000 | |||||
125 | 2348 | 1044406 | jz | .loop1 | ; same type -> | @2348 | ||||
126 | 2348+ | 1104421 | jmp | .6 | ; diff type -> | |||||
127 | 2349 | ; | ||||||||
128 | 2349 | .16: | ; | |||||||
129 | 2349 | 0616136120000 | cla | idptr | / | sub | 0 | ; | ||
130 | 2350 | 1124421 | jn | .6 | ; | @2350 | ||||
131 | 2350+ | 0604301 | lod | W2241 | ; | |||||
132 | 2351 | 0124322 | sub | TBool | ;=00100000000000 (boolean) | |||||
133 | 2351+ | 1044425 | jz | .7 | ; | |||||
134 | 2352 | call | ; | @2352 | ||||||
134+1 | 2352 | 7322411004503 | lnk | advance.lnk | : | jmp | advance.ent | |||
135 | 2353 | call | ; | |||||||
135+1 | 2353 | 7323761005070 | lnk | TestArithOp.lnk | : | jmp | TestArithOp.ent | |||
136 | 2354 | 1044465 | jz | .17 | ; | @2354 | ||||
137 | 2354+ | 0604466 | lod | _con59 | ; | |||||
138 | 2355 | 0404305 | sto | W2245 | ; | |||||
139 | 2355+ | 0040000 | o02 | 0 | ; | |||||
140 | 2356 | 0562151 | o27 | stkp | ; | @2356 | ||||
141 | 2356+ | 1004433 | jmp | .9 | ; | |||||
142 | 2357 | ; | ||||||||
143 | 2357 | 0444300 | .17: | inc | W2240 | ; | @2357 | |||
144 | 2357+ | 0603427 | lod | idptr | ; | |||||
145 | 2358 | 1004421 | _con59: | jmp | .5 | ; | @2358 | |||
146 | 2358+ | ; | ||||||||
147 | 2358+ | 0000073 | 00 | +59 | ;in-line constant | |||||
148 | 2359 | ; | ||||||||
149 | 2359 | ;-------------------------------------------------------------------- |