| Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check | 
|---|
| 1 | 0 |  | ; tape1.d/primary.t2 |  | 
| 2 | 0 |  | ;------------------- |  | 
| 3 | 0 |  | ; |  | 
| 4 | 0 |  | =2420 |  |  | 
| 5 | 2420 |  | ; |  | 
| 6 | 2420 |  | Primary:: | ; |  |  | 
| 7 | 2420 |  | ; |  | 
| 8 | 2420 |  | Primary.ent: | ; |  |  | 
| 9 | 2420 | 1661044 | _err22: | lnk | errlnk |  |  |  | ;error 22: bad primary in exprn | @2420 | 
| 10 | 2420+ | 0604502 |  | lod | .lnk |  |  |  | ; |  | 
| 11 | 2421 |  |  | call |  |  |  |  | ;stack return address |  | 
| 11+1 | 2421 | 7323731005012 |  | lnk | push.lnk | : | jmp | push.ent |  |  | 
| 12 | 2422 | 0600600 |  | lod | token |  |  |  | ;check token | @2422 | 
| 13 | 2422+ | 0124323 |  | sub | K47 |  |  |  | ;=47 [(] |  | 
| 14 | 2423 | 1044610 |  | jz | .nest |  |  |  | ;nested expression |  | 
| 15 | 2423+ |  | .prim: | ; |  |  | 
| 16 | 2423+ | 0603427 |  | lod | idptr |  |  |  | ; |  | 
| 17 | 2424 | 0064324 |  | and | T_Mask |  |  |  | ;=00700000000000 | @2424 | 
| 18 | 2424+ |  |  | pad |  |  |  |  | ; |  | 
| 18+1 | 2424+ | 0000000 |  | 00 | 0 |  |  |  |  |  | 
| 19 | 2425 |  |  | call |  |  |  |  | ;add type info to stack |  | 
| 19+1 | 2425 | 7323731005012 |  | lnk | push.lnk | : | jmp | push.ent |  |  | 
| 20 | 2426 | 0603427 |  | lod | idptr |  |  |  | ; | @2426 | 
| 21 | 2426+ | 0064360 |  | and | procbit2 |  |  |  | ;=02000000000000 (procedure bit) |  | 
| 22 | 2427 | 1144575 |  | jz | .prim1 |  |  |  | ;not a procedure |  | 
| 23 | 2427+ | 0140000 |  | cla | 0 |  |  |  | ; |  | 
| 24 | 2428 |  |  | call |  |  |  |  | ;function call |  | 
| 24+1 | 2428 | 7331155010611 |  | lnk | CallFunc.lnk | : | jmp | CallFunc.ent |  |  | 
| 25 | 2429 | 1005073 |  | jmp | Pop1 |  |  |  | ;return via stack |  | 
| 26 | 2429+ |  | ; |  | 
| 27 | 2429+ |  | .prim1: | ; |  |  | 
| 28 | 2429+ | 0603427 |  | lod | idptr |  |  |  | ; |  | 
| 29 | 2430 | 0064372 |  | and | arrbit1 |  |  |  | ;=01000000000000 array ? | @2430 | 
| 30 | 2430+ | 1144602 |  | jz | .prim3 |  |  |  | ;not an array |  | 
| 31 | 2431 |  |  | call |  |  |  |  | ;compile subscript |  | 
| 31+1 | 2431 | 7324375005131 |  | lnk | Subscript.lnk | : | jmp | Subscript.ent |  |  | 
| 32 | 2432 |  |  | pad |  |  |  |  | ; | @2432 | 
| 32+1 | 2432 | 0000000 |  | 00 | 0 |  |  |  |  |  | 
| 33 | 2432+ |  | .prim2: | ; |  |  | 
| 34 | 2432+ | 0603515 |  | lod | GPs+40 |  |  |  | ;={GP2M 1,20;GP0F 30,0} |  | 
| 35 | 2433 |  |  | call |  |  |  |  | ; store address of result, fetch it |  | 
| 35+1 | 2433 | 7320121004033 |  | lnk | gencode.lnk | : | jmp | gencode.ent |  |  | 
| 36 | 2434 | 1005073 |  | jmp | Pop1 |  |  |  | ; return via stack | @2434 | 
| 37 | 2434+ |  | ; |  | 
| 38 | 2434+ |  | ; if it's not an array or proc then it should be a call by name |  | 
| 39 | 2434+ |  | ; |  | 
| 40 | 2434+ |  | .prim3: | ; |  |  | 
| 41 | 2434+ | 0603427 |  | lod | idptr |  |  |  | ; |  | 
| 42 | 2435 | 0404031 |  | sto | IdInfo |  |  |  | ; |  | 
| 43 | 2435+ | 0064367 |  | and | Bit33a |  |  |  | ;=0040000000000 Name flag |  | 
| 44 | 2436 | 1044772 |  | jz | error2 |  |  |  | ;error, not CBN! | @2436 | 
| 45 | 2436+ | 0603514 |  | lod | GPs+39 |  |  |  | ;={GP1M 00;GP0 73,0;GP1F 40} |  | 
| 46 | 2437 |  |  | call |  |  |  |  | ; code to invoke thunk |  | 
| 46+1 | 2437 | 7320121004033 |  | lnk | gencode.lnk | : | jmp | gencode.ent |  |  | 
| 47 | 2438 |  |  | call |  |  |  |  | ; | @2438 | 
| 47+1 | 2438 | 7322411004503 |  | lnk | advance.lnk | : | jmp | advance.ent |  |  | 
| 48 | 2439 | 1104600 |  | jmp | .prim2 |  |  |  | ; |  | 
| 49 | 2439+ |  | ; |  | 
| 50 | 2439+ |  |  | pad |  |  |  |  |  |  | 
| 50+1 | 2439+ | 0000000 |  | 00 | 0 |  |  |  |  |  | 
| 51 | 2440 |  | ;-------------------------------- |  | 
| 52 | 2440 |  | ; nested expression as primary |  | 
| 53 | 2440 |  | .nest: | ; |  |  | 
| 54 | 2440 | 0040000 |  | o02 | 0 |  |  |  | ;=1 | @2440 | 
| 55 | 2440+ | 0404300 |  | sto | W2240 |  |  |  | ;W2240 := 1 |  | 
| 56 | 2441 |  |  | call |  |  |  |  | ;get nested expression |  | 
| 56+1 | 2441 | 7323131004627 |  | lnk | expression.lnk | : | jmp | expression.ent |  |  | 
| 57 | 2442 | 0600600 |  | lod | token |  |  |  | ;check closing delimiter | @2442 | 
| 58 | 2442+ | 0124327 |  | sub | K48 |  |  |  | ;=48 [)] |  | 
| 59 | 2443 |  |  | jnz |  |  |  |  | ;missing ')' |  | 
| 59+1 | 2443 | 1044614 |  | jz | .1 |  |  |  |  |  | 
| 59+2 | 2443+ | 1105140 |  | jmp | _err26 |  |  |  |  |  | 
| 59+3 | 2444 |  | .1: | ; |  |  | 
| 60 | 2444 |  |  | call |  |  |  |  | ;move to next item | @2444 | 
| 60+1 | 2444 | 7322411004503 |  | lnk | advance.lnk | : | jmp | advance.ent |  |  | 
| 61 | 2445 | 1005073 |  | jmp | Pop1 |  |  |  | ;return via stack |  | 
| 62 | 2445+ |  | ;-------------------------------------------------------------------- |  | 
| 63 | 2445+ |  | =4489 |  |  | 
| 64 | 4489 |  | CallFunc:: | ; |  |  | 
| 65 | 4489 |  | ; |  | 
| 66 | 4489 |  | ;preliminaries to function call? |  | 
| 67 | 4489 |  | ; |  | 
| 68 | 4489 |  | .ent: | ; |  |  | 
| 69 | 4489 | 0400004 |  | sto | 4 |  |  |  | ;save Acc over tests |  | 
| 70 | 4489+ | 0610350 |  | lod | errtab+22 |  |  |  | ;error 22 |  | 
| 71 | 4490 | 0401044 |  | sto | errlnk |  |  |  | ; | @4490 | 
| 72 | 4490+ | 0603427 |  | lod | idptr |  |  |  | ;get id information |  | 
| 73 | 4491 | 0064315 |  | and | procbit1 |  |  |  | ;=00300000000000 check not procedure |  | 
| 74 | 4491+ | 1041070 |  | jz | Error |  |  |  | ;call error - procedure in expression |  | 
| 75 | 4492 | 0600004 |  | lod | 4 |  |  |  | ;re-load save Acc | @4492 | 
| 76 | 4492+ | 1006266 |  | jmp | CallProc.ent |  |  |  | ;jump into function/procedure call |  | 
| 77 | 4493 |  | ;-------------------------------------------------------------------- |  |