| Line | Address | Object Code
| Label | F1 | N1 | B | F2 | N2 | Comments | Check
|
|---|
| 1 | 0 | | ; tape1.d/simple.t2 |
|
| 2 | 0 | | ;----------------- |
|
| 3 | 0 | | ; |
|
| 4 | 0 | | =2601 | |
|
| 5 | 2601 | | FreeTemp:: | ; | |
|
| 6 | 2601 | | ; if temp no longer in use, decrement wsptr |
|
| 7 | 2601 | | ; |
|
| 8 | 2601 | | .ent: | ; | |
|
| 9 | 2601 | 0064356 | | and | TmpFlg | | | | ;=040000 | @2601
|
| 10 | 2601+ | 1045053 | | jz | .ret | | | | ;ret if zero |
|
| 11 | 2602 | 0040000 | | o02 | 0 | | | | ;=1 | @2602
|
| 12 | 2602+ | 0562161 | | o27 | wsptr | | | | ;decrement temporaries pointer |
|
| 13 | 2603 | | .ret: | ; | |
|
| 14 | 2603 | | | ret | | | | | ;return |
|
| 14+1 | 2603 | 0023763000001 | | o00 | FreeTemp.lnk | / | jmp | 1 | |
|
| 15 | 2604 | | ;-------------------------------------------------------------------- |
|
| 16 | 2604 | | ; |
|
| 17 | 2604 | | SimpleTerm:: | ; | |
|
| 18 | 2604 | | ; test for simple variable or constant |
|
| 19 | 2604 | | ; fails if array or procedure name, or any other token type |
|
| 20 | 2604 | | ; |
|
| 21 | 2604 | | .ent: | ; | |
|
| 22 | 2604 | 0600600 | | lod | token | | | | ;token | @2604
|
| 23 | 2604+ | 1025007 | | jn | Relop.retOK | | | | ;constant |
|
| 24 | 2605 | | | jnz | | | | | ;->not id, check for TRUE or FALSE |
|
| 24+1 | 2605 | 1045056 | | jz | .1 | | | | |
|
| 24+2 | 2605+ | 1005001 | | jmp | TestOpd.tBool | | | | |
|
| 24+3 | 2606 | | .1: | ; | |
|
| 25 | 2606 | 0603427 | | lod | idptr | | | | ;idinfo |
|
| 26 | 2606+ | 0064343 | | and | W2275 | | | | ;=03070000000000 Proc, Array, CBN, ??? |
|
| 27 | 2607 | 1045007 | | jz | Relop.retOK | | | | ;not set, must be simple typed variable |
|
| 28 | 2607+ | 1105010 | | jmp | Relop.retNoGo | | | | ;otherwise fail |
|
| 29 | 2608 | | ; |
|
| 30 | 2608 | | =2611 | |
|
| 31 | 2611 | | L2611:: | ; | |
|
| 32 | 2611 | | ; |
|
| 33 | 2611 | | .ent: | ; | |
|
| 34 | 2611 | 0016142577776 | | o00 | W1816 | / | lod | -2 | ; | @2611
|
| 35 | 2612 | 1220034 | | srl | 28 | | | | ; | @2612
|
| 36 | 2612+ | 0064362 | | and | K127 | | | | ;=0177 |
|
| 37 | 2613 | 0103427 | | add | idptr | | | | ; |
|
| 38 | 2613+ | 0104313 | | add | K1b | | | | ; |
|
| 39 | 2614 | | | call | | | | | ; | @2614
|
| 39+1 | 2614 | 7323731005012 | | lnk | push.lnk | : | jmp | push.ent | |
|
| 40 | 2615 | | | ret | | | | | ; |
|
| 40+1 | 2615 | 0023763000001 | | o00 | L2611.lnk | / | jmp | 1 | |
|
| 41 | 2616 | | ;-------------------------------------------------------------------- |
|
| 42 | 2616 | | ;Test Arith Op - return true if arith operator, false otherwise |
|
| 43 | 2616 | | ; |
|
| 44 | 2616 | | TestArithOp:: | ; | |
|
| 45 | 2616 | | ; |
|
| 46 | 2616 | | .ent: | ; | |
|
| 47 | 2616 | 0600600 | | lod | token | | | | ;token | @2616
|
| 48 | 2616+ | 0124335 | | sub | W2269 | | | | ;=22 [+] |
|
| 49 | 2617 | 1125010 | | jn | Relop.retNoGo | | | | ;not arith-op |
|
| 50 | 2617+ | 0164336 | | bus | K5b | | | | ;=5 [DIV] |
|
| 51 | 2618 | 1125010 | | jn | Relop.retNoGo | | | | ;not arith-op | @2618
|
| 52 | 2618+ | 1005007 | | jmp | Relop.retOK | | | | ;is arith-op -> |
|
| 53 | 2619 | | ;-------------------------------------------------------------------- |
|