|
File: condexp.t2
For general comments see here
Line | Address | Object Code
| Label | F1 | N1 | B | F2 | N2 | Comments | Check
|
---|
1 | 0 | | ; tape1.d/condexp.t2 |
| 2 | 0 | | ;------------------- |
| 3 | 0 | | ; |
| 4 | 0 | | =2708 | |
| 5 | 2708 | | CondExp:: | ; | |
| 6 | 2708 | | .ent: | ; | |
| 7 | 2708 | 0605223 | | lod | .lnk | | | | ; return address | @2708
| 8 | 2708+ | 0545230 | | cls | W2712 | | | | ; |
| 9 | 2709 | | | call | | | | | ; |
| 9+1 | 2709 | 7323731005012 | | lnk | push.lnk | : | jmp | push.ent | |
| 10 | 2710 | | | call | | | | | ; |
| 10+1 | 2710 | 7325115005260 | | lnk | compif.lnk | : | jmp | compif.ent | |
| 11 | 2711 | 1005231 | | jmp | .2713 | | | | ; |
| 12 | 2711+ | | ; |
| 13 | 2711+ | 0000000 | | o00 | 0 | | | | |
| 14 | 2712 | | ; |
| 15 | 2712 | 0000000000000 | W2712: | +0 | ; | @2712
| 16 | 2713 | | ; |
| 17 | 2713 | 0604340 | .2713: | lod | K2b | | | | ;=2 |
| 18 | 2713+ | 0404300 | | sto | W2240 | | | | ; |
| 19 | 2714 | | | call | | | | | ; | @2714
| 19+1 | 2714 | 7323131004627 | | lnk | expression.lnk | : | jmp | expression.ent | |
| 20 | 2715 | | L2715: | ; | |
| 21 | 2715 | 0604305 | .2715: | lod | W2245 | | | | ; |
| 22 | 2715+ | 0204310 | | exa | W2248 | | | | ; |
| 23 | 2716 | 0010646377777 | | o00 | stkp | / | sto | -1 | ; | @2716
| 24 | 2717 | 0600600 | | lod | token | | | | ; |
| 25 | 2717+ | 0124370 | | sub | W2296 | | | | ; |
| 26 | 2718 | 1145237 | | jz | .2719P | | | | ; | @2718
| 27 | 2718+ | 1661044 | _err28: | lnk | errlnk | | | | ;error 28: missing else |
| 28 | 2719 | 1004772 | | jmp | error2 | | | | ;call error routine |
| 29 | 2719+ | | ; |
| 30 | 2719+ | 0604335 | .2719P: | lod | W2269 | | | | ; |
| 31 | 2720 | | | call | | | | | ; | @2720
| 31+1 | 2720 | 7320121004032 | | lnk | gencode1.lnk | : | jmp | gencode1.ent | |
| 32 | 2721 | 0040000 | | o02 | 0 | | | | ;=1 |
| 33 | 2721+ | 0404300 | | sto | W2240 | | | | ; |
| 34 | 2722 | | | call | | | | | ; | @2722
| 34+1 | 2722 | 7323131004627 | | lnk | expression.lnk | : | jmp | expression.ent | |
| 35 | 2723 | 0604320 | | lod | IntBit | | | | ; |
| 36 | 2723+ | 0404306 | | sto | W2246 | | | | ; |
| 37 | 2724 | 0040000 | | o02 | 0 | | | | ;=1 | @2724
| 38 | 2724+ | 0000000 | | o00 | 0 | | | | |
| 39 | 2725 | 2710646600000 | | o27 | stkp | / | lod | 0 | ; |
| 40 | 2726 | 0010646177777 | | o00 | stkp | / | exa | -1 | ; | @2726
| 41 | 2727 | 0204310 | | exa | W2248 | | | | ; |
| 42 | 2727+ | 0124305 | | sub | W2245 | | | | ; |
| 43 | 2728 | 1045257 | | jz | .2735 | | | | ; | @2728
| 44 | 2728+ | 0604305 | | lod | W2245 | | | | ; |
| 45 | 2729 | 0124315 | | sub | procbit1 | | | | ; |
| 46 | 2729+ | 1145254 | | jz | .2732P | | | | ; |
| 47 | 2730 | 0604315 | | lod | procbit1 | | | | ; | @2730
| 48 | 2730+ | 0000000 | | o00 | 0 | | | | |
| 49 | 2731 | 0010646377777 | | o00 | stkp | / | sto | -1 | ; |
| 50 | 2732 | 1005256 | | jmp | .2734 | | | | ; | @2732
| 51 | 2732+ | | ; |
| 52 | 2732+ | 0603473 | .2732P: | lod | GPs+22 | | | | ;=04000000000013 |
| 53 | 2733 | | | call | | | | | ; |
| 53+1 | 2733 | 7320121004033 | | lnk | gencode.lnk | : | jmp | gencode.ent | |
| 54 | 2734 | | .2734: | ; | |
| 55 | 2734 | | | call | | | | | ; | @2734
| 55+1 | 2734 | 7320121007410 | | lnk | L3848.lnk | : | jmp | L3848.ent | |
| 56 | 2735 | | .2735: | ; | |
| 57 | 2735 | 1106122 | | jmp | L3136.5 | | | | ; |
| 58 | 2735+ | | | pad | | | | | ; |
| 58+1 | 2735+ | 0000000 | | 00 | 0 | | | | |
| 59 | 2736 | | ;-------------------------------------------------------------------- |
| 60 | 2736 | | ; compile if clause |
| 61 | 2736 | | ; |
| 62 | 2736 | | compif:: | ; | |
| 63 | 2736 | | ; |
| 64 | 2736 | | .ent: | ; | |
| 65 | 2736 | 0605223 | | lod | .lnk | | | | ; | @2736
| 66 | 2736+ | 0000000 | | o00 | 0 | | | | ; |
| 67 | 2737 | | | call | | | | | ; |
| 67+1 | 2737 | 7323731005012 | | lnk | push.lnk | : | jmp | push.ent | |
| 68 | 2738 | 0040000 | | o02 | 0 | | | | ;=1 | @2738
| 69 | 2738+ | 0404300 | | sto | W2240 | | | | ; |
| 70 | 2739 | | | call | | | | | ;compile bool exprn |
| 70+1 | 2739 | 7326605005553 | | lnk | compbool.lnk | : | jmp | compbool.ent | |
| 71 | 2740 | 0044330 | | o02 | K37 | | | | ;=37 + 1 => [then] | @2740
| 72 | 2740+ | 0120600 | | sub | token | | | | ;token |
| 73 | 2741 | 1045267 | | jz | .2743 | | | | ; OK |
| 74 | 2741+ | 1661044 | _err29: | lnk | errlnk | | | | ;error 29: missing then |
| 75 | 2742 | 1004772 | | jmp | error2 | | | | ; | @2742
| 76 | 2742+ | | ; |
| 77 | 2742+ | 0000000 | | o00 | 0 | | | | |
| 78 | 2743 | | ; from 2741 |
| 79 | 2743 | | .2743: | ; | |
| 80 | 2743 | | | call | | | | | ; code gen | @2743
| 80+1 | 2743 | 7320121007403 | | lnk | L3843.lnk | : | jmp | L3843.ent | |
| 81 | 2744 | | .2744: | ; | |
| 82 | 2744 | | | call | | | | | ;get next token | @2744
| 82+1 | 2744 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
| 83 | 2745 | 0600600 | | lod | token | | | | ;token |
| 84 | 2745+ | 0124340 | | sub | K2b | | | | ;=2 [if] |
| 85 | 2746 | 1661044 | _err30: | lnk | errlnk | | | | ;error 30: cond stat or expr after then | @2746
| 86 | 2746+ | 1044772 | | jz | error2 | | | | ;if token=[if] goto error |
| 87 | 2747 | 0605230 | | lod | W2712 | | | | ; |
| 88 | 2747+ | 1147132 | | jz | Pop2 | | | | ;return via stack |
| 89 | 2748 | 0600600 | | lod | token | | | | ;token | @2748
| 90 | 2748+ | 1145275 | | jz | .2749P | | | | ; =identifier -> |
| 91 | 2749 | 1107132 | | jmp | Pop2 | | | | ;else return via stack |
| 92 | 2749+ | | ; |
| 93 | 2749+ | | ; identifier |
| 94 | 2749+ | | ; |
| 95 | 2749+ | 0603427 | .2749P: | lod | idptr | | | | ; |
| 96 | 2750 | 0062243 | | and | MskArgTp | | | | ; | @2750
| 97 | 2750+ | 0122250 | | sub | W1192 | | | | ; |
| 98 | 2751 | 1045300 | | jz | .2752 | | | | ; |
| 99 | 2751+ | 1107132 | | jmp | Pop2 | | | | ;return via stack |
| 100 | 2752 | | ; |
| 101 | 2752 | 0603427 | .2752: | lod | idptr | | | | ; |
| 102 | 2752+ | 0000000 | | o00 | 0 | | | | ; |
| 103 | 2753 | | | call | | | | | ; |
| 103+1 | 2753 | 7307175103411 | | lnk | PutLabel.lnk | : | jmp | PutLabel.ent | |
| 104 | 2754 | | | call | | | | | ; | @2754
| 104+1 | 2754 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
| 105 | 2755 | 0600600 | | lod | token | | | | ; |
| 106 | 2755+ | 0122201 | | sub | K42 | | | | ;=42 |
| 107 | 2756 | 1045270 | | jz | .2744 | | | | ; |
| 108 | 2756+ | 1003330 | | jmp | _err17 | | | | ; |
| 109 | 2757 | | ;-------------------------------------------------------------- |
| 110 | 2757 | | ; compile conditional statement |
| 111 | 2757 | | ; |
| 112 | 2757 | | condstat:: | ; | |
| 113 | 2757 | | ; |
| 114 | 2757 | | =3701 | |
| 115 | 3701 | | .ent: | ; | |
| 116 | 3701 | 1665230 | | lnk | W2712 | | | | ; | @3701
| 117 | 3701+ | 0607034 | | lod | .lnk | | | | ; |
| 118 | 3702 | | | call | | | | | ; | @3702
| 118+1 | 3702 | 7323731005012 | | lnk | push.lnk | : | jmp | push.ent | |
| 119 | 3703 | | | call | | | | | ; |
| 119+1 | 3703 | 7325115005260 | | lnk | compif.lnk | : | jmp | compif.ent | |
| 120 | 3704 | 0000000000000 | | +0 | ;two no-ops? | @3704
| 121 | 3705 | | | call | | | | | ;1708 compile stat |
| 121+1 | 3705 | 7310611003254 | | lnk | statement.lnk | : | jmp | statement.ent | |
| 122 | 3706 | 0600600 | | lod | token | | | | ;token | @3706
| 123 | 3706+ | 0124370 | | sub | W2296 | | | | ;=39 [else] |
| 124 | 3707 | 1047174 | | jz | .3708 | | | | ;->yes do else clause |
| 125 | 3707+ | 1007144 | | jmp | DesigExprn.9 | | | | ;no end of statement |
| 126 | 3708 | | ; |
| 127 | 3708 | | ; do else clause |
| 128 | 3708 | | ; |
| 129 | 3708 | | .3708: | call | | | | | ; plant else jump? | @3708
| 129+1 | 3708 | 7320121007405 | | lnk | L3845.lnk | : | jmp | L3845.ent | |
| 130 | 3709 | | | call | | | | | ; |
| 130+1 | 3709 | 7322411004503 | | lnk | advance.lnk | : | jmp | advance.ent | |
| 131 | 3710 | | | call | | | | | ;1708 compile | @3710
| 131+1 | 3710 | 7310611003254 | | lnk | statement.lnk | : | jmp | statement.ent | |
| 132 | 3711 | 1007144 | | jmp | DesigExprn.9 | | | | ;end of statement |
| 133 | 3711+ | | ; |
| 134 | 3711+ | 0000000 | | o00 | 0 | | | | |
| 135 | 3712 | | ;-------------------------------------------------------------------- |
|
|