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