Script started on Fri 23 Apr 2004 11:33:46 PM CDT pizzabox:/home/gtoal/public_html/athome/edinburgh/imp15 # ./hdcomp hal7502 159 ^CHECK = CHECK!!V *NAME 161 PRINT CH(V>>12&15+^CONTROL) *NAME 165 ^CONTROL = 16_50 *NAME 182 LOC = LOC+^I *NAME 208 %IF TYPE&16_800 - 0 %^START *FORM 210 %ELSE %IF TYPE&16_400 # 0 %START *%START MISSING 247 ^a%ROUTINE COMBINE *NAME 248 %INTEGER I,J,K *DUPLICATE 254 TYPE = TYPE1^=K *FORM 270 PLANT(^BOC+(COND!!1)<<8+I&255) *NAME 275 PLANT(^BOC+COND<<8+2) *NAME 277 PLANT(^JUM+(VAL-LOC)&4095) *NAME 307 ^FREE = FREE!I %IF TEMPS&I # 0 *NAME 319 ->OK %IF ^FREE&J # 0 %AND I # DREG *NAME 323 OK: ^FREE = FREE-J *NAME 329 I = ^LOADI+R<<8 *NAME 332 PLANT INST(^COMP+R<<4+R) *NAME 341 PLANT INST(^ROT+R<<8+7<<4+r) *NAME 342 PLANT INST(^ADDI+R<<8+VAL&255) %IF VAL&255 # 0 *NAME 356 PLANT INST(^COPY+R<<4+VAL) *NAME 360 PLANT INST(^LOAD+R<<8+R<<4) %IF TYPE&MEMMASK # 0 *NAME 365 PLANT INST(^COPY+R<<4+TYPE&15) *NAME 366 PLANT INST(^ADDI+R<<8+VAL&255) %IF VAL # 0 *NAME 369 PLANT INST(^ADD+R<<4+TYPE&15) *NAME 375 PLANT INST(^ADDI+R<<8+VAL&255) *NAME 383 PLANT INST(^ADD+R<<4+OP) *NAME 390 PLANT INST(^LOAD+R<<8+(TYPE&15)<<4+VAL) *NAME 393 %ELSE %START *CONTEXT 395 PLANT INST(^LOAD+R<<8+R<<4) *NAME 397 %FINISH *%START MISSING 408 K = ^TYPE1; TYPE1 = TYPE; TYPE = K *NAME 409 K = ^VAL1; VAL1 = VAL; VAL = K *NAME 412 ^Q = QSTART *NAME 413 NEW:^NQ = QSTART; FREE = TEMPS *NAME 414 TYPE = INTEGER(^Q); Q = Q+1 *NAME 415 VAL = INTEGER(^Q); Q = Q+1 *NAME 418 %RETURN %IF ^Q = QLIM *NAME 419 ^K = INTEGER(Q); Q = Q+1 *NAME 420 ->ASS^(K) %IF K < 0 *FORM 421 INTEGER(^NQ) = TYPE1; INTEGER(NQ+1) = VAL1 *NAME 422 ^NQ = NQ+2 *NAME 423 ^TYPE1 = TYPE; VAL1 = VAL *NAME 424 TYPE = ^K; VAL = INTEGER(Q); Q = Q+1 *NAME 428 %FALSE %IF ^TYPE1 # REG *NAME 429 %IF ^VAL1 = DREG %START *NAME 431 %ELSE %START *%START MISSING 432 %FALSE %IF 1<<^VAL1&TEMPS = 0 *NAME 437 NOP: ^K = 0; !NOT SYMMETRIC *NAME 438 BOP:%IF MODE <= 0 %OR (TYPE = 0 %AND ^TYPE1 = 0) %START *FORM 440 TYPE = ^TYPE1; VAL = LITVAL *FORM 441 %ELSE %START *%START MISSING 442 %IF %NOT TEMP %OR (TYPE=REG %AND VAL=DREG %AND DUSE=1 %AND ^K#0) %STA *FORM 444 %IF ^K = 0 %OR %NOT TEMP %START *FORM 447 %FINISH *%START MISSING 448 %IF ^OP = AND %AND TYPE = 0 %AND VAL&(\255) = 0 %START *NAME 449 PLANT INST(^ANDI+VAL1<<8+VAL) *NAME 450 %ELSE %START *%START MISSING 453 PLANT INST(^OP+VAL1<<4+VAL) *NAME 455 TYPE = REG; VAL = ^VAL1 *NAME 460 %FINISH *%START MISSING 462 POP:^NQ = NQ-2 *NAME 463 TYPE1 ^= INTEGER(NQ); VAL1 = INTEGER(NQ+1) *FORM 466 ASS^(-2): *FORM 467 ^OP = SUB *NAME 469 TYPE1 ^= 0 %AND TYPE = 0 %IF MODE <= 0 %AND TYPE1 = TYPE *FORM 472 ASS^(-1): *FORM 473 ^OP = ADD; LITVAL = VAL1+VAL *NAME 475 %IF ^TYPE1&MEMMASK # 0 %AND MODE > 0 %START *FORM 477 %FINISH *%START MISSING 478 %IF ^TYPE1 = REG %AND %NOT TYPE=VAL=0 %START *FORM 479 TYPE1 ^= XMASK+VAL1; LITVAL = VAL *FORM 480 %FINISH *%START MISSING 481 TYPE = ^TYPE1; VAL = LITVAL *FORM 483 ASS^(-6): *FORM 484 ^LITVAL = VAL1<>VAL; K = (16_FFFF)>>VAL *NAME 489 AS7:K^=0 %AND ->BOP %IF MODE <= 0 *FORM 494 ^OP = ROT+VAL1<<8+VAL1 *NAME 495 PLANT INST(^OP+16_0070) %IF VAL > 8 *NAME 496 PLANT INST(^OP+(VAL-1)<<4) %IF VAL # 0 *NAME 497 TYPE = 0; VAL = ^K; K = -1 *FORM 498 ASS^(-3): *FORM 499 ^OP = AND; LITVAL = VAL1&VAL *NAME 501 ASS^(-4): *FORM 502 ^OP = OR; LITVAL = VAL1!VAL *NAME 504 ASS^(-5): *FORM 505 ^OP = XOR; LITVAL = VAL1!!VAL *NAME 508 ASS^(-8): !TYPE_VAL *FORM 509 TYPE = ^VAL1 *NAME 514 ASS^(-11): !COMPARE *FORM 515 K ^= INTEGER(Q); Q = Q+1 *FORM 517 ^LITVAL = 2_01011000 *NAME 518 ^LITVAL = 2_01100100 %IF VAL < 0 *NAME 519 ^LITVAL = 2_10101000 %IF VAL1 > VAL *NAME 520 K ^= LITVAL>>K&1; *FORM 522 %UNLESS ^K&6=4 %AND -256 TYPE,VAL) *FORM 606 SWOP %AND LOAD REG(^VAL1) %IF VAL1 # VAL *NAME 609 %IF ^VAL1 = ACC %AND ATYPE < 0 %START *NAME 610 K ^= TYPE&15 *FORM 611 ATYPE = TYPE %AND AVAL = VAL %IF TYPE&XMASK = 0 %OR 1<<^K&TEMPS = 0 *FORM 618 PLANT INST(STORE^+VAL1<<8+(TYPE&15)<<4+VAL) *FORM 619 %FINISH *%START MISSING 622 ASS^(-26): !JUMP *FORM 634 PLANT(^BOCR+COND<<8+(TYPE&15)<<4+VAL) *NAME 638 %END *%BEGIN MISSING 748 %IF INTEGER(DP+2)&^OPFMASK = FMASK %START *NAME 756 %ELSE %START *%START MISSING 878 %END *'E9' MISSING 992 %END *%FINISH MISSING 1033 %INTEGER I,J,K *DUPLICATE 1051 PUT WORD(0) %AND ^CONTROL=16_20 %IF PASS > 0 *FORM 1077 ->^TEMP %IF TAG1 = 21780; !TEM *FORM 1170 ^GET COND; ASSEMBLE *NAME 1212 ^GET COND; QUEUE(-18); ASSEMBLE *NAME 1227 ^GET COND; QUEUE(-15); ASSEMBLE *NAME 1236 ^GET COND; QUEUE(-17); ASSEMBLE *NAME 1256 ^GET COND; QUEUE(-13); ASSEMBLE *NAME 1294 A1: ^GET COND; ASSEMBLE *NAME 1327 %ELSE ^START *NAME 1348 TEMP: *DUPLICATE 1367 PUT WORD(VAL-1) %AND ^CONTROL=16_30 %IF PASS > 0 *FORM 1432 PUT WORD(^CHECK!!16_0100); CONTROL = 16_30 *NAME 1438 ^DO NEWLINES %WHILE LINES # 0 *NAME 1440 %ENDOFPROGRAM *'CONTROL' MISSING *'K' MISSING *'TYPE1' MISSING *'ASS' MISSING pizzabox:/home/gtoal/public_html/athome/edinburgh/imp15 # Script done on Fri 23 Apr 2004 11:33:56 PM CDT