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