File: desigexp.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/desigexp.t2
2 0  ;--------------------
3 0  ;
4 0  DesigExprn::; 
5 0  =3618 
6 3618  .ent:; 
7 3618   call     ; @3618
7+13618 7322411004503 lnk advance.lnk:jmp advance.ent 
8 3619  L3619.ent:; 
9 3619  .3619:; 
10 3619  _err46:; 
11 3619 1661044 lnk errlnk   ;error 46: incorrect desig exprn
12 3619+0607034 lod Link32   ;
13 3620   call     ; @3620
13+13620 7323731005012 lnk push.lnk:jmp push.ent 
14 3621 0604340 lod K2b   ;=2
15 3621+0120600 sub token   ;
16 3622 1047135 jz .8   ; @3622
17 3622+0105552 add W2922   ;
18 3623 1047146 jz .10   ;
19 3623+0603427 lod idptr   ;
20 3624 0067032 and W3610   ; @3624
21 3624+1044772 jz error2   ;error
22 3625 0603427 lod idptr   ;
23 3625+0064320 and IntBit   ;
24 3626 1047156 jz .11   ; @3626
25 3626+1004772 jmp error2   ;error
26 3627  ;
27 3627  .1:; 
28 3627 0544300 cls W2240   ;
29 3627+0603427 lod idptr   ;
30 3628   call     ; @3628
30+13628 7323731005012 lnk push.lnk:jmp push.ent 
31 3629 0444300 inc W2240   ;
32 3629+0603427 lod idptr   ;
33 3630 0064322 and TBool   ; @3630
34 3630+1047060 jz .2   ;
35 3631 0547035 cls W3613   ;
36 3631+1007115 jmp .4   ;
37 3632  ;
38 3632  .2:; 
39 3632 0603430 lod W1816   ; @3632
40 3632+0407036 sto W3614   ;
41 3633   call     ;
41+13633 7322411004503 lnk advance.lnk:jmp advance.ent 
42 3634 0600600 lod token   ; @3634
43 3634+0124323 sub K47   ;=47 [(]
44 3635   jnz     ;
44+13635 1047064 jz .1    
44+23635+1105140 jmp _err26    
44+33636  .1:; 
45 3636   call     ; @3636
45+13636 7323131004627 lnk expression.lnk:jmp expression.ent 
46 3637 0604305 lod W2245   ;
47 3637+0404306 sto W2246   ;
48 3638 0124320 sub IntBit   ; @3638
49 3638+1047070 jz .3   ;
50 3639   call     ;
50+13639 7320121007410 lnk L3848.lnk:jmp L3848.ent 
51 3640  .3:; 
52 3640 0600600 lod token   ; @3640
53 3640+0124327 sub K48   ;=48 [)]
54 3641   jnz     ;
54+13641 1047072 jz .1    
54+23641+1105140 jmp _err26    
54+33642  .1:; 
55 3642 1667035 lnk W3613   ; @3642
56 3642+0604356 lod TmpFlg   ;=040000
57 3643   call     ;
57+13643 7320121007154 lnk L3692.lnk:jmp L3692.ent 
58 3644   call     ; @3644
58+13644 7320121007153 lnk L3691.lnk:jmp L3691.ent 
59 3645   pad     ;
59+13645 0000000 00 0    
60 3645+0040000 o02 0   ;
61 3646 0021422400000 o00 constptr/sto 0; @3646
62 3647 0604304 lod constptr   ;
63 3647+0404031 sto IdInfo   ;
64 3648   call     ; @3648
64+13648 7320121007155 lnk L3693.lnk:jmp L3693.ent 
65 3649   call     ;
65+13649 7323761005021 lnk SaveTemp.lnk:jmp SaveTemp.ent 
66 3650 0604304 lod constptr   ; @3650
67 3650+0404031 sto IdInfo   ;
68 3651 0034172577776 o00 W3614/lod -2;
69 3652 0062222 and K8191   ; @3652
70 3652+0000000 o00 0   ;
71 3653 0021422200000 o00 constptr/exa 0;
72 3654 0562161 o27 wsptr   ; @3654
73 3654+0562151 o27 stkp   ;
74 3655   call     ;
74+13655 7320121004032 lnk gencode1.lnk:jmp gencode1.ent 
75 3656 0010646600000 o00 stkp/lod 0; @3656
76 3657 0404031 sto IdInfo   ;
77 3657+0404306 sto W2246   ;
78 3658   call     ; @3658
78+13658 7320121007155 lnk L3693.lnk:jmp L3693.ent 
79 3659 0000000000000 +0 
80 3660   call     ; @3660
80+13660 7320121007153 lnk L3691.lnk:jmp L3691.ent 
81 3661  .4:; 
82 3661 0010646577777 o00 stkp/lod -1;
83 3662 0407040 sto W3616   ; @3662
84 3662+1220027 srl 23   ;
85 3663 0064362 and K127   ;
86 3663+0122144 sub W1124   ;
87 3664 1047124 jz .6   ; @3664
88 3664+0407036 sto W3614   ;
89 3665 0447036 inc W3614   ;
90 3665+ .5:; 
91 3665+0603521 lod GPs+44   ;=GP7F 3,00
92 3666   call     ; @3666
92+13666 7320121004033 lnk gencode.lnk:jmp gencode.ent 
93 3667 0647036 lis W3614   ;
94 3667+1127121 jn .5   ;
95 3668  .6:; 
96 3668 0607040 lod W3616   ; @3668
97 3668+0067033 and W3611   ;=0000036017777
98 3669 0404031 sto IdInfo   ;
99 3669+0607035 lod W3613   ;
100 3670 1047127 jz .7   ; @3670
101 3670+0602237 lod K19b   ;=19
102 3671  .7:; 
103 3671 2000022603522 sto 4/lod GPs+45;
104 3672   call     ; @3672
104+13672 7320121004033 lnk gencode.lnk:jmp gencode.ent 
105 3673   call     ;
105+13673 7322411004503 lnk advance.lnk:jmp advance.ent 
106 3674   pad     ; @3674
106+13674 0000000 00 0    
107 3674+ ;
108 3674+ ; pop (2/n) words from stack, use 2nd word as return address
109 3674+ ;
110 3674+ Pop2:; 
111 3674+0604340 lod K2b   ;=2 common usage
112 3675  UnwindN:; 
113 3675 2710646600000 o27 stkp/lod 0; unstack return address
114 3676 2000023000001 sto 4/jmp 1; return +1 @3676
115 3677  ;--------------------------------------------------------------------
116 3677  ;
117 3677  .8:; 
118 3677 0545230 cls W2712   ; @3677
119 3677+0000000 o00 0   ;
120 3678   call     ; @3678
120+13678 7325115005260 lnk compif.lnk:jmp compif.ent 
121 3679   call     ;call 3619
121+13679 7334161007043 lnk L3619.lnk:jmp L3619.ent 
122 3680 0600600 lod token   ; @3680
123 3680+0124370 sub W2296   ;
124 3681   jnz     ;
124+13681 1047142 jz .1    
124+23681+1105236 jmp _err28    
124+33682  .1:; 
125 3682   call     ; @3682
125+13682 7320121007405 lnk L3845.lnk:jmp L3845.ent 
126 3683   call     ;
126+13683 7334161007042 lnk DesigExprn.lnk:jmp DesigExprn.ent 
127 3684  .9:; 
128 3684   call     ; @3684
128+13684 7306371101531 lnk putcode6.lnk:jmp putcode6.ent 
129 3685 0040000 o02 0   ;=1
130 3685+1007133 jmp UnwindN   ;-> pop 1 word and return
131 3686  ;-----------------
132 3686  ;
133 3686  .10:; 
134 3686   call     ; @3686
134+13686 7334161007042 lnk DesigExprn.lnk:jmp DesigExprn.ent 
135 3687 0600600 lod token   ;
136 3687+0124327 sub K48   ;=48 [)]
137 3688   jnz     ;
137+13688 1047151 jz .1    
137+23688+1105140 jmp _err26    
137+33689  .1:; 
138 3689   call     ;
138+13689 7322411004503 lnk advance.lnk:jmp advance.ent 
139 3690 0040000 o02 0   ; @3690
140 3690+1007133 jmp UnwindN   ;-> pop 1 word and return
141 3691  ;--------------------------------------------------------------------
142 3691  ; interfaces to gencode etc.
143 3691  ;
144 3691  L3691.ent:; 
145 3691 0604356 lod TmpFlg   ;=040000
146 3691+1220001 srl 1   ;
147 3692  L3692.ent:; 
148 3692 0103554 add GPs+71   ;=GP2F 9,44 @3692
149 3692+1004033 jmp gencode.ent   ;
150 3693  ;
151 3693  L3693.ent:; 
152 3693 0603464 lod GPs+15   ;=04000000120001
153 3693+1004033 jmp gencode.ent   ;
154 3694  ;--------------------------------------------------------------------
155 3694  ;
156 3694  ;L3694:
157 3694  .11:; 
158 3694 0602153 lod W1131   ; @3694
159 3694+1047053 jz .1   ;
160 3695 0603427 lod idptr   ;
161 3695+1220027 srl 23   ;
162 3696 0064362 and K127   ; @3696
163 3696+0162153 bus W1131   ;
164 3697 1027053 jn .1   ;
165 3697+1047163 jz .12   ;
166 3698 1661044_err12:lnk errlnk   ;error 12: goto out of procedure @3698
167 3698+1001070 jmp Error   ;error routine
168 3699  ;
169 3699  .12:; 
170 3699 0603427 lod idptr   ;
171 3699+0064367 and Bit33a   ;=0040000000000
172 3700 1047162 jz _err12   ; @3700
173 3700+1007053 jmp .1   ;
174 3701  ;--------------------------------------------------------------