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