include "hdr1.html"; ?>
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 | ;-------------------------------------------------------------------- |