// 1 mcode /* Embedded assembler is allowed */ // 2 begin #include <stdio.h> // This source assumes GCC extensions to allow nested procedures and dynamic array bounds void caption(char *s) { while (*s != '\0') { if (*s == '\\') *s = '\n'; if (*s == '_') *s = ' '; fputc(*s, stdout); s += 1; } } int main(int argc, char **argv) { // 3 integerI,J,K,NLIB,LFLAG,DEVNO,LISTFLAG,M10,M13 int I; int J; int K; int NLIB; int LFLAG; int DEVNO; int LISTFLAG; int M10; int M13; // 4 integerLINE,LENGTH,Q,N0,NUM,NEXT,V,FAULTY,N,NR int LINE; int LENGTH; int Q; int N0; int NUM; int NEXT; int V; int FAULTY; int N; int NR; // 5 integerR,QU,PLABEL,LEVEL,MCSWITCH,PERM,AFLAG,DFLAG,OVERFLAG int R; int QU; int PLABEL; int LEVEL; int MCSWITCH; int PERM; int AFLAG; int DFLAG; int OVERFLAG; // 6 integerV0,PPSTART,PPCURR,ABC,FFLAG int V0; int PPSTART; int PPCURR; int ABC; int FFLAG; // 7 integerPTBLOCK,PCHSUM,PTDEV,PLSTART,PLCURR,PSSTART int PTBLOCK; int PCHSUM; int PTDEV; int PLSTART; int PLCURR; int PSSTART; // 8 integerPSCURR,COMPILER,DIAGS int PSCURR; int COMPILER; int DIAGS; // 9 integerTIMELIMIT,MARKER1,MARKER2,Q5,Q6,Q7 int TIMELIMIT; int MARKER1; int MARKER2; int Q5; int Q6; int Q7; // 10 integerarrayST(-3:2300),A(1:400),WORD,TAGS(-1:340),SL(1:120),LETT(1:620) int ST[(2300 )-(-3 )+1]; #define ST(idx) ST[(idx)-(-3 )] int A[(400 )-(1 )+1]; #define A(idx) A[(idx)-(1 )] int WORD[(340 )-(-1 )+1]; #define WORD(idx) WORD[(idx)-(-1 )] int TAGS[(340 )-(-1 )+1]; #define TAGS(idx) TAGS[(idx)-(-1 )] int SL[(120 )-(1 )+1]; #define SL(idx) SL[(idx)-(1 )] int LETT[(620 )-(1 )+1]; #define LETT(idx) LETT[(idx)-(1 )] // 11 integerarrayCC(0:300) int CC[(300 )-(0 )+1]; #define CC(idx) CC[(idx)-(0 )] // 12 integerarrayCYCLE,NAME,LABEL,JUMP,FLAG,RAL,SET,L,M,ARRDIM(0:10) int CYCLE[(10 )-(0 )+1]; #define CYCLE(idx) CYCLE[(idx)-(0 )] int NAME[(10 )-(0 )+1]; #define NAME(idx) NAME[(idx)-(0 )] int LABEL[(10 )-(0 )+1]; #define LABEL(idx) LABEL[(idx)-(0 )] int JUMP[(10 )-(0 )+1]; #define JUMP(idx) JUMP[(idx)-(0 )] int FLAG[(10 )-(0 )+1]; #define FLAG(idx) FLAG[(idx)-(0 )] int RAL[(10 )-(0 )+1]; #define RAL(idx) RAL[(idx)-(0 )] int SET[(10 )-(0 )+1]; #define SET(idx) SET[(idx)-(0 )] int L[(10 )-(0 )+1]; #define L(idx) L[(idx)-(0 )] int M[(10 )-(0 )+1]; #define M(idx) M[(idx)-(0 )] int ARRDIM[(10 )-(0 )+1]; #define ARRDIM(idx) ARRDIM[(idx)-(0 )] // 13 integerarrayRA(-3:200),PPBUF,PLBUF,PSBUF(-3:99),T(1:7) int RA[(200 )-(-3 )+1]; #define RA(idx) RA[(idx)-(-3 )] int PPBUF[(99 )-(-3 )+1]; #define PPBUF(idx) PPBUF[(idx)-(-3 )] int PLBUF[(99 )-(-3 )+1]; #define PLBUF(idx) PLBUF[(idx)-(-3 )] int PSBUF[(99 )-(-3 )+1]; #define PSBUF(idx) PSBUF[(idx)-(-3 )] int T[(7 )-(1 )+1]; #define T(idx) T[(idx)-(1 )] // 14 realA_,A__ double A_; double A__; // 15 routinespecCOMPARE void COMPARE(void); // 16 routinespecCSS void CSS(void); // 17 routinespecSPLASH(integerWARNING,integernameFROM) void SPLASH( int WARNING, int * /* THIS PARAMETER NEEDS A #define */ FROM ); // 18 routinespecINITIALISE void INITIALISE(void); // 19 routinespecDPCA void DPCA(void); // 20 integerfnspecCA int CA(void); // 21 T(1)=5 T(1 ) = 5 ; // 22 T(2)=6 T(2 ) = 6 ; // 23 T(3)=15 T(3 ) = 15 ; // 24 T(4)=8 T(4 ) = 8 ; // 25 T(5)=9 T(5 ) = 9 ; // 26 T(6)=15 T(6 ) = 15 ; // 27 T(7)=8 T(7 ) = 8 ; // 28 TIMELIMIT=120 TIMELIMIT = 120 ; // 29 *ZERO KDF9_ZERO(); // 30 *NOT KDF9_NOT(); // 31 *SHL-9 /* To do: kdf9 instruction */ // 32 *SET47 /* To do: kdf9 instruction */ // 33 *FLOAT KDF9_FLOAT(); // 34 **=A__ /* To do: kdf9 instruction */ // 35 ABC=0 ABC = 0 ; // 36 *JS98P /* To do: kdf9 instruction */ // 37 cycleJ=1,1,5 for (J = 1 ; J != (5 )+(1 ); J += 1 ) { // 38 SKIPSYMBOL SKIPSYMBOL(); // 39 repeat } // 40 READ(K) READ(K ); // 41 integerarrayCLETT(1:K) int CLETT[(K )-(1 )+1]; #define CLETT(idx) CLETT[(idx)-(1 )] // 42 cycleJ=1,1,K for (J = 1 ; J != (K )+(1 ); J += 1 ) { // 43 READ(CLETT(J)) READ(CLETT(J ) ); // 44 repeat } // 45 READ(K) READ(K ); // 46 integerarraySYMBOL(1300:K) int SYMBOL[(K )-(1300 )+1]; #define SYMBOL(idx) SYMBOL[(idx)-(1300 )] // 47 cycleJ=1300,1,K for (J = 1300 ; J != (K )+(1 ); J += 1 ) { // 48 READ(SYMBOL(J)) READ(SYMBOL(J ) ); // 49 repeat } // 50 READ(K) READ(K ); // 51 LFLAG=0 LFLAG = 0 ; // 52 LISTFLAG=0 LISTFLAG = 0 ; // 53 NLIB=90 NLIB = 90 ; // 54 *SET58P: /* To do: kdf9 instruction */ // 55 *=E160 /* To do: kdf9 instruction */ // 56 DIAGS=0 DIAGS = 0 ; // 57 OVERFLAG=1 OVERFLAG = 1 ; // 58 DFLAG=0 DFLAG = 0 ; // 59 FAULTY=0 FAULTY = 0 ; // 60 N0=4 N0 = 4 ; // 61 N=2 N = 2 ; // 62 NR=0 NR = 0 ; // 63 MCSWITCH=0 MCSWITCH = 0 ; // 64 PERM=1 PERM = 1 ; // 65 COMPILER=1 COMPILER = 1 ; // 66 QU=1 QU = 1 ; // 67 PLABEL=50000 PLABEL = 50000 ; // 68 LEVEL=0 LEVEL = 0 ; // 69 cycleJ=2300,-1,801 for (J = 2300 ; J != (801 )+(-1 ); J += -1 ) { // 70 ST(J)=J-1 ST(J ) = J -1 ; // 71 repeat } // 72 ST(800)=0 ST(800 ) = 0 ; // 73 J=-1 J = -1 ; // 74 cycleI=0,1,10 for (I = 0 ; I != (10 )+(1 ); I += 1 ) { // 75 ARRDIM(I)=0 ARRDIM(I ) = 0 ; // 76 CYCLE(I)=J CYCLE(I ) = J ; // 77 NAME(I)=J NAME(I ) = J ; // 78 LABEL(I)=J LABEL(I ) = J ; // 79 JUMP(I)=J JUMP(I ) = J ; // 80 repeat } // 81 cycleI=0,1,330 for (I = 0 ; I != (330 )+(1 ); I += 1 ) { // 82 TAGS(I)=J TAGS(I ) = J ; // 83 repeat } // 84 cycleI=1,1,120 for (I = 1 ; I != (120 )+(1 ); I += 1 ) { // 85 SL(I)=0 SL(I ) = 0 ; // 86 RA(I)=0 RA(I ) = 0 ; // 87 repeat } // 88 comment INITIALISATION // INITIALISATION // 89 320: l_320:; // 90 *SET2300 /* To do: kdf9 instruction */ // 91 *DUP KDF9_DUP(); // 92 *=I9 /* To do: kdf9 instruction */ // 93 *=C9 /* To do: kdf9 instruction */ // 94 **@ST(0) /* To do: kdf9 instruction */ // 95 *=M9 /* To do: kdf9 instruction */ // 96 PPCURR=300*32768 PPCURR = 300 *32768 ; // 97 comment 0/150/0 // 0/150/0 // 98 INITIALISE INITIALISE(); // 99 ->342 goto l_342; // 100 routineINITIALISE void INITIALISE(void) { // 101 *C0TOQ1 /* To do: kdf9 instruction */ // 102 *C0TOQ3 /* To do: kdf9 instruction */ // 103 *C0TOQ4 /* To do: kdf9 instruction */ // 104 *SET419 /* To do: kdf9 instruction */ // 105 *=M13 /* To do: kdf9 instruction */ // 106 *M0M13 /* To do: kdf9 instruction */ // 107 *DUP KDF9_DUP(); // 108 **=PTDEV /* To do: kdf9 instruction */ // 109 *=C15 /* To do: kdf9 instruction */ // 110 **COMPILER /* To do: kdf9 instruction */ // 111 *J1=Z /* To do: kdf9 instruction */ // 112 *SET5 /* To do: kdf9 instruction */ // 113 *=M15 /* To do: kdf9 instruction */ // 114 *PMDQ15 /* To do: kdf9 instruction */ // 115 comment REWIND // REWIND // 116 *PMAQ15 /* To do: kdf9 instruction */ // 117 comment SKIP LABEL, CALL, AND POSSIBLY COMPILER // SKIP LABEL, CALL, AND POSSIBLY COMPILER // 118 1: l_1:; // 119 V0=65535 V0 = 65535 ; // 120 PTBLOCK=0 PTBLOCK = 0 ; // 121 PCHSUM=0 PCHSUM = 0 ; // 122 PLCURR=0 PLCURR = 0 ; // 123 PSCURR=65536 PSCURR = 65536 ; // 124 **@PPBUF(0) /* To do: kdf9 instruction */ // 125 **=PPSTART /* To do: kdf9 instruction */ // 126 **@PLBUF(0) /* To do: kdf9 instruction */ // 127 **=PLSTART /* To do: kdf9 instruction */ // 128 **@PSBUF(0) /* To do: kdf9 instruction */ // 129 **=PSSTART /* To do: kdf9 instruction */ // 130 cycleI=-3,1,99 for (I = -3 ; I != (99 )+(1 ); I += 1 ) { // 131 PPBUF(I)=0 PPBUF(I ) = 0 ; // 132 PLBUF(I)=0 PLBUF(I ) = 0 ; // 133 PSBUF(I)=0 PSBUF(I ) = 0 ; // 134 repeat } // 135 end } // 136 50P: p_50: // 137 **PPSTART /* To do: kdf9 instruction */ // 138 *=M14 /* To do: kdf9 instruction */ // 139 **PPCURR /* To do: kdf9 instruction */ // 140 *=Q15 /* To do: kdf9 instruction */ // 141 304: l_304:; // 142 *C15 KDF9_C(15); // 143 *NOT KDF9_NOT(); // 144 *NEG KDF9_NEG(); // 145 *DUP KDF9_DUP(); // 146 *SET-8 /* To do: kdf9 instruction */ // 147 *XD KDF9_XD(); // 148 *CONT KDF9_CONT(); // 149 *=C15 /* To do: kdf9 instruction */ // 150 *REV KDF9_REV(); // 151 *SET255 /* To do: kdf9 instruction */ // 152 *AND KDF9_AND(); // 153 *SHCC15 /* To do: kdf9 instruction */ // 154 *M14M15 /* To do: kdf9 instruction */ // 155 *OR KDF9_OR(); // 156 *=M14M15 /* To do: kdf9 instruction */ // 157 *SET6 /* To do: kdf9 instruction */ // 158 *J301# /* To do: kdf9 instruction */ // 159 *ERASE KDF9_ERASE(); // 160 *C0TOQ15 /* To do: kdf9 instruction */ // 161 54P: p_54: // 162 *SET1 /* To do: kdf9 instruction */ // 163 *=+M15 /* To do: kdf9 instruction */ // 164 *SET100 /* To do: kdf9 instruction */ // 165 *M15 KDF9_M(15); // 166 *J302# /* To do: kdf9 instruction */ // 167 *M0TOQ15 /* To do: kdf9 instruction */ // 168 *=+I15 /* To do: kdf9 instruction */ // 169 *Q14 KDF9_Q(14); // 170 *Q15 KDF9_Q(15); // 171 SPLASH(0,PPBUF(0)) SPLASH(0 , PPBUF(0 ) ); // 172 *=Q15 /* To do: kdf9 instruction */ // 173 *=Q14 /* To do: kdf9 instruction */ // 174 ->303 goto l_303; // 175 301: l_301:; // 176 *=C15 /* To do: kdf9 instruction */ // 177 ->303 goto l_303; // 178 302: l_302:; // 179 *ERASE KDF9_ERASE(); // 180 303: l_303:; // 181 *DC14 KDF9_DC(14); // 182 *J304C14NZ /* To do: kdf9 instruction */ // 183 *Q15 KDF9_Q(15); // 184 **=PPCURR /* To do: kdf9 instruction */ // 185 *EXIT1 KDF9_EXIT(1); // 186 52P: p_52: // 187 **PSSTART /* To do: kdf9 instruction */ // 188 **PSCURR /* To do: kdf9 instruction */ // 189 ->316 goto l_316; // 190 51P: p_51: // 191 **PLSTART /* To do: kdf9 instruction */ // 192 **PLCURR /* To do: kdf9 instruction */ // 193 316: l_316:; // 194 *=Q15 /* To do: kdf9 instruction */ // 195 *=M14 /* To do: kdf9 instruction */ // 196 *SET2 /* To do: kdf9 instruction */ // 197 *=C14 /* To do: kdf9 instruction */ // 198 314: l_314:; // 199 *C15 KDF9_C(15); // 200 *SET1 /* To do: kdf9 instruction */ // 201 *DUP KDF9_DUP(); // 202 *=+C15 /* To do: kdf9 instruction */ // 203 *- /* To do: kdf9 instruction */ // 204 *DUP KDF9_DUP(); // 205 *J310=Z /* To do: kdf9 instruction */ // 206 *J311>Z /* To do: kdf9 instruction */ // 207 *SHL32 /* To do: kdf9 instruction */ // 208 *=M14M15 /* To do: kdf9 instruction */ // 209 ->312 goto l_312; // 210 310: l_310:; // 211 *ERASE KDF9_ERASE(); // 212 **V0 /* To do: kdf9 instruction */ // 213 *AND KDF9_AND(); // 214 *SHL16 /* To do: kdf9 instruction */ // 215 *M14M15 /* To do: kdf9 instruction */ // 216 *OR KDF9_OR(); // 217 *=M14M15 /* To do: kdf9 instruction */ // 218 ->312 goto l_312; // 219 311: l_311:; // 220 **V0 /* To do: kdf9 instruction */ // 221 *AND KDF9_AND(); // 222 *M14M15 /* To do: kdf9 instruction */ // 223 *OR KDF9_OR(); // 224 *=M14M15 /* To do: kdf9 instruction */ // 225 *C0TOQ15 /* To do: kdf9 instruction */ // 226 *SET1 /* To do: kdf9 instruction */ // 227 *=+M15 /* To do: kdf9 instruction */ // 228 *SET100 /* To do: kdf9 instruction */ // 229 *M15 KDF9_M(15); // 230 *- /* To do: kdf9 instruction */ // 231 *J312#Z /* To do: kdf9 instruction */ // 232 *M0TOQ15 /* To do: kdf9 instruction */ // 233 *Q14 KDF9_Q(14); // 234 *Q15 KDF9_Q(15); // 235 *I15 KDF9_I(15); // 236 *J313#Z /* To do: kdf9 instruction */ // 237 SPLASH(1,PLBUF(0)) SPLASH(1 , PLBUF(0 ) ); // 238 ->317 goto l_317; // 239 313: l_313:; // 240 SPLASH(2,PSBUF(0)) SPLASH(2 , PSBUF(0 ) ); // 241 317: l_317:; // 242 *=Q15 /* To do: kdf9 instruction */ // 243 *=Q14 /* To do: kdf9 instruction */ // 244 312: l_312:; // 245 *DC14 KDF9_DC(14); // 246 *J314C14NZ /* To do: kdf9 instruction */ // 247 *Q15 KDF9_Q(15); // 248 *I15 KDF9_I(15); // 249 *J315#Z /* To do: kdf9 instruction */ // 250 **=PLCURR /* To do: kdf9 instruction */ // 251 *EXIT1 KDF9_EXIT(1); // 252 315: l_315:; // 253 **=PSCURR /* To do: kdf9 instruction */ // 254 *EXIT1 KDF9_EXIT(1); // 255 routineSPLASH(integerWARNING,integernameFROM) void SPLASH( int WARNING, int * /* THIS PARAMETER NEEDS A #define */ FROM ) { // 256 returnifFAULTY#0 if (FAULTY != 0 ) return; // 257 **@FROM /* To do: kdf9 instruction */ // 258 *DUP KDF9_DUP(); // 259 *=RM14 /* To do: kdf9 instruction */ // 260 *SET3 /* To do: kdf9 instruction */ // 261 *- /* To do: kdf9 instruction */ // 262 *DUP KDF9_DUP(); // 263 *=I15 /* To do: kdf9 instruction */ // 264 *SET100 /* To do: kdf9 instruction */ // 265 *=C14 /* To do: kdf9 instruction */ // 266 *ZERO KDF9_ZERO(); // 267 *VR KDF9_VR(); // 268 2: l_2:; // 269 *M0M14Q /* To do: kdf9 instruction */ // 270 *+ /* To do: kdf9 instruction */ // 271 *J1NV /* To do: kdf9 instruction */ // 272 *NOT KDF9_NOT(); // 273 *NEG KDF9_NEG(); // 274 1: l_1:; // 275 *J2C14NZ /* To do: kdf9 instruction */ // 276 *M-I14 /* To do: kdf9 instruction */ // 277 *M14TOQ15 /* To do: kdf9 instruction */ // 278 *REV KDF9_REV(); // 279 *=M14 /* To do: kdf9 instruction */ // 280 **PTBLOCK /* To do: kdf9 instruction */ // 281 *DUP KDF9_DUP(); // 282 *=M0M14Q /* To do: kdf9 instruction */ // 283 *NOT KDF9_NOT(); // 284 *NEG KDF9_NEG(); // 285 **=PTBLOCK /* To do: kdf9 instruction */ // 286 **WARNING /* To do: kdf9 instruction */ // 287 *=M0M14Q /* To do: kdf9 instruction */ // 288 *DUP KDF9_DUP(); // 289 *=M0M14Q /* To do: kdf9 instruction */ // 290 **PCHSUM /* To do: kdf9 instruction */ // 291 *+ /* To do: kdf9 instruction */ // 292 *J3NV /* To do: kdf9 instruction */ // 293 *NOT KDF9_NOT(); // 294 *NEG KDF9_NEG(); // 295 3: l_3:; // 296 **=PCHSUM /* To do: kdf9 instruction */ // 297 **PTDEV /* To do: kdf9 instruction */ // 298 *=C15 /* To do: kdf9 instruction */ // 299 *POAQ15 /* To do: kdf9 instruction */ // 300 comment MWQ 15 // MWQ 15 // 301 *SET100 /* To do: kdf9 instruction */ // 302 *=C14 /* To do: kdf9 instruction */ // 303 5: l_5:; // 304 *ZERO KDF9_ZERO(); // 305 *=M0M14Q /* To do: kdf9 instruction */ // 306 *J5C14NZ /* To do: kdf9 instruction */ // 307 end } // 308 routineDPCA void DPCA(void) { // 309 integerP int P; // 310 ->1ifLFLAG=1 if (LFLAG == 1 ) goto l_1; // 311 **PPCURR /* To do: kdf9 instruction */ // 312 *=Q14 /* To do: kdf9 instruction */ // 313 *M+I14 /* To do: kdf9 instruction */ // 314 *M14 KDF9_M(14); // 315 *C14 KDF9_C(14); // 316 *SET7 /* To do: kdf9 instruction */ // 317 *AND KDF9_AND(); // 318 **=P /* To do: kdf9 instruction */ // 319 WRITE(P,3) WRITE(P , 3 ); // 320 PRINTSYMBOL('/') PRINTSYMBOL('/' ); // 321 **=P /* To do: kdf9 instruction */ // 322 WRITE(P,3) WRITE(P , 3 ); // 323 1: l_1:; // 324 end } // 325 integerfnCA int CA(void) { // 326 **PPCURR /* To do: kdf9 instruction */ // 327 *DUP KDF9_DUP(); // 328 *=Q14 /* To do: kdf9 instruction */ // 329 *M+I14 /* To do: kdf9 instruction */ // 330 *SHL-19 /* To do: kdf9 instruction */ // 331 *SETB160000 /* To do: kdf9 instruction */ // 332 *AND KDF9_AND(); // 333 *M14 KDF9_M(14); // 334 *+ /* To do: kdf9 instruction */ // 335 return return; // 336 end } // 337 routineDUMP void DUMP(void) { // 338 integerI int I; // 339 caption\\PROGRAM (+PERM) OCCUPIES caption("\n\nPROGRAM (+PERM) OCCUPIES") // 340 **CA /* To do: kdf9 instruction */ // 341 *SETB17777 /* To do: kdf9 instruction */ // 342 *AND KDF9_AND(); // 343 **=I /* To do: kdf9 instruction */ // 344 WRITE(I+N0+NR,1) WRITE(I +N0 +NR , 1 ); // 345 PRINTSYMBOL('(') PRINTSYMBOL('(' ); // 346 WRITE(I,5) WRITE(I , 5 ); // 347 caption) WORDS caption(") WORDS") // 348 ->8ifFAULTY=0 if (FAULTY == 0 ) goto l_8; // 349 caption\PROGRAM FAULTY caption("\nPROGRAM FAULTY") // 350 stop exit(0); // 351 10: l_10:; // 352 caption\PROGRAM TOO BIG\ caption("\nPROGRAM TOO BIG\n") // 353 stop exit(0); // 354 8: l_8:; // 355 ST(0)=N0 ST(0 ) = N0 ; // 356 ST(1)=NR ST(1 ) = NR ; // 357 **PPCURR /* To do: kdf9 instruction */ // 358 *=Q15 /* To do: kdf9 instruction */ // 359 *M15 KDF9_M(15); // 360 *I15 KDF9_I(15); // 361 *+ /* To do: kdf9 instruction */ // 362 *SET8191 /* To do: kdf9 instruction */ // 363 *- /* To do: kdf9 instruction */ // 364 *J10>Z /* To do: kdf9 instruction */ // 365 *J1C15NZ /* To do: kdf9 instruction */ // 366 *M15 KDF9_M(15); // 367 *J2=Z /* To do: kdf9 instruction */ // 368 1: l_1:; // 369 SPLASH(0,PPBUF(0)) SPLASH(0 , PPBUF(0 ) ); // 370 2: l_2:; // 371 **PLCURR /* To do: kdf9 instruction */ // 372 *J3=Z /* To do: kdf9 instruction */ // 373 SPLASH(1,PLBUF(0)) SPLASH(1 , PLBUF(0 ) ); // 374 3: l_3:; // 375 **PSCURR /* To do: kdf9 instruction */ // 376 *=Q15 /* To do: kdf9 instruction */ // 377 *J4C15NZ /* To do: kdf9 instruction */ // 378 *M15 KDF9_M(15); // 379 *J5=Z /* To do: kdf9 instruction */ // 380 4: l_4:; // 381 SPLASH(2,PSBUF(0)) SPLASH(2 , PSBUF(0 ) ); // 382 5: l_5:; // 383 I=0 I = 0 ; // 384 6: l_6:; // 385 SPLASH(3,ST(I)) SPLASH(3 , ST(I ) ); // 386 I=I+100 I = I +100 ; // 387 ->6ifI<N0 if (I < N0 ) goto l_6; // 388 I=0 I = 0 ; // 389 7: l_7:; // 390 SPLASH(4,RA(I)) SPLASH(4 , RA(I ) ); // 391 I=I+100 I = I +100 ; // 392 ->7ifI<NR if (I < NR ) goto l_7; // 393 ST(0)=PCHSUM ST(0 ) = PCHSUM ; // 394 SPLASH(7,ST(0)) SPLASH(7 , ST(0 ) ); // 395 *E419 /* To do: kdf9 instruction */ // 396 *=RC15 /* To do: kdf9 instruction */ // 397 *ZERO KDF9_ZERO(); // 398 *NOT KDF9_NOT(); // 399 **=WORD(-1) /* To do: kdf9 instruction */ // 400 **@WORD(-1) /* To do: kdf9 instruction */ // 401 *DUP KDF9_DUP(); // 402 *=I15 /* To do: kdf9 instruction */ // 403 *SET341 /* To do: kdf9 instruction */ // 404 *+ /* To do: kdf9 instruction */ // 405 *=M15 /* To do: kdf9 instruction */ // 406 *POAQ15 /* To do: kdf9 instruction */ // 407 **@LETT(1) /* To do: kdf9 instruction */ // 408 *DUP KDF9_DUP(); // 409 *=I15 /* To do: kdf9 instruction */ // 410 *SET619 /* To do: kdf9 instruction */ // 411 *+ /* To do: kdf9 instruction */ // 412 *=M15 /* To do: kdf9 instruction */ // 413 *POAQ15 /* To do: kdf9 instruction */ // 414 *PMDQ15 /* To do: kdf9 instruction */ // 415 caption\PROGRAM DUMPED\COMPILING TIME caption("\nPROGRAM DUMPED\nCOMPILING TIME ") // 416 *SET9 /* To do: kdf9 instruction */ // 417 *OUT KDF9_OUT(); // 418 *SHL-24 /* To do: kdf9 instruction */ // 419 *SET91P: /* To do: kdf9 instruction */ // 420 *=M13 /* To do: kdf9 instruction */ // 421 *M0M13 /* To do: kdf9 instruction */ // 422 *- /* To do: kdf9 instruction */ // 423 *JS2P /* To do: kdf9 instruction */ // 424 caption / caption(" / ") // 425 *SET3 /* To do: kdf9 instruction */ // 426 *OUT KDF9_OUT(); // 427 *SHL-24 /* To do: kdf9 instruction */ // 428 *SET91P: /* To do: kdf9 instruction */ // 429 *=M13 /* To do: kdf9 instruction */ // 430 *M0M13N /* To do: kdf9 instruction */ // 431 *- /* To do: kdf9 instruction */ // 432 *JS2P /* To do: kdf9 instruction */ // 433 15: l_15:; // 434 *E384 /* To do: kdf9 instruction */ // 435 *=Q15 /* To do: kdf9 instruction */ // 436 *BUSYQ15 KDF9_BUSYQ(15); // 437 *J15TR /* To do: kdf9 instruction */ // 438 NEWLINE NEWLINE(); // 439 **TIMELIMIT /* To do: kdf9 instruction */ // 440 **PTDEV /* To do: kdf9 instruction */ // 441 *SET4 /* To do: kdf9 instruction */ // 442 *=M1 /* To do: kdf9 instruction */ // 443 *Q0TOQ11 /* To do: kdf9 instruction */ // 444 *=C1 /* To do: kdf9 instruction */ // 445 comment DEVICE // DEVICE // 446 *PMDQ1 /* To do: kdf9 instruction */ // 447 comment REWIND // REWIND // 448 *PMAQ1 /* To do: kdf9 instruction */ // 449 ! SKIP LABEL + 3 DUMMIES // SKIP LABEL + 3 DUMMIES // 450 **COMPILER /* To do: kdf9 instruction */ // 451 *J14=Z /* To do: kdf9 instruction */ // 452 *MANUALQ1 KDF9_MANUALQ(1); // 453 *ZERO KDF9_ZERO(); // 454 *OUT KDF9_OUT(); // 455 14: l_14:; // 456 *SET8 /* To do: kdf9 instruction */ // 457 *=I15 /* To do: kdf9 instruction */ // 458 *SET120 /* To do: kdf9 instruction */ // 459 *=M15 /* To do: kdf9 instruction */ // 460 *C1TOQ15 /* To do: kdf9 instruction */ // 461 *PIAQ15 /* To do: kdf9 instruction */ // 462 *ZERO KDF9_ZERO(); // 463 *=LINK /* To do: kdf9 instruction */ // 464 *EXIT31 KDF9_EXIT(31); // 465 !TO LOADER //TO LOADER // 466 end } // 467 342: l_342:; // 468 comment SET UP $ AND ^2 // SET UP $ AND ^2 // 469 *SET+2 /* To do: kdf9 instruction */ // 470 *=M13 /* To do: kdf9 instruction */ // 471 *SETB401 /* To do: kdf9 instruction */ // 472 *SHL+38 /* To do: kdf9 instruction */ // 473 *=M13M9 /* To do: kdf9 instruction */ // 474 *SET+3 /* To do: kdf9 instruction */ // 475 *=M13 /* To do: kdf9 instruction */ // 476 *SETB40544 /* To do: kdf9 instruction */ // 477 *=C14 /* To do: kdf9 instruction */ // 478 *SETB103755 /* To do: kdf9 instruction */ // 479 *=I14 /* To do: kdf9 instruction */ // 480 *SETB50421 /* To do: kdf9 instruction */ // 481 *=M14 /* To do: kdf9 instruction */ // 482 *Q14 KDF9_Q(14); // 483 *=M13M9 /* To do: kdf9 instruction */ // 484 *ZERO KDF9_ZERO(); // 485 **=NUM /* To do: kdf9 instruction */ // 486 ! NUM = 0 // NUM = 0 // 487 *ZERO KDF9_ZERO(); // 488 *NOT KDF9_NOT(); // 489 *DUP KDF9_DUP(); // 490 **=LINE /* To do: kdf9 instruction */ // 491 ! LINE = -1 // LINE = -1 // 492 *NEG KDF9_NEG(); // 493 **=NEXT /* To do: kdf9 instruction */ // 494 ! NEXT = 1 // NEXT = 1 // 495 **@A(0) /* To do: kdf9 instruction */ // 496 *=M15 /* To do: kdf9 instruction */ // 497 *SET48 /* To do: kdf9 instruction */ // 498 ! '0' // '0' // 499 *=I15 /* To do: kdf9 instruction */ // 500 **@SYMBOL(0) /* To do: kdf9 instruction */ // 501 *=C15 /* To do: kdf9 instruction */ // 502 *Q15 KDF9_Q(15); // 503 **=Q5 /* To do: kdf9 instruction */ // 504 ! STORE @SYMBOL(0)/'0'/@A(0) // STORE @SYMBOL(0)/'0'/@A(0) // 505 *I12 KDF9_I(12); // 506 ! * SET 1 // * SET 1 // 507 *=RM15 /* To do: kdf9 instruction */ // 508 *Q15 KDF9_Q(15); // 509 **=Q6 /* To do: kdf9 instruction */ // 510 ! STORE @CWORD(0)/1/1 // STORE @CWORD(0)/1/1 // 511 **@CC(0) /* To do: kdf9 instruction */ // 512 *=M15 /* To do: kdf9 instruction */ // 513 *SET57 /* To do: kdf9 instruction */ // 514 ! '9' // '9' // 515 *=I15 /* To do: kdf9 instruction */ // 516 **@CLETT(0) /* To do: kdf9 instruction */ // 517 *=C15 /* To do: kdf9 instruction */ // 518 *Q15 KDF9_Q(15); // 519 **=Q7 /* To do: kdf9 instruction */ // 520 ! STORE @CLETT(0)/'9'/@CC(0) // STORE @CLETT(0)/'9'/@CC(0) // 521 **@LETT(0) /* To do: kdf9 instruction */ // 522 *=M15 /* To do: kdf9 instruction */ // 523 *SET6 /* To do: kdf9 instruction */ // 524 *DUP KDF9_DUP(); // 525 *=I15 /* To do: kdf9 instruction */ // 526 *=C15 /* To do: kdf9 instruction */ // 527 *Q15 KDF9_Q(15); // 528 **=V /* To do: kdf9 instruction */ // 529 ! STORE 6/6/@LETT(0) // STORE 6/6/@LETT(0) // 530 8: l_8:; // 531 *I12 KDF9_I(12); // 532 *=RC14 /* To do: kdf9 instruction */ // 533 ! M14 = LENGTH, C14 = LENGTH' // M14 = LENGTH, C14 = LENGTH' // 534 **Q7 /* To do: kdf9 instruction */ // 535 ! SET M7 = @CC(0) // SET M7 = @CC(0) // 536 *=Q7 /* To do: kdf9 instruction */ // 537 **Q5 /* To do: kdf9 instruction */ // 538 *=RM6 /* To do: kdf9 instruction */ // 539 *ZERO KDF9_ZERO(); // 540 *J2NV /* To do: kdf9 instruction */ // 541 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 542 WRITE(LINE,4) WRITE(LINE , 4 ); // 543 caption OVERFLOW SET DURING COMPILATION\ caption(" OVERFLOW SET DURING COMPILATION\n") // 544 FAULTY=1 FAULTY = 1 ; // 545 ->8 goto l_8; // 546 2: l_2:; // 547 *C0TOQ4 /* To do: kdf9 instruction */ // 548 *ERASE KDF9_ERASE(); // 549 1: l_1:; // 550 *Q14 KDF9_Q(14); // 551 *JS49P /* To do: kdf9 instruction */ // 552 ! READ CHAR // READ CHAR // 553 *DUP KDF9_DUP(); // 554 *=M0M6QN /* To do: kdf9 instruction */ // 555 *REV KDF9_REV(); // 556 *C6 KDF9_C(6); // 557 *SET399 /* To do: kdf9 instruction */ // 558 *+ /* To do: kdf9 instruction */ // 559 *J39=Z /* To do: kdf9 instruction */ // 560 *=Q14 /* To do: kdf9 instruction */ // 561 *SET32 /* To do: kdf9 instruction */ // 562 ! '_' // '_' // 563 *J2= /* To do: kdf9 instruction */ // 564 *SET37 /* To do: kdf9 instruction */ // 565 ! ' ' // ' ' // 566 *J20# /* To do: kdf9 instruction */ // 567 *=C4 /* To do: kdf9 instruction */ // 568 *J1 /* To do: kdf9 instruction */ // 569 20: l_20:; // 570 *J3C4Z /* To do: kdf9 instruction */ // 571 *DUP KDF9_DUP(); // 572 *SET65 /* To do: kdf9 instruction */ // 573 ! 'A' // 'A' // 574 *- /* To do: kdf9 instruction */ // 575 *J21<Z /* To do: kdf9 instruction */ // 576 *DUP KDF9_DUP(); // 577 *SET90 /* To do: kdf9 instruction */ // 578 ! 'Z' // 'Z' // 579 *- /* To do: kdf9 instruction */ // 580 *J21>Z /* To do: kdf9 instruction */ // 581 *SET128 /* To do: kdf9 instruction */ // 582 *OR KDF9_OR(); // 583 *J3 /* To do: kdf9 instruction */ // 584 21: l_21:; // 585 *C0TOQ4 /* To do: kdf9 instruction */ // 586 3: l_3:; // 587 *M+I14 /* To do: kdf9 instruction */ // 588 *DUP KDF9_DUP(); // 589 *=M7M14 /* To do: kdf9 instruction */ // 590 *SET10 /* To do: kdf9 instruction */ // 591 ! '\' // '\' // 592 *- /* To do: kdf9 instruction */ // 593 *J1#Z /* To do: kdf9 instruction */ // 594 *M14 KDF9_M(14); // 595 *C14 KDF9_C(14); // 596 *- /* To do: kdf9 instruction */ // 597 *M-I14 /* To do: kdf9 instruction */ // 598 *J8=Z /* To do: kdf9 instruction */ // 599 *M7M14 /* To do: kdf9 instruction */ // 600 *SET195 /* To do: kdf9 instruction */ // 601 ! '%C ' // '%C ' // 602 *- /* To do: kdf9 instruction */ // 603 *J4#Z /* To do: kdf9 instruction */ // 604 *M14 KDF9_M(14); // 605 *=C14 /* To do: kdf9 instruction */ // 606 *M-I14 /* To do: kdf9 instruction */ // 607 *Q14 KDF9_Q(14); // 608 1011: l_1011:; // 609 *JS49P /* To do: kdf9 instruction */ // 610 *SET10 /* To do: kdf9 instruction */ // 611 *- /* To do: kdf9 instruction */ // 612 *J1011=Z /* To do: kdf9 instruction */ // 613 *E227 /* To do: kdf9 instruction */ // 614 *=Q14 /* To do: kdf9 instruction */ // 615 *M-I14 /* To do: kdf9 instruction */ // 616 *Q14 KDF9_Q(14); // 617 *=E227 /* To do: kdf9 instruction */ // 618 *=Q14 /* To do: kdf9 instruction */ // 619 ! IGNORE NLS // IGNORE NLS // 620 *M-I6 /* To do: kdf9 instruction */ // 621 *M-I6 /* To do: kdf9 instruction */ // 622 *M0M6 /* To do: kdf9 instruction */ // 623 *SET37 /* To do: kdf9 instruction */ // 624 *- /* To do: kdf9 instruction */ // 625 *J1#Z /* To do: kdf9 instruction */ // 626 *M-I6 /* To do: kdf9 instruction */ // 627 ->1 goto l_1; // 628 4: l_4:; // 629 *M+I14 /* To do: kdf9 instruction */ // 630 *M14 KDF9_M(14); // 631 *DUP KDF9_DUP(); // 632 *SET300 /* To do: kdf9 instruction */ // 633 *- /* To do: kdf9 instruction */ // 634 *J39>Z /* To do: kdf9 instruction */ // 635 **=LENGTH /* To do: kdf9 instruction */ // 636 **LINE /* To do: kdf9 instruction */ // 637 *NOT KDF9_NOT(); // 638 *NEG KDF9_NEG(); // 639 **=LINE /* To do: kdf9 instruction */ // 640 *I12 KDF9_I(12); // 641 *=RM8 /* To do: kdf9 instruction */ // 642 5: l_5:; // 643 **LISTFLAG /* To do: kdf9 instruction */ // 644 *J5555=Z /* To do: kdf9 instruction */ // 645 WRITE(LINE,5) WRITE(LINE , 5 ); // 646 SPACES(3*LEVEL) SPACES(3 *LEVEL ); // 647 **Q5 /* To do: kdf9 instruction */ // 648 *=RM6 /* To do: kdf9 instruction */ // 649 *SET36P: /* To do: kdf9 instruction */ // 650 *=M14 /* To do: kdf9 instruction */ // 651 *M0M14 /* To do: kdf9 instruction */ // 652 *=Q15 /* To do: kdf9 instruction */ // 653 5543: l_5543:; // 654 *M0M6QN /* To do: kdf9 instruction */ // 655 *DUP KDF9_DUP(); // 656 *JS13P /* To do: kdf9 instruction */ // 657 *SET10 /* To do: kdf9 instruction */ // 658 *- /* To do: kdf9 instruction */ // 659 *J5543#Z /* To do: kdf9 instruction */ // 660 *Q15 KDF9_Q(15); // 661 *=M0M14 /* To do: kdf9 instruction */ // 662 5555: l_5555:; // 663 **Q5 /* To do: kdf9 instruction */ // 664 *=Q5 /* To do: kdf9 instruction */ // 665 **Q6 /* To do: kdf9 instruction */ // 666 *=Q6 /* To do: kdf9 instruction */ // 667 **Q7 /* To do: kdf9 instruction */ // 668 *=Q7 /* To do: kdf9 instruction */ // 669 **K /* To do: kdf9 instruction */ // 670 COMPARE COMPARE(); // 671 4565: l_4565:; // 672 *J6C8Z /* To do: kdf9 instruction */ // 673 *M6 KDF9_M(6); // 674 *SET380 /* To do: kdf9 instruction */ // 675 *- /* To do: kdf9 instruction */ // 676 *J11>Z /* To do: kdf9 instruction */ // 677 CSS CSS(); // 678 4566: l_4566:; // 679 **A(1) /* To do: kdf9 instruction */ // 680 *SET15 /* To do: kdf9 instruction */ // 681 *- /* To do: kdf9 instruction */ // 682 *J7=Z /* To do: kdf9 instruction */ // 683 *M8 KDF9_M(8); // 684 **LENGTH /* To do: kdf9 instruction */ // 685 *- /* To do: kdf9 instruction */ // 686 *J8=Z /* To do: kdf9 instruction */ // 687 ->5555 goto l_5555; // 688 11: l_11:; // 689 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 690 WRITE(LINE,4) WRITE(LINE , 4 ); // 691 caption: LONG ANALYSIS RECORD\ caption(": LONG ANALYSIS RECORD\n") // 692 stop exit(0); // 693 39: l_39:; // 694 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 695 WRITE(LINE,4) WRITE(LINE , 4 ); // 696 caption: > 300 CHARS\ caption(": > 300 CHARS\n") // 697 stop exit(0); // 698 6: l_6:; // 699 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 700 WRITE(LINE,4) WRITE(LINE , 4 ); // 701 caption: INSTRUCTION NOT RECOGNISED\ caption(": INSTRUCTION NOT RECOGNISED\n") // 702 *I12 KDF9_I(12); // 703 ifFAULTY=1then->5556 if (FAULTY == 1 ) goto l_5556; // 704 *E418 /* To do: kdf9 instruction */ // 705 *=RC15 /* To do: kdf9 instruction */ // 706 *E444 /* To do: kdf9 instruction */ // 707 *=M15 /* To do: kdf9 instruction */ // 708 *PMEQ15 /* To do: kdf9 instruction */ // 709 *ZERO KDF9_ZERO(); // 710 *=E444 /* To do: kdf9 instruction */ // 711 *E435 /* To do: kdf9 instruction */ // 712 *SET1 /* To do: kdf9 instruction */ // 713 *=C15 /* To do: kdf9 instruction */ // 714 *JS25P /* To do: kdf9 instruction */ // 715 stopunlessLFLAG=0 if (!(LFLAG == 0 )) exit(0); // 716 5556: l_5556:; // 717 **=FAULTY /* To do: kdf9 instruction */ // 718 **LENGTH /* To do: kdf9 instruction */ // 719 *=M14 /* To do: kdf9 instruction */ // 720 *Q8TOQ15 /* To do: kdf9 instruction */ // 721 **Q7 /* To do: kdf9 instruction */ // 722 *=Q7 /* To do: kdf9 instruction */ // 723 13: l_13:; // 724 *M7M15 /* To do: kdf9 instruction */ // 725 *SET59 /* To do: kdf9 instruction */ // 726 ! ':,' // ':,' // 727 *- /* To do: kdf9 instruction */ // 728 *J12#Z /* To do: kdf9 instruction */ // 729 *M7M15N /* To do: kdf9 instruction */ // 730 *SET10 /* To do: kdf9 instruction */ // 731 ! '\' // '\' // 732 *- /* To do: kdf9 instruction */ // 733 *J9#Z /* To do: kdf9 instruction */ // 734 12: l_12:; // 735 *M+I15 /* To do: kdf9 instruction */ // 736 *M15 KDF9_M(15); // 737 *M14 KDF9_M(14); // 738 *- /* To do: kdf9 instruction */ // 739 *J13#Z /* To do: kdf9 instruction */ // 740 9: l_9:; // 741 begin { // 742 integerPC int PC; // 743 PC=0 PC = 0 ; // 744 *M8 KDF9_M(8); // 745 **=Q /* To do: kdf9 instruction */ // 746 *M15 KDF9_M(15); // 747 **=I /* To do: kdf9 instruction */ // 748 cycleJ=Q,1,I for (J = Q ; J != (I )+(1 ); J += 1 ) { // 749 ifPC=0then->1 if (PC == 0 ) goto l_1; // 750 ifCC(J)<128then->2 if (CC(J ) < 128 ) goto l_2; // 751 CC(J)=CC(J)-128 CC(J ) = CC(J ) -128 ; // 752 ->3 goto l_3; // 753 2: l_2:; // 754 PC=0 PC = 0 ; // 755 ->3 goto l_3; // 756 1: l_1:; // 757 ->3ifCC(J)<128 if (CC(J ) < 128 ) goto l_3; // 758 PRINTSYMBOL(37) PRINTSYMBOL(37 ); // 759 PC=1 PC = 1 ; // 760 CC(J)=CC(J)-128 CC(J ) = CC(J ) -128 ; // 761 3: l_3:; // 762 PRINTSYMBOL(CC(J)) PRINTSYMBOL(CC(J ) ); // 763 repeat } // 764 NEWLINE NEWLINE(); // 765 end } // 766 **I /* To do: kdf9 instruction */ // 767 **LENGTH /* To do: kdf9 instruction */ // 768 *- /* To do: kdf9 instruction */ // 769 *J8=Z /* To do: kdf9 instruction */ // 770 **I /* To do: kdf9 instruction */ // 771 *NOT KDF9_NOT(); // 772 *NEG KDF9_NEG(); // 773 *=M8 /* To do: kdf9 instruction */ // 774 ->5555 goto l_5555; // 775 7: l_7:; // 776 DUMP DUMP(); // 777 routineCOMPARE void COMPARE(void) { // 778 integerRA,RP,RQ,RR,RS,SAVE int RA; int RP; int RQ; int RR; int RS; int SAVE; // 779 switchBIP(1000:1009) // TO DO: switch table BIP should be dumped at end of this block // 780 ! Q5 = @SYMBOL(0) / 48 / @A(0) '0' = 48 // Q5 = @SYMBOL(0) / 48 / @A(0) '0' = 48 // 781 ! Q6 = @CWORD(0) / 1 / R // Q6 = @CWORD(0) / 1 / R // 782 ! Q7 = @CLETT(0) / 57 / @CC(0) '9' = 57 // Q7 = @CLETT(0) / 57 / @CC(0) '9' = 57 // 783 ! Q8 = HIT / 1 / Q // Q8 = HIT / 1 / Q // 784 ! ENTER WITH P IN NS // ENTER WITH P IN NS // 785 *DUP KDF9_DUP(); // 786 *NOT KDF9_NOT(); // 787 *NEG KDF9_NEG(); // 788 **=RS /* To do: kdf9 instruction */ // 789 ! RS=P+1 // RS=P+1 // 790 *C5 KDF9_C(5); // 791 *+ /* To do: kdf9 instruction */ // 792 *=M13 /* To do: kdf9 instruction */ // 793 *M0M13 /* To do: kdf9 instruction */ // 794 **=RP /* To do: kdf9 instruction */ // 795 ! RP=SYMBOL(P) // RP=SYMBOL(P) // 796 *M0M13N /* To do: kdf9 instruction */ // 797 **=RA /* To do: kdf9 instruction */ // 798 ! RA =SYMBOL(P+1) // RA =SYMBOL(P+1) // 799 *M8 KDF9_M(8); // 800 **=RQ /* To do: kdf9 instruction */ // 801 ! RQ=Q // RQ=Q // 802 *M6 KDF9_M(6); // 803 **=RR /* To do: kdf9 instruction */ // 804 ! RR=R // RR=R // 805 *I6 KDF9_I(6); // 806 *=M5M6 /* To do: kdf9 instruction */ // 807 1: l_1:; // 808 *M+I6 /* To do: kdf9 instruction */ // 809 ! R=R+1 // R=R+1 // 810 BIP(1000): /* case */ BIP_1000: // 811 2: l_2:; // 812 **RS /* To do: kdf9 instruction */ // 813 *NOT KDF9_NOT(); // 814 *NEG KDF9_NEG(); // 815 *DUP KDF9_DUP(); // 816 **=RS /* To do: kdf9 instruction */ // 817 ! RS=RS+1 // RS=RS+1 // 818 **RA /* To do: kdf9 instruction */ // 819 *J8= /* To do: kdf9 instruction */ // 820 ! %IF RS=RA %THEN ->8 // %IF RS=RA %THEN ->8 // 821 *C5 KDF9_C(5); // 822 *+ /* To do: kdf9 instruction */ // 823 *=M13 /* To do: kdf9 instruction */ // 824 *M0M13 /* To do: kdf9 instruction */ // 825 *DUP KDF9_DUP(); // 826 *SET1300 /* To do: kdf9 instruction */ // 827 *- /* To do: kdf9 instruction */ // 828 *J4>=Z /* To do: kdf9 instruction */ // 829 ! %IF ITEM>=300 %THEN ->4 // %IF ITEM>=300 %THEN ->4 // 830 *DUP KDF9_DUP(); // 831 *SET1000 /* To do: kdf9 instruction */ // 832 *- /* To do: kdf9 instruction */ // 833 *J6>=Z /* To do: kdf9 instruction */ // 834 ! %IF ITEM>=200 %THEN ->6 // %IF ITEM>=200 %THEN ->6 // 835 *DUP KDF9_DUP(); // 836 *=RM14 /* To do: kdf9 instruction */ // 837 *C7 KDF9_C(7); // 838 *=M13 /* To do: kdf9 instruction */ // 839 *M13M14 /* To do: kdf9 instruction */ // 840 *+ /* To do: kdf9 instruction */ // 841 ! CLETT(I)+I // CLETT(I)+I // 842 *DUP KDF9_DUP(); // 843 *=M15 /* To do: kdf9 instruction */ // 844 *M14 KDF9_M(14); // 845 *- /* To do: kdf9 instruction */ // 846 *=C14 /* To do: kdf9 instruction */ // 847 * /* .ALIGN */ // 848 5: l_5:; // 849 *M13M14QN /* To do: kdf9 instruction */ // 850 *M7M8Q /* To do: kdf9 instruction */ // 851 *- /* To do: kdf9 instruction */ // 852 *J3#Z /* To do: kdf9 instruction */ // 853 ! %IF CLETT(I)# CC(Q) %THEN ->3 // %IF CLETT(I)# CC(Q) %THEN ->3 // 854 *J5C14NZS /* To do: kdf9 instruction */ // 855 ! %IF I<J %THEN ->5 // %IF I<J %THEN ->5 // 856 ->2 goto l_2; // 857 4: l_4:; // 858 COMPARE COMPARE(); // 859 *J2C8NZ /* To do: kdf9 instruction */ // 860 ! %IF HIT#0 %THEN ->2 // %IF HIT#0 %THEN ->2 // 861 !! There was some paper tape corruption here which may or may not have //! There was some paper tape corruption here which may or may not have // 862 !! been manually repaired correctly. //! been manually repaired correctly. // 863 !! The area with the error was: //! The area with the error was: // 864 ! *=M6 ;! R=RR // *=M6 ;! R=RR // 865 ! **RA // **RA // 866 ! `j~vp // `j~vp // 867 ! `````~Nw} ;! %IF RA=RP %THEN ->7 // `````~Nw} ;! %IF RA=RP %THEN ->7 // 868 ! *DUP // *DUP // 869 ! **=RS ;! RS=RA // **=RS ;! RS=RA // 870 ! *M5M6 // *M5M6 // 871 !! which we 'corrected' to: //! which we 'corrected' to: // 872 ! **RA // **RA // 873 ! **RP // **RP // 874 ! *J7= ;! %IF RA=RP %THEN ->7 // *J7= ;! %IF RA=RP %THEN ->7 // 875 ! *DUP // *DUP // 876 ! **=RS ;! RS=RA // **=RS ;! RS=RA // 877 !! I'm not 100% sure that the DUP is duplicating RA on the stack - we need //! I'm not 100% sure that the DUP is duplicating RA on the stack - we need // 878 !! to check that with a KDF9 programmer... I'm worndering if the correct //! to check that with a KDF9 programmer... I'm worndering if the correct // 879 !! restoration should have been... //! restoration should have been... // 880 ! **RA { RA - } // **RA { RA - } // 881 ! *DUP { RA RA - } // *DUP { RA RA - } // 882 ! **RP { RA RA RP - } // **RP { RA RA RP - } // 883 ! *J7= ;! %IF RA=RP %THEN ->7 { RA = removes RA and RP, leaving an RA on the stack } // *J7= ;! %IF RA=RP %THEN ->7 { RA = removes RA and RP, leaving an RA on the stack } // 884 ! *DUP { RA RA - } // *DUP { RA RA - } // 885 ! **=RS ;! RS=RA { RA - removes RA, leaving an RA on the stack to be used later in fetching SYMBOL(RA) } // **=RS ;! RS=RA { RA - removes RA, leaving an RA on the stack to be used later in fetching SYMBOL(RA) } // 886 !! Anyway... we later noticed that the first version of ICL4/75 Imp, which //! Anyway... we later noticed that the first version of ICL4/75 Imp, which // 887 !! was fully bootstrapped in Imp rather than Imp plus assembler, contained //! was fully bootstrapped in Imp rather than Imp plus assembler, contained // 888 !! identical code at this point. So here is the Imp version of what should //! identical code at this point. So here is the Imp version of what should // 889 !! be below: //! be below: // 890 ! 4: ! PHRASE TYPE ALTERNATE // 4: ! PHRASE TYPE ALTERNATE // 891 ! P=ITEM; COMPARE; ! RCALL COMPARE TO RECOGNISE IT // P=ITEM; COMPARE; ! RCALL COMPARE TO RECOGNISE IT // 892 ! ->2 %IF HIT#0; ! FOUND // ->2 %IF HIT#0; ! FOUND // 893 ! 3: QMAX=Q %IF Q>QMAX; ! FAILURE - NOTE POSITION REACHD // 3: QMAX=Q %IF Q>QMAX; ! FAILURE - NOTE POSITION REACHD // 894 ! Q=RQ; R=RR; ! RESET LINE AND A.R. POINTERS // Q=RQ; R=RR; ! RESET LINE AND A.R. POINTERS // 895 ! ->7 %IF RA=RP; !TOTAL FAILURE NO ALT LEFT TO TRY // ->7 %IF RA=RP; !TOTAL FAILURE NO ALT LEFT TO TRY // 896 ! RS=RA; A(R)=A(R)+1; ! MOVE TO NEXT ALT OF PHRASE // RS=RA; A(R)=A(R)+1; ! MOVE TO NEXT ALT OF PHRASE // 897 ! RA=SYMBOL(RA); ->1 // RA=SYMBOL(RA); ->1 // 898 ! 8: ! COMPLETE SUCCESS // 8: ! COMPLETE SUCCESS // 899 ! HIT=1; %RETURN // HIT=1; %RETURN // 900 ! 7: ! UTTER FAILURE // 7: ! UTTER FAILURE // 901 ! HIT=0; %RETURN // HIT=0; %RETURN // 902 ! 6: ! BUILT IN PHRASE // 6: ! BUILT IN PHRASE // 903 !! Original KDF9 code resumes here: //! Original KDF9 code resumes here: // 904 3: l_3:; // 905 **RQ /* To do: kdf9 instruction */ // 906 *=M8 /* To do: kdf9 instruction */ // 907 ! Q=RQ // Q=RQ // 908 **RR /* To do: kdf9 instruction */ // 909 *=M6 /* To do: kdf9 instruction */ // 910 ! R=RR // R=RR // 911 **RA /* To do: kdf9 instruction */ // 912 **RP /* To do: kdf9 instruction */ // 913 *J7= /* To do: kdf9 instruction */ // 914 ! %IF RA=RP %THEN ->7 // %IF RA=RP %THEN ->7 // 915 *DUP KDF9_DUP(); // 916 **=RS /* To do: kdf9 instruction */ // 917 ! RS=RA // RS=RA // 918 *M5M6 /* To do: kdf9 instruction */ // 919 *NOT KDF9_NOT(); // 920 *NEG KDF9_NEG(); // 921 *=M5M6 /* To do: kdf9 instruction */ // 922 ! A(R)=A(R)+1 // A(R)=A(R)+1 // 923 *C5 KDF9_C(5); // 924 *+ /* To do: kdf9 instruction */ // 925 *=M13 /* To do: kdf9 instruction */ // 926 *M0M13 /* To do: kdf9 instruction */ // 927 **=RA /* To do: kdf9 instruction */ // 928 ! RA=SYMBOL(RA) // RA=SYMBOL(RA) // 929 ->1 goto l_1; // 930 8: l_8:; // 931 *ERASE KDF9_ERASE(); // 932 *DC8 KDF9_DC(8); // 933 return return; // 934 7: l_7:; // 935 *ERASE KDF9_ERASE(); // 936 *C0TOQ8 /* To do: kdf9 instruction */ // 937 return return; // 938 6: l_6:; // 939 **=J /* To do: kdf9 instruction */ // 940 ->BIP(J) {sw = J ; goto goto_sw_BIP;} // 941 ! PHRASE NAME // PHRASE NAME // 942 9: l_9:; // 943 *ERASE KDF9_ERASE(); // 944 *J3 /* To do: kdf9 instruction */ // 945 BIP(1001): /* case */ BIP_1001: // 946 *C0TOQ8 /* To do: kdf9 instruction */ // 947 *M7M8 /* To do: kdf9 instruction */ // 948 *DUP KDF9_DUP(); // 949 *SET65 /* To do: kdf9 instruction */ // 950 ! 'A' // 'A' // 951 *- /* To do: kdf9 instruction */ // 952 *J9<Z /* To do: kdf9 instruction */ // 953 ! %IF CC(Q)<65 %THEN ->9 // %IF CC(Q)<65 %THEN ->9 // 954 *DUP KDF9_DUP(); // 955 *SET90 /* To do: kdf9 instruction */ // 956 ! 'Z' // 'Z' // 957 *- /* To do: kdf9 instruction */ // 958 *J1021<=Z /* To do: kdf9 instruction */ // 959 *DUP KDF9_DUP(); // 960 *SETB141 /* To do: kdf9 instruction */ // 961 *- /* To do: kdf9 instruction */ // 962 *J9<Z /* To do: kdf9 instruction */ // 963 *DUP KDF9_DUP(); // 964 *SETB172 /* To do: kdf9 instruction */ // 965 *- /* To do: kdf9 instruction */ // 966 *J9>Z /* To do: kdf9 instruction */ // 967 1021: l_1021:; // 968 **V /* To do: kdf9 instruction */ // 969 *=Q14 /* To do: kdf9 instruction */ // 970 ! Q14 = 6/6/@LETT(0) // Q14 = 6/6/@LETT(0) // 971 **NEXT /* To do: kdf9 instruction */ // 972 *DUP KDF9_DUP(); // 973 *=RM15 /* To do: kdf9 instruction */ // 974 ! Q15 = 0/1/NEXT+S // Q15 = 0/1/NEXT+S // 975 *REV KDF9_REV(); // 976 *DC14 KDF9_DC(14); // 977 *DC14 KDF9_DC(14); // 978 *ZERO KDF9_ZERO(); // 979 *NOT KDF9_NOT(); // 980 **=J /* To do: kdf9 instruction */ // 981 ! J=1 // J=1 // 982 *M7M8QN /* To do: kdf9 instruction */ // 983 1101: l_1101:; // 984 *DUP KDF9_DUP(); // 985 ! SEQUENCE FOR LETTERS // SEQUENCE FOR LETTERS // 986 *SET65 /* To do: kdf9 instruction */ // 987 ! 'A' // 'A' // 988 *- /* To do: kdf9 instruction */ // 989 *J10<Z /* To do: kdf9 instruction */ // 990 ! %IF I<65 %THEN ->10 // %IF I<65 %THEN ->10 // 991 *DUP KDF9_DUP(); // 992 *SET90 /* To do: kdf9 instruction */ // 993 ! 'Z' // 'Z' // 994 *- /* To do: kdf9 instruction */ // 995 *J11<=Z /* To do: kdf9 instruction */ // 996 ! %IF I<= 90 %THEN -> 11 // %IF I<= 90 %THEN -> 11 // 997 *DUP KDF9_DUP(); // 998 *SETB141 /* To do: kdf9 instruction */ // 999 *- /* To do: kdf9 instruction */ // 1000 *J10<Z /* To do: kdf9 instruction */ // 1001 *DUP KDF9_DUP(); // 1002 *SETB172 /* To do: kdf9 instruction */ // 1003 *- /* To do: kdf9 instruction */ // 1004 *J10>Z /* To do: kdf9 instruction */ // 1005 11: l_11:; // 1006 *DC14 KDF9_DC(14); // 1007 *REV KDF9_REV(); // 1008 *SHL+8 /* To do: kdf9 instruction */ // 1009 *OR KDF9_OR(); // 1010 ! V=256*V+I // V=256*V+I // 1011 *J12C14NZ /* To do: kdf9 instruction */ // 1012 *=M14M15Q /* To do: kdf9 instruction */ // 1013 ! LETT(NEXT+S)=V // LETT(NEXT+S)=V // 1014 *I14 KDF9_I(14); // 1015 *=C14 /* To do: kdf9 instruction */ // 1016 *ZERO KDF9_ZERO(); // 1017 12: l_12:; // 1018 *M7M8QN /* To do: kdf9 instruction */ // 1019 **J /* To do: kdf9 instruction */ // 1020 *DUP KDF9_DUP(); // 1021 *J1103>Z /* To do: kdf9 instruction */ // 1022 *J1101<Z /* To do: kdf9 instruction */ // 1023 10: l_10:; // 1024 *ZERO KDF9_ZERO(); // 1025 **=J /* To do: kdf9 instruction */ // 1026 ! J=2 // J=2 // 1027 1102: l_1102:; // 1028 *DUP KDF9_DUP(); // 1029 ! SEQUENCE FOR DIGITS // SEQUENCE FOR DIGITS // 1030 *I5 KDF9_I(5); // 1031 *- /* To do: kdf9 instruction */ // 1032 *J13<Z /* To do: kdf9 instruction */ // 1033 ! %IF I<'0' %THEN ->13 // %IF I<'0' %THEN ->13 // 1034 *DUP KDF9_DUP(); // 1035 *I7 KDF9_I(7); // 1036 *- /* To do: kdf9 instruction */ // 1037 *J11<=Z /* To do: kdf9 instruction */ // 1038 ! %IF I<='9' %THEN ->11 // %IF I<='9' %THEN ->11 // 1039 13: l_13:; // 1040 *SET1 /* To do: kdf9 instruction */ // 1041 **=J /* To do: kdf9 instruction */ // 1042 ! J=3 // J=3 // 1043 *ZERO KDF9_ZERO(); // 1044 1103: l_1103:; // 1045 *ERASE KDF9_ERASE(); // 1046 *SET39 /* To do: kdf9 instruction */ // 1047 ! SEQUENCE FOR PRIMES 39 = ''' // SEQUENCE FOR PRIMES 39 = ''' // 1048 *J11= /* To do: kdf9 instruction */ // 1049 *ERASE KDF9_ERASE(); // 1050 *DUP KDF9_DUP(); // 1051 *J15=Z /* To do: kdf9 instruction */ // 1052 ! %IF V=0 %THEN ->15 // %IF V=0 %THEN ->15 // 1053 *=M14M15Q /* To do: kdf9 instruction */ // 1054 ! LETT(NEXT+S)=V // LETT(NEXT+S)=V // 1055 *ZERO KDF9_ZERO(); // 1056 15: l_15:; // 1057 *ERASE KDF9_ERASE(); // 1058 *=M13 /* To do: kdf9 instruction */ // 1059 *C8 KDF9_C(8); // 1060 *NEG KDF9_NEG(); // 1061 *SHL40 /* To do: kdf9 instruction */ // 1062 *M14M13 /* To do: kdf9 instruction */ // 1063 *OR KDF9_OR(); // 1064 *=M14M13 /* To do: kdf9 instruction */ // 1065 ! LETT(NEXT)=256*(NO. OF CHARS. IN WORD) // LETT(NEXT)=256*(NO. OF CHARS. IN WORD) // 1066 !+(FIRST LETTER) //+(FIRST LETTER) // 1067 *M15 KDF9_M(15); // 1068 *SET620 /* To do: kdf9 instruction */ // 1069 *- /* To do: kdf9 instruction */ // 1070 *J14<=Z /* To do: kdf9 instruction */ // 1071 NEWLINES(2) NEWLINES(2 ); // 1072 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 1073 WRITE(LINE,4) WRITE(LINE , 4 ); // 1074 caption: NAMES TOO LONG\ caption(": NAMES TOO LONG\n") // 1075 stop exit(0); // 1076 14: l_14:; // 1077 *M13 KDF9_M(13); // 1078 ! DICTIONARY LOOK UP SEQUENCE // DICTIONARY LOOK UP SEQUENCE // 1079 *=I15 /* To do: kdf9 instruction */ // 1080 **@WORD(0) /* To do: kdf9 instruction */ // 1081 *Q9 KDF9_Q(9); // 1082 **=SAVE /* To do: kdf9 instruction */ // 1083 *=M15 /* To do: kdf9 instruction */ // 1084 **NUM /* To do: kdf9 instruction */ // 1085 *DUP KDF9_DUP(); // 1086 *=C13 /* To do: kdf9 instruction */ // 1087 *NEG KDF9_NEG(); // 1088 *NOT KDF9_NOT(); // 1089 *NC15 KDF9_NC(15); // 1090 ! Q15 = S+1/NEXT/@WORD(0) // Q15 = S+1/NEXT/@WORD(0) // 1091 *=RM9 /* To do: kdf9 instruction */ // 1092 *C13TOQ9 /* To do: kdf9 instruction */ // 1093 *I9=-1 /* To do: kdf9 instruction */ // 1094 ! U=-1 // U=-1 // 1095 17: l_17:; // 1096 *I15 KDF9_I(15); // 1097 *=RM13 /* To do: kdf9 instruction */ // 1098 *J18C9Z /* To do: kdf9 instruction */ // 1099 *M14M13Q /* To do: kdf9 instruction */ // 1100 * /* .ALIGN */ // 1101 ! 1ST WORD OF NEW NAME // 1ST WORD OF NEW NAME // 1102 *M15M9Q /* To do: kdf9 instruction */ // 1103 *=RM10 /* To do: kdf9 instruction */ // 1104 *M14M10Q /* To do: kdf9 instruction */ // 1105 *J16= /* To do: kdf9 instruction */ // 1106 *J17C9NZS /* To do: kdf9 instruction */ // 1107 *ERASE KDF9_ERASE(); // 1108 ->18 goto l_18; // 1109 16: l_16:; // 1110 *ERASE KDF9_ERASE(); // 1111 *C15TOQ10 /* To do: kdf9 instruction */ // 1112 *DC10 KDF9_DC(10); // 1113 *J133C10Z /* To do: kdf9 instruction */ // 1114 * /* .ALIGN */ // 1115 *M14M13Q /* To do: kdf9 instruction */ // 1116 *M14M10Q /* To do: kdf9 instruction */ // 1117 *- /* To do: kdf9 instruction */ // 1118 *J17#Z /* To do: kdf9 instruction */ // 1119 *J16C10NZS /* To do: kdf9 instruction */ // 1120 133: l_133:; // 1121 *M9 KDF9_M(9); // 1122 *NOT KDF9_NOT(); // 1123 *NEG KDF9_NEG(); // 1124 *=M5M6 /* To do: kdf9 instruction */ // 1125 ! A(R)=U // A(R)=U // 1126 **SAVE /* To do: kdf9 instruction */ // 1127 *=Q9 /* To do: kdf9 instruction */ // 1128 ->1 goto l_1; // 1129 18: l_18:; // 1130 **NUM /* To do: kdf9 instruction */ // 1131 *DUP KDF9_DUP(); // 1132 *=M13 /* To do: kdf9 instruction */ // 1133 *I15 KDF9_I(15); // 1134 *DUP KDF9_DUP(); // 1135 *=M15M13 /* To do: kdf9 instruction */ // 1136 ! WORD(NUM)=NEXT // WORD(NUM)=NEXT // 1137 *C15 KDF9_C(15); // 1138 *+ /* To do: kdf9 instruction */ // 1139 **=NEXT /* To do: kdf9 instruction */ // 1140 ! NEXT=NEXT+S+1 // NEXT=NEXT+S+1 // 1141 *DUP KDF9_DUP(); // 1142 *=M5M6 /* To do: kdf9 instruction */ // 1143 ! A(R)=NUM // A(R)=NUM // 1144 *NOT KDF9_NOT(); // 1145 *NEG KDF9_NEG(); // 1146 **=NUM /* To do: kdf9 instruction */ // 1147 ! NUM=NUM+1 // NUM=NUM+1 // 1148 **SAVE /* To do: kdf9 instruction */ // 1149 *=Q9 /* To do: kdf9 instruction */ // 1150 ifNUM<330then->1 if (NUM < 330 ) goto l_1; // 1151 NEWLINES(2) NEWLINES(2 ); // 1152 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 1153 WRITE(LINE,4) WRITE(LINE , 4 ); // 1154 caption: > 256 NAMES\ caption(": > 256 NAMES\n") // 1155 stop exit(0); // 1156 ! PHRASE CONST // PHRASE CONST // 1157 BIP(1002): /* case */ BIP_1002: // 1158 *M7M8Q /* To do: kdf9 instruction */ // 1159 *SET36 /* To do: kdf9 instruction */ // 1160 ! '$' // '$' // 1161 *J60# /* To do: kdf9 instruction */ // 1162 ! %IF I#36 %THEN ->60 // %IF I#36 %THEN ->60 // 1163 *ERASE KDF9_ERASE(); // 1164 ! $ SEQUENCE // $ SEQUENCE // 1165 *SET2 /* To do: kdf9 instruction */ // 1166 *=M5M6 /* To do: kdf9 instruction */ // 1167 ! A(R)=2 // A(R)=2 // 1168 *M+I6 /* To do: kdf9 instruction */ // 1169 ! R=R+1 // R=R+1 // 1170 *SET3 /* To do: kdf9 instruction */ // 1171 *=M5M6 /* To do: kdf9 instruction */ // 1172 ! A(R)=3 // A(R)=3 // 1173 ->1 goto l_1; // 1174 60: l_60:; // 1175 *SET39 /* To do: kdf9 instruction */ // 1176 ! ''' // ''' // 1177 *J20# /* To do: kdf9 instruction */ // 1178 *J62C3NZ /* To do: kdf9 instruction */ // 1179 *M7M8N /* To do: kdf9 instruction */ // 1180 *REV KDF9_REV(); // 1181 *J101# /* To do: kdf9 instruction */ // 1182 ! %IF I#39 %THEN ->101 // %IF I#39 %THEN ->101 // 1183 *ERASE KDF9_ERASE(); // 1184 *M7M8Q /* To do: kdf9 instruction */ // 1185 *M+I8 /* To do: kdf9 instruction */ // 1186 *SET95 /* To do: kdf9 instruction */ // 1187 ! _ // _ // 1188 *J71= /* To do: kdf9 instruction */ // 1189 *SET92 /* To do: kdf9 instruction */ // 1190 ! \ // \ // 1191 *J72= /* To do: kdf9 instruction */ // 1192 ->76 goto l_76; // 1193 101: l_101:; // 1194 *SET76 /* To do: kdf9 instruction */ // 1195 ! 'L' // 'L' // 1196 *J102= /* To do: kdf9 instruction */ // 1197 *SET80 /* To do: kdf9 instruction */ // 1198 ! 'P' // 'P' // 1199 *J103= /* To do: kdf9 instruction */ // 1200 ->9 goto l_9; // 1201 102: l_102:; // 1202 *ERASE KDF9_ERASE(); // 1203 *M7M8Q /* To do: kdf9 instruction */ // 1204 *SET78 /* To do: kdf9 instruction */ // 1205 ! 'N' // 'N' // 1206 *J9# /* To do: kdf9 instruction */ // 1207 *M7M8N /* To do: kdf9 instruction */ // 1208 *SET39 /* To do: kdf9 instruction */ // 1209 *J9# /* To do: kdf9 instruction */ // 1210 *ERASE KDF9_ERASE(); // 1211 *M+I8 /* To do: kdf9 instruction */ // 1212 *M+I8 /* To do: kdf9 instruction */ // 1213 ->72 goto l_72; // 1214 103: l_103:; // 1215 *ERASE KDF9_ERASE(); // 1216 *M7M8Q /* To do: kdf9 instruction */ // 1217 *SET83 /* To do: kdf9 instruction */ // 1218 *J9# /* To do: kdf9 instruction */ // 1219 *M7M8N /* To do: kdf9 instruction */ // 1220 *SET39 /* To do: kdf9 instruction */ // 1221 *J9# /* To do: kdf9 instruction */ // 1222 *ERASE KDF9_ERASE(); // 1223 *M+I8 /* To do: kdf9 instruction */ // 1224 *M+I8 /* To do: kdf9 instruction */ // 1225 ->71 goto l_71; // 1226 71: l_71:; // 1227 *ERASE KDF9_ERASE(); // 1228 *SET32 /* To do: kdf9 instruction */ // 1229 ! '_' // '_' // 1230 ->76 goto l_76; // 1231 72: l_72:; // 1232 *ERASE KDF9_ERASE(); // 1233 *SET10 /* To do: kdf9 instruction */ // 1234 ! '\' // '\' // 1235 ->76 goto l_76; // 1236 62: l_62:; // 1237 *ERASE KDF9_ERASE(); // 1238 *C0TOQ13 /* To do: kdf9 instruction */ // 1239 *ZERO KDF9_ZERO(); // 1240 66: l_66:; // 1241 *M7M8Q /* To do: kdf9 instruction */ // 1242 *SET39 /* To do: kdf9 instruction */ // 1243 *J63= /* To do: kdf9 instruction */ // 1244 *SET34 /* To do: kdf9 instruction */ // 1245 !" //" // 1246 *J67= /* To do: kdf9 instruction */ // 1247 *SET95 /* To do: kdf9 instruction */ // 1248 ! _ // _ // 1249 *J64# /* To do: kdf9 instruction */ // 1250 *ERASE KDF9_ERASE(); // 1251 *J65 /* To do: kdf9 instruction */ // 1252 64: l_64:; // 1253 *SETB177 /* To do: kdf9 instruction */ // 1254 *AND KDF9_AND(); // 1255 68: l_68:; // 1256 *SHLC13 /* To do: kdf9 instruction */ // 1257 *OR KDF9_OR(); // 1258 65: l_65:; // 1259 *SET8 /* To do: kdf9 instruction */ // 1260 *=+C13 /* To do: kdf9 instruction */ // 1261 ->66 goto l_66; // 1262 63: l_63:; // 1263 *ERASE KDF9_ERASE(); // 1264 ->61 goto l_61; // 1265 67: l_67:; // 1266 *ERASE KDF9_ERASE(); // 1267 *SET39 /* To do: kdf9 instruction */ // 1268 ->68 goto l_68; // 1269 20: l_20:; // 1270 *M-I8 /* To do: kdf9 instruction */ // 1271 *SET41P: /* To do: kdf9 instruction */ // 1272 *=M14 /* To do: kdf9 instruction */ // 1273 *SET1000 /* To do: kdf9 instruction */ // 1274 *=C14 /* To do: kdf9 instruction */ // 1275 *ZERO KDF9_ZERO(); // 1276 *REV KDF9_REV(); // 1277 *DUP KDF9_DUP(); // 1278 *I5 KDF9_I(5); // 1279 *- /* To do: kdf9 instruction */ // 1280 *J19<Z /* To do: kdf9 instruction */ // 1281 *DUP KDF9_DUP(); // 1282 *I7 KDF9_I(7); // 1283 *- /* To do: kdf9 instruction */ // 1284 *J23<=Z /* To do: kdf9 instruction */ // 1285 19: l_19:; // 1286 *SET46 /* To do: kdf9 instruction */ // 1287 ! '.' // '.' // 1288 *J25# /* To do: kdf9 instruction */ // 1289 *ERASE KDF9_ERASE(); // 1290 *M7M8QN /* To do: kdf9 instruction */ // 1291 *DUP KDF9_DUP(); // 1292 *I5 KDF9_I(5); // 1293 *- /* To do: kdf9 instruction */ // 1294 *J25<Z /* To do: kdf9 instruction */ // 1295 *DUP KDF9_DUP(); // 1296 *I7 KDF9_I(7); // 1297 *- /* To do: kdf9 instruction */ // 1298 *J25>Z /* To do: kdf9 instruction */ // 1299 *ZERO KDF9_ZERO(); // 1300 *NOT KDF9_NOT(); // 1301 *=C14 /* To do: kdf9 instruction */ // 1302 *J23 /* To do: kdf9 instruction */ // 1303 22: l_22:; // 1304 *M7M8QN /* To do: kdf9 instruction */ // 1305 *DUP KDF9_DUP(); // 1306 *I5 KDF9_I(5); // 1307 *- /* To do: kdf9 instruction */ // 1308 *J26<Z /* To do: kdf9 instruction */ // 1309 *DUP KDF9_DUP(); // 1310 *I7 KDF9_I(7); // 1311 *- /* To do: kdf9 instruction */ // 1312 *J26>Z /* To do: kdf9 instruction */ // 1313 *REV KDF9_REV(); // 1314 *M0M14 /* To do: kdf9 instruction */ // 1315 *XF KDF9_XF(); // 1316 // 1317 *REV KDF9_REV(); // 1318 *DC14 KDF9_DC(14); // 1319 23: l_23:; // 1320 *I5 KDF9_I(5); // 1321 *- /* To do: kdf9 instruction */ // 1322 *I1 KDF9_I(1); // 1323 *FLOAT KDF9_FLOAT(); // 1324 *+F /* To do: kdf9 instruction */ // 1325 *J22 /* To do: kdf9 instruction */ // 1326 26: l_26:; // 1327 *SET46 /* To do: kdf9 instruction */ // 1328 ! '.' // '.' // 1329 *J27= /* To do: kdf9 instruction */ // 1330 *SET96 /* To do: kdf9 instruction */ // 1331 !'@' //'@' // 1332 *J28= /* To do: kdf9 instruction */ // 1333 42: l_42:; // 1334 *ERASE KDF9_ERASE(); // 1335 *C14 KDF9_C(14); // 1336 *DUP KDF9_DUP(); // 1337 *J44<Z /* To do: kdf9 instruction */ // 1338 *ERASE KDF9_ERASE(); // 1339 *J34 /* To do: kdf9 instruction */ // 1340 33: l_33:; // 1341 *DUP KDF9_DUP(); // 1342 *J30=Z /* To do: kdf9 instruction */ // 1343 *DUP KDF9_DUP(); // 1344 *J29>Z /* To do: kdf9 instruction */ // 1345 44: l_44:; // 1346 *NEG KDF9_NEG(); // 1347 *JS14P /* To do: kdf9 instruction */ // 1348 *J34 /* To do: kdf9 instruction */ // 1349 29: l_29:; // 1350 *JS15P /* To do: kdf9 instruction */ // 1351 *J34 /* To do: kdf9 instruction */ // 1352 21: l_21:; // 1353 *ERASE KDF9_ERASE(); // 1354 *ERASE KDF9_ERASE(); // 1355 25: l_25:; // 1356 *ERASE KDF9_ERASE(); // 1357 *ERASE KDF9_ERASE(); // 1358 *J3 /* To do: kdf9 instruction */ // 1359 27: l_27:; // 1360 *ERASE KDF9_ERASE(); // 1361 *C14 KDF9_C(14); // 1362 *DUP KDF9_DUP(); // 1363 *J33<=Z /* To do: kdf9 instruction */ // 1364 *ERASE KDF9_ERASE(); // 1365 *C0TOQ14 /* To do: kdf9 instruction */ // 1366 *J22 /* To do: kdf9 instruction */ // 1367 28: l_28:; // 1368 *ERASE KDF9_ERASE(); // 1369 *ZERO KDF9_ZERO(); // 1370 *ZERO KDF9_ZERO(); // 1371 *M7M8QN /* To do: kdf9 instruction */ // 1372 *DUP KDF9_DUP(); // 1373 *I5 KDF9_I(5); // 1374 *- /* To do: kdf9 instruction */ // 1375 *J31<Z /* To do: kdf9 instruction */ // 1376 *DUP KDF9_DUP(); // 1377 *I7 KDF9_I(7); // 1378 *- /* To do: kdf9 instruction */ // 1379 *J31>Z /* To do: kdf9 instruction */ // 1380 32: l_32:; // 1381 *REV KDF9_REV(); // 1382 *SET10 /* To do: kdf9 instruction */ // 1383 *XD KDF9_XD(); // 1384 *CONT KDF9_CONT(); // 1385 *+ /* To do: kdf9 instruction */ // 1386 *I5 KDF9_I(5); // 1387 *- /* To do: kdf9 instruction */ // 1388 35: l_35:; // 1389 *M7M8QN /* To do: kdf9 instruction */ // 1390 *DUP KDF9_DUP(); // 1391 *I5 KDF9_I(5); // 1392 *- /* To do: kdf9 instruction */ // 1393 *J24<Z /* To do: kdf9 instruction */ // 1394 *DUP KDF9_DUP(); // 1395 *I7 KDF9_I(7); // 1396 *- /* To do: kdf9 instruction */ // 1397 *J32<=Z /* To do: kdf9 instruction */ // 1398 24: l_24:; // 1399 *ERASE KDF9_ERASE(); // 1400 *REV KDF9_REV(); // 1401 *J36=Z /* To do: kdf9 instruction */ // 1402 *NEG KDF9_NEG(); // 1403 36: l_36:; // 1404 *C14 KDF9_C(14); // 1405 *J33>Z /* To do: kdf9 instruction */ // 1406 *C14 KDF9_C(14); // 1407 *+ /* To do: kdf9 instruction */ // 1408 *J33 /* To do: kdf9 instruction */ // 1409 31: l_31:; // 1410 *SET43 /* To do: kdf9 instruction */ // 1411 !'+' //'+' // 1412 *J37= /* To do: kdf9 instruction */ // 1413 *SET45 /* To do: kdf9 instruction */ // 1414 !'-' //'-' // 1415 *J21# /* To do: kdf9 instruction */ // 1416 *CAB KDF9_CAB(); // 1417 *ERASE KDF9_ERASE(); // 1418 *I12 KDF9_I(12); // 1419 *PERM KDF9_PERM(); // 1420 37: l_37:; // 1421 *ERASE KDF9_ERASE(); // 1422 *J35 /* To do: kdf9 instruction */ // 1423 30: l_30:; // 1424 *ERASE KDF9_ERASE(); // 1425 34: l_34:; // 1426 *DUP KDF9_DUP(); // 1427 **=A_ /* To do: kdf9 instruction */ // 1428 ->431ifA_>=A__ if (A_ >= A__ ) goto l_431; // 1429 **FRACPT(A_) /* To do: kdf9 instruction */ // 1430 *J43=Z /* To do: kdf9 instruction */ // 1431 431: l_431:; // 1432 *SET2 /* To do: kdf9 instruction */ // 1433 *=M5M6 /* To do: kdf9 instruction */ // 1434 ! A(R)=2 // A(R)=2 // 1435 *M+I6 /* To do: kdf9 instruction */ // 1436 ! R=R+1 // R=R+1 // 1437 **N0 /* To do: kdf9 instruction */ // 1438 *DUP KDF9_DUP(); // 1439 *=M5M6 /* To do: kdf9 instruction */ // 1440 ! A(R)=N0 // A(R)=N0 // 1441 *=RM13 /* To do: kdf9 instruction */ // 1442 *=M9M13Q /* To do: kdf9 instruction */ // 1443 ! ST(N0)=A // ST(N0)=A // 1444 *M13 KDF9_M(13); // 1445 **=N0 /* To do: kdf9 instruction */ // 1446 ! N0=N0+1 // N0=N0+1 // 1447 ->1 goto l_1; // 1448 43: l_43:; // 1449 *ERASE KDF9_ERASE(); // 1450 **INT(A_) /* To do: kdf9 instruction */ // 1451 61: l_61:; // 1452 *DUP KDF9_DUP(); // 1453 *SET32767 /* To do: kdf9 instruction */ // 1454 *- /* To do: kdf9 instruction */ // 1455 *J45>Z /* To do: kdf9 instruction */ // 1456 ! %IF U>32767 %THEN ->45 // %IF U>32767 %THEN ->45 // 1457 76: l_76:; // 1458 *I12 KDF9_I(12); // 1459 *=M5M6 /* To do: kdf9 instruction */ // 1460 ! A(R)=1 // A(R)=1 // 1461 *M+I6 /* To do: kdf9 instruction */ // 1462 ! R=R+1 // R=R+1 // 1463 *=M5M6 /* To do: kdf9 instruction */ // 1464 ! A(R)=U // A(R)=U // 1465 ->1 goto l_1; // 1466 45: l_45:; // 1467 *SET3 /* To do: kdf9 instruction */ // 1468 *=M5M6 /* To do: kdf9 instruction */ // 1469 ! A(R)=3 // A(R)=3 // 1470 *M+I6 /* To do: kdf9 instruction */ // 1471 ! R=R+1 // R=R+1 // 1472 **N0 /* To do: kdf9 instruction */ // 1473 *DUP KDF9_DUP(); // 1474 *=M5M6 /* To do: kdf9 instruction */ // 1475 ! A(R)=N0 // A(R)=N0 // 1476 *DUP KDF9_DUP(); // 1477 *NOT KDF9_NOT(); // 1478 *NEG KDF9_NEG(); // 1479 **=N0 /* To do: kdf9 instruction */ // 1480 ! N0=N0+1 // N0=N0+1 // 1481 *=M13 /* To do: kdf9 instruction */ // 1482 *=M9M13 /* To do: kdf9 instruction */ // 1483 ! ST(N0)=U // ST(N0)=U // 1484 ->1 goto l_1; // 1485 ! PHRASE N // PHRASE N // 1486 BIP(1003): /* case */ BIP_1003: // 1487 *M7M8 /* To do: kdf9 instruction */ // 1488 *DUP KDF9_DUP(); // 1489 *I5 KDF9_I(5); // 1490 *- /* To do: kdf9 instruction */ // 1491 *J9<Z /* To do: kdf9 instruction */ // 1492 ! %IF I<'0' %THEN ->9 // %IF I<'0' %THEN ->9 // 1493 *DUP KDF9_DUP(); // 1494 *I7 KDF9_I(7); // 1495 *- /* To do: kdf9 instruction */ // 1496 *J9>Z /* To do: kdf9 instruction */ // 1497 ! %IF I>'9' %THEN ->9 // %IF I>'9' %THEN ->9 // 1498 *ZERO KDF9_ZERO(); // 1499 *REV KDF9_REV(); // 1500 38: l_38:; // 1501 *REV KDF9_REV(); // 1502 *SET10 /* To do: kdf9 instruction */ // 1503 *XD KDF9_XD(); // 1504 *CONT KDF9_CONT(); // 1505 *+ /* To do: kdf9 instruction */ // 1506 *I5 KDF9_I(5); // 1507 *- /* To do: kdf9 instruction */ // 1508 ! U=10*U+I-'0' // U=10*U+I-'0' // 1509 *M7M8QN /* To do: kdf9 instruction */ // 1510 *DUP KDF9_DUP(); // 1511 *I5 KDF9_I(5); // 1512 *- /* To do: kdf9 instruction */ // 1513 *J81<Z /* To do: kdf9 instruction */ // 1514 ! %IF I<'0' %THEN ->81 // %IF I<'0' %THEN ->81 // 1515 *DUP KDF9_DUP(); // 1516 *I7 KDF9_I(7); // 1517 *- /* To do: kdf9 instruction */ // 1518 *J38<=Z /* To do: kdf9 instruction */ // 1519 ! %IF I<='9' %THEN ->38 // %IF I<='9' %THEN ->38 // 1520 81: l_81:; // 1521 *ERASE KDF9_ERASE(); // 1522 *=M5M6 /* To do: kdf9 instruction */ // 1523 ->1 goto l_1; // 1524 ! PHRASE S // PHRASE S // 1525 BIP(1004): /* case */ BIP_1004: // 1526 *M7M8 /* To do: kdf9 instruction */ // 1527 *SET10 /* To do: kdf9 instruction */ // 1528 ! '\' // '\' // 1529 *J82= /* To do: kdf9 instruction */ // 1530 ! %IF I=10 %THEN ->82 // %IF I=10 %THEN ->82 // 1531 *SET59 /* To do: kdf9 instruction */ // 1532 ! '' // '' // 1533 *- /* To do: kdf9 instruction */ // 1534 *J3#Z /* To do: kdf9 instruction */ // 1535 ! %IF I#59 %THEN ->3 // %IF I#59 %THEN ->3 // 1536 83: l_83:; // 1537 *M+I8 /* To do: kdf9 instruction */ // 1538 ->2 goto l_2; // 1539 82: l_82:; // 1540 *ERASE KDF9_ERASE(); // 1541 ->2 goto l_2; // 1542 ! PHRASE TEXT // PHRASE TEXT // 1543 BIP(1005): /* case */ BIP_1005: // 1544 *M7M8 /* To do: kdf9 instruction */ // 1545 39: l_39:; // 1546 *SET10 /* To do: kdf9 instruction */ // 1547 ! '\' // '\' // 1548 *J82= /* To do: kdf9 instruction */ // 1549 ! %IF I=10 %THEN ->82 // %IF I=10 %THEN ->82 // 1550 *SET59 /* To do: kdf9 instruction */ // 1551 ! '' // '' // 1552 *- /* To do: kdf9 instruction */ // 1553 *J83=Z /* To do: kdf9 instruction */ // 1554 ! %IF I=59 %THEN ->1 // %IF I=59 %THEN ->1 // 1555 *M7M8QN /* To do: kdf9 instruction */ // 1556 ->39 goto l_39; // 1557 ! PHRASE CAPTION TEXT // PHRASE CAPTION TEXT // 1558 BIP(1006): /* case */ BIP_1006: // 1559 **N0 /* To do: kdf9 instruction */ // 1560 *DUP KDF9_DUP(); // 1561 *=M5M6 /* To do: kdf9 instruction */ // 1562 *DUP KDF9_DUP(); // 1563 *=M15 /* To do: kdf9 instruction */ // 1564 *=RM14 /* To do: kdf9 instruction */ // 1565 *SET32 /* To do: kdf9 instruction */ // 1566 *=C14 /* To do: kdf9 instruction */ // 1567 *ZERO KDF9_ZERO(); // 1568 *M-I8 /* To do: kdf9 instruction */ // 1569 93: l_93:; // 1570 *M7M8QN /* To do: kdf9 instruction */ // 1571 *SET10 /* To do: kdf9 instruction */ // 1572 ! '\' // '\' // 1573 *J47= /* To do: kdf9 instruction */ // 1574 *SET59 /* To do: kdf9 instruction */ // 1575 ! '' // '' // 1576 *J47= /* To do: kdf9 instruction */ // 1577 *SET95 /* To do: kdf9 instruction */ // 1578 ! _ // _ // 1579 *J91= /* To do: kdf9 instruction */ // 1580 *SET92 /* To do: kdf9 instruction */ // 1581 !\ //\ // 1582 *J92= /* To do: kdf9 instruction */ // 1583 49: l_49:; // 1584 *SHLC14 /* To do: kdf9 instruction */ // 1585 *OR KDF9_OR(); // 1586 *C14 KDF9_C(14); // 1587 *SET8 /* To do: kdf9 instruction */ // 1588 *- /* To do: kdf9 instruction */ // 1589 *DUP KDF9_DUP(); // 1590 *J50<Z /* To do: kdf9 instruction */ // 1591 *=C14 /* To do: kdf9 instruction */ // 1592 ->93 goto l_93; // 1593 91: l_91:; // 1594 *ERASE KDF9_ERASE(); // 1595 *SET32 /* To do: kdf9 instruction */ // 1596 ! '_' // '_' // 1597 ->49 goto l_49; // 1598 92: l_92:; // 1599 *ERASE KDF9_ERASE(); // 1600 *SET10 /* To do: kdf9 instruction */ // 1601 ! '\' // '\' // 1602 ->49 goto l_49; // 1603 50: l_50:; // 1604 *ERASE KDF9_ERASE(); // 1605 *=M9M14Q /* To do: kdf9 instruction */ // 1606 *SET40 /* To do: kdf9 instruction */ // 1607 *=C14 /* To do: kdf9 instruction */ // 1608 *ZERO KDF9_ZERO(); // 1609 ->93 goto l_93; // 1610 47: l_47:; // 1611 *ERASE KDF9_ERASE(); // 1612 *DUP KDF9_DUP(); // 1613 *J51=Z /* To do: kdf9 instruction */ // 1614 *=M9M14 /* To do: kdf9 instruction */ // 1615 *J98 /* To do: kdf9 instruction */ // 1616 51: l_51:; // 1617 *ERASE KDF9_ERASE(); // 1618 *M-I14 /* To do: kdf9 instruction */ // 1619 98: l_98:; // 1620 *M14 KDF9_M(14); // 1621 *M15 KDF9_M(15); // 1622 *- /* To do: kdf9 instruction */ // 1623 *NOT KDF9_NOT(); // 1624 *NEG KDF9_NEG(); // 1625 *SHL40 /* To do: kdf9 instruction */ // 1626 *M9M15 /* To do: kdf9 instruction */ // 1627 *OR KDF9_OR(); // 1628 *=M9M15 /* To do: kdf9 instruction */ // 1629 *M+I14 /* To do: kdf9 instruction */ // 1630 *M14 KDF9_M(14); // 1631 **=N0 /* To do: kdf9 instruction */ // 1632 ->1 goto l_1; // 1633 ! PHRASE OCTAL // PHRASE OCTAL // 1634 BIP(1007): /* case */ BIP_1007: // 1635 *M7M8 /* To do: kdf9 instruction */ // 1636 *DUP KDF9_DUP(); // 1637 *I5 KDF9_I(5); // 1638 *- /* To do: kdf9 instruction */ // 1639 *J9<Z /* To do: kdf9 instruction */ // 1640 *DUP KDF9_DUP(); // 1641 *SET55 /* To do: kdf9 instruction */ // 1642 ! '7' // '7' // 1643 *- /* To do: kdf9 instruction */ // 1644 *J9>Z /* To do: kdf9 instruction */ // 1645 *ZERO KDF9_ZERO(); // 1646 *REV KDF9_REV(); // 1647 41: l_41:; // 1648 *REV KDF9_REV(); // 1649 *SHL+3 /* To do: kdf9 instruction */ // 1650 *+ /* To do: kdf9 instruction */ // 1651 *I5 KDF9_I(5); // 1652 *- /* To do: kdf9 instruction */ // 1653 *M7M8QN /* To do: kdf9 instruction */ // 1654 *DUP KDF9_DUP(); // 1655 *I5 KDF9_I(5); // 1656 *- /* To do: kdf9 instruction */ // 1657 *J99<Z /* To do: kdf9 instruction */ // 1658 *DUP KDF9_DUP(); // 1659 *SET55 /* To do: kdf9 instruction */ // 1660 ! '7' // '7' // 1661 *- /* To do: kdf9 instruction */ // 1662 *J41<=Z /* To do: kdf9 instruction */ // 1663 99: l_99:; // 1664 *ERASE KDF9_ERASE(); // 1665 *=M5M6 /* To do: kdf9 instruction */ // 1666 ->1 goto l_1; // 1667 ! PHRASE SET MARKER 1 // PHRASE SET MARKER 1 // 1668 BIP(1008): /* case */ BIP_1008: // 1669 *M6 KDF9_M(6); // 1670 **=MARKER1 /* To do: kdf9 instruction */ // 1671 ->2 goto l_2; // 1672 ! PHRASE SET MARKER 2 // PHRASE SET MARKER 2 // 1673 BIP(1009): /* case */ BIP_1009: // 1674 *M6 KDF9_M(6); // 1675 **=MARKER2 /* To do: kdf9 instruction */ // 1676 ->2 goto l_2; // 1677 end } // 1678 ***A // 1679 SWOP SWOP(); // 1680 // 1681 routineCSS void CSS(void) { // 1682 routinespecCCOND void CCOND(void); // 1683 routinespecCUI void CUI(void); // 1684 routinespecCSEXP(integerZ) void CSEXP( int Z ); // 1685 routinespecMOVEM(integerQ,N) void MOVEM( int Q, int N ); // 1686 routinespecCNAME(integerZ) void CNAME( int Z ); // 1687 routinespecFINDLABEL void FINDLABEL(void); // 1688 routinespecPUSHDOWN2(integernameCELL,integerS1,S2) void PUSHDOWN2( int * /* THIS PARAMETER NEEDS A #define */ CELL, int S1, int S2 ); // 1689 routinespecSTORETAG(integerKK) void STORETAG( int KK ); // 1690 routinespecCOPYTAG(integerKK) void COPYTAG( int KK ); // 1691 routinespecFROMLIST2(integernameCELL,S1,S2) void FROMLIST2( int * /* THIS PARAMETER NEEDS A #define */ CELL, int * /* THIS PARAMETER NEEDS A #define */ S1, int * /* THIS PARAMETER NEEDS A #define */ S2 ); // 1692 routinespecPOPUP2(integernameCELL,S1,S2) void POPUP2( int * /* THIS PARAMETER NEEDS A #define */ CELL, int * /* THIS PARAMETER NEEDS A #define */ S1, int * /* THIS PARAMETER NEEDS A #define */ S2 ); // 1693 routinespecNEWCELL(integernameSTAD) void NEWCELL( int * /* THIS PARAMETER NEEDS A #define */ STAD ); // 1694 routinespecINSERTAFTER2(integernameSTAD,integerS1,S2) void INSERTAFTER2( int * /* THIS PARAMETER NEEDS A #define */ STAD, int S1, int S2 ); // 1695 routinespecREPLACETAG(integerKK) void REPLACETAG( int KK ); // 1696 routinespecLINK(integernameSTAD) void LINK( int * /* THIS PARAMETER NEEDS A #define */ STAD ); // 1697 routinespecRETURNCELL(integernameSTAD) void RETURNCELL( int * /* THIS PARAMETER NEEDS A #define */ STAD ); // 1698 routinespecMORESPACE void MORESPACE(void); // 1699 routinespecSTOREJUMP void STOREJUMP(void); // 1700 routinespecSTORENAME void STORENAME(void); // 1701 routinespecTESTNST void TESTNST(void); // 1702 routinespecFAULT(integerN) void FAULT( int N ); // 1703 routinespecCMOD(integerN,Z) void CMOD( int N, int Z ); // 1704 routinespecCUCI void CUCI(void); // 1705 routinespecPPJ(integerI,J,K) void PPJ( int I, int J, int K ); // 1706 routinespecPJ(integerA,S,B) void PJ( int A, int S, int B ); // 1707 routinespecPSET(integerN) void PSET( int N ); // 1708 routinespecPQ(integerA,Q,QQ) void PQ( int A, int Q, int QQ ); // 1709 routinespecPSH(integerA,N) void PSH( int A, int N ); // 1710 routinespecPN(integerA) void PN( int A ); // 1711 routinespecPMS(integerA,M,Q) void PMS( int A, int M, int Q ); // 1712 routinespecFILLLABEL(integerAT,EQUALS) void FILLLABEL( int AT, int EQUALS ); // 1713 routinespecFILLSET(integerAT,EQUALS) void FILLSET( int AT, int EQUALS ); // 1714 routinespecPRINTNAME(integerI) void PRINTNAME( int I ); // 1715 routinespecSKIPEXP void SKIPEXP(void); // 1716 switchSW(1:34),RFPD(1:8),RT(6:10),END(0:10) // TO DO: switch table SW should be dumped at end of this block // TO DO: switch table RFPD should be dumped at end of this block // TO DO: switch table RT should be dumped at end of this block // TO DO: switch table END should be dumped at end of this block // 1717 integerI,J,K,P,TYPE,Q,KK,KKK,QQ,JJ,JJJ,TYPE_,FNAME int I; int J; int K; int P; int TYPE; int Q; int KK; int KKK; int QQ; int JJ; int JJJ; int TYPE_; int FNAME; // 1718 routinespecCRSPEC(integerM) void CRSPEC( int M ); // 1719 ->SW(A(1)) {sw = A(1 ) ; goto goto_sw_SW;} // 1720 SW(1): /* case */ SW_1: // 1721 comment [UI] [S] // [UI] [S] // 1722 *JS3 /* To do: kdf9 instruction */ // 1723 ifA(MARKER2)=2then->90 if (A(MARKER2 ) == 2 ) goto l_90; // 1724 P=2 P = 2 ; // 1725 CUI CUI(); // 1726 ->1 goto l_1; // 1727 3: l_3:; // 1728 ifOVERFLAG=0orLFLAG=1then->6 if (OVERFLAG == 0 || LFLAG == 1 ) goto l_6; // 1729 PSET(LINE) PSET(LINE ); // 1730 PQ(120,2,4) PQ(120 , 2 , 4 ); // 1731 6: l_6:; // 1732 *EXIT1 KDF9_EXIT(1); // 1733 SW(2): /* case */ SW_2: // 1734 comment [%CYCLE ] // [%CYCLE ] // 1735 *JS3 /* To do: kdf9 instruction */ // 1736 P=2 P = 2 ; // 1737 CNAME(3) CNAME(3 ); // 1738 unlessTYPE=2thenFAULT(25) if (!(TYPE == 2 )) FAULT(25 ); // 1739 PMS(1,N,LEVEL) PMS(1 , N , LEVEL ); // 1740 CSEXP(2) CSEXP(2 ); // 1741 ->5145unlessMCSWITCH=0 if (!(MCSWITCH == 0 )) goto l_5145; // 1742 PN(34) PN(34 ); // 1743 5145: l_5145:; // 1744 CSEXP(2) CSEXP(2 ); // 1745 PN(34) PN(34 ); // 1746 PMS(1,N+1,LEVEL) PMS(1 , N +1 , LEVEL ); // 1747 ->5146unlessMCSWITCH=0 if (!(MCSWITCH == 0 )) goto l_5146; // 1748 PN(34) PN(34 ); // 1749 5146: l_5146:; // 1750 CSEXP(2) CSEXP(2 ); // 1751 ->5147unlessMCSWITCH=0 if (!(MCSWITCH == 0 )) goto l_5147; // 1752 PN(34) PN(34 ); // 1753 PN(54) PN(54 ); // 1754 5147: l_5147:; // 1755 PN(46) PN(46 ); // 1756 PMS(1,N+2,LEVEL) PMS(1 , N +2 , LEVEL ); // 1757 ->5148unlessMCSWITCH=0 if (!(MCSWITCH == 0 )) goto l_5148; // 1758 PJ(8,SL(5),13) PJ(8 , SL(5 ) , 13 ); // 1759 5148: l_5148:; // 1760 PMS(0,N,LEVEL) PMS(0 , N , LEVEL ); // 1761 PQ(120,13,2) PQ(120 , 13 , 2 ); // 1762 PUSHDOWN2(CYCLE(LEVEL),CA,N) PUSHDOWN2(CYCLE(LEVEL ) , CA , N ); // 1763 PQ(65,13,0) PQ(65 , 13 , 0 ); // 1764 N=N+3 N = N +3 ; // 1765 M10=0 M10 = 0 ; // 1766 M13=0 M13 = 0 ; // 1767 ->1 goto l_1; // 1768 SW(3): /* case */ SW_3: // 1769 comment [%REPEAT ] [S] // [%REPEAT ] [S] // 1770 POPUP2(CYCLE(LEVEL),J,K) POPUP2(CYCLE(LEVEL ) , J , K ); // 1771 ifJ=-1thenFAULT(1) if (J == -1 ) FAULT(1 ); // 1772 PMS(0,K,LEVEL) PMS(0 , K , LEVEL ); // 1773 PQ(120,13,2) PQ(120 , 13 , 2 ); // 1774 PQ(64,13,0) PQ(64 , 13 , 0 ); // 1775 PMS(0,K+1,LEVEL) PMS(0 , K +1 , LEVEL ); // 1776 PN(46) PN(46 ); // 1777 PMS(0,K+2,LEVEL) PMS(0 , K +2 , LEVEL ); // 1778 PJ(8,J,1) PJ(8 , J , 1 ); // 1779 PN(42) PN(42 ); // 1780 M13=0 M13 = 0 ; // 1781 ->1 goto l_1; // 1782 SW(4): /* case */ SW_4: // 1783 comment [N] [:] // [N] [:] // 1784 K=A(2) K = A(2 ) ; // 1785 M10=0 M10 = 0 ; // 1786 M13=0 M13 = 0 ; // 1787 FINDLABEL FINDLABEL(); // 1788 ifJ=-1then->2 if (J == -1 ) goto l_2; // 1789 FAULT(2) FAULT(2 ); // 1790 ->1 goto l_1; // 1791 2: l_2:; // 1792 PUSHDOWN2(LABEL(LEVEL),CA,K) PUSHDOWN2(LABEL(LEVEL ) , CA , K ); // 1793 ->1 goto l_1; // 1794 SW(5): /* case */ SW_5: // 1795 comment [%IU ] [SC][REST OF COND] [%THEN ] [UI] [S] // [%IU ] [SC][REST OF COND] [%THEN ] [UI] [S] // 1796 *JS3 /* To do: kdf9 instruction */ // 1797 Q=2 Q = 2 ; // 1798 ->4 goto l_4; // 1799 SW(6): /* case */ SW_6: // 1800 comment [!][TEXT][S] // [!][TEXT][S] // 1801 ->1 goto l_1; // 1802 90: l_90:; // 1803 comment [UI][SET MARKER 2][REST OF SS1][%IU ][SC][REST OF COND] [S] // [UI][SET MARKER 2][REST OF SS1][%IU ][SC][REST OF COND] [S] // 1804 Q=MARKER2+1 Q = MARKER2 +1 ; // 1805 4: l_4:; // 1806 P=Q+1 P = Q +1 ; // 1807 CCOND CCOND(); // 1808 ifA(1)=1thenP=2 if (A(1 ) == 1 ) P = 2 ; // 1809 ->1234unlessA(P)=2 if (!(A(P ) == 2 )) goto l_1234; // 1810 K=A(P+1) K = A(P +1 ) ; // 1811 STOREJUMP STOREJUMP(); // 1812 PJ(10-A(Q),0,6) PJ(10 -A(Q ) , 0 , 6 ); // 1813 ->1 goto l_1; // 1814 1234: l_1234:; // 1815 PLABEL=PLABEL-1 PLABEL = PLABEL -1 ; // 1816 K=PLABEL K = PLABEL ; // 1817 STOREJUMP STOREJUMP(); // 1818 PJ(7+A(Q),0,6) PJ(7 +A(Q ) , 0 , 6 ); // 1819 Q=PLABEL Q = PLABEL ; // 1820 CUI CUI(); // 1821 M10=0 M10 = 0 ; // 1822 M13=0 M13 = 0 ; // 1823 PUSHDOWN2(LABEL(LEVEL),CA,Q) PUSHDOWN2(LABEL(LEVEL ) , CA , Q ); // 1824 ->1 goto l_1; // 1825 SW(7): /* case */ SW_7: // 1826 comment [TYPE] [NAME] [REST OF NAME LIST] [S] // [TYPE] [NAME] [REST OF NAME LIST] [S] // 1827 TYPE=3-A(2) TYPE = 3 -A(2 ) ; // 1828 J=0 J = 0 ; // 1829 P=2 P = 2 ; // 1830 PN(33)ifDIAGS=1 if (DIAGS == 1 ) PN(33 ); // 1831 5: l_5:; // 1832 K=A(P+1) K = A(P +1 ) ; // 1833 TESTNST TESTNST(); // 1834 STORETAG(K) STORETAG(K ); // 1835 STORENAME STORENAME(); // 1836 PN(34)ifDIAGS=1 if (DIAGS == 1 ) PN(34 ); // 1837 PMS(1,N,LEVEL)ifDIAGS=1 if (DIAGS == 1 ) PMS(1 , N , LEVEL ); // 1838 N=N+1 N = N +1 ; // 1839 P=P+2 P = P +2 ; // 1840 ifA(P)=1then->5 if (A(P ) == 1 ) goto l_5; // 1841 PN(42)ifDIAGS=1 if (DIAGS == 1 ) PN(42 ); // 1842 ->1 goto l_1; // 1843 SW(8): /* case */ SW_8: // 1844 comment [%END ] [S] // [%END ] [S] // 1845 *JS3 /* To do: kdf9 instruction */ // 1846 M10=0 M10 = 0 ; // 1847 M13=0 M13 = 0 ; // 1848 KKK=FLAG(LEVEL) KKK = FLAG(LEVEL ) ; // 1849 8401: l_8401:; // 1850 POPUP2(ARRDIM(LEVEL),JJ,KK) POPUP2(ARRDIM(LEVEL ) , JJ , KK ); // 1851 ->50ifJJ=-1 if (JJ == -1 ) goto l_50; // 1852 COPYTAG(KK) COPYTAG(KK ); // 1853 FILLSET(JJ,J) FILLSET(JJ , J ); // 1854 ! FILL IN ARRAY DIM // FILL IN ARRAY DIM // 1855 ->8401 goto l_8401; // 1856 50: l_50:; // 1857 comment COMPLETE LABELS JUMPS // COMPLETE LABELS JUMPS // 1858 *JS2701 /* To do: kdf9 instruction */ // 1859 *ZERO KDF9_ZERO(); // 1860 *NOT KDF9_NOT(); // 1861 **=A(2) /* To do: kdf9 instruction */ // 1862 **L(LEVEL) /* To do: kdf9 instruction */ // 1863 **=A(3) /* To do: kdf9 instruction */ // 1864 A(4)=M(LEVEL) A(4 ) = M(LEVEL ) ; // 1865 A(5)=LEVEL A(5 ) = LEVEL ; // 1866 KK=5 KK = 5 ; // 1867 56: l_56:; // 1868 comment CLEAR THE DECS // CLEAR THE DECS // 1869 POPUP2(NAME(LEVEL),J,K) POPUP2(NAME(LEVEL ) , J , K ); // 1870 ifJ=-1then->857 if (J == -1 ) goto l_857; // 1871 JJ=K JJ = K ; // 1872 FNAME=JJ FNAME = JJ ; // 1873 COPYTAG(K) COPYTAG(K ); // 1874 POPUP2(TAGS(JJ),I,I) POPUP2(TAGS(JJ ) , I , I ); // 1875 ifTYPE=2then->811 if (TYPE == 2 ) goto l_811; // 1876 ifTYPE=1then->810 if (TYPE == 1 ) goto l_810; // 1877 ifJ=15andLEVEL#1thenFAULT(28) if (J == 15 && LEVEL != 1 ) FAULT(28 ); // 1878 ->56unless6<=TYPE<=10 if (!(6 <= TYPE && /* (beware side-effects) */TYPE <= 10 )) goto l_56; // 1879 JJ=K JJ = K ; // 1880 58: l_58:; // 1881 POPUP2(ST(JJ),J,K) POPUP2(ST(JJ ) , J , K ); // 1882 ifJ#-1then->58 if (J != -1 ) goto l_58; // 1883 RETURNCELL(JJ) RETURNCELL(JJ ); // 1884 ->56 goto l_56; // 1885 810: l_810:; // 1886 *ZERO KDF9_ZERO(); // 1887 *NOT KDF9_NOT(); // 1888 *SHL32 /* To do: kdf9 instruction */ // 1889 ->812 goto l_812; // 1890 811: l_811:; // 1891 *ZERO KDF9_ZERO(); // 1892 812: l_812:; // 1893 **JJ /* To do: kdf9 instruction */ // 1894 *SHL16 /* To do: kdf9 instruction */ // 1895 **K /* To do: kdf9 instruction */ // 1896 *OR KDF9_OR(); // 1897 *OR KDF9_OR(); // 1898 KK=KK+1 KK = KK +1 ; // 1899 **=A(KK) /* To do: kdf9 instruction */ // 1900 ->56 goto l_56; // 1901 820: l_820:; // 1902 KK=2 KK = 2 ; // 1903 A(2)=-1 A(2 ) = -1 ; // 1904 857: l_857:; // 1905 ->838ifDIAGS=0orFAULTY=1 if (DIAGS == 0 || FAULTY == 1 ) goto l_838; // 1906 A(KK+1)=-1 A(KK +1 ) = -1 ; // 1907 *E419 /* To do: kdf9 instruction */ // 1908 *=C15 /* To do: kdf9 instruction */ // 1909 **@A(2) /* To do: kdf9 instruction */ // 1910 *DUP KDF9_DUP(); // 1911 *=I15 /* To do: kdf9 instruction */ // 1912 *SET99 /* To do: kdf9 instruction */ // 1913 *+ /* To do: kdf9 instruction */ // 1914 *=M15 /* To do: kdf9 instruction */ // 1915 *POAQ15 /* To do: kdf9 instruction */ // 1916 838: l_838:; // 1917 ifKK=2then->1 if (KK == 2 ) goto l_1; // 1918 comment CHECK %CYCLE - %REPEAT // CHECK %CYCLE - %REPEAT // 1919 POPUP2(CYCLE(LEVEL),J,K) POPUP2(CYCLE(LEVEL ) , J , K ); // 1920 ifJ=-1then->59 if (J == -1 ) goto l_59; // 1921 FAULT(13) FAULT(13 ); // 1922 ->857 goto l_857; // 1923 59: l_59:; // 1924 comment PLANT ALLOCATION NEST UP INSTRUCTIONS // PLANT ALLOCATION NEST UP INSTRUCTIONS // 1925 ifKKK=1thenPJ(8,SL(6),11) if (KKK == 1 ) PJ(8 , SL(6 ) , 11 ); // 1926 if10>=KKK>=7thenPJ(8,SL(11),11) if (10 >= KKK && /* (beware side-effects) */KKK >= 7 ) PJ(8 , SL(11 ) , 11 ); // 1927 FILLSET(SET(LEVEL),N) FILLSET(SET(LEVEL ) , N ); // 1928 if0#KKK#6then->60 if (0 != KKK && /* (beware side-effects) */KKK != 6 ) goto l_60; // 1929 PQ(105,LEVEL,12) PQ(105 , LEVEL , 12 ); // 1930 PQ(64,12,0) PQ(64 , 12 , 0 ); // 1931 PQ(120,LEVEL,2) PQ(120 , LEVEL , 2 ); // 1932 PPJ(8,67,13)ifDIAGS=1 if (DIAGS == 1 ) PPJ(8 , 67 , 13 ); // 1933 ifKKK=6thenPJ(8,SL(4),11) if (KKK == 6 ) PJ(8 , SL(4 ) , 11 ); // 1934 60: l_60:; // 1935 ifKKK=2then->820 if (KKK == 2 ) goto l_820; // 1936 ifLFLAG=1then->4011 if (LFLAG == 1 ) goto l_4011; // 1937 ifLISTFLAG=1then->401 if (LISTFLAG == 1 ) goto l_401; // 1938 WRITE(LINE,5) WRITE(LINE , 5 ); // 1939 SPACES(3*LEVEL-3) SPACES(3 *LEVEL -3 ); // 1940 captionEND OF caption("END OF ") // 1941 ->END(KKK) {sw = KKK ; goto goto_sw_END;} // 1942 END(0): /* case */ END_0: // 1943 captionBLOCK caption("BLOCK") // 1944 ->401 goto l_401; // 1945 END(1): /* case */ END_1: // 1946 captionPROGRAM caption("PROGRAM") // 1947 ->401 goto l_401; // 1948 END(6): /* case */ END_6: // 1949 captionROUTINE caption("ROUTINE") // 1950 ->401 goto l_401; // 1951 END(7): /* case */ END_7: // 1952 captionREAL FN caption("REAL FN") // 1953 ->401 goto l_401; // 1954 END(8): /* case */ END_8: // 1955 captionINTEGER FN caption("INTEGER FN") // 1956 ->401 goto l_401; // 1957 END(9): /* case */ END_9: // 1958 captionREAL MAP caption("REAL MAP") // 1959 ->401 goto l_401; // 1960 END(10): /* case */ END_10: // 1961 captionINTEGER MAP caption("INTEGER MAP") // 1962 401: l_401:; // 1963 ifMCSWITCH=1thenDPCA if (MCSWITCH == 1 ) DPCA(); // 1964 NEWLINE NEWLINE(); // 1965 4011: l_4011:; // 1966 ifLEVEL>2orPERM=1orLFLAG=1then->61 if (LEVEL > 2 || PERM == 1 || LFLAG == 1 ) goto l_61; // 1967 ifKKK=1then->62 if (KKK == 1 ) goto l_62; // 1968 FAULT(14) FAULT(14 ); // 1969 A(1)=15 A(1 ) = 15 ; // 1970 ->1 goto l_1; // 1971 61: l_61:; // 1972 ifKKK#1then->63 if (KKK != 1 ) goto l_63; // 1973 FAULT(15) FAULT(15 ); // 1974 ->1 goto l_1; // 1975 62: l_62:; // 1976 ifFAULTY#0then->64 if (FAULTY != 0 ) goto l_64; // 1977 begin { // 1978 integerP,Q,R int P; int Q; int R; // 1979 cycleP=2,1,NLIB for (P = 2 ; P != (NLIB )+(1 ); P += 1 ) { // 1980 ->1ifRA(P)=1 if (RA(P ) == 1 ) goto l_1; // 1981 repeat } // 1982 **COMPILER /* To do: kdf9 instruction */ // 1983 *J9#Z /* To do: kdf9 instruction */ // 1984 *E418 /* To do: kdf9 instruction */ // 1985 *=RC15 /* To do: kdf9 instruction */ // 1986 *E444 /* To do: kdf9 instruction */ // 1987 *=M15 /* To do: kdf9 instruction */ // 1988 *PMEQ15 /* To do: kdf9 instruction */ // 1989 *ZERO KDF9_ZERO(); // 1990 *=E444 /* To do: kdf9 instruction */ // 1991 ifLFLAG=0then->9 if (LFLAG == 0 ) goto l_9; // 1992 6: l_6:; // 1993 **DEVNO /* To do: kdf9 instruction */ // 1994 *E440 /* To do: kdf9 instruction */ // 1995 *=E420 /* To do: kdf9 instruction */ // 1996 *=E440 /* To do: kdf9 instruction */ // 1997 LFLAG=0 LFLAG = 0 ; // 1998 A(1)=15 A(1 ) = 15 ; // 1999 *E9 /* To do: kdf9 instruction */ // 2000 *=E439 /* To do: kdf9 instruction */ // 2001 *E10 /* To do: kdf9 instruction */ // 2002 *=E443 /* To do: kdf9 instruction */ // 2003 *JS11 /* To do: kdf9 instruction */ // 2004 * /* .ALIGN */ // 2005 5: l_5:; // 2006 *M0M15Q /* To do: kdf9 instruction */ // 2007 * /* .ALIGN */ // 2008 *=M0M14Q /* To do: kdf9 instruction */ // 2009 *J5C14NZS /* To do: kdf9 instruction */ // 2010 !RESTORE BUFFERS //RESTORE BUFFERS // 2011 caption\ALL LIBRARY ITEMS INSERTED caption("\nALL LIBRARY ITEMS INSERTED") // 2012 RAL(LEVEL)=N RAL(LEVEL ) = N ; // 2013 LEVEL=LEVEL+1 LEVEL = LEVEL +1 ; // 2014 ->9 goto l_9; // 2015 2: l_2:; // 2016 *SET35P: /* To do: kdf9 instruction */ // 2017 *=M14 /* To do: kdf9 instruction */ // 2018 *M0M14 /* To do: kdf9 instruction */ // 2019 *=Q15 /* To do: kdf9 instruction */ // 2020 *=C15 /* To do: kdf9 instruction */ // 2021 *SETB242 /* To do: kdf9 instruction */ // 2022 *DUP KDF9_DUP(); // 2023 *JS13 /* To do: kdf9 instruction */ // 2024 *SETB302 /* To do: kdf9 instruction */ // 2025 *DUP KDF9_DUP(); // 2026 *=M0M14N /* To do: kdf9 instruction */ // 2027 *SET44P: /* To do: kdf9 instruction */ // 2028 *=M14 /* To do: kdf9 instruction */ // 2029 *M0M14 /* To do: kdf9 instruction */ // 2030 *=Q15 /* To do: kdf9 instruction */ // 2031 *PERM KDF9_PERM(); // 2032 *=M0M14N /* To do: kdf9 instruction */ // 2033 *=C15 /* To do: kdf9 instruction */ // 2034 13: l_13:; // 2035 *=I15 /* To do: kdf9 instruction */ // 2036 *Q15 KDF9_Q(15); // 2037 *=M0M14 /* To do: kdf9 instruction */ // 2038 *EXIT1 KDF9_EXIT(1); // 2039 12: l_12:; // 2040 *M+I15 /* To do: kdf9 instruction */ // 2041 *M15 KDF9_M(15); // 2042 *SETB37 /* To do: kdf9 instruction */ // 2043 *AND KDF9_AND(); // 2044 *J12#Z /* To do: kdf9 instruction */ // 2045 *EXIT1 KDF9_EXIT(1); // 2046 11: l_11:; // 2047 *SET42P: /* To do: kdf9 instruction */ // 2048 *=RM14 /* To do: kdf9 instruction */ // 2049 *SET68 /* To do: kdf9 instruction */ // 2050 *=C14 /* To do: kdf9 instruction */ // 2051 *SET11 /* To do: kdf9 instruction */ // 2052 *=RM15 /* To do: kdf9 instruction */ // 2053 *EXIT1 KDF9_EXIT(1); // 2054 1: l_1:; // 2055 ifLFLAG=1then->3 if (LFLAG == 1 ) goto l_3; // 2056 LFLAG=1 LFLAG = 1 ; // 2057 A(1)=8 A(1 ) = 8 ; // 2058 LISTFLAG=0 LISTFLAG = 0 ; // 2059 LEVEL=LEVEL-1 LEVEL = LEVEL -1 ; // 2060 N=RAL(LEVEL) N = RAL(LEVEL ) ; // 2061 *E439 /* To do: kdf9 instruction */ // 2062 *=E9 /* To do: kdf9 instruction */ // 2063 *ZERO KDF9_ZERO(); // 2064 *=E439 /* To do: kdf9 instruction */ // 2065 *E443 /* To do: kdf9 instruction */ // 2066 *=E10 /* To do: kdf9 instruction */ // 2067 *JS11 /* To do: kdf9 instruction */ // 2068 * /* .ALIGN */ // 2069 4: l_4:; // 2070 *M0M14Q /* To do: kdf9 instruction */ // 2071 * /* .ALIGN */ // 2072 *=M0M15Q /* To do: kdf9 instruction */ // 2073 *J4C14NZS /* To do: kdf9 instruction */ // 2074 !DUMP BUFFERS IN PTFC //DUMP BUFFERS IN PTFC // 2075 *ZERO KDF9_ZERO(); // 2076 *NOT KDF9_NOT(); // 2077 *=E443 /* To do: kdf9 instruction */ // 2078 *E420 /* To do: kdf9 instruction */ // 2079 *E440 /* To do: kdf9 instruction */ // 2080 **=DEVNO /* To do: kdf9 instruction */ // 2081 *=E440 /* To do: kdf9 instruction */ // 2082 *E418 /* To do: kdf9 instruction */ // 2083 *DUP KDF9_DUP(); // 2084 *DUP KDF9_DUP(); // 2085 *=E420 /* To do: kdf9 instruction */ // 2086 *JS2 /* To do: kdf9 instruction */ // 2087 8: l_8:; // 2088 *SET30P: /* To do: kdf9 instruction */ // 2089 *=Q14 /* To do: kdf9 instruction */ // 2090 *M0M14 /* To do: kdf9 instruction */ // 2091 *=Q15 /* To do: kdf9 instruction */ // 2092 *JS12 /* To do: kdf9 instruction */ // 2093 *JS7 /* To do: kdf9 instruction */ // 2094 ->110 goto l_110; // 2095 7: l_7:; // 2096 *M0M15 /* To do: kdf9 instruction */ // 2097 *=Q13 /* To do: kdf9 instruction */ // 2098 *ZERO KDF9_ZERO(); // 2099 *=TR /* To do: kdf9 instruction */ // 2100 *PARQ13 KDF9_PARQ(13); // 2101 *J105TR /* To do: kdf9 instruction */ // 2102 *PIAQ13 /* To do: kdf9 instruction */ // 2103 *E444 /* To do: kdf9 instruction */ // 2104 *NOT KDF9_NOT(); // 2105 *NEG KDF9_NEG(); // 2106 *=E444 /* To do: kdf9 instruction */ // 2107 *M0M15N /* To do: kdf9 instruction */ // 2108 *=M15 /* To do: kdf9 instruction */ // 2109 *EXIT1 KDF9_EXIT(1); // 2110 110: l_110:; // 2111 *JS12 /* To do: kdf9 instruction */ // 2112 *M-I15 /* To do: kdf9 instruction */ // 2113 *M-I15 /* To do: kdf9 instruction */ // 2114 *Q15 KDF9_Q(15); // 2115 *=M0M14 /* To do: kdf9 instruction */ // 2116 3: l_3:; // 2117 // 2118 101: l_101:; // 2119 *E226 /* To do: kdf9 instruction */ // 2120 *=Q15 /* To do: kdf9 instruction */ // 2121 102: l_102:; // 2122 *JS12 /* To do: kdf9 instruction */ // 2123 *JS7 /* To do: kdf9 instruction */ // 2124 *M0M15 /* To do: kdf9 instruction */ // 2125 *M+I15 /* To do: kdf9 instruction */ // 2126 *J102>=Z /* To do: kdf9 instruction */ // 2127 *Q15 KDF9_Q(15); // 2128 *=E226 /* To do: kdf9 instruction */ // 2129 ->21 goto l_21; // 2130 105: l_105:; // 2131 *E437 /* To do: kdf9 instruction */ // 2132 *E436 /* To do: kdf9 instruction */ // 2133 *SET2 /* To do: kdf9 instruction */ // 2134 *=C15 /* To do: kdf9 instruction */ // 2135 *JS25P /* To do: kdf9 instruction */ // 2136 *ZERO KDF9_ZERO(); // 2137 *OUT KDF9_OUT(); // 2138 ! PARITY // PARITY // 2139 21: l_21:; // 2140 *JS49P /* To do: kdf9 instruction */ // 2141 **=Q /* To do: kdf9 instruction */ // 2142 ->21ifQ=10orQ=32 if (Q == 10 || Q == 32 ) goto l_21; // 2143 R=Q-48 R = Q -48 ; // 2144 23: l_23:; // 2145 *JS49P /* To do: kdf9 instruction */ // 2146 **=Q /* To do: kdf9 instruction */ // 2147 ->22unless'0'<=Q<='9' if (!('0' <= Q && /* (beware side-effects) */Q <= '9' )) goto l_22; // 2148 R=10R+Q-'0' R = 10 *R +Q -'0' ; // 2149 ->23 goto l_23; // 2150 22: l_22:; // 2151 ->101ifP>R if (P > R ) goto l_101; // 2152 ->9ifP=R if (P == R ) goto l_9; // 2153 *E418 /* To do: kdf9 instruction */ // 2154 *=RC15 /* To do: kdf9 instruction */ // 2155 *E444 /* To do: kdf9 instruction */ // 2156 *SET5 /* To do: kdf9 instruction */ // 2157 *- /* To do: kdf9 instruction */ // 2158 *DUP KDF9_DUP(); // 2159 *=M15 /* To do: kdf9 instruction */ // 2160 *J101<=Z /* To do: kdf9 instruction */ // 2161 *PMEQ15 /* To do: kdf9 instruction */ // 2162 *SET5 /* To do: kdf9 instruction */ // 2163 *=E444 /* To do: kdf9 instruction */ // 2164 ->101 goto l_101; // 2165 9: l_9:; // 2166 ifFAULTY#0andLFLAG=1then->6 if (FAULTY != 0 && LFLAG == 1 ) goto l_6; // 2167 end } // 2168 ifLFLAG#0then->1 if (LFLAG != 0 ) goto l_1; // 2169 64: l_64:; // 2170 KKK=2 KKK = 2 ; // 2171 63: l_63:; // 2172 LEVEL=LEVEL-1 LEVEL = LEVEL -1 ; // 2173 stopifLEVEL<=0 if (LEVEL <= 0 ) exit(0); // 2174 N=RAL(LEVEL) N = RAL(LEVEL ) ; // 2175 ifKKK=0then->1 if (KKK == 0 ) goto l_1; // 2176 ifKKK=2then->50 if (KKK == 2 ) goto l_50; // 2177 FROMLIST2(JUMP(LEVEL),J,K) FROMLIST2(JUMP(LEVEL ) , J , K ); // 2178 PUSHDOWN2(LABEL(LEVEL),CA,K) PUSHDOWN2(LABEL(LEVEL ) , CA , K ); // 2179 ->1 goto l_1; // 2180 SW(9): /* case */ SW_9: // 2181 comment [RT] [%SPEC '] [NAME] [FPP] [S] // [RT] [%SPEC '] [NAME] [FPP] [S] // 2182 ifA(3)=2then->41 if (A(3 ) == 2 ) goto l_41; // 2183 CRSPEC(0) CRSPEC(0 ); // 2184 ->1 goto l_1; // 2185 41: l_41:; // 2186 KKK=A(2)+5 KKK = A(2 ) +5 ; // 2187 KK=A(4) KK = A(4 ) ; // 2188 COPYTAG(KK) COPYTAG(KK ); // 2189 ->39unlessI=LEVEL if (!(I == LEVEL )) goto l_39; // 2190 ->40ifJ=15andTYPE=KKK if (J == 15 && TYPE == KKK ) goto l_40; // 2191 FNAME=KK FNAME = KK ; // 2192 FAULT(7)unlessTYPE=0 if (!(TYPE == 0 )) FAULT(7 ); // 2193 39: l_39:; // 2194 CRSPEC(0) CRSPEC(0 ); // 2195 ->41 goto l_41; // 2196 40: l_40:; // 2197 J=0 J = 0 ; // 2198 M10=0 M10 = 0 ; // 2199 M13=0 M13 = 0 ; // 2200 REPLACETAG(KK) REPLACETAG(KK ); // 2201 JJ=K JJ = K ; // 2202 PLABEL=PLABEL-1 PLABEL = PLABEL -1 ; // 2203 K=PLABEL K = PLABEL ; // 2204 STOREJUMP STOREJUMP(); // 2205 PJ(8,0,11) PJ(8 , 0 , 11 ); // 2206 RAL(LEVEL)=N RAL(LEVEL ) = N ; // 2207 ifLISTFLAG=1then->4001 if (LISTFLAG == 1 ) goto l_4001; // 2208 WRITE(LINE,5) WRITE(LINE , 5 ); // 2209 SPACES(3*LEVEL) SPACES(3 *LEVEL ); // 2210 ->RT(TYPE) {sw = TYPE ; goto goto_sw_RT;} // 2211 RT(6): /* case */ RT_6: // 2212 captionROUTINE caption("ROUTINE ") // 2213 ->400 goto l_400; // 2214 RT(7): /* case */ RT_7: // 2215 captionREAL FN caption("REAL FN ") // 2216 ->400 goto l_400; // 2217 RT(8): /* case */ RT_8: // 2218 captionINTEGER FN caption("INTEGER FN ") // 2219 ->400 goto l_400; // 2220 RT(9): /* case */ RT_9: // 2221 captionREAL MAP caption("REAL MAP ") // 2222 ->400 goto l_400; // 2223 RT(10): /* case */ RT_10: // 2224 captionINTEGER MAP caption("INTEGER MAP ") // 2225 400: l_400:; // 2226 SPACE SPACE(); // 2227 PRINTNAME(KK) PRINTNAME(KK ); // 2228 4001: l_4001:; // 2229 ifMCSWITCH=1thenDPCA if (MCSWITCH == 1 ) DPCA(); // 2230 NEWLINE NEWLINE(); // 2231 ifLEVEL=9thenFAULT(34) if (LEVEL == 9 ) FAULT(34 ); // 2232 ifLEVEL<10then->411 if (LEVEL < 10 ) goto l_411; // 2233 FAULT(35) FAULT(35 ); // 2234 stop exit(0); // 2235 411: l_411:; // 2236 LEVEL=LEVEL+1 LEVEL = LEVEL +1 ; // 2237 R=CA R = CA ; // 2238 PQ(121,LEVEL,2) PQ(121 , LEVEL , 2 ); // 2239 PQ(65,12,0) PQ(65 , 12 , 0 ); // 2240 PQ(105,12,LEVEL) PQ(105 , 12 , LEVEL ); // 2241 L(LEVEL)=LINE L(LEVEL ) = LINE ; // 2242 M(LEVEL)=KK M(LEVEL ) = KK ; // 2243 N=3 N = 3 ; // 2244 ->407ifDIAGS=0 if (DIAGS == 0 ) goto l_407; // 2245 *JS415 /* To do: kdf9 instruction */ // 2246 407: l_407:; // 2247 FLAG(LEVEL)=TYPE FLAG(LEVEL ) = TYPE ; // 2248 SET(LEVEL)=CA SET(LEVEL ) = CA ; // 2249 PSET(0) PSET(0 ); // 2250 PQ(122,12,2) PQ(122 , 12 , 2 ); // 2251 PPJ(8,95,13)unlessMCSWITCH=1 if (!(MCSWITCH == 1 )) PPJ(8 , 95 , 13 ); // 2252 FROMLIST2(ST(JJ),J,K) FROMLIST2(ST(JJ ) , J , K ); // 2253 RA(J)=R RA(J ) = R ; // 2254 ifA(5)=2then->42 if (A(5 ) == 2 ) goto l_42; // 2255 P=4 P = 4 ; // 2256 43: l_43:; // 2257 P=P+2 P = P +2 ; // 2258 ->RFPD(A(P)) {sw = A(P ) ; goto goto_sw_RFPD;} // 2259 RFPD(1): /* case */ RFPD_1: // 2260 TYPE=A(P+1)+5 TYPE = A(P +1 ) +5 ; // 2261 P=P+1 P = P +1 ; // 2262 ->44 goto l_44; // 2263 RFPD(2): /* case */ RFPD_2: // 2264 TYPE=4 TYPE = 4 ; // 2265 ->44 goto l_44; // 2266 RFPD(3): /* case */ RFPD_3: // 2267 TYPE=12 TYPE = 12 ; // 2268 ->44 goto l_44; // 2269 RFPD(4): /* case */ RFPD_4: // 2270 TYPE=2 TYPE = 2 ; // 2271 ->44 goto l_44; // 2272 RFPD(5): /* case */ RFPD_5: // 2273 TYPE=3 TYPE = 3 ; // 2274 P=P+1 P = P +1 ; // 2275 ->44 goto l_44; // 2276 RFPD(6): /* case */ RFPD_6: // 2277 TYPE=11 TYPE = 11 ; // 2278 ->44 goto l_44; // 2279 RFPD(7): /* case */ RFPD_7: // 2280 TYPE=1 TYPE = 1 ; // 2281 ->44 goto l_44; // 2282 RFPD(8): /* case */ RFPD_8: // 2283 TYPE=14 TYPE = 14 ; // 2284 44: l_44:; // 2285 P=P+1 P = P +1 ; // 2286 LINK(JJ) LINK(JJ ); // 2287 ifJJ#0then->45 if (JJ != 0 ) goto l_45; // 2288 FAULT(8) FAULT(8 ); // 2289 ->46 goto l_46; // 2290 45: l_45:; // 2291 FROMLIST2(ST(JJ),J,JJJ) FROMLIST2(ST(JJ ) , J , JJJ ); // 2292 ifJ#TYPEthenFAULT(9) if (J != TYPE ) FAULT(9 ); // 2293 ->46if3#TYPE#4 if (3 != TYPE && /* (beware side-effects) */TYPE != 4 ) goto l_46; // 2294 PUSHDOWN2(ARRDIM(LEVEL),CA,A(P)) PUSHDOWN2(ARRDIM(LEVEL ) , CA , A(P ) ); // 2295 PSET(0) PSET(0 ); // 2296 PMS(0,N,LEVEL) PMS(0 , N , LEVEL ); // 2297 PPJ(8,66,13) PPJ(8 , 66 , 13 ); // 2298 46: l_46:; // 2299 K=A(P) K = A(P ) ; // 2300 TESTNST TESTNST(); // 2301 if6<=TYPE<=10then->47 if (6 <= TYPE && /* (beware side-effects) */TYPE <= 10 ) goto l_47; // 2302 J=0 J = 0 ; // 2303 TYPE_=TYPE TYPE_ = TYPE ; // 2304 ifTYPE=14thenTYPE=2 if (TYPE == 14 ) TYPE = 2 ; // 2305 STORETAG(K) STORETAG(K ); // 2306 TYPE=TYPE_ TYPE = TYPE_ ; // 2307 N=N+1 N = N +1 ; // 2308 STORENAME STORENAME(); // 2309 ->99 goto l_99; // 2310 47: l_47:; // 2311 NEWCELL(KK) NEWCELL(KK ); // 2312 J=0 J = 0 ; // 2313 R=N R = N ; // 2314 N=KK N = KK ; // 2315 STORETAG(K) STORETAG(K ); // 2316 STORENAME STORENAME(); // 2317 N=R N = R ; // 2318 PUSHDOWN2(ST(KK),JJJ,1000) PUSHDOWN2(ST(KK ) , JJJ , 1000 ); // 2319 99: l_99:; // 2320 P=P+1 P = P +1 ; // 2321 ifA(P)=1then->44 if (A(P ) == 1 ) goto l_44; // 2322 P=P+1 P = P +1 ; // 2323 ifA(P)=1then->43 if (A(P ) == 1 ) goto l_43; // 2324 42: l_42:; // 2325 LINK(JJ) LINK(JJ ); // 2326 ifJJ#0thenFAULT(10) if (JJ != 0 ) FAULT(10 ); // 2327 ->1 goto l_1; // 2328 SW(10): /* case */ SW_10: // 2329 comment [%SPEC ] [NAME] [FPP] [S] // [%SPEC ] [NAME] [FPP] [S] // 2330 CRSPEC(2) CRSPEC(2 ); // 2331 ->1 goto l_1; // 2332 SW(11): /* case */ SW_11: // 2333 comment [%COMMENT ] [TEXT] [S] // [%COMMENT ] [TEXT] [S] // 2334 ->1 goto l_1; // 2335 SW(12): /* case */ SW_12: // 2336 comment [TYPE'] [%ARRAY ] [ARRAY LIST] [S] // [TYPE'] [%ARRAY ] [ARRAY LIST] [S] // 2337 *JS3 /* To do: kdf9 instruction */ // 2338 TYPE_=4 TYPE_ = 4 ; // 2339 ifA(2)#1thenTYPE_=3 if (A(2 ) != 1 ) TYPE_ = 3 ; // 2340 Q=2 Q = 2 ; // 2341 15: l_15:; // 2342 P=Q+2 P = Q +2 ; // 2343 10: l_10:; // 2344 ifA(P)=2then->9 if (A(P ) == 2 ) goto l_9; // 2345 P=P+2 P = P +2 ; // 2346 ->10 goto l_10; // 2347 9: l_9:; // 2348 KK=0 KK = 0 ; // 2349 1201: l_1201:; // 2350 PQ(121,12,2) PQ(121 , 12 , 2 ); // 2351 ! *M12 // *M12 // 2352 PQ(96,12,0) PQ(96 , 12 , 0 ); // 2353 ! *M+I12 // *M+I12 // 2354 1202: l_1202:; // 2355 P=P+1 P = P +1 ; // 2356 PQ(96,12,0) PQ(96 , 12 , 0 ); // 2357 ! *M+I12 // *M+I12 // 2358 CSEXP(2) CSEXP(2 ); // 2359 PQ(67,12,0) PQ(67 , 12 , 0 ); // 2360 ! =M0M12Q // =M0M12Q // 2361 CSEXP(2) CSEXP(2 ); // 2362 PQ(67,12,0) PQ(67 , 12 , 0 ); // 2363 KK=KK+1 KK = KK +1 ; // 2364 ifA(P)=1then->1202 if (A(P ) == 1 ) goto l_1202; // 2365 PSET(1) PSET(1 ); // 2366 PQ(67,12,0) PQ(67 , 12 , 0 ); // 2367 PN(34) PN(34 ); // 2368 ! DUP // DUP // 2369 PQ(120,13,2) PQ(120 , 13 , 2 ); // 2370 ! *=M13 // *=M13 // 2371 PSET(KK) PSET(KK ); // 2372 PQ(65,13,0) PQ(65 , 13 , 0 ); // 2373 ! *=M0M13 // *=M0M13 // 2374 M13=0 M13 = 0 ; // 2375 M10=0 M10 = 0 ; // 2376 QQ=Q+1 QQ = Q +1 ; // 2377 1205: l_1205:; // 2378 K=A(QQ) K = A(QQ ) ; // 2379 PPJ(8,61,13) PPJ(8 , 61 , 13 ); // 2380 TESTNST TESTNST(); // 2381 TYPE=TYPE_ TYPE = TYPE_ ; // 2382 J=KK J = KK ; // 2383 STORETAG(K) STORETAG(K ); // 2384 STORENAME STORENAME(); // 2385 PMS(1,N,LEVEL) PMS(1 , N , LEVEL ); // 2386 ! =E(N)M(LEVEL) STORE ARRAYWORD // =E(N)M(LEVEL) STORE ARRAYWORD // 2387 N=N+1 N = N +1 ; // 2388 ifA(QQ+1)=2then->1206 if (A(QQ +1 ) == 2 ) goto l_1206; // 2389 QQ=QQ+2 QQ = QQ +2 ; // 2390 ->1205 goto l_1205; // 2391 1206: l_1206:; // 2392 PN(42) PN(42 ); // 2393 ! ERASE // ERASE // 2394 Q=P+1 Q = P +1 ; // 2395 ifA(Q)=1then->15 if (A(Q ) == 1 ) goto l_15; // 2396 ->1 goto l_1; // 2397 SW(14): /* case */ SW_14: // 2398 comment [%BEGIN ] [S] // [%BEGIN ] [S] // 2399 ifLISTFLAG=1orLFLAG=1then->4111 if (LISTFLAG == 1 || LFLAG == 1 ) goto l_4111; // 2400 WRITE(LINE,5) WRITE(LINE , 5 ); // 2401 SPACES(3*LEVEL) SPACES(3 *LEVEL ); // 2402 captionBEGIN caption("BEGIN") // 2403 4111: l_4111:; // 2404 ifMCSWITCH=1thenDPCA if (MCSWITCH == 1 ) DPCA(); // 2405 NEWLINE NEWLINE(); // 2406 RAL(LEVEL)=N RAL(LEVEL ) = N ; // 2407 LEVEL=LEVEL+1 LEVEL = LEVEL +1 ; // 2408 ifLEVEL=10thenFAULT(34) if (LEVEL == 10 ) FAULT(34 ); // 2409 ifLEVEL<11then->412 if (LEVEL < 11 ) goto l_412; // 2410 FAULT(35) FAULT(35 ); // 2411 stop exit(0); // 2412 412: l_412:; // 2413 PQ(121,LEVEL,2) PQ(121 , LEVEL , 2 ); // 2414 PQ(65,12,0) PQ(65 , 12 , 0 ); // 2415 PQ(105,12,LEVEL) PQ(105 , 12 , LEVEL ); // 2416 L(LEVEL)=LINE L(LEVEL ) = LINE ; // 2417 M(LEVEL)=0 M(LEVEL ) = 0 ; // 2418 N=2 N = 2 ; // 2419 ->413ifDIAGS=0 if (DIAGS == 0 ) goto l_413; // 2420 *JS415 /* To do: kdf9 instruction */ // 2421 413: l_413:; // 2422 FLAG(LEVEL)=0 FLAG(LEVEL ) = 0 ; // 2423 SET(LEVEL)=CA SET(LEVEL ) = CA ; // 2424 PSET(0) PSET(0 ); // 2425 PQ(122,12,2) PQ(122 , 12 , 2 ); // 2426 PPJ(8,95,13)unlessMCSWITCH=1 if (!(MCSWITCH == 1 )) PPJ(8 , 95 , 13 ); // 2427 M10=0 M10 = 0 ; // 2428 M13=0 M13 = 0 ; // 2429 ->1 goto l_1; // 2430 415: l_415:; // 2431 PSET(LINE) PSET(LINE ); // 2432 PSET(LEVEL) PSET(LEVEL ); // 2433 PPJ(8,68,13) PPJ(8 , 68 , 13 ); // 2434 N=3 N = 3 ; // 2435 *EXIT1 KDF9_EXIT(1); // 2436 SW(15): /* case */ SW_15: // 2437 *JS3 /* To do: kdf9 instruction */ // 2438 ! END OF PRGAM // END OF PRGAM // 2439 PERM=0 PERM = 0 ; // 2440 KKK=1 KKK = 1 ; // 2441 ->50 goto l_50; // 2442 SW(16): /* case */ SW_16: // 2443 *SET38P: /* To do: kdf9 instruction */ // 2444 !LIST //LIST // 2445 *=Q14 /* To do: kdf9 instruction */ // 2446 *M0M14 /* To do: kdf9 instruction */ // 2447 *=Q15 /* To do: kdf9 instruction */ // 2448 *C15 KDF9_C(15); // 2449 *E421 /* To do: kdf9 instruction */ // 2450 *- /* To do: kdf9 instruction */ // 2451 *J1=Z /* To do: kdf9 instruction */ // 2452 LISTFLAG=1 LISTFLAG = 1 ; // 2453 ->1 goto l_1; // 2454 SW(17): /* case */ SW_17: // 2455 COPYTAG(A(2)) COPYTAG(A(2 ) ); // 2456 ![NAME][+'] [CONST] [)] [:] //[NAME][+'] [CONST] [)] [:] // 2457 ifTYPE=5andI=LEVELthen->29 if (TYPE == 5 && I == LEVEL ) goto l_29; // 2458 FAULT(4) FAULT(4 ); // 2459 ->1 goto l_1; // 2460 29: l_29:; // 2461 KK=K KK = K ; // 2462 M10=0 M10 = 0 ; // 2463 M13=0 M13 = 0 ; // 2464 KKK=A(5) KKK = A(5 ) ; // 2465 ifA(3)=2thenKKK=-KKK if (A(3 ) == 2 ) KKK = -KKK ; // 2466 ifST(KK)<=KKK<=ST(KK+1)andA(4)=1then->30 if (ST(KK ) <= KKK && /* (beware side-effects) */KKK <= ST(KK +1 ) && A(4 ) == 1 ) goto l_30; // 2467 FAULT(5) FAULT(5 ); // 2468 ->1 goto l_1; // 2469 30: l_30:; // 2470 **CA /* To do: kdf9 instruction */ // 2471 **@ST(KK+2) /* To do: kdf9 instruction */ // 2472 **KKK /* To do: kdf9 instruction */ // 2473 **ST(KK) /* To do: kdf9 instruction */ // 2474 *- /* To do: kdf9 instruction */ // 2475 *=M15 /* To do: kdf9 instruction */ // 2476 *=M14 /* To do: kdf9 instruction */ // 2477 *SHL24 /* To do: kdf9 instruction */ // 2478 *M14M15H /* To do: kdf9 instruction */ // 2479 *J31=Z /* To do: kdf9 instruction */ // 2480 FAULT(6) FAULT(6 ); // 2481 *ERASE KDF9_ERASE(); // 2482 ->1 goto l_1; // 2483 31: l_31:; // 2484 *=M14M15H /* To do: kdf9 instruction */ // 2485 ->1 goto l_1; // 2486 SW(18): /* case */ SW_18: // 2487 Q=1 Q = 1 ; // 2488 ![%SWITCH] [SWITCH LIST] [S] //[%SWITCH] [SWITCH LIST] [S] // 2489 28: l_28:; // 2490 P=Q+2 P = Q +2 ; // 2491 25: l_25:; // 2492 ifA(P)=2then->24 if (A(P ) == 2 ) goto l_24; // 2493 P=P+2 P = P +2 ; // 2494 ->25 goto l_25; // 2495 24: l_24:; // 2496 P=P+1 P = P +1 ; // 2497 ifA(P+1)#1orA(P+4)#1then->1811 if (A(P +1 ) != 1 || A(P +4 ) != 1 ) goto l_1811; // 2498 KKK=A(P+2) KKK = A(P +2 ) ; // 2499 ifA(P)=2thenKKK=-KKK if (A(P ) == 2 ) KKK = -KKK ; // 2500 KK=A(P+5) KK = A(P +5 ) ; // 2501 ifA(P+3)=2thenKK=-KK if (A(P +3 ) == 2 ) KK = -KK ; // 2502 ->1807ifKK<KKK if (KK < KKK ) goto l_1807; // 2503 **N0 /* To do: kdf9 instruction */ // 2504 **KK /* To do: kdf9 instruction */ // 2505 **KKK /* To do: kdf9 instruction */ // 2506 *- /* To do: kdf9 instruction */ // 2507 *SHL-1 /* To do: kdf9 instruction */ // 2508 *NOT KDF9_NOT(); // 2509 *NEG KDF9_NEG(); // 2510 *+ /* To do: kdf9 instruction */ // 2511 **=JJ /* To do: kdf9 instruction */ // 2512 *I9 KDF9_I(9); // 2513 **JJ /* To do: kdf9 instruction */ // 2514 *- /* To do: kdf9 instruction */ // 2515 *J1807<Z /* To do: kdf9 instruction */ // 2516 ->35 goto l_35; // 2517 1807: l_1807:; // 2518 FAULT(27) FAULT(27 ); // 2519 KK=KKK KK = KKK ; // 2520 JJ=N0+2 JJ = N0 +2 ; // 2521 35: l_35:; // 2522 QQ=Q+1 QQ = Q +1 ; // 2523 27: l_27:; // 2524 K=A(QQ) K = A(QQ ) ; // 2525 TESTNST TESTNST(); // 2526 R=N R = N ; // 2527 TYPE=5 TYPE = 5 ; // 2528 J=0 J = 0 ; // 2529 N=N0 N = N0 ; // 2530 STORETAG(K) STORETAG(K ); // 2531 STORENAME STORENAME(); // 2532 N=R N = R ; // 2533 cycleI=N0+2,1,JJ+2 for (I = N0 +2 ; I != (JJ +2 )+(1 ); I += 1 ) { // 2534 ST(I)=0 ST(I ) = 0 ; // 2535 repeat } // 2536 ST(N0)=KKK ST(N0 ) = KKK ; // 2537 ST(N0+1)=KK ST(N0 +1 ) = KK ; // 2538 R=JJ-N0 R = JJ -N0 ; // 2539 N0=JJ+2 N0 = JJ +2 ; // 2540 JJ=N0+R JJ = N0 +R ; // 2541 ifA(QQ+1)=2then->26 if (A(QQ +1 ) == 2 ) goto l_26; // 2542 QQ=QQ+2 QQ = QQ +2 ; // 2543 ->27 goto l_27; // 2544 26: l_26:; // 2545 Q=P+6 Q = P +6 ; // 2546 ifA(Q)=2then->1 if (A(Q ) == 2 ) goto l_1; // 2547 ->28 goto l_28; // 2548 1811: l_1811:; // 2549 FAULT(18) FAULT(18 ); // 2550 KK=0 KK = 0 ; // 2551 JJ=N0+2 JJ = N0 +2 ; // 2552 KKK=0 KKK = 0 ; // 2553 ->35 goto l_35; // 2554 SW(19): /* case */ SW_19: // 2555 QU=1 QU = 1 ; // 2556 ![COMPILE QUERIES] [S] //[COMPILE QUERIES] [S] // 2557 ->1 goto l_1; // 2558 SW(20): /* case */ SW_20: // 2559 QU=0 QU = 0 ; // 2560 ! [IGNORE QUERIES] [S] // [IGNORE QUERIES] [S] // 2561 ->1 goto l_1; // 2562 SW(21): /* case */ SW_21: // 2563 MCSWITCH=1 MCSWITCH = 1 ; // 2564 ! [%MCODE] // [%MCODE] // 2565 OVERFLAG=0 OVERFLAG = 0 ; // 2566 PERM=1 PERM = 1 ; // 2567 ->1 goto l_1; // 2568 SW(28): /* case */ SW_28: // 2569 MCSWITCH=0 MCSWITCH = 0 ; // 2570 ! [%END %OF %MCODE] // [%END %OF %MCODE] // 2571 OVERFLAG=1 OVERFLAG = 1 ; // 2572 PERM=0 PERM = 0 ; // 2573 ->1 goto l_1; // 2574 SW(22): /* case */ SW_22: // 2575 comment [N][P][:] // [N][P][:] // 2576 ifMCSWITCH=0thenFAULT(32) if (MCSWITCH == 0 ) FAULT(32 ); // 2577 ifSL(A(2))#0thenFAULT(33) if (SL(A(2 ) ) != 0 ) FAULT(33 ); // 2578 SL(A(2))=CA SL(A(2 ) ) = CA ; // 2579 M10=0 M10 = 0 ; // 2580 M13=0 M13 = 0 ; // 2581 ifLFLAG=1then->1 if (LFLAG == 1 ) goto l_1; // 2582 WRITE(LINE,5) WRITE(LINE , 5 ); // 2583 SPACES(3*LEVEL) SPACES(3 *LEVEL ); // 2584 WRITE(A(2),2) WRITE(A(2 ) , 2 ); // 2585 PRINTSYMBOL('P') PRINTSYMBOL('P' ); // 2586 PRINTSYMBOL(':') PRINTSYMBOL(':' ); // 2587 DPCA DPCA(); // 2588 NEWLINE NEWLINE(); // 2589 ->1 goto l_1; // 2590 SW(23): /* case */ SW_23: // 2591 P=2 P = 2 ; // 2592 ![*] [UCI] [S] //[*] [UCI] [S] // 2593 ifMCSWITCH=0thenFAULT(32) if (MCSWITCH == 0 ) FAULT(32 ); // 2594 MCSWITCH=1 MCSWITCH = 1 ; // 2595 CUCI CUCI(); // 2596 M10=0 M10 = 0 ; // 2597 M13=0 M13 = 0 ; // 2598 ->1 goto l_1; // 2599 SW(24): /* case */ SW_24: // 2600 comment "%FAULT" [FAULT LIST] // "%FAULT" [FAULT LIST] // 2601 ifLEVEL=2then->2401 if (LEVEL == 2 ) goto l_2401; // 2602 FAULT(26) FAULT(26 ); // 2603 ->1 goto l_1; // 2604 2401: l_2401:; // 2605 P=2 P = 2 ; // 2606 Q=P+1 Q = P +1 ; // 2607 2402: l_2402:; // 2608 ifA(Q)=2then->2403 if (A(Q ) == 2 ) goto l_2403; // 2609 Q=Q+2 Q = Q +2 ; // 2610 ->2402 goto l_2402; // 2611 2403: l_2403:; // 2612 K=A(Q+1) K = A(Q +1 ) ; // 2613 PSET(A(P)) PSET(A(P ) ); // 2614 PPJ(8,84,13) PPJ(8 , 84 , 13 ); // 2615 STOREJUMP STOREJUMP(); // 2616 PJ(8,0,11) PJ(8 , 0 , 11 ); // 2617 M13=0 M13 = 0 ; // 2618 P=P+2 P = P +2 ; // 2619 ->2403ifA(P-1)=1 if (A(P -1 ) == 1 ) goto l_2403; // 2620 ->1ifA(P+1)=2 if (A(P +1 ) == 2 ) goto l_1; // 2621 P=P+2 P = P +2 ; // 2622 Q=P+1 Q = P +1 ; // 2623 ->2402 goto l_2402; // 2624 SW(25): /* case */ SW_25: // 2625 LISTFLAG=0 LISTFLAG = 0 ; // 2626 ![%ENDOFLIST] //[%ENDOFLIST] // 2627 ->1 goto l_1; // 2628 SW(26): /* case */ SW_26: // 2629 *DC3 KDF9_DC(3); // 2630 ![STRINGS] //[STRINGS] // 2631 ->1 goto l_1; // 2632 SW(27): /* case */ SW_27: // 2633 NEWLINES(2) NEWLINES(2 ); // 2634 ![%ENDOFPERM] //[%ENDOFPERM] // 2635 LINE=-1 LINE = -1 ; // 2636 *JS2701 /* To do: kdf9 instruction */ // 2637 ->SW(28) {sw = 28 ; goto goto_sw_SW;} // 2638 2701: l_2701:; // 2639 POPUP2(JUMP(LEVEL),J,K) POPUP2(JUMP(LEVEL ) , J , K ); // 2640 ifJ=-1then->2702 if (J == -1 ) goto l_2702; // 2641 I=J I = J ; // 2642 FINDLABEL FINDLABEL(); // 2643 ifJ#-1then->2703 if (J != -1 ) goto l_2703; // 2644 FAULT(11) FAULT(11 ); // 2645 WRITE(K,1) WRITE(K , 1 ); // 2646 NEWLINE NEWLINE(); // 2647 ->2701 goto l_2701; // 2648 2703: l_2703:; // 2649 FILLLABEL(I,J) FILLLABEL(I , J ); // 2650 ->2701 goto l_2701; // 2651 2702: l_2702:; // 2652 POPUP2(LABEL(LEVEL),J,K) POPUP2(LABEL(LEVEL ) , J , K ); // 2653 ifJ#-1then->2702 if (J != -1 ) goto l_2702; // 2654 *EXIT1 KDF9_EXIT(1); // 2655 SW(29): /* case */ SW_29: // 2656 comment [%DEFINE %COMPILER ][S] // [%DEFINE %COMPILER ][S] // 2657 LINE=-1 LINE = -1 ; // 2658 COMPILER=0 COMPILER = 0 ; // 2659 *ZERO KDF9_ZERO(); // 2660 *=E445 /* To do: kdf9 instruction */ // 2661 *SET5 /* To do: kdf9 instruction */ // 2662 *=E444 /* To do: kdf9 instruction */ // 2663 *JS70 /* To do: kdf9 instruction */ // 2664 *JS46P /* To do: kdf9 instruction */ // 2665 INITIALISE INITIALISE(); // 2666 *E425 /* To do: kdf9 instruction */ // 2667 *=M0M0H /* To do: kdf9 instruction */ // 2668 **PPCURR /* To do: kdf9 instruction */ // 2669 *=Q13 /* To do: kdf9 instruction */ // 2670 *M13 KDF9_M(13); // 2671 *=+I13 /* To do: kdf9 instruction */ // 2672 *M0TOQ13 /* To do: kdf9 instruction */ // 2673 *Q13 KDF9_Q(13); // 2674 **=PPCURR /* To do: kdf9 instruction */ // 2675 *E419 /* To do: kdf9 instruction */ // 2676 *E441 /* To do: kdf9 instruction */ // 2677 *- /* To do: kdf9 instruction */ // 2678 *J1=Z /* To do: kdf9 instruction */ // 2679 *SET1 /* To do: kdf9 instruction */ // 2680 *=C15 /* To do: kdf9 instruction */ // 2681 *E446 /* To do: kdf9 instruction */ // 2682 *JS25P /* To do: kdf9 instruction */ // 2683 *ZERO KDF9_ZERO(); // 2684 *OUT KDF9_OUT(); // 2685 70: l_70:; // 2686 *SET94P: /* To do: kdf9 instruction */ // 2687 *=RM13 /* To do: kdf9 instruction */ // 2688 *E7 /* To do: kdf9 instruction */ // 2689 *=M0M13 /* To do: kdf9 instruction */ // 2690 ! DATE // DATE // 2691 *M0TOQ13 /* To do: kdf9 instruction */ // 2692 *J71EN /* To do: kdf9 instruction */ // 2693 72: l_72:; // 2694 *=E102M13Q /* To do: kdf9 instruction */ // 2695 *J72NEN /* To do: kdf9 instruction */ // 2696 71: l_71:; // 2697 *C13 KDF9_C(13); // 2698 *NEG KDF9_NEG(); // 2699 *=E101 /* To do: kdf9 instruction */ // 2700 *ZERO KDF9_ZERO(); // 2701 *=RM13 /* To do: kdf9 instruction */ // 2702 *J73EJ /* To do: kdf9 instruction */ // 2703 74: l_74:; // 2704 *LINK KDF9_LINK(); // 2705 *=E119M13Q /* To do: kdf9 instruction */ // 2706 *J74NEJ /* To do: kdf9 instruction */ // 2707 73: l_73:; // 2708 *C13 KDF9_C(13); // 2709 *NEG KDF9_NEG(); // 2710 *=E118 /* To do: kdf9 instruction */ // 2711 *SET15 /* To do: kdf9 instruction */ // 2712 *=RC14 /* To do: kdf9 instruction */ // 2713 *Q15 KDF9_Q(15); // 2714 *Q14 KDF9_Q(14); // 2715 *Q13 KDF9_Q(13); // 2716 *Q12 KDF9_Q(12); // 2717 *Q11 KDF9_Q(11); // 2718 *Q10 KDF9_Q(10); // 2719 *Q9 KDF9_Q(9); // 2720 *Q8 KDF9_Q(8); // 2721 *Q7 KDF9_Q(7); // 2722 *Q6 KDF9_Q(6); // 2723 *Q5 KDF9_Q(5); // 2724 *Q4 KDF9_Q(4); // 2725 *Q3 KDF9_Q(3); // 2726 *Q2 KDF9_Q(2); // 2727 *Q1 KDF9_Q(1); // 2728 75: l_75:; // 2729 *=E135M14Q /* To do: kdf9 instruction */ // 2730 *J75C14NZ /* To do: kdf9 instruction */ // 2731 *ZERO KDF9_ZERO(); // 2732 NEWLINE NEWLINE(); // 2733 cycleI=1,1,8 for (I = 1 ; I != (8 )+(1 ); I += 1 ) { // 2734 *SHL6 /* To do: kdf9 instruction */ // 2735 79: l_79:; // 2736 READSYMBOL(J) READSYMBOL(J ); // 2737 ->79ifJ=10orJ=32 if (J == 10 || J == 32 ) goto l_79; // 2738 PRINTSYMBOL(J) PRINTSYMBOL(J ); // 2739 **J /* To do: kdf9 instruction */ // 2740 *SET32 /* To do: kdf9 instruction */ // 2741 *- /* To do: kdf9 instruction */ // 2742 *SET63 /* To do: kdf9 instruction */ // 2743 *AND KDF9_AND(); // 2744 *OR KDF9_OR(); // 2745 repeat } // 2746 ! TAPE IDENTIFIER NOW IN NS // TAPE IDENTIFIER NOW IN NS // 2747 80: l_80:; // 2748 *E384 /* To do: kdf9 instruction */ // 2749 *=Q15 /* To do: kdf9 instruction */ // 2750 *BUSYQ15 KDF9_BUSYQ(15); // 2751 *J80TR /* To do: kdf9 instruction */ // 2752 NEWLINE NEWLINE(); // 2753 *SET101 /* To do: kdf9 instruction */ // 2754 *DUP KDF9_DUP(); // 2755 *=M13 /* To do: kdf9 instruction */ // 2756 *DUP KDF9_DUP(); // 2757 *M12 KDF9_M(12); // 2758 *REV KDF9_REV(); // 2759 *- /* To do: kdf9 instruction */ // 2760 *=RC14 /* To do: kdf9 instruction */ // 2761 *ZERO KDF9_ZERO(); // 2762 *ZERO KDF9_ZERO(); // 2763 * /* .ALIGN */ // 2764 76: l_76:; // 2765 *M13M14Q /* To do: kdf9 instruction */ // 2766 * /* .ALIGN */ // 2767 *STR KDF9_STR(); // 2768 *+D /* To do: kdf9 instruction */ // 2769 *J76C14NZS /* To do: kdf9 instruction */ // 2770 *=M13M14Q /* To do: kdf9 instruction */ // 2771 *=M13M14 /* To do: kdf9 instruction */ // 2772 *M+I12 /* To do: kdf9 instruction */ // 2773 *=I12 /* To do: kdf9 instruction */ // 2774 *SET4 /* To do: kdf9 instruction */ // 2775 *DUP KDF9_DUP(); // 2776 *=M15 /* To do: kdf9 instruction */ // 2777 *OUT KDF9_OUT(); // 2778 ! PICK UP TAPE // PICK UP TAPE // 2779 *DUP KDF9_DUP(); // 2780 *=C15 /* To do: kdf9 instruction */ // 2781 *=C12 /* To do: kdf9 instruction */ // 2782 *PMDQ15 /* To do: kdf9 instruction */ // 2783 *PMAQ15 /* To do: kdf9 instruction */ // 2784 *POAQ12 /* To do: kdf9 instruction */ // 2785 *I12=+1 /* To do: kdf9 instruction */ // 2786 ! DUMP 101 TO WS + 1 // DUMP 101 TO WS + 1 // 2787 *PMEQ15 /* To do: kdf9 instruction */ // 2788 *PARQ15 KDF9_PARQ(15); // 2789 *J77NTR /* To do: kdf9 instruction */ // 2790 caption\PARITY FAILURE caption("\nPARITY FAILURE") // 2791 ->78 goto l_78; // 2792 77: l_77:; // 2793 *C15 KDF9_C(15); // 2794 *SET6 /* To do: kdf9 instruction */ // 2795 *OUT KDF9_OUT(); // 2796 ! DEALLOCATE NEW COMPILER // DEALLOCATE NEW COMPILER // 2797 caption\COMPILER DEFINED\ caption("\nCOMPILER DEFINED\n") // 2798 78: l_78:; // 2799 WRITE(NUM,4) WRITE(NUM , 4 ); // 2800 WRITE(NEXT,4) WRITE(NEXT , 4 ); // 2801 WRITE(N0,4) WRITE(N0 , 4 ); // 2802 *I9 KDF9_I(9); // 2803 **=I /* To do: kdf9 instruction */ // 2804 WRITE(I,4) WRITE(I , 4 ); // 2805 *M12 KDF9_M(12); // 2806 **=I /* To do: kdf9 instruction */ // 2807 WRITE(I,4) WRITE(I , 4 ); // 2808 NEWPAGE NEWPAGE(); // 2809 *SET38P: /* To do: kdf9 instruction */ // 2810 *=M13 /* To do: kdf9 instruction */ // 2811 *M0M13 /* To do: kdf9 instruction */ // 2812 *SHL-32 /* To do: kdf9 instruction */ // 2813 *SET6 /* To do: kdf9 instruction */ // 2814 *OUT KDF9_OUT(); // 2815 *ZERO KDF9_ZERO(); // 2816 *OUT KDF9_OUT(); // 2817 SW(31): /* case */ SW_31: // 2818 ABC=1 ABC = 1 ; // 2819 ->1 goto l_1; // 2820 ! [COMPILE ARRAY BOUND CHECKS] // [COMPILE ARRAY BOUND CHECKS] // 2821 SW(32): /* case */ SW_32: // 2822 ABC=0 ABC = 0 ; // 2823 ->1 goto l_1; // 2824 ! IGNORE ARRAY BOUND CHECKS // IGNORE ARRAY BOUND CHECKS // 2825 SW(33): /* case */ SW_33: // 2826 ->1 goto l_1; // 2827 ! [S] // [S] // 2828 SW(30): /* case */ SW_30: // 2829 ->62 goto l_62; // 2830 ! END OF PACK // END OF PACK // 2831 SW(13): /* case */ SW_13: // 2832 M10=0 M10 = 0 ; // 2833 M13=0 M13 = 0 ; // 2834 ![*][*][*][A][S] 10/12/65 FOR ISO VERSION //[*][*][*][A][S] 10/12/65 FOR ISO VERSION // 2835 begin { // 2836 integerI,J,K,N,N0_,TAPE,ZEROTAPE,N_,FLAG,PFLAG int I; int J; int K; int N; int N0_; int TAPE; int ZEROTAPE; int N_; int FLAG; int PFLAG; // 2837 realTL,A_ double TL; double A_; // 2838 switchS(0:10) // TO DO: switch table S should be dumped at end of this block // 2839 routinespecREADKEYWORD void READKEYWORD(void); // 2840 routinespecREADSYM void READSYM(void); // 2841 routinespecINITIALOUTPUT void INITIALOUTPUT(void); // 2842 ->77 goto l_77; // 2843 * /* .ALIGN */ // 2844 62P: p_62: // 2845 *165134/127722/16045 /* To do: kdf9 instruction */ // 2846 !ZEROTAPE //ZEROTAPE // 2847 *2701/43532/22756 /* To do: kdf9 instruction */ // 2848 !KEYWORDS IN //KEYWORDS IN // 2849 *10014/101322/150262 /* To do: kdf9 instruction */ // 2850 !FIVE BIT CODE //FIVE BIT CODE // 2851 *1573/60226/13101 /* To do: kdf9 instruction */ // 2852 !A=1 B=2 ETC //A=1 B=2 ETC // 2853 *5170/100000/0 /* To do: kdf9 instruction */ // 2854 *12014/5000/0 /* To do: kdf9 instruction */ // 2855 *7655/20532/0 /* To do: kdf9 instruction */ // 2856 *10014/5440/0 /* To do: kdf9 instruction */ // 2857 ! PAPER // PAPER // 2858 *11673/160000/0 /* To do: kdf9 instruction */ // 2859 *10010/153122/0 /* To do: kdf9 instruction */ // 2860 *1414/104000/0 /* To do: kdf9 instruction */ // 2861 ! CARD // CARD // 2862 77: l_77:; // 2863 *SET62P: /* To do: kdf9 instruction */ // 2864 *=M15 /* To do: kdf9 instruction */ // 2865 *M0M15 /* To do: kdf9 instruction */ // 2866 **=ZEROTAPE /* To do: kdf9 instruction */ // 2867 *E423 /* To do: kdf9 instruction */ // 2868 **=FLAG /* To do: kdf9 instruction */ // 2869 PFLAG=0 PFLAG = 0 ; // 2870 *SET+1 /* To do: kdf9 instruction */ // 2871 *SET89P: /* To do: kdf9 instruction */ // 2872 *=M10 /* To do: kdf9 instruction */ // 2873 *SET+18 /* To do: kdf9 instruction */ // 2874 *=RC13 /* To do: kdf9 instruction */ // 2875 * /* .ALIGN */ // 2876 4: l_4:; // 2877 *NEG KDF9_NEG(); // 2878 *DUP KDF9_DUP(); // 2879 *=M10M13Q /* To do: kdf9 instruction */ // 2880 * /* .ALIGN */ // 2881 *J4C13NZS /* To do: kdf9 instruction */ // 2882 *ERASE KDF9_ERASE(); // 2883 *ZERO KDF9_ZERO(); // 2884 *=M0M10 /* To do: kdf9 instruction */ // 2885 ->2 goto l_2; // 2886 1: l_1:; // 2887 ->2ifLINE<20 if (LINE < 20 ) goto l_2; // 2888 INITIALOUTPUT INITIALOUTPUT(); // 2889 caption\\FAULTY JOB HEAD caption("\n\nFAULTY JOB HEAD") // 2890 stop exit(0); // 2891 2: l_2:; // 2892 READKEYWORD READKEYWORD(); // 2893 ->S(K) {sw = K ; goto goto_sw_S;} // 2894 S(9): /* case */ S_9: // 2895 PFLAG=1 PFLAG = 1 ; // 2896 ->3 goto l_3; // 2897 S(0): /* case */ S_0: // 2898 comment KEY WORD UNKNOWN // KEY WORD UNKNOWN // 2899 3: l_3:; // 2900 ->1ifI=10 if (I == 10 ) goto l_1; // 2901 READSYMBOL(I) READSYMBOL(I ); // 2902 ->3 goto l_3; // 2903 S(1): /* case */ S_1: // 2904 comment EXECUTION // EXECUTION // 2905 READ(TL) READ(TL ); // 2906 READSYM READSYM(); // 2907 ->3unlessI=77orI=83 if (!(I == 77 || I == 83 )) goto l_3; // 2908 ifI=77thenTL=60*TL if (I == 77 ) TL = 60 *TL ; // 2909 TIMELIMIT=INT(TL) TIMELIMIT = INT(TL ) ; // 2910 ->3 goto l_3; // 2911 S(2): /* case */ S_2: // 2912 comment PARAMETER // PARAMETER // 2913 READSYM READSYM(); // 2914 ->3unlessI=42 if (!(I == 42 )) goto l_3; // 2915 N=0 N = 0 ; // 2916 N_=0 N_ = 0 ; // 2917 cycleJ=1,1,4 for (J = 1 ; J != (4 )+(1 ); J += 1 ) { // 2918 ! UNSCRAMBLE PARAMETER // UNSCRAMBLE PARAMETER // 2919 READSYM READSYM(); // 2920 ->3unless48<=I<=55 if (!(48 <= I && /* (beware side-effects) */I <= 55 )) goto l_3; // 2921 ->21ifJ=4 if (J == 4 ) goto l_21; // 2922 N=8N+I-48 N = 8 *N +I -48 ; // 2923 N_=N_+I N_ = N_ +I ; // 2924 ->22 goto l_22; // 2925 21: l_21:; // 2926 **I /* To do: kdf9 instruction */ // 2927 **N_ /* To do: kdf9 instruction */ // 2928 *- /* To do: kdf9 instruction */ // 2929 *SHL+45 /* To do: kdf9 instruction */ // 2930 *J3#Z /* To do: kdf9 instruction */ // 2931 22: l_22:; // 2932 **I /* To do: kdf9 instruction */ // 2933 READSYM READSYM(); // 2934 **I /* To do: kdf9 instruction */ // 2935 *NEV KDF9_NEV(); // 2936 **J /* To do: kdf9 instruction */ // 2937 *- /* To do: kdf9 instruction */ // 2938 *J3#Z /* To do: kdf9 instruction */ // 2939 repeat } // 2940 **N /* To do: kdf9 instruction */ // 2941 *SET89P: /* To do: kdf9 instruction */ // 2942 *=M13 /* To do: kdf9 instruction */ // 2943 *=M0M13 /* To do: kdf9 instruction */ // 2944 ->3 goto l_3; // 2945 S(7): /* case */ S_7: // 2946 comment PAPER // PAPER // 2947 *E420 /* To do: kdf9 instruction */ // 2948 *J7001>Z /* To do: kdf9 instruction */ // 2949 *ZERO KDF9_ZERO(); // 2950 *OUT KDF9_OUT(); // 2951 7001: l_7001:; // 2952 *E438 /* To do: kdf9 instruction */ // 2953 *J7002<=Z /* To do: kdf9 instruction */ // 2954 *E438 /* To do: kdf9 instruction */ // 2955 *SET6 /* To do: kdf9 instruction */ // 2956 *OUT KDF9_OUT(); // 2957 *SET-2 /* To do: kdf9 instruction */ // 2958 *=E438 /* To do: kdf9 instruction */ // 2959 7002: l_7002:; // 2960 *ZERO KDF9_ZERO(); // 2961 *=E439 /* To do: kdf9 instruction */ // 2962 7003: l_7003:; // 2963 *JS46P /* To do: kdf9 instruction */ // 2964 INITIALISE INITIALISE(); // 2965 ->99 goto l_99; // 2966 S(10): /* case */ S_10: // 2967 *E438 /* To do: kdf9 instruction */ // 2968 *J10001>Z /* To do: kdf9 instruction */ // 2969 *SET4 /* To do: kdf9 instruction */ // 2970 *SET5 /* To do: kdf9 instruction */ // 2971 *OUT KDF9_OUT(); // 2972 *=E438 /* To do: kdf9 instruction */ // 2973 10001: l_10001:; // 2974 *SET1 /* To do: kdf9 instruction */ // 2975 *=E439 /* To do: kdf9 instruction */ // 2976 ->7003 goto l_7003; // 2977 S(8): /* case */ S_8: // 2978 comment SWOP // SWOP // 2979 begin { // 2980 *E420 /* To do: kdf9 instruction */ // 2981 *SET7 /* To do: kdf9 instruction */ // 2982 *- /* To do: kdf9 instruction */ // 2983 *J2>=Z /* To do: kdf9 instruction */ // 2984 *E420 /* To do: kdf9 instruction */ // 2985 *SET6 /* To do: kdf9 instruction */ // 2986 *OUT KDF9_OUT(); // 2987 *SET2 /* To do: kdf9 instruction */ // 2988 *SET5 /* To do: kdf9 instruction */ // 2989 *OUT KDF9_OUT(); // 2990 *DUP KDF9_DUP(); // 2991 *=E420 /* To do: kdf9 instruction */ // 2992 *DUP KDF9_DUP(); // 2993 *SET35P: /* To do: kdf9 instruction */ // 2994 *JS1 /* To do: kdf9 instruction */ // 2995 *SET44P: /* To do: kdf9 instruction */ // 2996 *JS1 /* To do: kdf9 instruction */ // 2997 ->2 goto l_2; // 2998 1: l_1:; // 2999 *=M14 /* To do: kdf9 instruction */ // 3000 *M0M14 /* To do: kdf9 instruction */ // 3001 *=Q15 /* To do: kdf9 instruction */ // 3002 *=C15 /* To do: kdf9 instruction */ // 3003 *Q15 KDF9_Q(15); // 3004 *=M0M14 /* To do: kdf9 instruction */ // 3005 *EXIT1 KDF9_EXIT(1); // 3006 2: l_2:; // 3007 end } // 3008 ->99 goto l_99; // 3009 S(3): /* case */ S_3: // 3010 !COMPILERAAORAB //COMPILERAAORAB // 3011 READSYM READSYM(); // 3012 ->3001ifI=66 if (I == 66 ) goto l_3001; // 3013 ->3unlessI=65orI=76 if (!(I == 65 || I == 76 )) goto l_3; // 3014 3002: l_3002:; // 3015 READSYM READSYM(); // 3016 ->3003unlessI=10 if (!(I == 10 )) goto l_3003; // 3017 LINE=-1 LINE = -1 ; // 3018 INITIALOUTPUT INITIALOUTPUT(); // 3019 ->99 goto l_99; // 3020 ! TO END OF JOB HEAD BLOCK // TO END OF JOB HEAD BLOCK // 3021 3001: l_3001:; // 3022 READSYM READSYM(); // 3023 ->3003unlessI=67 if (!(I == 67 )) goto l_3003; // 3024 ABC=1 ABC = 1 ; // 3025 DIAGS=1 DIAGS = 1 ; // 3026 ->3002 goto l_3002; // 3027 3003: l_3003:; // 3028 LINE=21 LINE = 21 ; // 3029 ->3 goto l_3; // 3030 S(4): /* case */ S_4: // 3031 comment JOB // JOB // 3032 43: l_43:; // 3033 READSYM READSYM(); // 3034 ->43unlessI=10andNEXTSYMBOL#10 if (!(I == 10 && NEXTSYMBOL != 10 )) goto l_43; // 3035 *SET92P: /* To do: kdf9 instruction */ // 3036 *DUP KDF9_DUP(); // 3037 *DUP KDF9_DUP(); // 3038 cycleJ=1,1,10 for (J = 1 ; J != (10 )+(1 ); J += 1 ) { // 3039 *NOT KDF9_NOT(); // 3040 *NEG KDF9_NEG(); // 3041 *DUP KDF9_DUP(); // 3042 *ZERO KDF9_ZERO(); // 3043 cycleK=40,-8,0 for (K = 40 ; K != (0 )+(-8 ); K += -8 ) { // 3044 READSYMBOL(I) READSYMBOL(I ); // 3045 ->41unlessI=10 if (!(I == 10 )) goto l_41; // 3046 J=10 J = 10 ; // 3047 ->42 goto l_42; // 3048 41: l_41:; // 3049 **I /* To do: kdf9 instruction */ // 3050 **K /* To do: kdf9 instruction */ // 3051 *=C13 /* To do: kdf9 instruction */ // 3052 *SHLC13 /* To do: kdf9 instruction */ // 3053 *OR KDF9_OR(); // 3054 repeat } // 3055 42: l_42:; // 3056 *REV KDF9_REV(); // 3057 *=M13 /* To do: kdf9 instruction */ // 3058 *=M0M13 /* To do: kdf9 instruction */ // 3059 repeat } // 3060 *PERM KDF9_PERM(); // 3061 *=M13 /* To do: kdf9 instruction */ // 3062 *- /* To do: kdf9 instruction */ // 3063 *DUP KDF9_DUP(); // 3064 *NOT KDF9_NOT(); // 3065 *NEG KDF9_NEG(); // 3066 *SHL40 /* To do: kdf9 instruction */ // 3067 *OR KDF9_OR(); // 3068 *=M0M13 /* To do: kdf9 instruction */ // 3069 ->3 goto l_3; // 3070 S(5): /* case */ S_5: // 3071 comment TAPE // TAPE // 3072 TAPE=1 TAPE = 1 ; // 3073 51: l_51:; // 3074 READKEYWORD READKEYWORD(); // 3075 ->S(K)unlessTAPE=1 if (!(TAPE == 1 )) {sw = K ; goto goto_sw_S;} // 3076 *ZERO KDF9_ZERO(); // 3077 cycleJ=42,-6,0 for (J = 42 ; J != (0 )+(-6 ); J += -6 ) { // 3078 READSYM READSYM(); // 3079 I=I-32 I = I -32 ; // 3080 !REDUCES TO KDF9 EQUIVALENT //REDUCES TO KDF9 EQUIVALENT // 3081 ->3unless16<=I<=58 if (!(16 <= I && /* (beware side-effects) */I <= 58 )) goto l_3; // 3082 **I /* To do: kdf9 instruction */ // 3083 **J /* To do: kdf9 instruction */ // 3084 *=C13 /* To do: kdf9 instruction */ // 3085 *SHLC13 /* To do: kdf9 instruction */ // 3086 *OR KDF9_OR(); // 3087 repeat } // 3088 **ZEROTAPE /* To do: kdf9 instruction */ // 3089 *J54# /* To do: kdf9 instruction */ // 3090 *ERASE KDF9_ERASE(); // 3091 *ZERO KDF9_ZERO(); // 3092 54: l_54:; // 3093 READSYM READSYM(); // 3094 *SET89P: /* To do: kdf9 instruction */ // 3095 **N /* To do: kdf9 instruction */ // 3096 *DUP KDF9_DUP(); // 3097 *+ /* To do: kdf9 instruction */ // 3098 *+ /* To do: kdf9 instruction */ // 3099 *=M13 /* To do: kdf9 instruction */ // 3100 *=M0M13 /* To do: kdf9 instruction */ // 3101 *SET+1 /* To do: kdf9 instruction */ // 3102 ->52unlessI=42 if (!(I == 42 )) goto l_52; // 3103 !WRITE PERMIT //WRITE PERMIT // 3104 *NEG KDF9_NEG(); // 3105 52: l_52:; // 3106 *=M0M13N /* To do: kdf9 instruction */ // 3107 53: l_53:; // 3108 ->51ifI=10 if (I == 10 ) goto l_51; // 3109 READSYMBOL(I) READSYMBOL(I ); // 3110 ->53 goto l_53; // 3111 S(6): /* case */ S_6: // 3112 comment OUTPUT // OUTPUT // 3113 61: l_61:; // 3114 READSYM READSYM(); // 3115 ->61ifI=10 if (I == 10 ) goto l_61; // 3116 ->3unless48<=I<=57orI=79 if (!(48 <= I && /* (beware side-effects) */I <= 57 || I == 79 )) goto l_3; // 3117 ! ZERO OR LETTER O // ZERO OR LETTER O // 3118 READSYM READSYM(); // 3119 ifI='7'orI='E'orI='8'thenI='S' if (I == '7' || I == 'E' || I == '8' ) I = 'S' ; // 3120 J=I J = I ; // 3121 ifFLAG=1thenJ='L' if (FLAG == 1 ) J = 'L' ; // 3122 ifFLAG=-1thenJ='S' if (FLAG == -1 ) J = 'S' ; // 3123 FLAG=FLAG-1ifI='S' if (I == 'S' ) FLAG = FLAG -1 ; // 3124 63: l_63:; // 3125 K=NEXTSYMBOL K = NEXTSYMBOL ; // 3126 if'0'<=K<='9'then->62 if ('0' <= K && /* (beware side-effects) */K <= '9' ) goto l_62; // 3127 SKIPSYMBOL SKIPSYMBOL(); // 3128 ifK='\'then->1 if (K == '\\' ) goto l_1; // 3129 ->63 goto l_63; // 3130 62: l_62:; // 3131 READ(A_) READ(A_ ); // 3132 N=INT(A_) N = INT(A_ ) ; // 3133 READSYM READSYM(); // 3134 ifI='B'andJ='S'thenN=N*4096 if (I == 'B' && J == 'S' ) N = N *4096 ; // 3135 ifI='B'andJ='L'thenN=N*200 if (I == 'B' && J == 'L' ) N = N *200 ; // 3136 ifI='L'andJ='S'thenN=N*60 if (I == 'L' && J == 'S' ) N = N *60 ; // 3137 ifJ='S'andN<4096thenN=4096 if (J == 'S' && N < 4096 ) N = 4096 ; // 3138 ifJ='L'andN<200thenN=200 if (J == 'L' && N < 200 ) N = 200 ; // 3139 **N /* To do: kdf9 instruction */ // 3140 *=E434 /* To do: kdf9 instruction */ // 3141 ->3 goto l_3; // 3142 routineREADSYM void READSYM(void) { // 3143 1: l_1:; // 3144 READSYMBOL(I) READSYMBOL(I ); // 3145 ->1ifI=32 if (I == 32 ) goto l_1; // 3146 end } // 3147 routineREADKEYWORD void READKEYWORD(void) { // 3148 1: l_1:; // 3149 READSYM READSYM(); // 3150 ->1ifI=10 if (I == 10 ) goto l_1; // 3151 LINE=LINE+1 LINE = LINE +1 ; // 3152 ->8if49<=I<=56 if (49 <= I && /* (beware side-effects) */I <= 56 ) goto l_8; // 3153 TAPE=0 TAPE = 0 ; // 3154 2: l_2:; // 3155 *ZERO KDF9_ZERO(); // 3156 cycleJ=40,-5,0 for (J = 40 ; J != (0 )+(-5 ); J += -5 ) { // 3157 **I /* To do: kdf9 instruction */ // 3158 *SET64 /* To do: kdf9 instruction */ // 3159 *- /* To do: kdf9 instruction */ // 3160 *DUP KDF9_DUP(); // 3161 *SHL-5 /* To do: kdf9 instruction */ // 3162 *J4#Z /* To do: kdf9 instruction */ // 3163 **J /* To do: kdf9 instruction */ // 3164 *=C13 /* To do: kdf9 instruction */ // 3165 *SHLC13 /* To do: kdf9 instruction */ // 3166 *OR KDF9_OR(); // 3167 *SET62P: /* To do: kdf9 instruction */ // 3168 *=RM15 /* To do: kdf9 instruction */ // 3169 cycleK=1,1,10 for (K = 1 ; K != (10 )+(1 ); K += 1 ) { // 3170 *M0M15QN /* To do: kdf9 instruction */ // 3171 *J6= /* To do: kdf9 instruction */ // 3172 repeat } // 3173 READSYM READSYM(); // 3174 repeat } // 3175 *ZERO KDF9_ZERO(); // 3176 4: l_4:; // 3177 *ERASE KDF9_ERASE(); // 3178 K=0 K = 0 ; // 3179 6: l_6:; // 3180 *ERASE KDF9_ERASE(); // 3181 ->10 goto l_10; // 3182 8: l_8:; // 3183 N=I-48 N = I -48 ; // 3184 9: l_9:; // 3185 K=0 K = 0 ; // 3186 10: l_10:; // 3187 end } // 3188 routineINITIALOUTPUT void INITIALOUTPUT(void) { // 3189 ->1ifFLAG<0 if (FLAG < 0 ) goto l_1; // 3190 *JS98P /* To do: kdf9 instruction */ // 3191 ->2 goto l_2; // 3192 1: l_1:; // 3193 *E421 /* To do: kdf9 instruction */ // 3194 *J3>Z /* To do: kdf9 instruction */ // 3195 *SET1 /* To do: kdf9 instruction */ // 3196 *SET5 /* To do: kdf9 instruction */ // 3197 *OUT KDF9_OUT(); // 3198 *=E421 /* To do: kdf9 instruction */ // 3199 3: l_3:; // 3200 *JS99P /* To do: kdf9 instruction */ // 3201 2: l_2:; // 3202 *SET92P: /* To do: kdf9 instruction */ // 3203 *I11 KDF9_I(11); // 3204 *- /* To do: kdf9 instruction */ // 3205 *JS3P /* To do: kdf9 instruction */ // 3206 ->4ifDIAGS=1 if (DIAGS == 1 ) goto l_4; // 3207 caption COMPILED IN OPTIMISING MODE caption(" COMPILED IN OPTIMISING MODE") // 3208 ->5 goto l_5; // 3209 4: l_4:; // 3210 caption COMPILED IN DIAGNOSTIC MODE caption(" COMPILED IN DIAGNOSTIC MODE") // 3211 5: l_5:; // 3212 NEWLINES(2) NEWLINES(2 ); // 3213 end } // 3214 99: l_99:; // 3215 **PFLAG /* To do: kdf9 instruction */ // 3216 *NEG KDF9_NEG(); // 3217 *=E443 /* To do: kdf9 instruction */ // 3218 end } // 3219 ! END OF JOB HEAD BLOCK // END OF JOB HEAD BLOCK // 3220 ->1 goto l_1; // 3221 routineCRSPEC(integerM) void CRSPEC( int M ) { // 3222 integerKK,JJ,Q,JJJ,KKK int KK; int JJ; int Q; int JJJ; int KKK; // 3223 switchFPD(1:8) // TO DO: switch table FPD should be dumped at end of this block // 3224 P=A(2)+5 P = A(2 ) +5 ; // 3225 KK=A(4-M) KK = A(4 -M ) ; // 3226 COPYTAG(KK) COPYTAG(KK ); // 3227 ifM#2then->11 if (M != 2 ) goto l_11; // 3228 ifI=LEVELand6<=TYPE<=10then->33 if (I == LEVEL && 6 <= TYPE && /* (beware side-effects) */TYPE <= 10 ) goto l_33; // 3229 FAULT(3) FAULT(3 ); // 3230 ->1 goto l_1; // 3231 11: l_11:; // 3232 ->32ifI#LEVEL if (I != LEVEL ) goto l_32; // 3233 ->33ifTYPE=P if (TYPE == P ) goto l_33; // 3234 34: l_34:; // 3235 FNAME=KK FNAME = KK ; // 3236 FAULT(7)unlessTYPE=0 if (!(TYPE == 0 )) FAULT(7 ); // 3237 ->32 goto l_32; // 3238 33: l_33:; // 3239 FROMLIST2(ST(K),JJ,Q) FROMLIST2(ST(K ) , JJ , Q ); // 3240 ifQ#1000then->34 if (Q != 1000 ) goto l_34; // 3241 POPUP2(ST(K),JJ,Q) POPUP2(ST(K ) , JJ , Q ); // 3242 ->35 goto l_35; // 3243 32: l_32:; // 3244 JJ=NR JJ = NR ; // 3245 NR=NR+1 NR = NR +1 ; // 3246 NEWCELL(K) NEWCELL(K ); // 3247 J=15 J = 15 ; // 3248 TYPE=P TYPE = P ; // 3249 R=N R = N ; // 3250 N=K N = K ; // 3251 STORETAG(KK) STORETAG(KK ); // 3252 N=R N = R ; // 3253 R=K R = K ; // 3254 K=KK K = KK ; // 3255 STORENAME STORENAME(); // 3256 K=R K = R ; // 3257 35: l_35:; // 3258 JJJ=K JJJ = K ; // 3259 Q=0 Q = 0 ; // 3260 ifA(5-M)=2then->36 if (A(5 -M ) == 2 ) goto l_36; // 3261 P=4-M P = 4 -M ; // 3262 37: l_37:; // 3263 P=P+2 P = P +2 ; // 3264 ->FPD(A(P)) {sw = A(P ) ; goto goto_sw_FPD;} // 3265 FPD(1): /* case */ FPD_1: // 3266 TYPE=A(P+1)+5 TYPE = A(P +1 ) +5 ; // 3267 P=P+1 P = P +1 ; // 3268 ->38 goto l_38; // 3269 FPD(2): /* case */ FPD_2: // 3270 TYPE=4 TYPE = 4 ; // 3271 ->38 goto l_38; // 3272 FPD(3): /* case */ FPD_3: // 3273 TYPE=12 TYPE = 12 ; // 3274 ->38 goto l_38; // 3275 FPD(4): /* case */ FPD_4: // 3276 TYPE=2 TYPE = 2 ; // 3277 ->38 goto l_38; // 3278 FPD(5): /* case */ FPD_5: // 3279 TYPE=3 TYPE = 3 ; // 3280 P=P+1 P = P +1 ; // 3281 ->38 goto l_38; // 3282 FPD(6): /* case */ FPD_6: // 3283 TYPE=11 TYPE = 11 ; // 3284 ->38 goto l_38; // 3285 FPD(7): /* case */ FPD_7: // 3286 TYPE=1 TYPE = 1 ; // 3287 ->38 goto l_38; // 3288 FPD(8): /* case */ FPD_8: // 3289 TYPE=14 TYPE = 14 ; // 3290 38: l_38:; // 3291 P=P+2 P = P +2 ; // 3292 if6<=TYPE<=10then->101 if (6 <= TYPE && /* (beware side-effects) */TYPE <= 10 ) goto l_101; // 3293 INSERTAFTER2(K,TYPE,0) INSERTAFTER2(K , TYPE , 0 ); // 3294 102: l_102:; // 3295 Q=Q+1 Q = Q +1 ; // 3296 ifA(P)=1then->38 if (A(P ) == 1 ) goto l_38; // 3297 P=P+1 P = P +1 ; // 3298 ifA(P)=1then->37 if (A(P ) == 1 ) goto l_37; // 3299 36: l_36:; // 3300 PUSHDOWN2(ST(JJJ),JJ,Q) PUSHDOWN2(ST(JJJ ) , JJ , Q ); // 3301 ->1 goto l_1; // 3302 101: l_101:; // 3303 INSERTAFTER2(K,TYPE,NR) INSERTAFTER2(K , TYPE , NR ); // 3304 NR=NR+1 NR = NR +1 ; // 3305 ->102 goto l_102; // 3306 1: l_1:; // 3307 end } // 3308 routineCUI void CUI(void) { // 3309 integerKK,Q int KK; int Q; // 3310 switchSW(1:10) // TO DO: switch table SW should be dumped at end of this block // 3311 ->SW(A(P)) {sw = A(P ) ; goto goto_sw_SW;} // 3312 SW(1): /* case */ SW_1: // 3313 comment [NAME] [APP] [SET MARKER 1] [REST OF UI] // [NAME] [APP] [SET MARKER 1] [REST OF UI] // 3314 ifA(MARKER1)=1then->3 if (A(MARKER1 ) == 1 ) goto l_3; // 3315 P=P+1 P = P +1 ; // 3316 CNAME(0) CNAME(0 ); // 3317 P=P+1 P = P +1 ; // 3318 ->1 goto l_1; // 3319 3: l_3:; // 3320 Q=P+1 Q = P +1 ; // 3321 COPYTAG(A(Q)) COPYTAG(A(Q ) ); // 3322 P=MARKER1+1 P = MARKER1 +1 ; // 3323 KK=PARITY(TYPE) KK = PARITY(TYPE ) ; // 3324 ->20unlessTYPE=0orKK=-1 if (!(TYPE == 0 || KK == -1 )) goto l_20; // 3325 CSEXP(1) CSEXP(1 ); // 3326 ->21 goto l_21; // 3327 20: l_20:; // 3328 CSEXP(2) CSEXP(2 ); // 3329 21: l_21:; // 3330 unlessA(P)=1=QUthen->2 if (!(A(P ) == 1 && /* (beware side-effects) */1 == QU )) goto l_2; // 3331 ifKK=1thenPJ(8,SL(20),13) if (KK == 1 ) PJ(8 , SL(20 ) , 13 ); // 3332 ifKK=-1thenPJ(8,SL(21),13) if (KK == -1 ) PJ(8 , SL(21 ) , 13 ); // 3333 M13=0 M13 = 0 ; // 3334 2: l_2:; // 3335 KK=P KK = P ; // 3336 P=Q P = Q ; // 3337 CNAME(1) CNAME(1 ); // 3338 P=KK+1 P = KK +1 ; // 3339 ->1 goto l_1; // 3340 SW(2): /* case */ SW_2: // 3341 comment [->] [N] // [->] [N] // 3342 K=A(P+1) K = A(P +1 ) ; // 3343 STOREJUMP STOREJUMP(); // 3344 PJ(8,0,11) PJ(8 , 0 , 11 ); // 3345 P=P+2 P = P +2 ; // 3346 ->1 goto l_1; // 3347 SW(3): /* case */ SW_3: // 3348 comment [%CAPTION ] [CAPTION TEXT] // [%CAPTION ] [CAPTION TEXT] // 3349 PSET(A(P+1)) PSET(A(P +1 ) ); // 3350 PPJ(8,3,13) PPJ(8 , 3 , 13 ); // 3351 M13=0 M13 = 0 ; // 3352 P=P+2 P = P +2 ; // 3353 ->1 goto l_1; // 3354 SW(4): /* case */ SW_4: // 3355 comment [%RETURN ] // [%RETURN ] // 3356 unlessFLAG(LEVEL)=6orPERM=1thenFAULT(30) if (!(FLAG(LEVEL ) == 6 || PERM == 1 )) FAULT(30 ); // 3357 P=P+1 P = P +1 ; // 3358 6: l_6:; // 3359 PQ(105,LEVEL,12) PQ(105 , LEVEL , 12 ); // 3360 PQ(64,12,0) PQ(64 , 12 , 0 ); // 3361 PQ(120,LEVEL,2) PQ(120 , LEVEL , 2 ); // 3362 PPJ(8,67,13)ifDIAGS=1 if (DIAGS == 1 ) PPJ(8 , 67 , 13 ); // 3363 PJ(8,SL(4),11) PJ(8 , SL(4 ) , 11 ); // 3364 ->1 goto l_1; // 3365 SW(5): /* case */ SW_5: // 3366 comment [%RESULT = ] [+'] [OPERAND] [REST OF EXPR] // [%RESULT = ] [+'] [OPERAND] [REST OF EXPR] // 3367 unless7<=FLAG(LEVEL)<=10thenFAULT(31) if (!(7 <= FLAG(LEVEL ) && /* (beware side-effects) */FLAG(LEVEL ) <= 10 )) FAULT(31 ); // 3368 P=P+1 P = P +1 ; // 3369 ifFLAG(LEVEL)=7then->5 if (FLAG(LEVEL ) == 7 ) goto l_5; // 3370 CSEXP(2) CSEXP(2 ); // 3371 ->6 goto l_6; // 3372 5: l_5:; // 3373 CSEXP(1) CSEXP(1 ); // 3374 ->6 goto l_6; // 3375 SW(6): /* case */ SW_6: // 3376 comment [%STOP ] // [%STOP ] // 3377 PJ(8,SL(6),11) PJ(8 , SL(6 ) , 11 ); // 3378 P=P+1 P = P +1 ; // 3379 ->1 goto l_1; // 3380 SW(7): /* case */ SW_7: // 3381 comment [->] [NAME] [(] [+'] [OPERAND] [REST OF EXPR] [)] // [->] [NAME] [(] [+'] [OPERAND] [REST OF EXPR] [)] // 3382 COPYTAG(A(P+1)) COPYTAG(A(P +1 ) ); // 3383 KK=K KK = K ; // 3384 unlessTYPE=5andI=LEVELthenFAULT(4) if (!(TYPE == 5 && I == LEVEL )) FAULT(4 ); // 3385 P=P+2 P = P +2 ; // 3386 CSEXP(2) CSEXP(2 ); // 3387 PSET(KK) PSET(KK ); // 3388 PPJ(8,7,11) PPJ(8 , 7 , 11 ); // 3389 ->1 goto l_1; // 3390 SW(8): /* case */ SW_8: // 3391 comment "%MONITOR " [N] // "%MONITOR " [N] // 3392 PSET(A(P+1)) PSET(A(P +1 ) ); // 3393 PJ(8,SL(90),13) PJ(8 , SL(90 ) , 13 ); // 3394 P=P+2 P = P +2 ; // 3395 M10=0 M10 = 0 ; // 3396 M13=0 M13 = 0 ; // 3397 ->1 goto l_1; // 3398 SW(9): /* case */ SW_9: // 3399 ->SW(6)ifDIAGS=0 if (DIAGS == 0 ) {sw = 6 ; goto goto_sw_SW;} // 3400 ! MONITORSTOP // MONITORSTOP // 3401 PPJ(8,24,11) PPJ(8 , 24 , 11 ); // 3402 P=P+1 P = P +1 ; // 3403 1: l_1:; // 3404 end } // 3405 ***A // 3406 SWOP SWOP(); // 3407 // 3408 routineCSEXP(integerZ) void CSEXP( int Z ) { // 3409 comment DATED 5/8/65 - FOR VER 4G WITH NEW PHRASE STUCTURE // DATED 5/8/65 - FOR VER 4G WITH NEW PHRASE STUCTURE // 3410 comment Z=1 FOR REAL, Z=2 FOR INTEGER, Z=3 FOR INTEGER IF POSSIBLE // Z=1 FOR REAL, Z=2 FOR INTEGER, Z=3 FOR INTEGER IF POSSIBLE // 3411 integerC,D,J,M,Q_,N0_,LC,TSF,Z_,USENEST,NESTED int C; int D; int J; int M; int Q_; int N0_; int LC; int TSF; int Z_; int USENEST; int NESTED; // 3412 integerarrayOP(0:5) int OP[(5 )-(0 )+1]; #define OP(idx) OP[(idx)-(0 )] // 3413 switchS1(1:4) // TO DO: switch table S1 should be dumped at end of this block // 3414 routinespecPRINTORDERS void PRINTORDERS(void); // 3415 USENEST=0 USENEST = 0 ; // 3416 NESTED=0 NESTED = 0 ; // 3417 ->53ifA(P+1)=2andA(P+2)=1andA(P+4)=2 if (A(P +1 ) == 2 && A(P +2 ) == 1 && A(P +4 ) == 2 ) goto l_53; // 3418 comment SINGLE SHORT CONSTANT // SINGLE SHORT CONSTANT // 3419 comment IF DFLAG = 0 THEN AFLAG = 0, DFLAG + 1 // IF DFLAG = 0 THEN AFLAG = 0, DFLAG + 1 // 3420 **DFLAG /* To do: kdf9 instruction */ // 3421 *DUP KDF9_DUP(); // 3422 *J199#Z /* To do: kdf9 instruction */ // 3423 AFLAG=0 AFLAG = 0 ; // 3424 199: l_199:; // 3425 *NOT KDF9_NOT(); // 3426 *NEG KDF9_NEG(); // 3427 **=DFLAG /* To do: kdf9 instruction */ // 3428 ->201ifDFLAG>2 if (DFLAG > 2 ) goto l_201; // 3429 ->201ifA(P+1)=1andA(P+3)=2andA(P+4)=2 if (A(P +1 ) == 1 && A(P +3 ) == 2 && A(P +4 ) == 2 ) goto l_201; // 3430 FFLAG=0 FFLAG = 0 ; // 3431 C=P C = P ; // 3432 SKIPEXP SKIPEXP(); // 3433 P=C P = C ; // 3434 USENEST=1ifFFLAG=0 if (FFLAG == 0 ) USENEST = 1 ; // 3435 201: l_201:; // 3436 10: l_10:; // 3437 N0_=N0 N0_ = N0 ; // 3438 TSF=2 TSF = 2 ; // 3439 comment Q', D, M, LC, OP(0) ALL TO 0 // Q', D, M, LC, OP(0) ALL TO 0 // 3440 *ZERO KDF9_ZERO(); // 3441 *DUP KDF9_DUP(); // 3442 *DUPD KDF9_DUPD(); // 3443 **=Q_ /* To do: kdf9 instruction */ // 3444 **=D /* To do: kdf9 instruction */ // 3445 **=M /* To do: kdf9 instruction */ // 3446 *DUP KDF9_DUP(); // 3447 **=LC /* To do: kdf9 instruction */ // 3448 **=OP(0) /* To do: kdf9 instruction */ // 3449 ->1unlessA(P)=2 if (!(A(P ) == 2 )) goto l_1; // 3450 OP(1)=13 OP(1 ) = 13 ; // 3451 Q_=1 Q_ = 1 ; // 3452 1: l_1:; // 3453 P=P+2 P = P +2 ; // 3454 Q_=Q_+1 Q_ = Q_ +1 ; // 3455 comment P TO OPERAND + 1 // P TO OPERAND + 1 // 3456 ->S1(A(P-1)) {sw = A(P -1 ) ; goto goto_sw_S1;} // 3457 S1(1): /* case */ S1_1: // 3458 comment P TO [NAME] // P TO [NAME] // 3459 ->2ifA(P+1)=1 if (A(P +1 ) == 1 ) goto l_2; // 3460 COPYTAG(A(P)) COPYTAG(A(P ) ); // 3461 ->2unlessTYPE=1orTYPE=2orTYPE=11orTYPE=12 if (!(TYPE == 1 || TYPE == 2 || TYPE == 11 || TYPE == 12 )) goto l_2; // 3462 ST(N0)=TYPE ST(N0 ) = TYPE ; // 3463 ST(N0+1)=I ST(N0 +1 ) = I ; // 3464 ST(N0+2)=K ST(N0 +2 ) = K ; // 3465 N0=N0+3 N0 = N0 +3 ; // 3466 P=P+3 P = P +3 ; // 3467 ->20 goto l_20; // 3468 comment R OF E + 1 // R OF E + 1 // 3469 2: l_2:; // 3470 CNAME(2) CNAME(2 ); // 3471 ->6 goto l_6; // 3472 S1(2): /* case */ S1_2: // 3473 comment P TO [CONST] // P TO [CONST] // 3474 TYPE=A(P)-1 TYPE = A(P ) -1 ; // 3475 ST(N0)=TYPE ST(N0 ) = TYPE ; // 3476 ST(N0+2)=A(P+1) ST(N0 +2 ) = A(P +1 ) ; // 3477 ->5ifTYPE=0 if (TYPE == 0 ) goto l_5; // 3478 ST(N0+1)=13 ST(N0 +1 ) = 13 ; // 3479 LC=1 LC = 1 ; // 3480 5: l_5:; // 3481 N0=N0+3 N0 = N0 +3 ; // 3482 P=P+3 P = P +3 ; // 3483 ->20 goto l_20; // 3484 comment P = R OF E + 1 // P = R OF E + 1 // 3485 S1(4): /* case */ S1_4: // 3486 M=1 M = 1 ; // 3487 comment ! EXPR ! // ! EXPR ! // 3488 S1(3): /* case */ S1_3: // 3489 Z_=3 Z_ = 3 ; // 3490 Z_=2ifZ=2orOP(Q_-1)=15 if (Z == 2 || OP(Q_ -1 ) == 15 ) Z_ = 2 ; // 3491 CSEXP(Z_) CSEXP(Z_ ); // 3492 ifTYPE=0thenTYPE=2 if (TYPE == 0 ) TYPE = 2 ; // 3493 comment NUT MIGHT WRITE (0) // NUT MIGHT WRITE (0) // 3494 ->6unlessM=1 if (!(M == 1 )) goto l_6; // 3495 PN(26-2*TYPE) PN(26 -2 *TYPE ); // 3496 M=0 M = 0 ; // 3497 6: l_6:; // 3498 P=P+1 P = P +1 ; // 3499 ->35ifA(P-1)=2andQ_=1and(Z#2orTYPE=2) if (A(P -1 ) == 2 && Q_ == 1 && (Z != 2 || TYPE == 2 )) goto l_35; // 3500 ST(N0)=TYPE+2 ST(N0 ) = TYPE +2 ; // 3501 ->301ifUSENEST=0orNESTED>=3 if (USENEST == 0 || NESTED >= 3 ) goto l_301; // 3502 NESTED=NESTED+1 NESTED = NESTED +1 ; // 3503 ST(N0+1)=NESTED ST(N0 +1 ) = NESTED ; // 3504 PN(53)ifNESTED=2 if (NESTED == 2 ) PN(53 ); // 3505 ! REV // REV // 3506 PN(10)ifNESTED=3 if (NESTED == 3 ) PN(10 ); // 3507 ! PERM // PERM // 3508 N0=N0+3 N0 = N0 +3 ; // 3509 ->20 goto l_20; // 3510 301: l_301:; // 3511 ST(N0+1)=0 ST(N0 +1 ) = 0 ; // 3512 N0=N0+3 N0 = N0 +3 ; // 3513 PQ(67,12,0) PQ(67 , 12 , 0 ); // 3514 D=D+1 D = D +1 ; // 3515 20: l_20:; // 3516 ->21unlessTYPE=1orTYPE=11 if (!(TYPE == 1 || TYPE == 11 )) goto l_21; // 3517 TSF=1 TSF = 1 ; // 3518 ifZ=2thenFAULT(24) if (Z == 2 ) FAULT(24 ); // 3519 ifOP(Q_-1)=15thenFAULT(39) if (OP(Q_ -1 ) == 15 ) FAULT(39 ); // 3520 21: l_21:; // 3521 ->30ifA(P-1)=2 if (A(P -1 ) == 2 ) goto l_30; // 3522 OP(Q_)=T(A(P)) OP(Q_ ) = T(A(P ) ) ; // 3523 if(OP(Q_)=9orOP(Q_)=15)andZ#2thenTSF=1 if ((OP(Q_ ) == 9 || OP(Q_ ) == 15 ) && Z != 2 ) TSF = 1 ; // 3524 22: l_22:; // 3525 ifOP(Q_)>OP(Q_-1)+1then->1 if (OP(Q_ ) > OP(Q_ -1 ) +1 ) goto l_1; // 3526 ST(N0)=OP(Q_-1) ST(N0 ) = OP(Q_ -1 ) ; // 3527 N0=N0+3 N0 = N0 +3 ; // 3528 OP(Q_-1)=OP(Q_) OP(Q_ -1 ) = OP(Q_ ) ; // 3529 Q_=Q_-1 Q_ = Q_ -1 ; // 3530 ->22 goto l_22; // 3531 30: l_30:; // 3532 MOVEM(12,-D) MOVEM(12 , -D ); // 3533 **LC /* To do: kdf9 instruction */ // 3534 *J32=Z /* To do: kdf9 instruction */ // 3535 ->32ifM13=-1 if (M13 == -1 ) goto l_32; // 3536 PQ(121,11,4) PQ(121 , 11 , 4 ); // 3537 PQ(120,13,2) PQ(120 , 13 , 2 ); // 3538 M13=-1 M13 = -1 ; // 3539 32: l_32:; // 3540 cycleJ=Q_-1,-1,0 for (J = Q_ -1 ; J != (0 )+(-1 ); J += -1 ) { // 3541 ST(N0)=OP(J) ST(N0 ) = OP(J ) ; // 3542 N0=N0+3 N0 = N0 +3 ; // 3543 repeat } // 3544 PRINTORDERS PRINTORDERS(); // 3545 MOVEM(12,-D) MOVEM(12 , -D ); // 3546 TYPE=TSF TYPE = TSF ; // 3547 35: l_35:; // 3548 ->50unlessZ=1andTYPE=2 if (!(Z == 1 && TYPE == 2 )) goto l_50; // 3549 PQ(121,1,4) PQ(121 , 1 , 4 ); // 3550 PN(20) PN(20 ); // 3551 TYPE=1 TYPE = 1 ; // 3552 50: l_50:; // 3553 ifN0>N0_+6thenAFLAG=1 if (N0 > N0_ +6 ) AFLAG = 1 ; // 3554 ifAFLAG*DFLAG*OVERFLAG=1thenPJ(9,SL(8),8) if (AFLAG *DFLAG *OVERFLAG == 1 ) PJ(9 , SL(8 ) , 8 ); // 3555 DFLAG=DFLAG-1 DFLAG = DFLAG -1 ; // 3556 N0=N0_ N0 = N0_ ; // 3557 ->60 goto l_60; // 3558 comment END // END // 3559 53: l_53:; // 3560 comment SHORT CONSTANT // SHORT CONSTANT // 3561 **A(P+3) /* To do: kdf9 instruction */ // 3562 *DUP KDF9_DUP(); // 3563 *J55#Z /* To do: kdf9 instruction */ // 3564 **=TYPE /* To do: kdf9 instruction */ // 3565 P=P+5 P = P +5 ; // 3566 PN(33) PN(33 ); // 3567 ->60 goto l_60; // 3568 55: l_55:; // 3569 ->56unlessA(P)=2 if (!(A(P ) == 2 )) goto l_56; // 3570 *NEG KDF9_NEG(); // 3571 56: l_56:; // 3572 TYPE=2 TYPE = 2 ; // 3573 *DUP KDF9_DUP(); // 3574 **=C /* To do: kdf9 instruction */ // 3575 P=P+5 P = P +5 ; // 3576 *NEG KDF9_NEG(); // 3577 *NOT KDF9_NOT(); // 3578 *J111=Z /* To do: kdf9 instruction */ // 3579 PSET(C) PSET(C ); // 3580 112: l_112:; // 3581 ->60unlessZ=1 if (!(Z == 1 )) goto l_60; // 3582 PQ(121,1,4) PQ(121 , 1 , 4 ); // 3583 PN(20) PN(20 ); // 3584 TYPE=1 TYPE = 1 ; // 3585 ->60 goto l_60; // 3586 comment END // END // 3587 111: l_111:; // 3588 PQ(121,12,4) PQ(121 , 12 , 4 ); // 3589 ->112 goto l_112; // 3590 routinePRINTORDERS void PRINTORDERS(void) { // 3591 switchS(0:15),S_(0:2) // TO DO: switch table S should be dumped at end of this block // TO DO: switch table S_ should be dumped at end of this block // 3592 integerC,N_,N,CELLS,M int C; int N_; int N; int CELLS; int M; // 3593 CELLS=0 CELLS = 0 ; // 3594 cycleJ=N0_,3,N0-6 for (J = N0_ ; J != (N0 -6 )+(3 ); J += 3 ) { // 3595 N=ST(J) N = ST(J ) ; // 3596 ->S(N) {sw = N ; goto goto_sw_S;} // 3597 S(0): /* case */ S_0: // 3598 C=ST(J+2) C = ST(J +2 ) ; // 3599 N_=ST(J+3) N_ = ST(J +3 ) ; // 3600 ! SHORT CONSTANT // SHORT CONSTANT // 3601 ->S_(C)ifC<3and(N_=5orN_=6)andTSF=2 if (C < 3 && (N_ == 5 || N_ == 6 ) && TSF == 2 ) {sw = C ; goto goto_sw_S_;} // 3602 CELLS=CELLS+1 CELLS = CELLS +1 ; // 3603 ->1ifC=2andN_=15 if (C == 2 && N_ == 15 ) goto l_1; // 3604 ->2ifN_=13 if (N_ == 13 ) goto l_2; // 3605 ->3 goto l_3; // 3606 S_(2): /* case */ S__2: // 3607 PN(47-4N_) PN(47 -4 *N_ ); // 3608 PN(3+4N_) PN(3 +4 *N_ ); // 3609 S_(1): /* case */ S__1: // 3610 PN(47-4N_) PN(47 -4 *N_ ); // 3611 PN(3+4N_) PN(3 +4 *N_ ); // 3612 S_(0): /* case */ S__0: // 3613 ST(J+3)=14 ST(J +3 ) = 14 ; // 3614 ->12 goto l_12; // 3615 1: l_1:; // 3616 ST(J+3)=8 ST(J +3 ) = 8 ; // 3617 PN(34) PN(34 ); // 3618 ->12 goto l_12; // 3619 2: l_2:; // 3620 ST(J+3)=14 ST(J +3 ) = 14 ; // 3621 C=-C C = -C ; // 3622 3: l_3:; // 3623 N=2 N = 2 ; // 3624 PSET(C) PSET(C ); // 3625 ->9 goto l_9; // 3626 S(1): /* case */ S_1: // 3627 S(2): /* case */ S_2: // 3628 CELLS=CELLS+1 CELLS = CELLS +1 ; // 3629 PMS(0,ST(J+2),ST(J+1)) PMS(0 , ST(J +2 ) , ST(J +1 ) ); // 3630 ->9 goto l_9; // 3631 S(11): /* case */ S_11: // 3632 S(12): /* case */ S_12: // 3633 CELLS=CELLS+1 CELLS = CELLS +1 ; // 3634 N=N-10 N = N -10 ; // 3635 M=1000ST(J+1)+ST(J+2) M = 1000 *ST(J +1 ) +ST(J +2 ) ; // 3636 ->1101ifM=M10 if (M == M10 ) goto l_1101; // 3637 ->1102ifM=M13 if (M == M13 ) goto l_1102; // 3638 PMS(0,ST(J+2),ST(J+1)) PMS(0 , ST(J +2 ) , ST(J +1 ) ); // 3639 PQ(120,10,2) PQ(120 , 10 , 2 ); // 3640 1101: l_1101:; // 3641 PQ(64,10,0) PQ(64 , 10 , 0 ); // 3642 M10=M M10 = M ; // 3643 ->9 goto l_9; // 3644 1102: l_1102:; // 3645 PQ(64,13,0) PQ(64 , 13 , 0 ); // 3646 ->9 goto l_9; // 3647 S(3): /* case */ S_3: // 3648 S(4): /* case */ S_4: // 3649 N=N-2 N = N -2 ; // 3650 C=CELLS C = CELLS ; // 3651 CELLS=CELLS+1 CELLS = CELLS +1 ; // 3652 ->401ifST(J+1)=0 if (ST(J +1 ) == 0 ) goto l_401; // 3653 M=ST(J+3) M = ST(J +3 ) ; // 3654 ->9ifC=0 if (C == 0 ) goto l_9; // 3655 ->402ifC=2 if (C == 2 ) goto l_402; // 3656 ->403ifC=3 if (C == 3 ) goto l_403; // 3657 ifC>=4thencaption CSEXP CLANG if (C >= 4 ) caption(" CSEXP CLANG ") // 3658 405: l_405:; // 3659 ->407ifTSF=1andN=2 if (TSF == 1 && N == 2 ) goto l_407; // 3660 ->12ifM=5orM=8 if (M == 5 || M == 8 ) goto l_12; // 3661 407: l_407:; // 3662 PN(53) PN(53 ); // 3663 ->9 goto l_9; // 3664 ! REV // REV // 3665 402: l_402:; // 3666 PN(54) PN(54 ); // 3667 ->9 goto l_9; // 3668 ! CAB // CAB // 3669 403: l_403:; // 3670 PN(10) PN(10 ); // 3671 PN(41) PN(41 ); // 3672 ->405 goto l_405; // 3673 ! PERM REND // PERM REND // 3674 401: l_401:; // 3675 PQ(66,12,0) PQ(66 , 12 , 0 ); // 3676 ->9 goto l_9; // 3677 S(5): /* case */ S_5: // 3678 CELLS=CELLS-1 CELLS = CELLS -1 ; // 3679 PN(74-14*TSF) PN(74 -14 *TSF ); // 3680 ->12 goto l_12; // 3681 S(6): /* case */ S_6: // 3682 CELLS=CELLS-1 CELLS = CELLS -1 ; // 3683 PN(92-31*TSF) PN(92 -31 *TSF ); // 3684 ->12 goto l_12; // 3685 S(8): /* case */ S_8: // 3686 CELLS=CELLS-1 CELLS = CELLS -1 ; // 3687 PN(24*TSF-20) PN(24 *TSF -20 ); // 3688 ifTSF=2thenPN(40) if (TSF == 2 ) PN(40 ); // 3689 ->12 goto l_12; // 3690 S(9): /* case */ S_9: // 3691 CELLS=CELLS-1 CELLS = CELLS -1 ; // 3692 PN(64-14*TSF) PN(64 -14 *TSF ); // 3693 ifTSF=2thenPJ(8,SL(9),6) if (TSF == 2 ) PJ(8 , SL(9 ) , 6 ); // 3694 ->12 goto l_12; // 3695 S(13): /* case */ S_13: // 3696 PN(27-2*TSF) PN(27 -2 *TSF ); // 3697 ->12 goto l_12; // 3698 S(15): /* case */ S_15: // 3699 M10=0 M10 = 0 ; // 3700 M13=0 M13 = 0 ; // 3701 CELLS=CELLS-1 CELLS = CELLS -1 ; // 3702 PJ(8,SL(80+TSF),13) PJ(8 , SL(80 +TSF ) , 13 ); // 3703 ->12 goto l_12; // 3704 9: l_9:; // 3705 ->12unlessTSF=1andN=2andST(J+3)#15 if (!(TSF == 1 && N == 2 && ST(J +3 ) != 15 )) goto l_12; // 3706 PQ(121,1,4) PQ(121 , 1 , 4 ); // 3707 PN(20) PN(20 ); // 3708 12: l_12:; // 3709 S(14): /* case */ S_14: // 3710 repeat } // 3711 end } // 3712 60: l_60:; // 3713 end } // 3714 comment END OF CSEXP // END OF CSEXP // 3715 routineCCOND void CCOND(void) { // 3716 comment DATED 4/6/65 - FOR VER 4G WITH NEW PHRASE STRUCTURE // DATED 4/6/65 - FOR VER 4G WITH NEW PHRASE STRUCTURE // 3717 comment COVERS [SC] [REST OF COND] // COVERS [SC] [REST OF COND] // 3718 integerC,T int C; int T; // 3719 routinespecCCC void CCC(void); // 3720 routinespecCSC void CSC(void); // 3721 routinespecCCOMP(integerC) void CCOMP( int C ); // 3722 DFLAG=DFLAG+1 DFLAG = DFLAG +1 ; // 3723 ifDFLAG=1thenAFLAG=0 if (DFLAG == 1 ) AFLAG = 0 ; // 3724 T=0 T = 0 ; // 3725 CCC CCC(); // 3726 ifAFLAG*DFLAG*OVERFLAG=1thenPJ(9,SL(8),8) if (AFLAG *DFLAG *OVERFLAG == 1 ) PJ(9 , SL(8 ) , 8 ); // 3727 DFLAG=DFLAG-1 DFLAG = DFLAG -1 ; // 3728 ->99 goto l_99; // 3729 routineCCC void CCC(void) { // 3730 comment T =0 FOR COND, T = 1 FOR AND-C, T=2 FOR OR-C // T =0 FOR COND, T = 1 FOR AND-C, T=2 FOR OR-C // 3731 integerLINE int LINE; // 3732 CSC CSC(); // 3733 C=A(P) C = A(P ) ; // 3734 P=P+1 P = P +1 ; // 3735 ->1unlessT=0 if (!(T == 0 )) goto l_1; // 3736 T=C T = C ; // 3737 C=C-1 C = C -1 ; // 3738 1: l_1:; // 3739 ->10ifC=2 if (C == 2 ) goto l_10; // 3740 PN(34) PN(34 ); // 3741 LINE=CA LINE = CA ; // 3742 PJ(7+T,0,6) PJ(7 +T , 0 , 6 ); // 3743 PN(42) PN(42 ); // 3744 CCC CCC(); // 3745 FILLLABEL(LINE,CA) FILLLABEL(LINE , CA ); // 3746 M10=0 M10 = 0 ; // 3747 M13=0 M13 = 0 ; // 3748 10: l_10:; // 3749 end } // 3750 routineCSC void CSC(void) { // 3751 integerLINE1,LINE2 int LINE1; int LINE2; // 3752 ->1ifA(P)=1 if (A(P ) == 1 ) goto l_1; // 3753 P=P+1 P = P +1 ; // 3754 CCOND CCOND(); // 3755 ->9 goto l_9; // 3756 1: l_1:; // 3757 P=P+1 P = P +1 ; // 3758 CSEXP(3) CSEXP(3 ); // 3759 CCOMP(1) CCOMP(1 ); // 3760 comment P TO R OF SC // P TO R OF SC // 3761 P=P+1 P = P +1 ; // 3762 ->9ifA(P-1)=2 if (A(P -1 ) == 2 ) goto l_9; // 3763 LINE1=CA LINE1 = CA ; // 3764 PJ(8,0,6) PJ(8 , 0 , 6 ); // 3765 CCOMP(2) CCOMP(2 ); // 3766 LINE2=CA LINE2 = CA ; // 3767 PJ(8,0,11) PJ(8 , 0 , 11 ); // 3768 FILLLABEL(LINE1,CA) FILLLABEL(LINE1 , CA ); // 3769 PN(42) PN(42 ); // 3770 PQ(121,12,4) PQ(121 , 12 , 4 ); // 3771 FILLLABEL(LINE2,CA) FILLLABEL(LINE2 , CA ); // 3772 M10=0 M10 = 0 ; // 3773 M13=0 M13 = 0 ; // 3774 9: l_9:; // 3775 end } // 3776 routineCCOMP(integerC) void CCOMP( int C ) { // 3777 comment C=1 FIRST TIME, C=2 ON SECOND ENTRY // C=1 FIRST TIME, C=2 ON SECOND ENTRY // 3778 integerT1,COMP,CTYPE int T1; int COMP; int CTYPE; // 3779 switchS(1:7) // TO DO: switch table S should be dumped at end of this block // 3780 T1=TYPE T1 = TYPE ; // 3781 COMP=A(P) COMP = A(P ) ; // 3782 P=P+1 P = P +1 ; // 3783 ifCOMP>4thenCOMP=11-COMP if (COMP > 4 ) COMP = 11 -COMP ; // 3784 CSEXP(3) CSEXP(3 ); // 3785 ->1unlessC=1=A(P) if (!(C == 1 && /* (beware side-effects) */1 == A(P ) )) goto l_1; // 3786 PN(34) PN(34 ); // 3787 PN(10) PN(10 ); // 3788 1: l_1:; // 3789 CTYPE=31 CTYPE = 31 ; // 3790 ifT1=1orTYPE=1thenCTYPE=63 if (T1 == 1 || TYPE == 1 ) CTYPE = 63 ; // 3791 ->3unlessT1*TYPE=2 if (!(T1 *TYPE == 2 )) goto l_3; // 3792 ->2ifT1=1 if (T1 == 1 ) goto l_2; // 3793 PN(53) PN(53 ); // 3794 COMP=8-COMP COMP = 8 -COMP ; // 3795 2: l_2:; // 3796 PQ(121,1,4) PQ(121 , 1 , 4 ); // 3797 PN(20) PN(20 ); // 3798 3: l_3:; // 3799 PN(CTYPE) PN(CTYPE ); // 3800 ->S(COMP) {sw = COMP ; goto goto_sw_S;} // 3801 S(4): /* case */ S_4: // 3802 PN(22) PN(22 ); // 3803 S(3): /* case */ S_3: // 3804 PN(23) PN(23 ); // 3805 PN(27) PN(27 ); // 3806 ->4 goto l_4; // 3807 S(6): /* case */ S_6: // 3808 PN(23) PN(23 ); // 3809 S(2): /* case */ S_2: // 3810 PSH(116,-1) PSH(116 , -1 ); // 3811 ->4 goto l_4; // 3812 S(5): /* case */ S_5: // 3813 PN(27) PN(27 ); // 3814 PN(23) PN(23 ); // 3815 S(1): /* case */ S_1: // 3816 S(7): /* case */ S_7: // 3817 4: l_4:; // 3818 end } // 3819 comment P TO 1 AFTER SEXP // P TO 1 AFTER SEXP // 3820 99: l_99:; // 3821 end } // 3822 comment END OF CCOND // END OF CCOND // 3823 routineCNAME(integerZ) void CNAME( int Z ) { // 3824 integerJJ,KK,TYPE_,RR,QQ,JJJ,II,Q,QQQ,PP int JJ; int KK; int TYPE_; int RR; int QQ; int JJJ; int II; int Q; int QQQ; int PP; // 3825 switchSW(0:12),FPT(1:14) // TO DO: switch table SW should be dumped at end of this block // TO DO: switch table FPT should be dumped at end of this block // 3826 COPYTAG(A(P)) COPYTAG(A(P ) ); // 3827 ifI#-1then->3 if (I != -1 ) goto l_3; // 3828 FNAME=A(P) FNAME = A(P ) ; // 3829 FAULT(16) FAULT(16 ); // 3830 I=LEVEL I = LEVEL ; // 3831 J=0 J = 0 ; // 3832 K=A(P) K = A(P ) ; // 3833 TYPE=0 TYPE = 0 ; // 3834 STORETAG(K) STORETAG(K ); // 3835 STORENAME STORENAME(); // 3836 K=N K = N ; // 3837 N=N+1 N = N +1 ; // 3838 3: l_3:; // 3839 JJ=J JJ = J ; // 3840 ifJJ=15thenJJ=0 if (JJ == 15 ) JJ = 0 ; // 3841 ifZ#0then->SW(TYPE) if (Z != 0 ) {sw = TYPE ; goto goto_sw_SW;} // 3842 ifTYPE=6then->SW(7) if (TYPE == 6 ) {sw = 7 ; goto goto_sw_SW;} // 3843 FAULT(17)unlessTYPE=0 if (!(TYPE == 0 )) FAULT(17 ); // 3844 ->SW(0) {sw = 0 ; goto goto_sw_SW;} // 3845 SW(5): /* case */ SW_5: // 3846 comment %SWITCH // %SWITCH // 3847 FAULT(20) FAULT(20 ); // 3848 SW(0): /* case */ SW_0: // 3849 comment NAME NOT SET // NAME NOT SET // 3850 P=P+1 P = P +1 ; // 3851 11: l_11:; // 3852 TYPE=2 TYPE = 2 ; // 3853 ifA(P)=2then->6 if (A(P ) == 2 ) goto l_6; // 3854 ->102 goto l_102; // 3855 SW(3): /* case */ SW_3: // 3856 comment %REAL %ARRAY // %REAL %ARRAY // 3857 SW(4): /* case */ SW_4: // 3858 comment %INTEGER %ARRAY // %INTEGER %ARRAY // 3859 TYPE_=TYPE TYPE_ = TYPE ; // 3860 KK=K KK = K ; // 3861 RR=I RR = I ; // 3862 PP=P PP = P ; // 3863 P=P+1 P = P +1 ; // 3864 ifA(P)=1then->16 if (A(P ) == 1 ) goto l_16; // 3865 FAULT(19) FAULT(19 ); // 3866 P=P+1 P = P +1 ; // 3867 ->10 goto l_10; // 3868 16: l_16:; // 3869 Q=0 Q = 0 ; // 3870 17: l_17:; // 3871 P=P+1 P = P +1 ; // 3872 Q=Q+1 Q = Q +1 ; // 3873 ifJJ=1andABC=0andA(P+1)=2andA(P)=3andA(P+2)=1andA(P+4)=2andA(P+5)=2then->311 if (JJ == 1 && ABC == 0 && A(P +1 ) == 2 && A(P ) == 3 && A(P +2 ) == 1 && A(P +4 ) == 2 && A(P +5 ) == 2 ) goto l_311; // 3874 CSEXP(2) CSEXP(2 ); // 3875 ifA(P)=1then->17 if (A(P ) == 1 ) goto l_17; // 3876 ifJJ#0then->2 if (JJ != 0 ) goto l_2; // 3877 JJ=Q JJ = Q ; // 3878 COPYTAG(A(PP)) COPYTAG(A(PP ) ); // 3879 J=JJ J = JJ ; // 3880 REPLACETAG(A(PP)) REPLACETAG(A(PP ) ); // 3881 2: l_2:; // 3882 P=P+1 P = P +1 ; // 3883 ifQ=JJthen->18 if (Q == JJ ) goto l_18; // 3884 FAULT(19) FAULT(19 ); // 3885 ->10 goto l_10; // 3886 311: l_311:; // 3887 QQ=1000RR+KK QQ = 1000 *RR +KK ; // 3888 ->313ifQQ=M13 if (QQ == M13 ) goto l_313; // 3889 PMS(0,KK,RR) PMS(0 , KK , RR ); // 3890 PQ(120,13,2) PQ(120 , 13 , 2 ); // 3891 313: l_313:; // 3892 M13=QQ M13 = QQ ; // 3893 ->312ifZ=3 if (Z == 3 ) goto l_312; // 3894 PMS(2-Z,A(P+3),13) PMS(2 -Z , A(P +3 ) , 13 ); // 3895 ! ENM13 // ENM13 // 3896 P=P+6 P = P +6 ; // 3897 ->10 goto l_10; // 3898 312: l_312:; // 3899 PSET(A(P+3)) PSET(A(P +3 ) ); // 3900 P=P+6 P = P +6 ; // 3901 ->307 goto l_307; // 3902 18: l_18:; // 3903 QQ=1000RR+KK QQ = 1000 *RR +KK ; // 3904 ->321ifQQ=M13 if (QQ == M13 ) goto l_321; // 3905 M13=0 M13 = 0 ; // 3906 PMS(0,KK,RR) PMS(0 , KK , RR ); // 3907 ifABC=1then->303 if (ABC == 1 ) goto l_303; // 3908 ifQ=1then->301 if (Q == 1 ) goto l_301; // 3909 ifQ=2then->302 if (Q == 2 ) goto l_302; // 3910 303: l_303:; // 3911 PPJ(8,69,13) PPJ(8 , 69 , 13 ); // 3912 ->10ifZ=3 if (Z == 3 ) goto l_10; // 3913 PQ(120,13,2) PQ(120 , 13 , 2 ); // 3914 ! =M13 // =M13 // 3915 304: l_304:; // 3916 PQ(66-Z,13,0) PQ(66 -Z , 13 , 0 ); // 3917 ! ='M0M13 // ='M0M13 // 3918 10: l_10:; // 3919 TYPE=TYPE_-2 TYPE = TYPE_ -2 ; // 3920 ->1 goto l_1; // 3921 301: l_301:; // 3922 PN(46) PN(46 ); // 3923 !*+ //*+ // 3924 PQ(120,13,2) PQ(120 , 13 , 2 ); // 3925 ! =M13 // =M13 // 3926 305: l_305:; // 3927 ->304ifZ#3 if (Z != 3 ) goto l_304; // 3928 PQ(121,13,2) PQ(121 , 13 , 2 ); // 3929 ->10 goto l_10; // 3930 302: l_302:; // 3931 PQ(120,13,14) PQ(120 , 13 , 14 ); // 3932 PQ(122,13,2) PQ(122 , 13 , 2 ); // 3933 PQ(121,13,4) PQ(121 , 13 , 4 ); // 3934 PN(28) PN(28 ); // 3935 PN(40) PN(40 ); // 3936 307: l_307:; // 3937 PQ(122,13,2) PQ(122 , 13 , 2 ); // 3938 !*=+M13 //*=+M13 // 3939 M13=0 M13 = 0 ; // 3940 ->305 goto l_305; // 3941 321: l_321:; // 3942 M13=0 M13 = 0 ; // 3943 ->307 goto l_307; // 3944 SW(6): /* case */ SW_6: // 3945 comment %ROUTINE IN EXPRESSION // %ROUTINE IN EXPRESSION // 3946 FAULT(23) FAULT(23 ); // 3947 ->SW(0) {sw = 0 ; goto goto_sw_SW;} // 3948 SW(7): /* case */ SW_7: // 3949 comment %REAL %FN AND %ROUTINE // %REAL %FN AND %ROUTINE // 3950 SW(8): /* case */ SW_8: // 3951 comment %INTEGER %FN // %INTEGER %FN // 3952 SW(9): /* case */ SW_9: // 3953 comment %REAL %MAP // %REAL %MAP // 3954 SW(10): /* case */ SW_10: // 3955 comment %INTEGER %MAP // %INTEGER %MAP // 3956 TYPE_=TYPE TYPE_ = TYPE ; // 3957 20: l_20:; // 3958 JJ=K JJ = K ; // 3959 FROMLIST2(ST(JJ),RR,K) FROMLIST2(ST(JJ ) , RR , K ); // 3960 P=P+1 P = P +1 ; // 3961 ifI#1orRR>=2then->400 if (I != 1 || RR >= 2 ) goto l_400; // 3962 ifA(P)=2then->402 if (A(P ) == 2 ) goto l_402; // 3963 411: l_411:; // 3964 Q=P Q = P ; // 3965 ifA(P+1)=3andA(P+2)=1then->412 if (A(P +1 ) == 3 && A(P +2 ) == 1 ) goto l_412; // 3966 413: l_413:; // 3967 FAULT(22) FAULT(22 ); // 3968 P=Q P = Q ; // 3969 415: l_415:; // 3970 P=P+1 P = P +1 ; // 3971 SKIPEXP SKIPEXP(); // 3972 ifA(P)=1then->415 if (A(P ) == 1 ) goto l_415; // 3973 ->414 goto l_414; // 3974 412: l_412:; // 3975 P=P+3 P = P +3 ; // 3976 CNAME(3) CNAME(3 ); // 3977 ifA(P)=1then->413 if (A(P ) == 1 ) goto l_413; // 3978 P=P+1 P = P +1 ; // 3979 ifRR=1then->401 if (RR == 1 ) goto l_401; // 3980 PSET(TYPE) PSET(TYPE ); // 3981 PJ(8,SL(12),13) PJ(8 , SL(12 ) , 13 ); // 3982 M10=0 M10 = 0 ; // 3983 M13=0 M13 = 0 ; // 3984 ifA(P)=1then->411 if (A(P ) == 1 ) goto l_411; // 3985 414: l_414:; // 3986 P=P+1 P = P +1 ; // 3987 ->1 goto l_1; // 3988 401: l_401:; // 3989 TYPE=2 TYPE = 2 ; // 3990 ifA(P)=2then->414 if (A(P ) == 2 ) goto l_414; // 3991 FAULT(19) FAULT(19 ); // 3992 P=Q P = Q ; // 3993 ->415 goto l_415; // 3994 400: l_400:; // 3995 if2<=RR<=NLIBandRA(RR)=0thenRA(RR)=1 if (2 <= RR && /* (beware side-effects) */RR <= NLIB && RA(RR ) == 0 ) RA(RR ) = 1 ; // 3996 ifK#1000then->21 if (K != 1000 ) goto l_21; // 3997 FAULT(21) FAULT(21 ); // 3998 ->11 goto l_11; // 3999 21: l_21:; // 4000 ifA(P)=1then->22 if (A(P ) == 1 ) goto l_22; // 4001 ifK=0then->37 if (K == 0 ) goto l_37; // 4002 402: l_402:; // 4003 FAULT(19) FAULT(19 ); // 4004 P=P+1 P = P +1 ; // 4005 TYPE=2 TYPE = 2 ; // 4006 ->1 goto l_1; // 4007 22: l_22:; // 4008 ifK#0then->24 if (K != 0 ) goto l_24; // 4009 FAULT(19) FAULT(19 ); // 4010 ->11 goto l_11; // 4011 24: l_24:; // 4012 Q=0 Q = 0 ; // 4013 MOVEM(12,3)unlessK=1 if (!(K == 1 )) MOVEM(12 , 3 ); // 4014 KK=K KK = K ; // 4015 QQ=0 QQ = 0 ; // 4016 26: l_26:; // 4017 LINK(JJ) LINK(JJ ); // 4018 FROMLIST2(ST(JJ),TYPE,JJJ) FROMLIST2(ST(JJ ) , TYPE , JJJ ); // 4019 P=P+1 P = P +1 ; // 4020 ->FPT(TYPE) {sw = TYPE ; goto goto_sw_FPT;} // 4021 FPT(1): /* case */ FPT_1: // 4022 comment %REAL // %REAL // 4023 CSEXP(1) CSEXP(1 ); // 4024 ->27 goto l_27; // 4025 FPT(2): /* case */ FPT_2: // 4026 comment %INTEGER // %INTEGER // 4027 CSEXP(2) CSEXP(2 ); // 4028 ->27 goto l_27; // 4029 FPT(6): /* case */ FPT_6: // 4030 comment %ROUTINE // %ROUTINE // 4031 FPT(7): /* case */ FPT_7: // 4032 comment %REAL %FN // %REAL %FN // 4033 FPT(8): /* case */ FPT_8: // 4034 comment %INTEGER %FN // %INTEGER %FN // 4035 FPT(9): /* case */ FPT_9: // 4036 comment %REAL %MAP // %REAL %MAP // 4037 FPT(10): /* case */ FPT_10: // 4038 comment %INTEGER %MAP // %INTEGER %MAP // 4039 QQQ=P QQQ = P ; // 4040 unlessA(P)#3orA(P+1)#1orA(P+3)#2orA(P+4)#2then->28 if (!(A(P ) != 3 || A(P +1 ) != 1 || A(P +3 ) != 2 || A(P +4 ) != 2 )) goto l_28; // 4041 33: l_33:; // 4042 P=QQQ P = QQQ ; // 4043 SKIPEXP SKIPEXP(); // 4044 29: l_29:; // 4045 FAULT(22) FAULT(22 ); // 4046 ->32 goto l_32; // 4047 28: l_28:; // 4048 II=TYPE II = TYPE ; // 4049 FNAME=A(P+2) FNAME = A(P +2 ) ; // 4050 COPYTAG(FNAME) COPYTAG(FNAME ); // 4051 ifI=-1thenFAULT(16) if (I == -1 ) FAULT(16 ); // 4052 P=P+5 P = P +5 ; // 4053 ifII=TYPEthen->31 if (II == TYPE ) goto l_31; // 4054 FAULT(22) FAULT(22 ); // 4055 ->32 goto l_32; // 4056 31: l_31:; // 4057 J=K J = K ; // 4058 FROMLIST2(ST(J),I,K) FROMLIST2(ST(J ) , I , K ); // 4059 if2<=I<=NLIBandRA(I)=0thenRA(I)=1 if (2 <= I && /* (beware side-effects) */I <= NLIB && RA(I ) == 0 ) RA(I ) = 1 ; // 4060 PMS(0,I,11) PMS(0 , I , 11 ); // 4061 PMS(1,JJJ,11) PMS(1 , JJJ , 11 ); // 4062 ->32 goto l_32; // 4063 FPT(11): /* case */ FPT_11: // 4064 comment %REAL %NAME // %REAL %NAME // 4065 FPT(12): /* case */ FPT_12: // 4066 comment %INTEGER %NAME // %INTEGER %NAME // 4067 FPT(14): /* case */ FPT_14: // 4068 comment %ADDR // %ADDR // 4069 II=TYPE-10 II = TYPE -10 ; // 4070 QQQ=P QQQ = P ; // 4071 ifA(P)#3orA(P+1)#1then->33 if (A(P ) != 3 || A(P +1 ) != 1 ) goto l_33; // 4072 P=P+2 P = P +2 ; // 4073 CNAME(3) CNAME(3 ); // 4074 ifA(P)=1then->33 if (A(P ) == 1 ) goto l_33; // 4075 P=P+1 P = P +1 ; // 4076 ifII=TYPEorII=4then->27 if (II == TYPE || II == 4 ) goto l_27; // 4077 ->29 goto l_29; // 4078 FPT(3): /* case */ FPT_3: // 4079 comment %REAL %ARRAY %NAME // %REAL %ARRAY %NAME // 4080 FPT(4): /* case */ FPT_4: // 4081 comment %INTEGER %ARRAY %NAME // %INTEGER %ARRAY %NAME // 4082 II=TYPE II = TYPE ; // 4083 QQQ=P QQQ = P ; // 4084 ifA(P)#3orA(P+1)#1orA(P+3)#2orA(P+4)#2then->33 if (A(P ) != 3 || A(P +1 ) != 1 || A(P +3 ) != 2 || A(P +4 ) != 2 ) goto l_33; // 4085 FNAME=A(P+2) FNAME = A(P +2 ) ; // 4086 COPYTAG(FNAME) COPYTAG(FNAME ); // 4087 ifI=-1thenFAULT(16) if (I == -1 ) FAULT(16 ); // 4088 unlessII=TYPEthenFAULT(22) if (!(II == TYPE )) FAULT(22 ); // 4089 PMS(0,K,I) PMS(0 , K , I ); // 4090 P=P+5 P = P +5 ; // 4091 27: l_27:; // 4092 ->2701ifKK=1 if (KK == 1 ) goto l_2701; // 4093 PQ(67,12,0) PQ(67 , 12 , 0 ); // 4094 QQ=QQ+1 QQ = QQ +1 ; // 4095 ->32 goto l_32; // 4096 2701: l_2701:; // 4097 PMS(1,3,12) PMS(1 , 3 , 12 ); // 4098 32: l_32:; // 4099 Q=Q+1 Q = Q +1 ; // 4100 ifQ=KKandA(P)=2then->35 if (Q == KK && A(P ) == 2 ) goto l_35; // 4101 ifA(P)=1then->36 if (A(P ) == 1 ) goto l_36; // 4102 FAULT(19) FAULT(19 ); // 4103 ->41 goto l_41; // 4104 36: l_36:; // 4105 ifQ<KKthen->26 if (Q < KK ) goto l_26; // 4106 FAULT(19) FAULT(19 ); // 4107 40: l_40:; // 4108 P=P+1 P = P +1 ; // 4109 SKIPEXP SKIPEXP(); // 4110 ifA(P)=1then->40 if (A(P ) == 1 ) goto l_40; // 4111 ->41 goto l_41; // 4112 35: l_35:; // 4113 MOVEM(12,-QQ-3)unlessKK=1 if (!(KK == 1 )) MOVEM(12 , -QQ -3 ); // 4114 37: l_37:; // 4115 PMS(0,RR,11) PMS(0 , RR , 11 ); // 4116 PJ(8,SL(1),13) PJ(8 , SL(1 ) , 13 ); // 4117 M10=0 M10 = 0 ; // 4118 M13=0 M13 = 0 ; // 4119 41: l_41:; // 4120 P=P+1 P = P +1 ; // 4121 ifTYPE_=6then->1 if (TYPE_ == 6 ) goto l_1; // 4122 if7#TYPE_#8then->201 if (7 != TYPE_ && /* (beware side-effects) */TYPE_ != 8 ) goto l_201; // 4123 TYPE=TYPE_-6 TYPE = TYPE_ -6 ; // 4124 ifZ#2thenFAULT(29) if (Z != 2 ) FAULT(29 ); // 4125 ->1 goto l_1; // 4126 201: l_201:; // 4127 TYPE=TYPE_-8 TYPE = TYPE_ -8 ; // 4128 ifZ=3then->1 if (Z == 3 ) goto l_1; // 4129 PPJ(8,65,13)ifABC=1=ZandMCSWITCH=0 if (ABC == 1 && /* (beware side-effects) */1 == Z && MCSWITCH == 0 ) PPJ(8 , 65 , 13 ); // 4130 PQ(120,13,2) PQ(120 , 13 , 2 ); // 4131 PQ(66-Z,13,0) PQ(66 -Z , 13 , 0 ); // 4132 ->1 goto l_1; // 4133 SW(1): /* case */ SW_1: // 4134 comment %REAL // %REAL // 4135 SW(2): /* case */ SW_2: // 4136 comment %INTEGER // %INTEGER // 4137 CMOD(1,Z) CMOD(1 , Z ); // 4138 ->9 goto l_9; // 4139 SW(11): /* case */ SW_11: // 4140 comment %REAL %NAME // %REAL %NAME // 4141 SW(12): /* case */ SW_12: // 4142 comment %INTEGER %NAME // %INTEGER %NAME // 4143 TYPE=TYPE-10 TYPE = TYPE -10 ; // 4144 CMOD(0,Z) CMOD(0 , Z ); // 4145 9: l_9:; // 4146 P=P+1 P = P +1 ; // 4147 ifA(P)=2then->6 if (A(P ) == 2 ) goto l_6; // 4148 FAULT(19) FAULT(19 ); // 4149 102: l_102:; // 4150 P=P+1 P = P +1 ; // 4151 SKIPEXP SKIPEXP(); // 4152 ifA(P)=1then->102 if (A(P ) == 1 ) goto l_102; // 4153 6: l_6:; // 4154 P=P+1 P = P +1 ; // 4155 1: l_1:; // 4156 end } // 4157 routineCMOD(integerN,Z) void CMOD( int N, int Z ) { // 4158 integerQ int Q; // 4159 switchSW(1:6) // TO DO: switch table SW should be dumped at end of this block // 4160 Q=1000I+K Q = 1000 *I +K ; // 4161 ->SW(3N+Z) {sw = 3 *N +Z ; goto goto_sw_SW;} // 4162 SW(1): /* case */ SW_1: // 4163 SW(2): /* case */ SW_2: // 4164 ->7ifM13=Q if (M13 == Q ) goto l_7; // 4165 ->8ifM10=Q if (M10 == Q ) goto l_8; // 4166 PMS(0,K,I) PMS(0 , K , I ); // 4167 PQ(120,13,2) PQ(120 , 13 , 2 ); // 4168 7: l_7:; // 4169 PQ(66-Z,13,0) PQ(66 -Z , 13 , 0 ); // 4170 M13=Q M13 = Q ; // 4171 ->1 goto l_1; // 4172 8: l_8:; // 4173 PQ(66-Z,10,0) PQ(66 -Z , 10 , 0 ); // 4174 ->1 goto l_1; // 4175 SW(3): /* case */ SW_3: // 4176 SW(5): /* case */ SW_5: // 4177 PMS(0,K,I) PMS(0 , K , I ); // 4178 ->1 goto l_1; // 4179 SW(4): /* case */ SW_4: // 4180 PMS(1,K,I) PMS(1 , K , I ); // 4181 ->1 goto l_1; // 4182 SW(6): /* case */ SW_6: // 4183 PSET(K) PSET(K ); // 4184 PQ(121,I,2) PQ(121 , I , 2 ); // 4185 PN(46) PN(46 ); // 4186 1: l_1:; // 4187 end } // 4188 routineFAULT(integerN) void FAULT( int N ) { // 4189 PRINTSYMBOL(42) PRINTSYMBOL(42 ); // 4190 WRITE(LINE,4) WRITE(LINE , 4 ); // 4191 SPACES(3*LEVEL) SPACES(3 *LEVEL ); // 4192 captionFAULT caption("FAULT ") // 4193 WRITE(N,2) WRITE(N , 2 ); // 4194 ifFAULTY=1then->2 if (FAULTY == 1 ) goto l_2; // 4195 *E418 /* To do: kdf9 instruction */ // 4196 *=RC15 /* To do: kdf9 instruction */ // 4197 *E444 /* To do: kdf9 instruction */ // 4198 *=M15 /* To do: kdf9 instruction */ // 4199 *PMEQ15 /* To do: kdf9 instruction */ // 4200 *ZERO KDF9_ZERO(); // 4201 *=E444 /* To do: kdf9 instruction */ // 4202 *E435 /* To do: kdf9 instruction */ // 4203 *SET1 /* To do: kdf9 instruction */ // 4204 *=C15 /* To do: kdf9 instruction */ // 4205 *JS25P /* To do: kdf9 instruction */ // 4206 stopunlessLFLAG=0 if (!(LFLAG == 0 )) exit(0); // 4207 2: l_2:; // 4208 FAULTY=1 FAULTY = 1 ; // 4209 ->3ifN=28 if (N == 28 ) goto l_3; // 4210 ->1if7#N#16 if (7 != N && /* (beware side-effects) */N != 16 ) goto l_1; // 4211 3: l_3:; // 4212 SPACE SPACE(); // 4213 PRINTNAME(FNAME) PRINTNAME(FNAME ); // 4214 1: l_1:; // 4215 NEWLINEunlessN=11 if (!(N == 11 )) NEWLINE(); // 4216 end } // 4217 routinePRINTNAME(integerI) void PRINTNAME( int I ) { // 4218 integerJ,K,N int J; int K; int N; // 4219 J=WORD(I) J = WORD(I ) ; // 4220 **LETT(J) /* To do: kdf9 instruction */ // 4221 *ZERO KDF9_ZERO(); // 4222 *SHLD+8 /* To do: kdf9 instruction */ // 4223 *SET4 /* To do: kdf9 instruction */ // 4224 *- /* To do: kdf9 instruction */ // 4225 *DUP KDF9_DUP(); // 4226 **=N /* To do: kdf9 instruction */ // 4227 *J4>Z /* To do: kdf9 instruction */ // 4228 ->2 goto l_2; // 4229 1: l_1:; // 4230 J=J+1 J = J +1 ; // 4231 **LETT(J) /* To do: kdf9 instruction */ // 4232 N=N-6 N = N -6 ; // 4233 ifN<=0then->2 if (N <= 0 ) goto l_2; // 4234 4: l_4:; // 4235 *ZERO KDF9_ZERO(); // 4236 *SHLD+8 /* To do: kdf9 instruction */ // 4237 *DUP KDF9_DUP(); // 4238 *J3#Z /* To do: kdf9 instruction */ // 4239 *ERASE KDF9_ERASE(); // 4240 *ERASE KDF9_ERASE(); // 4241 *J1 /* To do: kdf9 instruction */ // 4242 3: l_3:; // 4243 **=K /* To do: kdf9 instruction */ // 4244 PRINTSYMBOL(K) PRINTSYMBOL(K ); // 4245 ->4 goto l_4; // 4246 2: l_2:; // 4247 *SET+1 /* To do: kdf9 instruction */ // 4248 **N /* To do: kdf9 instruction */ // 4249 *- /* To do: kdf9 instruction */ // 4250 *SHL+3 /* To do: kdf9 instruction */ // 4251 *=C13 /* To do: kdf9 instruction */ // 4252 *SHLC13 /* To do: kdf9 instruction */ // 4253 5: l_5:; // 4254 *ZERO KDF9_ZERO(); // 4255 *SHLD+8 /* To do: kdf9 instruction */ // 4256 *DUP KDF9_DUP(); // 4257 *J6#Z /* To do: kdf9 instruction */ // 4258 *ERASE KDF9_ERASE(); // 4259 *ERASE KDF9_ERASE(); // 4260 return return; // 4261 6: l_6:; // 4262 **=K /* To do: kdf9 instruction */ // 4263 PRINTSYMBOL(K) PRINTSYMBOL(K ); // 4264 ->5 goto l_5; // 4265 end } // 4266 routineTESTNST void TESTNST(void) { // 4267 **K /* To do: kdf9 instruction */ // 4268 *DUP KDF9_DUP(); // 4269 **=FNAME /* To do: kdf9 instruction */ // 4270 **I /* To do: kdf9 instruction */ // 4271 **J /* To do: kdf9 instruction */ // 4272 **TYPE /* To do: kdf9 instruction */ // 4273 COPYTAG(K) COPYTAG(K ); // 4274 ifI=LEVELandTYPE#0thenFAULT(7) if (I == LEVEL && TYPE != 0 ) FAULT(7 ); // 4275 1: l_1:; // 4276 **=TYPE /* To do: kdf9 instruction */ // 4277 **=J /* To do: kdf9 instruction */ // 4278 **=I /* To do: kdf9 instruction */ // 4279 **=K /* To do: kdf9 instruction */ // 4280 end } // 4281 routineCUCI void CUCI(void) { // 4282 integerQ,I,J,RR,TT,AP int Q; int I; int J; int RR; int TT; int AP; // 4283 switchEE(1:10),E(97:103) // TO DO: switch table EE should be dumped at end of this block // TO DO: switch table E should be dumped at end of this block // 4284 AP=A(P) AP = A(P ) ; // 4285 ifAP<=10then->EE(AP) if (AP <= 10 ) {sw = AP ; goto goto_sw_EE;} // 4286 ifAP<=18then->101 if (AP <= 18 ) goto l_101; // 4287 ifAP>=97then->E(AP) if (AP >= 97 ) {sw = AP ; goto goto_sw_E;} // 4288 if90<=AP<=94then->61 if (90 <= AP && /* (beware side-effects) */AP <= 94 ) goto l_61; // 4289 if28>=APthen->71 if (28 >= AP ) goto l_71; // 4290 ->51 goto l_51; // 4291 EE(1): /* case */ EE_1: // 4292 comment [*] [@] [NAME] [APP] // [*] [@] [NAME] [APP] // 4293 P=P+1 P = P +1 ; // 4294 CNAME(3) CNAME(3 ); // 4295 ->9 goto l_9; // 4296 EE(2): /* case */ EE_2: // 4297 comment [*] ['] [NAME] [APP] // [*] ['] [NAME] [APP] // 4298 P=P+2 P = P +2 ; // 4299 CNAME(A(P-1)) CNAME(A(P -1 ) ); // 4300 ->9 goto l_9; // 4301 EE(3): /* case */ EE_3: // 4302 comment [J] [N] [P'] [J-INSTR] // [J] [N] [P'] [J-INSTR] // 4303 ifA(P+2)=1then->10 if (A(P +2 ) == 1 ) goto l_10; // 4304 K=A(P+1) K = A(P +1 ) ; // 4305 STOREJUMP STOREJUMP(); // 4306 K=0 K = 0 ; // 4307 11: l_11:; // 4308 P=P+3 P = P +3 ; // 4309 ->21 goto l_21; // 4310 10: l_10:; // 4311 K=SL(A(P+1)) K = SL(A(P +1 ) ) ; // 4312 FAULT(33)ifK=0 if (K == 0 ) FAULT(33 ); // 4313 ->11 goto l_11; // 4314 21: l_21:; // 4315 ifA(P)>=2then->22 if (A(P ) >= 2 ) goto l_22; // 4316 POPUP2(JUMP(LEVEL),J,K) POPUP2(JUMP(LEVEL ) , J , K ); // 4317 comment JRCQNZS // JRCQNZS // 4318 PQ(127,A(P+1),0) PQ(127 , A(P +1 ) , 0 ); // 4319 ->9 goto l_9; // 4320 * /* .ALIGN */ // 4321 53P: p_53: // 4322 *0/5400/144 /* To do: kdf9 instruction */ // 4323 ! JRCQNZ // JRCQNZ // 4324 *0/5000/144 /* To do: kdf9 instruction */ // 4325 ! JRCQZ // JRCQZ // 4326 *0/4400/6 /* To do: kdf9 instruction */ // 4327 ! JR=Z // JR=Z // 4328 *0/4400/1 /* To do: kdf9 instruction */ // 4329 ! JR= // JR= // 4330 *0/4000/6 /* To do: kdf9 instruction */ // 4331 ! JR#Z // JR#Z // 4332 *0/4000/1 /* To do: kdf9 instruction */ // 4333 ! JR# // JR# // 4334 *0/4400/4 /* To do: kdf9 instruction */ // 4335 ! JR>Z // JR>Z // 4336 *0/4000/2 /* To do: kdf9 instruction */ // 4337 ! JR>=Z // JR>=Z // 4338 *0/4400/2 /* To do: kdf9 instruction */ // 4339 ! JR<Z // JR<Z // 4340 *0/4000/4 /* To do: kdf9 instruction */ // 4341 ! JR<=Z // JR<=Z // 4342 *0/4400/10 /* To do: kdf9 instruction */ // 4343 ! JRV // JRV // 4344 *0/4000/10 /* To do: kdf9 instruction */ // 4345 ! JRNV // JRNV // 4346 *0/4400/12 /* To do: kdf9 instruction */ // 4347 ! JREN // JREN // 4348 *0/4000/12 /* To do: kdf9 instruction */ // 4349 ! JRNEN // JRNEN // 4350 *0/4400/14 /* To do: kdf9 instruction */ // 4351 ! JREJ // JREJ // 4352 *0/4000/14 /* To do: kdf9 instruction */ // 4353 ! JRNEJ // JRNEJ // 4354 *0/4400/16 /* To do: kdf9 instruction */ // 4355 ! JRTR // JRTR // 4356 *0/4000/16 /* To do: kdf9 instruction */ // 4357 ! JRNTR // JRNTR // 4358 *0/4000/13 /* To do: kdf9 instruction */ // 4359 ! JR // JR // 4360 22: l_22:; // 4361 *SET53P: /* To do: kdf9 instruction */ // 4362 *=M15 /* To do: kdf9 instruction */ // 4363 **A(P) /* To do: kdf9 instruction */ // 4364 *SET2 /* To do: kdf9 instruction */ // 4365 *- /* To do: kdf9 instruction */ // 4366 *=M14 /* To do: kdf9 instruction */ // 4367 *M14M15 /* To do: kdf9 instruction */ // 4368 *ZERO KDF9_ZERO(); // 4369 *SHLD+24 /* To do: kdf9 instruction */ // 4370 **=TT /* To do: kdf9 instruction */ // 4371 *SHL-24 /* To do: kdf9 instruction */ // 4372 **=RR /* To do: kdf9 instruction */ // 4373 ifRR=100thenRR=A(P+1) if (RR == 100 ) RR = A(P +1 ) ; // 4374 PJ(TT,K,RR) PJ(TT , K , RR ); // 4375 ->9 goto l_9; // 4376 EE(4): /* case */ EE_4: // 4377 ![SETB][OCTAL] //[SETB][OCTAL] // 4378 PSET(A(P+1)) PSET(A(P +1 ) ); // 4379 ->9 goto l_9; // 4380 EE(5): /* case */ EE_5: // 4381 ![SET][N][P][:] //[SET][N][P][:] // 4382 PSET(SL(A(P+1))) PSET(SL(A(P +1 ) ) ); // 4383 ->9 goto l_9; // 4384 EE(6): /* case */ EE_6: // 4385 comment [JS] [N] [P'] // [JS] [N] [P'] // 4386 ifA(P+2)=1then->12 if (A(P +2 ) == 1 ) goto l_12; // 4387 K=A(P+1) K = A(P +1 ) ; // 4388 STOREJUMP STOREJUMP(); // 4389 PJ(8,0,13) PJ(8 , 0 , 13 ); // 4390 ->9 goto l_9; // 4391 12: l_12:; // 4392 PPJ(8,A(P+1),13) PPJ(8 , A(P +1 ) , 13 ); // 4393 ->9 goto l_9; // 4394 EE(7): /* case */ EE_7: // 4395 **A(P+1) /* To do: kdf9 instruction */ // 4396 *DUP KDF9_DUP(); // 4397 *NOT KDF9_NOT(); // 4398 *SET1 /* To do: kdf9 instruction */ // 4399 *AND KDF9_AND(); // 4400 *SHL14 /* To do: kdf9 instruction */ // 4401 *REV KDF9_REV(); // 4402 *SHL-1 /* To do: kdf9 instruction */ // 4403 *OR KDF9_OR(); // 4404 **=RR /* To do: kdf9 instruction */ // 4405 ! [EXIT] [N] // [EXIT] [N] // 4406 PJ(8,RR,15) PJ(8 , RR , 15 ); // 4407 ->9 goto l_9; // 4408 EE(8): /* case */ EE_8: // 4409 comment [='] [M] [N] [M] [N] [MS-INSTR] // [='] [M] [N] [M] [N] [MS-INSTR] // 4410 I=0 I = 0 ; // 4411 ifA(P+1)=1thenI=1 if (A(P +1 ) == 1 ) I = 1 ; // 4412 Q=A(P+3) Q = A(P +3 ) ; // 4413 K=A(P+2) K = A(P +2 ) ; // 4414 P=P+4 P = P +4 ; // 4415 ->31 goto l_31; // 4416 * /* .ALIGN */ // 4417 55P: p_55: // 4418 *0/47000/106 /* To do: kdf9 instruction */ // 4419 ! MKMQQHN+MKMQQH // MKMQQHN+MKMQQH // 4420 *0/45000/102 /* To do: kdf9 instruction */ // 4421 ! MKMQQN+MKMQQ // MKMQQN+MKMQQ // 4422 *0/46000/104 /* To do: kdf9 instruction */ // 4423 ! MKMQHN+MKMQH // MKMQHN+MKMQH // 4424 *0/44000/100 /* To do: kdf9 instruction */ // 4425 ! MKMQN+MKMQ // MKMQN+MKMQ // 4426 31: l_31:; // 4427 *SET55P: /* To do: kdf9 instruction */ // 4428 *=M15 /* To do: kdf9 instruction */ // 4429 **A(P) /* To do: kdf9 instruction */ // 4430 *NEG KDF9_NEG(); // 4431 *NOT KDF9_NOT(); // 4432 *=M14 /* To do: kdf9 instruction */ // 4433 *M15M14H /* To do: kdf9 instruction */ // 4434 *SHL-24 /* To do: kdf9 instruction */ // 4435 **I /* To do: kdf9 instruction */ // 4436 *+ /* To do: kdf9 instruction */ // 4437 **=I /* To do: kdf9 instruction */ // 4438 PQ(I,Q,K) PQ(I , Q , K ); // 4439 ->9 goto l_9; // 4440 * /* .ALIGN */ // 4441 56P: p_56: // 4442 *0/70400/162 /* To do: kdf9 instruction */ // 4443 ! SHA (N OR CQ) + SHAD (N OR CQ) // SHA (N OR CQ) + SHAD (N OR CQ) // 4444 *0/72000/166 /* To do: kdf9 instruction */ // 4445 ! SHL (N OR CQ) + SHLD (N OR CQ) // SHL (N OR CQ) + SHLD (N OR CQ) // 4446 *0/73400/0 /* To do: kdf9 instruction */ // 4447 ! SHC (N OR CQ) // SHC (N OR CQ) // 4448 EE(9): /* case */ EE_9: // 4449 P=P+1 P = P +1 ; // 4450 35: l_35:; // 4451 *SET56P: /* To do: kdf9 instruction */ // 4452 *=M15 /* To do: kdf9 instruction */ // 4453 **A(P) /* To do: kdf9 instruction */ // 4454 *NEG KDF9_NEG(); // 4455 *NOT KDF9_NOT(); // 4456 *DUP KDF9_DUP(); // 4457 *SET5 /* To do: kdf9 instruction */ // 4458 *- /* To do: kdf9 instruction */ // 4459 *DUP KDF9_DUP(); // 4460 *J36>=Z /* To do: kdf9 instruction */ // 4461 *REV KDF9_REV(); // 4462 36: l_36:; // 4463 *=M14 /* To do: kdf9 instruction */ // 4464 *M15M14H /* To do: kdf9 instruction */ // 4465 *SHL-24 /* To do: kdf9 instruction */ // 4466 **=I /* To do: kdf9 instruction */ // 4467 *J1001>=Z /* To do: kdf9 instruction */ // 4468 1000: l_1000:; // 4469 K=A(P+2) K = A(P +2 ) ; // 4470 ifA(P+1)=2thenK=-K if (A(P +1 ) == 2 ) K = -K ; // 4471 PSH(I,K) PSH(I , K ); // 4472 ->9 goto l_9; // 4473 1001: l_1001:; // 4474 PQ(I,A(P+1),0) PQ(I , A(P +1 ) , 0 ); // 4475 ->9 goto l_9; // 4476 * /* .ALIGN */ // 4477 57P: p_57: // 4478 *0/74000/16 /* To do: kdf9 instruction */ // 4479 ! =QQ // =QQ // 4480 *0/74000/10 /* To do: kdf9 instruction */ // 4481 ! =CQ // =CQ // 4482 *0/74000/4 /* To do: kdf9 instruction */ // 4483 ! =IQ // =IQ // 4484 *0/74000/2 /* To do: kdf9 instruction */ // 4485 ! =MQ // =MQ // 4486 *0/74000/11 /* To do: kdf9 instruction */ // 4487 ! =RCQ // =RCQ // 4488 *0/74000/5 /* To do: kdf9 instruction */ // 4489 ! =RIQ // =RIQ // 4490 *0/74000/3 /* To do: kdf9 instruction */ // 4491 ! =RMQ // =RMQ // 4492 *0/75000/16 /* To do: kdf9 instruction */ // 4493 ! =+QQ // =+QQ // 4494 *0/75000/10 /* To do: kdf9 instruction */ // 4495 ! =+CQ // =+CQ // 4496 *0/75000/4 /* To do: kdf9 instruction */ // 4497 ! =+IQ // =+IQ // 4498 *0/75000/2 /* To do: kdf9 instruction */ // 4499 ! =+MQ // =+MQ // 4500 *0/52000/4 /* To do: kdf9 instruction */ // 4501 ! TLOQQ // TLOQQ // 4502 *0/56000/2 /* To do: kdf9 instruction */ // 4503 ! INTQQ // INTQQ // 4504 *0/50400/0 /* To do: kdf9 instruction */ // 4505 ! PARQQ // PARQQ // 4506 *0/50000/2 /* To do: kdf9 instruction */ // 4507 ! BUSYQQ // BUSYQQ // 4508 *0/50000/1 /* To do: kdf9 instruction */ // 4509 ! MANUALQQ // MANUALQQ // 4510 *0/74400/16 /* To do: kdf9 instruction */ // 4511 ! QQ // QQ // 4512 *0/74400/10 /* To do: kdf9 instruction */ // 4513 ! CQ // CQ // 4514 *0/74400/4 /* To do: kdf9 instruction */ // 4515 ! IQ // IQ // 4516 *0/74400/2 /* To do: kdf9 instruction */ // 4517 ! MQ // MQ // 4518 *0/61000/0 /* To do: kdf9 instruction */ // 4519 ! NCQ // NCQ // 4520 *0/61400/0 /* To do: kdf9 instruction */ // 4521 ! DCQ // DCQ // 4522 *0/71400/0 /* To do: kdf9 instruction */ // 4523 ! X+CQ // X+CQ // 4524 EE(10): /* case */ EE_10: // 4525 P=P+1 P = P +1 ; // 4526 41: l_41:; // 4527 ifA(P)#1then->42 if (A(P ) != 1 ) goto l_42; // 4528 PQ(124,0,0) PQ(124 , 0 , 0 ); // 4529 ->9 goto l_9; // 4530 !=LINK //=LINK // 4531 42: l_42:; // 4532 *SET57P: /* To do: kdf9 instruction */ // 4533 *=M15 /* To do: kdf9 instruction */ // 4534 **A(P) /* To do: kdf9 instruction */ // 4535 *SET2 /* To do: kdf9 instruction */ // 4536 *- /* To do: kdf9 instruction */ // 4537 *=M14 /* To do: kdf9 instruction */ // 4538 43: l_43:; // 4539 *M15M14 /* To do: kdf9 instruction */ // 4540 *ZERO KDF9_ZERO(); // 4541 *SHLD+24 /* To do: kdf9 instruction */ // 4542 **=I /* To do: kdf9 instruction */ // 4543 *SHL-24 /* To do: kdf9 instruction */ // 4544 **=J /* To do: kdf9 instruction */ // 4545 2: l_2:; // 4546 PQ(I,A(P+1),J) PQ(I , A(P +1 ) , J ); // 4547 ->9 goto l_9; // 4548 * /* .ALIGN */ // 4549 63P: p_63: // 4550 *0/67400/154 /* To do: kdf9 instruction */ // 4551 !QK OR CK TO QQ //QK OR CK TO QQ // 4552 *0/65000/151 /* To do: kdf9 instruction */ // 4553 !IK OR MK TO QQ //IK OR MK TO QQ // 4554 *0/65400/155 /* To do: kdf9 instruction */ // 4555 !IMK ORCMK TO QQ //IMK ORCMK TO QQ // 4556 *0/67000/0 /* To do: kdf9 instruction */ // 4557 !CIK TO QQ //CIK TO QQ // 4558 101: l_101:; // 4559 *SET63P: /* To do: kdf9 instruction */ // 4560 *=M15 /* To do: kdf9 instruction */ // 4561 **AP /* To do: kdf9 instruction */ // 4562 *SET11 /* To do: kdf9 instruction */ // 4563 *- /* To do: kdf9 instruction */ // 4564 *=M14 /* To do: kdf9 instruction */ // 4565 *M15M14H /* To do: kdf9 instruction */ // 4566 *SHL-24 /* To do: kdf9 instruction */ // 4567 *DUP KDF9_DUP(); // 4568 *J102=Z /* To do: kdf9 instruction */ // 4569 **=I /* To do: kdf9 instruction */ // 4570 J=A(P+2) J = A(P +2 ) ; // 4571 ->2 goto l_2; // 4572 102: l_102:; // 4573 *ERASE KDF9_ERASE(); // 4574 comment [I] [N] [=] [+'] [N] // [I] [N] [=] [+'] [N] // 4575 K=A(P+3) K = A(P +3 ) ; // 4576 I=0 I = 0 ; // 4577 ifA(P+2)=2thenK=-K if (A(P +2 ) == 2 ) K = -K ; // 4578 ifK=1thenI=4 if (K == 1 ) I = 4 ; // 4579 ifK=-1thenI=5 if (K == -1 ) I = 5 ; // 4580 ifK=2thenI=6 if (K == 2 ) I = 6 ; // 4581 ifK=-2thenI=7 if (K == -2 ) I = 7 ; // 4582 ifI=0thenFAULT(33) if (I == 0 ) FAULT(33 ); // 4583 PQ(96+I,A(P+1),0) PQ(96 +I , A(P +1 ) , 0 ); // 4584 ->9 goto l_9; // 4585 * /* .ALIGN */ // 4586 60P: p_60: // 4587 *0/10400/20 /* To do: kdf9 instruction */ // 4588 ! ROUNDHF + ROUNDF // ROUNDHF + ROUNDF // 4589 *0/6000/16 /* To do: kdf9 instruction */ // 4590 ! ROUNDH + ROUND // ROUNDH + ROUND // 4591 *0/12400/24 /* To do: kdf9 instruction */ // 4592 ! FLOATD + FLOAT // FLOATD + FLOAT // 4593 *0/25000/51 /* To do: kdf9 instruction */ // 4594 ! ERASE + REVD // ERASE + REVD // 4595 *0/32400/41 /* To do: kdf9 instruction */ // 4596 ! REV + ZERO // REV + ZERO // 4597 *0/21400/42 /* To do: kdf9 instruction */ // 4598 ! DUPD + DUP // DUPD + DUP // 4599 *0/34400/31 /* To do: kdf9 instruction */ // 4600 ! NEGDF + NEGF // NEGDF + NEGF // 4601 *0/4000/27 /* To do: kdf9 instruction */ // 4602 ! NEGD + NEG // NEGD + NEG // 4603 *0/14000/26 /* To do: kdf9 instruction */ // 4604 ! ABSF + ABS // ABSF + ABS // 4605 *0/35000/32 /* To do: kdf9 instruction */ // 4606 ! MAXF + MAX // MAXF + MAX // 4607 *0/37400/37 /* To do: kdf9 instruction */ // 4608 ! SIGNF + SIGN // SIGNF + SIGN // 4609 *0/33000/67 /* To do: kdf9 instruction */ // 4610 ! CAB + FRB // CAB + FRB // 4611 *0/34000/63 /* To do: kdf9 instruction */ // 4612 ! STAND + /DF // STAND + /DF // 4613 *0/30400/62 /* To do: kdf9 instruction */ // 4614 ! /D + /F // /D + /F // 4615 *0/32000/44 /* To do: kdf9 instruction */ // 4616 ! /R + /I // /R + /I // 4617 *0/30000/23 /* To do: kdf9 instruction */ // 4618 ! / + +DF // / + +DF // 4619 *0/27400/74 /* To do: kdf9 instruction */ // 4620 ! +D + +F // +D + +F // 4621 *0/27000/22 /* To do: kdf9 instruction */ // 4622 ! + + -DF // + + -DF // 4623 *0/25400/75 /* To do: kdf9 instruction */ // 4624 ! -D + -F // -D + -F // 4625 *0/17000/5 /* To do: kdf9 instruction */ // 4626 ! - + XDF // - + XDF // 4627 *0/16000/4 /* To do: kdf9 instruction */ // 4628 ! XD + XF // XD + XF // 4629 *0/3400/0 /* To do: kdf9 instruction */ // 4630 !X+F +X+ //X+F +X+ // 4631 *0/1000/3 /* To do: kdf9 instruction */ // 4632 !=TR +BITS //=TR +BITS // 4633 *0/7400/12 /* To do: kdf9 instruction */ // 4634 !DUMMY +PERM //DUMMY +PERM // 4635 *0/5400/11 /* To do: kdf9 instruction */ // 4636 !TOB +OR //TOB +OR // 4637 *0/400/15 /* To do: kdf9 instruction */ // 4638 ! VR +NEV // VR +NEV // 4639 *0/15400/45 /* To do: kdf9 instruction */ // 4640 ! NOT + FIX // NOT + FIX // 4641 *0/23400/50 /* To do: kdf9 instruction */ // 4642 ! STR + CONT // STR + CONT // 4643 *0/26000/0 /* To do: kdf9 instruction */ // 4644 ! AND (EXIT) // AND (EXIT) // 4645 *0/0/35 /* To do: kdf9 instruction */ // 4646 ! (OUT) + X // (OUT) + X // 4647 *0/0/0 /* To do: kdf9 instruction */ // 4648 ! (I/0 INSTR) // (I/0 INSTR) // 4649 51: l_51:; // 4650 *SET60P: /* To do: kdf9 instruction */ // 4651 *=M15 /* To do: kdf9 instruction */ // 4652 **AP /* To do: kdf9 instruction */ // 4653 *SET29 /* To do: kdf9 instruction */ // 4654 *- /* To do: kdf9 instruction */ // 4655 *=M14 /* To do: kdf9 instruction */ // 4656 *M15M14H /* To do: kdf9 instruction */ // 4657 *SHL-24 /* To do: kdf9 instruction */ // 4658 **=TT /* To do: kdf9 instruction */ // 4659 ifTT=0then->52 if (TT == 0 ) goto l_52; // 4660 PN(TT) PN(TT ); // 4661 ->9 goto l_9; // 4662 52: l_52:; // 4663 ifAP=72then->53 if (AP == 72 ) goto l_53; // 4664 ifAP=86then->54 if (AP == 86 ) goto l_54; // 4665 ifAP=89then->45 if (AP == 89 ) goto l_45; // 4666 PJ(8,0,9) PJ(8 , 0 , 9 ); // 4667 ->9 goto l_9; // 4668 !(87)OUT //(87)OUT // 4669 53: l_53:; // 4670 PSH(115,0) PSH(115 , 0 ); // 4671 ->9 goto l_9; // 4672 ! X+ // X+ // 4673 54: l_54:; // 4674 PJ(8,16384,15) PJ(8 , 16384 , 15 ); // 4675 ->9 goto l_9; // 4676 ! EXIT // EXIT // 4677 61: l_61:; // 4678 *SET57P: /* To do: kdf9 instruction */ // 4679 *=M15 /* To do: kdf9 instruction */ // 4680 **AP /* To do: kdf9 instruction */ // 4681 *SET79 /* To do: kdf9 instruction */ // 4682 *- /* To do: kdf9 instruction */ // 4683 *=M14 /* To do: kdf9 instruction */ // 4684 ->43 goto l_43; // 4685 71: l_71:; // 4686 **AP /* To do: kdf9 instruction */ // 4687 *SET25 /* To do: kdf9 instruction */ // 4688 *J75= /* To do: kdf9 instruction */ // 4689 *SET26 /* To do: kdf9 instruction */ // 4690 *J76= /* To do: kdf9 instruction */ // 4691 *SET27 /* To do: kdf9 instruction */ // 4692 *J77= /* To do: kdf9 instruction */ // 4693 *SET28 /* To do: kdf9 instruction */ // 4694 *J78= /* To do: kdf9 instruction */ // 4695 *SET57P: /* To do: kdf9 instruction */ // 4696 *=M15 /* To do: kdf9 instruction */ // 4697 *SET3 /* To do: kdf9 instruction */ // 4698 *- /* To do: kdf9 instruction */ // 4699 *=M14 /* To do: kdf9 instruction */ // 4700 ->43 goto l_43; // 4701 75: l_75:; // 4702 *ERASE KDF9_ERASE(); // 4703 PQ(123,0,0) PQ(123 , 0 , 0 ); // 4704 ->9 goto l_9; // 4705 76: l_76:; // 4706 *ERASE KDF9_ERASE(); // 4707 P=P+1 P = P +1 ; // 4708 I=95+A(P) I = 95 +A(P ) ; // 4709 J=0 J = 0 ; // 4710 ->2 goto l_2; // 4711 77: l_77:; // 4712 *ERASE KDF9_ERASE(); // 4713 I=115 I = 115 ; // 4714 ->1000 goto l_1000; // 4715 78: l_78:; // 4716 *ERASE KDF9_ERASE(); // 4717 *SET57P: /* To do: kdf9 instruction */ // 4718 *=M15 /* To do: kdf9 instruction */ // 4719 *SET22 /* To do: kdf9 instruction */ // 4720 *=M14 /* To do: kdf9 instruction */ // 4721 ->43 goto l_43; // 4722 * /* .ALIGN */ // 4723 59P: p_59: // 4724 *0/52000/0 /* To do: kdf9 instruction */ // 4725 ! PIAQQ // PIAQQ // 4726 *0/52400/0 /* To do: kdf9 instruction */ // 4727 ! PIBQQ // PIBQQ // 4728 *0/52000/10 /* To do: kdf9 instruction */ // 4729 ! PICQQ // PICQQ // 4730 *0/52400/10 /* To do: kdf9 instruction */ // 4731 ! PIDQQ // PIDQQ // 4732 *0/53000/0 /* To do: kdf9 instruction */ // 4733 ! PIEQQ // PIEQQ // 4734 *0/53400/0 /* To do: kdf9 instruction */ // 4735 ! PIFQQ // PIFQQ // 4736 *0/54000/0 /* To do: kdf9 instruction */ // 4737 ! POAQQ // POAQQ // 4738 *0/54400/0 /* To do: kdf9 instruction */ // 4739 ! POBQQ // POBQQ // 4740 *0/54000/10 /* To do: kdf9 instruction */ // 4741 ! POCQQ // POCQQ // 4742 *0/54400/10 /* To do: kdf9 instruction */ // 4743 ! PODQQ // PODQQ // 4744 *0/54000/14 /* To do: kdf9 instruction */ // 4745 ! P0EQQ // P0EQQ // 4746 *0/54000/4 /* To do: kdf9 instruction */ // 4747 ! POFQQ // POFQQ // 4748 *0/56000/0 /* To do: kdf9 instruction */ // 4749 ! PMAQQ // PMAQQ // 4750 *0/50000/10 /* To do: kdf9 instruction */ // 4751 ! PMBQQ // PMBQQ // 4752 *0/50000/4 /* To do: kdf9 instruction */ // 4753 ! PMCQQ // PMCQQ // 4754 *0/57000/10 /* To do: kdf9 instruction */ // 4755 ! PMDQQ // PMDQQ // 4756 *0/57000/0 /* To do: kdf9 instruction */ // 4757 ! PMEQQ // PMEQQ // 4758 *0/51000/0 /* To do: kdf9 instruction */ // 4759 ! PMFQQ // PMFQQ // 4760 45: l_45:; // 4761 *SET59P: /* To do: kdf9 instruction */ // 4762 *=M15 /* To do: kdf9 instruction */ // 4763 TT=6A(P+1)+A(P+2)-7 TT = 6 *A(P +1 ) +A(P +2 ) -7 ; // 4764 **TT /* To do: kdf9 instruction */ // 4765 *=M14 /* To do: kdf9 instruction */ // 4766 *M15M14 /* To do: kdf9 instruction */ // 4767 *ZERO KDF9_ZERO(); // 4768 *SHLD+24 /* To do: kdf9 instruction */ // 4769 **=I /* To do: kdf9 instruction */ // 4770 *SHL-24 /* To do: kdf9 instruction */ // 4771 **=J /* To do: kdf9 instruction */ // 4772 1: l_1:; // 4773 PQ(I,A(P+3),J) PQ(I , A(P +3 ) , J ); // 4774 ->9 goto l_9; // 4775 E(97): /* case */ E_97: // 4776 comment [SET] [+'] [N] // [SET] [+'] [N] // 4777 K=A(P+2) K = A(P +2 ) ; // 4778 ifA(P+1)=2thenK=-K if (A(P +1 ) == 2 ) K = -K ; // 4779 PSET(K) PSET(K ); // 4780 ->9 goto l_9; // 4781 E(98): /* case */ E_98: // 4782 comment [ADVCA] [N] // [ADVCA] [N] // 4783 cycleI=1,1,2A(P+1) for (I = 1 ; I != (2 *A(P +1 ) )+(1 ); I += 1 ) { // 4784 PSET(0) PSET(0 ); // 4785 repeat } // 4786 ->9 goto l_9; // 4787 E(99): /* case */ E_99: // 4788 comment [OCTAL][/][OCTAL][/][OCTAL] // [OCTAL][/][OCTAL][/][OCTAL] // 4789 cycleI=P+1,1,P+3 for (I = P +1 ; I != (P +3 )+(1 ); I += 1 ) { // 4790 J=A(I) J = A(I ) ; // 4791 **J /* To do: kdf9 instruction */ // 4792 *SHL-8 /* To do: kdf9 instruction */ // 4793 **=Q /* To do: kdf9 instruction */ // 4794 PN(Q) PN(Q ); // 4795 PN(J) PN(J ); // 4796 repeat } // 4797 ->9 goto l_9; // 4798 E(100): /* case */ E_100: // 4799 comment [= '] [E] [N] [E-INSTR] [M] [N] [Q] // [= '] [E] [N] [E-INSTR] [M] [N] [Q] // 4800 I=0 I = 0 ; // 4801 J=A(P+3) J = A(P +3 ) ; // 4802 unlessJ=3thenI=A(P+4) if (!(J == 3 )) I = A(P +4 ) ; // 4803 Q=2-A(P+1) Q = 2 -A(P +1 ) ; // 4804 ifJ=1thenQ=Q+2 if (J == 1 ) Q = Q +2 ; // 4805 PMS(Q,A(P+2),I) PMS(Q , A(P +2 ) , I ); // 4806 ->9 goto l_9; // 4807 E(101): /* case */ E_101: // 4808 comment [JS] [E] [N] // [JS] [E] [N] // 4809 PJ(8,A(P+1),13) PJ(8 , A(P +1 ) , 13 ); // 4810 ->9 goto l_9; // 4811 E(102): /* case */ E_102: // 4812 comment [J] [E] [N] // [J] [E] [N] // 4813 PJ(8,A(P+1),11) PJ(8 , A(P +1 ) , 11 ); // 4814 ->9 goto l_9; // 4815 E(103): /* case */ E_103: // 4816 comment 0 // 0 // 4817 8: l_8:; // 4818 **PPCURR /* To do: kdf9 instruction */ // 4819 *=Q13 /* To do: kdf9 instruction */ // 4820 *J9C13Z /* To do: kdf9 instruction */ // 4821 PN(15) PN(15 ); // 4822 ->8 goto l_8; // 4823 9: l_9:; // 4824 end } // 4825 routineMOVEM(integerM,N) void MOVEM( int M, int N ) { // 4826 switchS(-2:2) // TO DO: switch table S should be dumped at end of this block // 4827 ->S(N)if2>=!N! if (2 >= abs( N ) ) {sw = N ; goto goto_sw_S;} // 4828 PSET(N) PSET(N ); // 4829 PQ(122,M,2) PQ(122 , M , 2 ); // 4830 ->1 goto l_1; // 4831 S(-2): /* case */ S_M_2: // 4832 PQ(97,M,0) PQ(97 , M , 0 ); // 4833 S(-1): /* case */ S_M_1: // 4834 PQ(97,M,0) PQ(97 , M , 0 ); // 4835 ->1 goto l_1; // 4836 S(2): /* case */ S_2: // 4837 PQ(96,M,0) PQ(96 , M , 0 ); // 4838 S(1): /* case */ S_1: // 4839 PQ(96,M,0) PQ(96 , M , 0 ); // 4840 S(0): /* case */ S_0: // 4841 1: l_1:; // 4842 end } // 4843 routineFINDLABEL void FINDLABEL(void) { // 4844 **K /* To do: kdf9 instruction */ // 4845 **LABEL(LEVEL) /* To do: kdf9 instruction */ // 4846 *=Q15 /* To do: kdf9 instruction */ // 4847 *M15 KDF9_M(15); // 4848 *J1<Z /* To do: kdf9 instruction */ // 4849 3: l_3:; // 4850 *I15 KDF9_I(15); // 4851 **V0 /* To do: kdf9 instruction */ // 4852 *AND KDF9_AND(); // 4853 *J2= /* To do: kdf9 instruction */ // 4854 *M15 KDF9_M(15); // 4855 *J1<=Z /* To do: kdf9 instruction */ // 4856 *M9M15 /* To do: kdf9 instruction */ // 4857 *=Q15 /* To do: kdf9 instruction */ // 4858 ->3 goto l_3; // 4859 2: l_2:; // 4860 *C15 KDF9_C(15); // 4861 **V0 /* To do: kdf9 instruction */ // 4862 *AND KDF9_AND(); // 4863 ->4 goto l_4; // 4864 1: l_1:; // 4865 *SET-1 /* To do: kdf9 instruction */ // 4866 4: l_4:; // 4867 **=J /* To do: kdf9 instruction */ // 4868 *ERASE KDF9_ERASE(); // 4869 end } // 4870 routineCOPYTAG(integerKK) void COPYTAG( int KK ) { // 4871 **TAGS(KK) /* To do: kdf9 instruction */ // 4872 *=Q15 /* To do: kdf9 instruction */ // 4873 *M15 KDF9_M(15); // 4874 *J1<Z /* To do: kdf9 instruction */ // 4875 **V0 /* To do: kdf9 instruction */ // 4876 *I15 KDF9_I(15); // 4877 *AND KDF9_AND(); // 4878 *C15 KDF9_C(15); // 4879 *DUP KDF9_DUP(); // 4880 *SET15 /* To do: kdf9 instruction */ // 4881 *AND KDF9_AND(); // 4882 *REV KDF9_REV(); // 4883 *SHL-4 /* To do: kdf9 instruction */ // 4884 *DUP KDF9_DUP(); // 4885 *SET15 /* To do: kdf9 instruction */ // 4886 *AND KDF9_AND(); // 4887 *REV KDF9_REV(); // 4888 *SHL-4 /* To do: kdf9 instruction */ // 4889 *SET255 /* To do: kdf9 instruction */ // 4890 *AND KDF9_AND(); // 4891 ->2 goto l_2; // 4892 1: l_1:; // 4893 *SET-1 /* To do: kdf9 instruction */ // 4894 *DUP KDF9_DUP(); // 4895 *DUPD KDF9_DUPD(); // 4896 2: l_2:; // 4897 **=TYPE /* To do: kdf9 instruction */ // 4898 **=I /* To do: kdf9 instruction */ // 4899 **=J /* To do: kdf9 instruction */ // 4900 **=K /* To do: kdf9 instruction */ // 4901 end } // 4902 routineREPLACETAG(integerKK) void REPLACETAG( int KK ) { // 4903 **TAGS(KK) /* To do: kdf9 instruction */ // 4904 *=M15 /* To do: kdf9 instruction */ // 4905 *M15 KDF9_M(15); // 4906 *J1>=Z /* To do: kdf9 instruction */ // 4907 *M0TOQ15 /* To do: kdf9 instruction */ // 4908 1: l_1:; // 4909 **K /* To do: kdf9 instruction */ // 4910 *=I15 /* To do: kdf9 instruction */ // 4911 **TYPE /* To do: kdf9 instruction */ // 4912 *SET255 /* To do: kdf9 instruction */ // 4913 *AND KDF9_AND(); // 4914 *SHL8 /* To do: kdf9 instruction */ // 4915 **I /* To do: kdf9 instruction */ // 4916 *SET15 /* To do: kdf9 instruction */ // 4917 *AND KDF9_AND(); // 4918 *SHL4 /* To do: kdf9 instruction */ // 4919 **J /* To do: kdf9 instruction */ // 4920 *SET15 /* To do: kdf9 instruction */ // 4921 *AND KDF9_AND(); // 4922 *OR KDF9_OR(); // 4923 *OR KDF9_OR(); // 4924 *=C15 /* To do: kdf9 instruction */ // 4925 *Q15 KDF9_Q(15); // 4926 **=TAGS(KK) /* To do: kdf9 instruction */ // 4927 end } // 4928 routineFROMLIST2(integernameCELL,S1,S2) void FROMLIST2( int * /* THIS PARAMETER NEEDS A #define */ CELL, int * /* THIS PARAMETER NEEDS A #define */ S1, int * /* THIS PARAMETER NEEDS A #define */ S2 ) { // 4929 **CELL /* To do: kdf9 instruction */ // 4930 *=Q15 /* To do: kdf9 instruction */ // 4931 *M15 KDF9_M(15); // 4932 *J1<Z /* To do: kdf9 instruction */ // 4933 **V0 /* To do: kdf9 instruction */ // 4934 *DUP KDF9_DUP(); // 4935 *C15 KDF9_C(15); // 4936 *AND KDF9_AND(); // 4937 *REV KDF9_REV(); // 4938 *I15 KDF9_I(15); // 4939 *AND KDF9_AND(); // 4940 ->2 goto l_2; // 4941 1: l_1:; // 4942 *SET-1 /* To do: kdf9 instruction */ // 4943 *DUP KDF9_DUP(); // 4944 2: l_2:; // 4945 **=S2 /* To do: kdf9 instruction */ // 4946 **=S1 /* To do: kdf9 instruction */ // 4947 end } // 4948 routinePOPUP2(integernameCELL,S1,S2) void POPUP2( int * /* THIS PARAMETER NEEDS A #define */ CELL, int * /* THIS PARAMETER NEEDS A #define */ S1, int * /* THIS PARAMETER NEEDS A #define */ S2 ) { // 4949 **CELL /* To do: kdf9 instruction */ // 4950 *=Q15 /* To do: kdf9 instruction */ // 4951 *M15 KDF9_M(15); // 4952 *DUP KDF9_DUP(); // 4953 *J1<Z /* To do: kdf9 instruction */ // 4954 **V0 /* To do: kdf9 instruction */ // 4955 *DUP KDF9_DUP(); // 4956 *C15 KDF9_C(15); // 4957 *AND KDF9_AND(); // 4958 **=S1 /* To do: kdf9 instruction */ // 4959 *I15 KDF9_I(15); // 4960 *AND KDF9_AND(); // 4961 **=S2 /* To do: kdf9 instruction */ // 4962 *J2=Z /* To do: kdf9 instruction */ // 4963 *M9M15 /* To do: kdf9 instruction */ // 4964 **=CELL /* To do: kdf9 instruction */ // 4965 *C9 KDF9_C(9); // 4966 *=M9M15 /* To do: kdf9 instruction */ // 4967 *M15 KDF9_M(15); // 4968 *=C9 /* To do: kdf9 instruction */ // 4969 ->3 goto l_3; // 4970 2: l_2:; // 4971 *SET-1 /* To do: kdf9 instruction */ // 4972 **=CELL /* To do: kdf9 instruction */ // 4973 ->3 goto l_3; // 4974 1: l_1:; // 4975 *DUP KDF9_DUP(); // 4976 **=S1 /* To do: kdf9 instruction */ // 4977 **=S2 /* To do: kdf9 instruction */ // 4978 3: l_3:; // 4979 end } // 4980 routineSTORETAG(integerKK) void STORETAG( int KK ) { // 4981 integerZ int Z; // 4982 **TYPE /* To do: kdf9 instruction */ // 4983 *SET255 /* To do: kdf9 instruction */ // 4984 *AND KDF9_AND(); // 4985 *SHL8 /* To do: kdf9 instruction */ // 4986 **LEVEL /* To do: kdf9 instruction */ // 4987 *SET15 /* To do: kdf9 instruction */ // 4988 *AND KDF9_AND(); // 4989 *SHL4 /* To do: kdf9 instruction */ // 4990 **J /* To do: kdf9 instruction */ // 4991 *SET15 /* To do: kdf9 instruction */ // 4992 *AND KDF9_AND(); // 4993 *OR KDF9_OR(); // 4994 *OR KDF9_OR(); // 4995 **=Z /* To do: kdf9 instruction */ // 4996 PUSHDOWN2(TAGS(KK),Z,N) PUSHDOWN2(TAGS(KK ) , Z , N ); // 4997 end } // 4998 routinePUSHDOWN2(integernameCELL,integerS1,S2) void PUSHDOWN2( int * /* THIS PARAMETER NEEDS A #define */ CELL, int S1, int S2 ) { // 4999 **CELL /* To do: kdf9 instruction */ // 5000 *DUP KDF9_DUP(); // 5001 *=C15 /* To do: kdf9 instruction */ // 5002 *C15 KDF9_C(15); // 5003 *J1<Z /* To do: kdf9 instruction */ // 5004 *J2C9NZ /* To do: kdf9 instruction */ // 5005 MORESPACE MORESPACE(); // 5006 2: l_2:; // 5007 *C9 KDF9_C(9); // 5008 *DUP KDF9_DUP(); // 5009 *I9 KDF9_I(9); // 5010 *- /* To do: kdf9 instruction */ // 5011 *J3>=Z /* To do: kdf9 instruction */ // 5012 *DUP KDF9_DUP(); // 5013 *=I9 /* To do: kdf9 instruction */ // 5014 3: l_3:; // 5015 *=M15 /* To do: kdf9 instruction */ // 5016 *M9M15 /* To do: kdf9 instruction */ // 5017 *=C9 /* To do: kdf9 instruction */ // 5018 *=M9M15 /* To do: kdf9 instruction */ // 5019 4: l_4:; // 5020 **S1 /* To do: kdf9 instruction */ // 5021 *=C15 /* To do: kdf9 instruction */ // 5022 **S2 /* To do: kdf9 instruction */ // 5023 *=I15 /* To do: kdf9 instruction */ // 5024 *Q15 KDF9_Q(15); // 5025 **=CELL /* To do: kdf9 instruction */ // 5026 ->5 goto l_5; // 5027 1: l_1:; // 5028 *M0TOQ15 /* To do: kdf9 instruction */ // 5029 *ERASE KDF9_ERASE(); // 5030 ->4 goto l_4; // 5031 5: l_5:; // 5032 end } // 5033 routineLINK(integernameSTAD) void LINK( int * /* THIS PARAMETER NEEDS A #define */ STAD ) { // 5034 **STAD /* To do: kdf9 instruction */ // 5035 *DUP KDF9_DUP(); // 5036 *J1<=Z /* To do: kdf9 instruction */ // 5037 *=M15 /* To do: kdf9 instruction */ // 5038 *M9M15 /* To do: kdf9 instruction */ // 5039 *=C15 /* To do: kdf9 instruction */ // 5040 *C15 KDF9_C(15); // 5041 1: l_1:; // 5042 **=STAD /* To do: kdf9 instruction */ // 5043 end } // 5044 routineMORESPACE void MORESPACE(void) { // 5045 captionASL EMPTY caption("ASL EMPTY") // 5046 stop exit(0); // 5047 end } // 5048 routineNEWCELL(integernameSTAD) void NEWCELL( int * /* THIS PARAMETER NEEDS A #define */ STAD ) { // 5049 *J1C9NZ /* To do: kdf9 instruction */ // 5050 MORESPACE MORESPACE(); // 5051 1: l_1:; // 5052 *C9 KDF9_C(9); // 5053 *DUP KDF9_DUP(); // 5054 **=STAD /* To do: kdf9 instruction */ // 5055 *DUP KDF9_DUP(); // 5056 *I9 KDF9_I(9); // 5057 *- /* To do: kdf9 instruction */ // 5058 *J2>=Z /* To do: kdf9 instruction */ // 5059 *DUP KDF9_DUP(); // 5060 *=I9 /* To do: kdf9 instruction */ // 5061 2: l_2:; // 5062 *=M15 /* To do: kdf9 instruction */ // 5063 *M9M15 /* To do: kdf9 instruction */ // 5064 *=C9 /* To do: kdf9 instruction */ // 5065 *SET-1 /* To do: kdf9 instruction */ // 5066 *=M9M15 /* To do: kdf9 instruction */ // 5067 end } // 5068 routineRETURNCELL(integernameSTAD) void RETURNCELL( int * /* THIS PARAMETER NEEDS A #define */ STAD ) { // 5069 **STAD /* To do: kdf9 instruction */ // 5070 *DUP KDF9_DUP(); // 5071 *=M15 /* To do: kdf9 instruction */ // 5072 *C9 KDF9_C(9); // 5073 *=M9M15 /* To do: kdf9 instruction */ // 5074 *=C9 /* To do: kdf9 instruction */ // 5075 end } // 5076 routineINSERTAFTER2(integernameSTAD,integerS1,S2) void INSERTAFTER2( int * /* THIS PARAMETER NEEDS A #define */ STAD, int S1, int S2 ) { // 5077 integerI int I; // 5078 I=STAD I = STAD ; // 5079 LINK(STAD) LINK(STAD ); // 5080 ifSTAD=0then->1 if (STAD == 0 ) goto l_1; // 5081 ifSTAD=-1thenSTAD=I if (STAD == -1 ) STAD = I ; // 5082 ->2 goto l_2; // 5083 1: l_1:; // 5084 NEWCELL(STAD) NEWCELL(STAD ); // 5085 **I /* To do: kdf9 instruction */ // 5086 *=M15 /* To do: kdf9 instruction */ // 5087 *M9M15 /* To do: kdf9 instruction */ // 5088 **STAD /* To do: kdf9 instruction */ // 5089 *OR KDF9_OR(); // 5090 *=M9M15 /* To do: kdf9 instruction */ // 5091 2: l_2:; // 5092 PUSHDOWN2(ST(STAD),S1,S2) PUSHDOWN2(ST(STAD ) , S1 , S2 ); // 5093 end } // 5094 routineSKIPEXP void SKIPEXP(void) { // 5095 switchSW(1:4) // TO DO: switch table SW should be dumped at end of this block // 5096 3: l_3:; // 5097 P=P+1 P = P +1 ; // 5098 ->SW(A(P)) {sw = A(P ) ; goto goto_sw_SW;} // 5099 SW(1): /* case */ SW_1: // 5100 P=P+2 P = P +2 ; // 5101 COPYTAG(A(P-1)) COPYTAG(A(P -1 ) ); // 5102 FFLAG=1if7<=TYPE<=10 if (7 <= TYPE && /* (beware side-effects) */TYPE <= 10 ) FFLAG = 1 ; // 5103 5: l_5:; // 5104 P=P+1 P = P +1 ; // 5105 ->1ifA(P-1)=2 if (A(P -1 ) == 2 ) goto l_1; // 5106 SKIPEXP SKIPEXP(); // 5107 ->5 goto l_5; // 5108 SW(2): /* case */ SW_2: // 5109 P=P+3 P = P +3 ; // 5110 ->1 goto l_1; // 5111 SW(3): /* case */ SW_3: // 5112 SW(4): /* case */ SW_4: // 5113 P=P+1 P = P +1 ; // 5114 SKIPEXP SKIPEXP(); // 5115 1: l_1:; // 5116 P=P+1 P = P +1 ; // 5117 ifA(P-1)=1then->3 if (A(P -1 ) == 1 ) goto l_3; // 5118 end } // 5119 routineSTOREJUMP void STOREJUMP(void) { // 5120 PUSHDOWN2(JUMP(LEVEL),CA,K) PUSHDOWN2(JUMP(LEVEL ) , CA , K ); // 5121 end } // 5122 routineSTORENAME void STORENAME(void) { // 5123 PUSHDOWN2(NAME(LEVEL),0,K) PUSHDOWN2(NAME(LEVEL ) , 0 , K ); // 5124 end } // 5125 routinePSET(integerN) void PSET( int N ) { // 5126 **N /* To do: kdf9 instruction */ // 5127 *DUP KDF9_DUP(); // 5128 *ABS KDF9_ABS(); // 5129 *NEG KDF9_NEG(); // 5130 *NOT KDF9_NOT(); // 5131 *J1=Z /* To do: kdf9 instruction */ // 5132 *DUP KDF9_DUP(); // 5133 *SHL-8 /* To do: kdf9 instruction */ // 5134 *SET196 /* To do: kdf9 instruction */ // 5135 *SET3 /* To do: kdf9 instruction */ // 5136 *=C14 /* To do: kdf9 instruction */ // 5137 *JS50P /* To do: kdf9 instruction */ // 5138 ->2 goto l_2; // 5139 1: l_1:; // 5140 PN(33) PN(33 ); // 5141 PN(27) PN(27 ); // 5142 *J2<Z /* To do: kdf9 instruction */ // 5143 PN(23) PN(23 ); // 5144 2: l_2:; // 5145 end } // 5146 routinePSH(integerA,N) void PSH( int A, int N ) { // 5147 **N /* To do: kdf9 instruction */ // 5148 *NOT KDF9_NOT(); // 5149 *SHL1 /* To do: kdf9 instruction */ // 5150 *NOT KDF9_NOT(); // 5151 **A /* To do: kdf9 instruction */ // 5152 *SET2 /* To do: kdf9 instruction */ // 5153 *=C14 /* To do: kdf9 instruction */ // 5154 *JS50P /* To do: kdf9 instruction */ // 5155 end } // 5156 routinePN(integerA) void PN( int A ) { // 5157 **A /* To do: kdf9 instruction */ // 5158 *SET1 /* To do: kdf9 instruction */ // 5159 *=C14 /* To do: kdf9 instruction */ // 5160 *JS50P /* To do: kdf9 instruction */ // 5161 end } // 5162 routinePQ(integerA,Q,QQ) void PQ( int A, int Q, int QQ ) { // 5163 **Q /* To do: kdf9 instruction */ // 5164 *SHL4 /* To do: kdf9 instruction */ // 5165 **QQ /* To do: kdf9 instruction */ // 5166 *SET15 /* To do: kdf9 instruction */ // 5167 *AND KDF9_AND(); // 5168 *OR KDF9_OR(); // 5169 **A /* To do: kdf9 instruction */ // 5170 *SET2 /* To do: kdf9 instruction */ // 5171 *=C14 /* To do: kdf9 instruction */ // 5172 *JS50P /* To do: kdf9 instruction */ // 5173 end } // 5174 routineFILLLABEL(integerAT,EQUALS) void FILLLABEL( int AT, int EQUALS ) { // 5175 **EQUALS /* To do: kdf9 instruction */ // 5176 **AT /* To do: kdf9 instruction */ // 5177 *JS51P /* To do: kdf9 instruction */ // 5178 end } // 5179 routineFILLSET(integerAT,EQUALS) void FILLSET( int AT, int EQUALS ) { // 5180 **EQUALS /* To do: kdf9 instruction */ // 5181 **AT /* To do: kdf9 instruction */ // 5182 *JS52P /* To do: kdf9 instruction */ // 5183 end } // 5184 routinePPJ(integerI,J,K) void PPJ( int I, int J, int K ) { // 5185 J=SL(J) J = SL(J ) ; // 5186 FAULT(33)ifJ=0 if (J == 0 ) FAULT(33 ); // 5187 PJ(I,J,K) PJ(I , J , K ); // 5188 end } // 5189 routinePJ(integerA,S,B) void PJ( int A, int S, int B ) { // 5190 **S /* To do: kdf9 instruction */ // 5191 *DUP KDF9_DUP(); // 5192 *SHL-8 /* To do: kdf9 instruction */ // 5193 *DUP KDF9_DUP(); // 5194 *SET15 /* To do: kdf9 instruction */ // 5195 *AND KDF9_AND(); // 5196 **B /* To do: kdf9 instruction */ // 5197 *SHL4 /* To do: kdf9 instruction */ // 5198 *OR KDF9_OR(); // 5199 *REV KDF9_REV(); // 5200 *DUP KDF9_DUP(); // 5201 *SET16 /* To do: kdf9 instruction */ // 5202 *AND KDF9_AND(); // 5203 *SHL-1 /* To do: kdf9 instruction */ // 5204 *REV KDF9_REV(); // 5205 *SHL-5 /* To do: kdf9 instruction */ // 5206 *SET7 /* To do: kdf9 instruction */ // 5207 *AND KDF9_AND(); // 5208 **A /* To do: kdf9 instruction */ // 5209 *SHL4 /* To do: kdf9 instruction */ // 5210 *OR KDF9_OR(); // 5211 *OR KDF9_OR(); // 5212 *SET3 /* To do: kdf9 instruction */ // 5213 *=C14 /* To do: kdf9 instruction */ // 5214 *JS50P /* To do: kdf9 instruction */ // 5215 end } // 5216 routinePMS(integerA,M,Q) void PMS( int A, int M, int Q ) { // 5217 **M /* To do: kdf9 instruction */ // 5218 *DUP KDF9_DUP(); // 5219 *DUP KDF9_DUP(); // 5220 *SHL-8 /* To do: kdf9 instruction */ // 5221 *SET15 /* To do: kdf9 instruction */ // 5222 *AND KDF9_AND(); // 5223 **Q /* To do: kdf9 instruction */ // 5224 *SHL4 /* To do: kdf9 instruction */ // 5225 *OR KDF9_OR(); // 5226 **A /* To do: kdf9 instruction */ // 5227 *SET7 /* To do: kdf9 instruction */ // 5228 *AND KDF9_AND(); // 5229 *SET192 /* To do: kdf9 instruction */ // 5230 *OR KDF9_OR(); // 5231 *CAB KDF9_CAB(); // 5232 *SHL-9 /* To do: kdf9 instruction */ // 5233 *SET56 /* To do: kdf9 instruction */ // 5234 *AND KDF9_AND(); // 5235 *OR KDF9_OR(); // 5236 *SET3 /* To do: kdf9 instruction */ // 5237 *=C14 /* To do: kdf9 instruction */ // 5238 *JS50P /* To do: kdf9 instruction */ // 5239 end } // 5240 1: l_1:; // 5241 end } // 5242 ! OF CSSS // OF CSSS // 5243 endofprogram exit(0); return(0); }