         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
				.machine ppc
				.section	".text"
		.Ltext0:
				.align 2
		RELEASECHAIN.7141:
		.LFB186:
		.LVL685:
				mr 12,1
				lis 0,0xfffe
				ori 0,0,0xf480
				stwux 1,1,0
				mflr 0
				stw 0,4(12)
				stw 20,-48(12)
				stw 21,-44(12)
				stw 22,-40(12)
				stw 23,-36(12)
				stw 24,-32(12)
				stw 25,-28(12)
				stw 26,-24(12)
				stw 27,-20(12)
				stw 28,-16(12)
				stw 29,-12(12)
				stw 30,-8(12)
				stw 31,-4(12)
				mfcr 0
				stw 0,-52(12)
				lis 9,0x1
				ori 9,9,0xb3c
				lwz 10,-28680(2)
				stwx 10,9,1
				li 10,0
				lis 9,0x1
				ori 9,9,0xb80
				add 9,9,1
				stw 9,4392(1)
				mr 29,31
		.LVL700:
		.L404:
    2       %CONSTINTEGER BIT = X'80000000'
				bl _imp_initialise
		.LVL686:
    3       %CONSTINTEGER MAX SCORE = +50000
    4       !!
    5       %EXTERNALROUTINESPEC PROMPT(%STRING (255) S)
    6
    7
    8       %CONSTINTEGER PLYWIDTH = 5
    9       %RECORDFORMAT SQF(%INTEGER P, ATT, DEF, ATTP)
   10       { %RECORDFORMAT ROWF(%RECORD %ARRAY R(1:8)(SQF))
   11       %RECORDFORMAT ROWF(%RECORD (SQF) %ARRAY R(1:8))
   12
   13       %OWN %RECORD(ROWF)%ARRAY BRD(1:8)
   14       %OWN %RECORD(ROWF)%ARRAY BRDOLD(1:8)
   15       %INTEGERARRAY VAL(-6:6)
   16
   17        !! PIECE = BRD(Y)_R(X)_P
   18
   19       %RECORDFORMAT LISTF(%RECORD(LISTF)%NAME L, %INTEGER SCORE %or %integer HOLD, %C
   20         %BYTEINTEGER FR, TO, %INTEGER SPEC, CHK)
   21             !! SCORE - CONTAINS SCORE FOR THE MOVE
   22             !! SPEC  - CONTAINS FLAGS FOR QUEENING, CASTLING
   23             !! CHK   - OPPOSING KING IS IN CHECK
   24
   25       !!%RECORDFORMAT QHF(%RECORD(LISTF)%NAME L,%INTEGER HOLD)
   26       {%RECORDSPEC QHF_L(LISTF)
   27       !!
   28       %RECORDFORMAT PTF(%INTEGERNAME P)
   29       %RECORD(PTF)%ARRAY PT(1:64)
   30       !!
   31       %CONSTINTEGER KING = 6;           ! NB: AND -6
   32       %CONSTINTEGER QUEEN = 5;          !    AND -5
   33       %CONSTINTEGER ROOK = 4;                !     AND -4
   34       %CONSTINTEGER PAWN = 1;           !    AND -1
   35       !!
   36
   37       %RECORD(LISTF)%NAME FREELIST
   38       %RECORD(LISTF{QHF}) MOVE
   39       %RECORD(LISTF)%ARRAY LISTA(0:4000)
   40       %RECORD (SQF) %NAME SQ
   41       !!
   42       %OWNINTEGERARRAY PINX(1:32) = 0(32)
   43       %OWNINTEGERARRAY PINY(1:32) = 0(32)
   44       %INTEGERARRAY PINDX, PINPY(1:32)
   45          %OWNINTEGER PIN PT, PX, PY
   46       !!
   47       %RECORDFORMAT SQIF(%RECORD(SQF)%NAME SQ)
   48       {%RECORDSPEC SQIF_SQ(SQF)
   49       %RECORD(SQIF)%ARRAY SQI(1:64)
   50       %CONSTINTEGERARRAY BIT VAL(1:6)=256,64,32,8,2,1
				lis 31,.LANCHOR1@ha
				la 31,.LANCHOR1@l(31)
				lwz 7,392(31)
				lwz 8,396(31)
				lwz 10,400(31)
				lwz 9,404(31)
				stw 7,3776(1)
				stw 8,3780(1)
				stw 10,3784(1)
				stw 9,3788(1)
				lwz 10,408(31)
				lwz 9,412(31)
				stw 10,3792(1)
				stw 9,3796(1)
   51       !!
   52       %CONSTINTEGERARRAY PAWN 2D(9:72) = %C
				li 5,256
				addi 4,31,4448
				addi 3,1,3520
				bl memcpy
		.LVL687:
   53          0, 0, 0, 0, 0, 0, 0, 0,
   54          0, 0, 0, 0, 0, 5, 0, 0,
   55          3, 3, 3, 20, 20, 3, 3, 3,
   56          4, 6, 6, 50, 50, 6, 6, 4,
   57          8, 9, 30, 55, 55, 30, 9, 8,
   58          10, 10, 35, 60, 60, 35, 10, 10,
   59          100(8),
   60          500(8)
   61       !!
   62       %CONSTBYTEINTEGERARRAY POSX(1:12) = %C
				lwz 8,4704(31)
				lwz 10,4708(31)
				lwz 9,4712(31)
				stw 8,4380(1)
				stw 10,4384(1)
				stw 9,4388(1)
   63          2, 3, 6, 7, 58, 59, 62, 63, 1, 8, 57, 64
   64       %CONSTINTEGERARRAY POSP(1:12) = %C
				li 5,48
				addi 4,31,4716
				addi 3,1,3472
				bl memcpy
		.LVL688:
   65          -2, -3, -3, -2, 2, 3, 3, 2, -4, -4, 4, 4
   66       %CONSTINTEGERARRAY POSPP(1:12) = %C
				li 5,48
				addi 4,31,4764
				addi 3,1,3168
				bl memcpy
		.LVL689:
   67          -7(4), 7(4), -10(2), 10(2)
   68       !!
   69       %CONSTINTEGERARRAY NOLEG MOVE(-1:1) = -24000, 0, 24000
				lwz 8,4812(31)
				lwz 10,4816(31)
				lwz 9,4820(31)
				stw 8,4364(1)
				stw 10,4368(1)
				stw 9,4372(1)
		.LVL690:
				addi 9,1,4412
				li 10,4000
				mtctr 10
		.LVL691:
		.L400:
		.LBB632:
   70       !!
   71       %OWNBYTEINTEGERARRAY KMOVE(-1:1) = 0(3)
   72       %OWNINTEGERARRAY KCAS(-1:1) = 0(3)
   73       !!
   74       %RECORD (LISTF)LM
   75       %RECORD (LISTF{QHF})MMOVE
   76       !!
   77
   78
   79       %INTEGER I, X, Y, PLAY
   80       %OWNLONGREAL TIME, TIME2, TIMTT = 15
   81       %OWNINTEGER NO = 1, SCOREA, XDEPTH, PDEPTH, MON, JUST ONE PLY
   82       %OWNINTEGER CHK, LAST CHK, PIN REMOVE
   83       !!
   84       %EXTERNALLONGREALFNSPEC CPU TIME
   85       !!
   86       %INTEGERFNSPEC N PLY(%INTEGER WHICH, DEPTH, %RECORD(LISTF)%NAME CHAIN)
   87       %INTEGERFNSPEC SORT AND PRUNE(%RECORD(LISTF)%NAME LIST, %C
   88          %INTEGER WIDTH, WHICH)
   89       %INTEGERFNSPEC SCORE(%INTEGER WHICH, %RECORD (LISTF)%NAME L)
   90       %INTEGERFNSPEC MOVES(%INTEGER WHICH, SCRQ)
   91       %INTEGERFNSPEC ONEPLY(%INTEGER WHICH, WIDTH)
   92       %INTEGERFNSPEC CHANGE BOARD(%RECORD(LISTF{QHF})%NAME B)
   93       %ROUTINESPEC RESTORE BOARD(%RECORD(LISTF{QHF})%NAME B)
   94       %ROUTINESPEC BURP(%RECORD (LISTF{QHF}) %NAME X, %INTEGER W)
   95       %ROUTINESPEC TELL(%RECORD (LISTF)%NAME MOVE, %INTEGER WHICH)
   96       %ROUTINESPEC PRINT BOARD
   97       %ROUTINESPEC PRINTMOVE(%RECORD (LISTF)%NAME LIST)
   98       %INTEGERFNSPEC CHECK YOUR MOVE(%RECORD (LISTF)%NAME LIST)
   99       %ROUTINESPEC YOUR MOVE
  100
  101       !****  INITIALISATION ETC
  102
  103       %CYCLE I = 0, 1, 4000-1
  104          LISTA(I)_L == LISTA(I+1)
				stw 9,-16(9)
		.LDL21:
				addi 9,9,16
  105       %REPEAT
  106       FREELIST == LISTA(0)
				addi 9,1,4396
				stw 9,4376(1)
		.LVL692:
		.LBB633:
		.LBB634:
				lis 9,_imp_InStream@ha
				li 10,1
				stw 10,_imp_InStream@l(9)
				lis 9,_imp_infile+280@ha
				lwz 10,_imp_infile+280@l(9)
				lis 9,_imp_InFile@ha
				stw 10,_imp_InFile@l(9)
				lis 3,.LANCHOR1@ha
				la 3,.LANCHOR1@l(3)
				addi 3,3,4824
				bl check_instream
		.LVL693:
				addi 9,1,2880
				addi 30,1,4312
				addi 28,9,256
				addi 31,9,1484
		.LVL694:
		.L402:
		.LBE634:
		.LBE633:
  107       !!
  108       SELECTINPUT(1)
				bdnz .L400
		.L401:
		.LBE632:
  109       %CYCLE I = -6, 1, 6
  110          READ(VAL(I))
				mr 3,30
				bl _imp_readint
		.LVL695:
		.LDL22:
				addi 30,30,4
  111       %REPEAT
  112       READ(PDEPTH)
				cmplw 7,30,31
				bne 7,.L402
		.L403:
				lis 31,.LANCHOR0@ha
				la 31,.LANCHOR0@l(31)
				addi 3,31,1092
				bl _imp_readint
		.LVL696:
  113       READ(MON);  READ(PLAY)
				addi 3,31,1088
				bl _imp_readint
		.LVL697:
  114       I = 1
				addi 3,1,276
				bl _imp_readint
		.LVL698:
				addi 30,28,108
				addi 28,28,364
		.LVL699:
		.L406:
				addi 27,30,-32
  115       %CYCLE Y = 1,1,8
  116          %CYCLE X = 1,1,8
  117             SQ == BRD(Y)_R(X)
  118             READ(SQ_P)
				mr 3,29
				bl _imp_readint
		.LVL701:
				cmplw 7,30,28
				bne 7,.L406
		.L405:
		.LVL703:
		.LBB635:
		.LBB636:
				li 30,0
				lis 9,_imp_InStream@ha
				stw 30,_imp_InStream@l(9)
				lis 9,_imp_infile+4@ha
				lwz 10,_imp_infile+4@l(9)
				lis 9,_imp_InFile@ha
				stw 10,_imp_InFile@l(9)
				lis 31,.LANCHOR1@ha
				la 31,.LANCHOR1@l(31)
				addi 3,31,4824
				bl check_instream
		.LVL704:
		.LBE636:
		.LBE635:
  119             SQI(I)_SQ == SQ
				stw 29,716(27)
				cmplw 7,27,30
				bne 7,.L404
		.LDL24:
		.LDL25:
				addi 31,31,128
				addi 30,30,32
  120             PT(I)_P == SQ_P; I = I+1
				stwu 29,4(27)
		.LDL23:
				addi 29,29,16
		.LVL702:
  121          %REPEAT
  122       %REPEAT
  123       SELECT INPUT(0)
  124       MMOVE_HOLD = 0;  MOVE_HOLD = 0
  125       LM_SCORE = 0;  LM_CHK = 0
				stw 30,304(1)
				stw 30,3140(1)
  126       MMOVE_L == LM
				stw 30,3148(1)
				addi 9,1,3136
				stw 9,3152(1)
		.LBB637:
  127       PRINTSTRING("Version 2.5
				li 5,256
				addi 4,31,4841
				addi 3,1,2880
				bl memcpy
		.LVL705:
				li 5,256
				addi 4,1,2880
				addi 3,1,320
				bl memcpy
		.LVL706:
				li 5,256
				addi 4,1,320
				addi 3,1,1088
				bl memcpy
		.LVL707:
		.LBE637:
		.LBB638:
		.LBB639:
				li 5,256
				addi 4,1,1088
				addi 3,1,16
				bl memcpy
		.LVL708:
				addi 3,1,16
				bl _imp_printstring
		.LVL709:
		.LBE639:
		.LBE638:
		.LBB640:
  128 HOW DIFFICULT A GAME DO YOU WANT?
  129       2 = NORMAL STRENGTH, 3 = MORE DIFFICULT
  130 ")
  131       PROMPT("2-4?")
				li 5,256
				addi 4,31,5097
				addi 3,1,2880
				bl memcpy
		.LVL710:
				li 5,256
				addi 4,1,2880
				addi 3,1,576
				bl memcpy
		.LVL711:
		.LBE640:
				li 5,256
				addi 4,1,576
				addi 3,1,16
				bl memcpy
		.LVL712:
				addi 3,1,16
				bl PROMPT
		.LVL713:
  132       READ(PDEPTH); SKIPSYMBOL
				lis 30,.LANCHOR0@ha
				la 30,.LANCHOR0@l(30)
				addi 3,30,1092
				bl _imp_readint
		.LVL714:
		.LBB641:
		.LBB642:
				bl _imp_skipsymbol
		.LVL715:
		.LBE642:
		.LBE641:
		.LBB643:
  133       PROMPT("Move?")
				li 5,256
				addi 4,31,5353
				addi 3,1,2880
				bl memcpy
		.LVL716:
				li 5,256
				addi 4,1,2880
				addi 3,1,832
				bl memcpy
		.LVL717:
		.LBE643:
				li 5,256
				addi 4,1,832
				addi 3,1,16
				bl memcpy
		.LVL718:
				addi 3,1,16
				bl PROMPT
		.LVL719:
  134       PRINTBOARD
				bl PRINTBOARD.7099
		.LVL720:
  135       !!
  136       !!
  137       !! N B     WHITE PIECES ARE -VE, BLACK ARE +VE
  138       !!
  139       !**** MAIN LOOP
  140          TIME2 = CPUTIME
				bl CPUTIME
		.LVL721:
				stfd 1,1048(30)
		.LBB644:
		.LBB645:
  141       %CYCLE
  142          %IF PLAY = 1 %START
				lwz 9,276(1)
				cmpwi 7,9,1
				beq 7,.L448
		.L409:
		.LBB732:
		.LBB726:
  143             MOVE_L == RECORD(N PLY(-1, 0, MOVE))
				addi 11,1,3136
				addi 5,1,304
				li 4,0
				li 3,-1
				bl NPLY.7074
		.LVL723:
				stw 3,304(1)
  144             TELL(MOVE_L, -1)
				li 4,-1
				bl TELL.7097
		.LVL724:
  145             I =CHANGE BOARD(MOVE)
				addi 3,1,304
				bl CHANGEBOARD.7089
		.LVL725:
  146          %FINISHELSESTART
				b .L410
		.L449:
		.LBB727:
		.LBB725:
  147             YOURMOVE
  148             BURP(MMOVE, -1)
				li 4,-1
				addi 3,1,3152
				bl BURP.7094
		.LVL791:
		.L410:
  149          %FINISH
  150          TIME = CPUTIME
				bl CPUTIME
		.LVL792:
				stfd 1,1040(25)
  151          MOVE_L == RECORD(N PLY(+1, 0, MMOVE_L))
				addi 11,1,3136
				lwz 5,3152(1)
				li 4,0
				li 3,1
				bl NPLY.7074
		.LVL793:
				addi 9,1,2880
				stwu 3,-2576(9)
  152          BURP(MOVE, +1)
				li 4,1
				mr 3,9
				bl BURP.7094
		.LVL794:
  153          PRINTBOARD
				bl PRINTBOARD.7099
		.LVL795:
		.LBB728:
		.LBB729:
				lis 28,_imp_OutStream@ha
				li 9,2
				stw 9,_imp_OutStream@l(28)
				lis 29,_imp_OutFile@ha
				lwz 9,556(21)
				stw 9,_imp_OutFile@l(29)
				addi 30,27,3056
				mr 3,30
				bl check_outstream
		.LVL796:
		.LBE729:
		.LBE728:
  154          SELECT OUTPUT(2); PRINTBOARD; SELECT OUTPUT(0)
  155          NO = NO+1
				bl PRINTBOARD.7099
		.LVL797:
		.LBB730:
		.LBB731:
				li 9,0
				stw 9,_imp_OutStream@l(28)
				lwz 9,4(21)
				stw 9,_imp_OutFile@l(29)
				mr 3,30
				bl check_outstream
		.LVL798:
		.LBE731:
		.LBE730:
				lis 10,.LANCHOR2@ha
				lwz 9,.LANCHOR2@l(10)
				addi 9,9,1
				stw 9,.LANCHOR2@l(10)
		.L408:
  156       %REPEAT
  157
  158       !!
  159       %ROUTINE RELEASE CHAIN(%RECORD(LISTF)%NAME L)
		.LVL0:
				stwu 1,-16(1)
		.LVL1:
				mr 10,3
				b .L2
		.LVL2:
		.L4:
  160          {%RECORDSPEC L(LISTF)
  161          %RECORD(LISTF)%NAME L2
  162          L2 == L
  163          %WHILE ADDR(L_L) # 0 %CYCLE
  164             L == L_L;                   ! GO TO BOTTOM OF CHAIN
				mr 10,9
		.LVL3:
		.L2:
				lwz 9,0(10)
				cmpwi 7,9,0
				bne 7,.L4
		.L3:
  165          %REPEAT
  166          L_L == FREELIST
				lwz 9,1240(11)
				stw 9,0(10)
  167          FREELIST == RECORD(ADDR(L2))
				stw 3,1240(11)
  168       %END
  169       !!
				addi 1,1,16
				blr
		.LFE186:
				.align 2
		CHANGEBOARD.7089:
		.LFB196:
  170       %INTEGERFN N PLY(%INTEGER WHICH, DEPTH, %RECORD(LISTF)%NAME CHAIN)
		.LVL593:
				stwu 1,-3104(1)
				mflr 0
				stw 0,3108(1)
				stw 15,3036(1)
				stw 18,3048(1)
				stw 23,3068(1)
				stw 24,3072(1)
				stw 27,3084(1)
				stw 29,3092(1)
				mr 18,3
				mr 27,4
				mr 15,5
				mr 23,11
				lwz 9,-28680(2)
				stw 9,3020(1)
				li 9,0
  171          %INTEGER I, XWHICH, J, SWIDTH, CI, FLAG
  172          %RECORD(LISTF{QHF})%NAME BPT
  173         %RECORD(LISTF{QHF})%ARRAY B(1:40)
  174         %RECORD(LISTF)%NAME LIST, LISTX
  175
  176          %CONSTINTEGERARRAY XWIDTH(0:10) = 8, 8, 3(9)
				li 5,44
		.LVL594:
				lis 4,.LANCHOR1@ha
		.LVL595:
				la 4,.LANCHOR1@l(4)
				addi 4,4,3892
				addi 3,1,544
		.LVL596:
				bl memcpy
		.LVL597:
  177          !!
  178          XDEPTH = DEPTH;                ! HOLD FOR GLOBAL USE
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				stw 27,1064(9)
  179          DEPTH = DEPTH+1
				addi 27,27,1
		.LVL598:
  180          SWIDTH = XWIDTH(DEPTH)
				slwi 10,27,2
				addi 8,1,3024
				add 10,8,10
				lwz 24,-2480(10)
		.LVL599:
  181          %IF DEPTH=PDEPTH %THEN SWIDTH=1
				lwz 9,1092(9)
				cmpw 7,9,27
				beq 7,.L388
		.LVL600:
		.L356:
  182          LAST CHK = CHAIN_CHK
				lwz 10,12(15)
				lis 9,.LANCHOR0+1076@ha
				stw 10,.LANCHOR0+1076@l(9)
		.LVL601:
		.LBB504:
		.LBB505:
				li 24,1
		.LVL607:
				b .L356
		.LVL608:
		.L381:
  183          LIST == RECORD(ONE PLY(WHICH, SWIDTH))
  184          I = 1
				li 31,1
  185          B(1)_L == RECORD(0)
				li 9,0
				stw 9,2380(1)
		.LVL605:
  186          FLAG = 0
				li 19,0
  187          %WHILE ADDR(LIST)#0 %CYCLE
  188             BPT == B(I)
				cmpwi 7,3,0
				beq 7,.L355
				stw 16,3040(1)
				stw 17,3044(1)
				stw 19,3052(1)
				stw 20,3056(1)
				stw 21,3060(1)
				stw 22,3064(1)
				stw 25,3076(1)
				stw 26,3080(1)
				stw 28,3088(1)
				stw 30,3096(1)
				stw 31,3100(1)
				cmpwi 7,29,0
				beq 7,.L359
		.LVL610:
		.L358:
				mr 26,30
  189             BPT_L == LIST
				stw 29,0(30)
  190             LIST == LIST_L
				lwz 29,0(29)
		.LVL611:
  191             %IF MON#0 %START
				lis 28,.LANCHOR0@ha
				la 28,.LANCHOR0@l(28)
		.LBB508:
		.LBB509:
				lis 20,_imp_OutStream@ha
				lis 21,_imp_OutFile@ha
				lis 25,_imp_outfile@ha
				la 25,_imp_outfile@l(25)
				lis 16,.LANCHOR1@ha
				la 16,.LANCHOR1@l(16)
				addi 22,16,3056
		.LBE509:
		.LBE508:
				lwz 9,1088(28)
				cmpwi 7,9,0
				bne 7,.L389
		.L360:
  192                SELECT OUTPUT(2)
  193                SPACES(DEPTH*3)
				mulli 9,27,3
				stw 9,24(1)
				addi 30,1,2380
  194                WRITE(DEPTH, 1);  SPACES(2);   PRINTMOVE(BPT_L)
				li 4,1
				mr 3,27
				bl _imp_writeint
		.LVL624:
		.LBB521:
		.LBB522:
				li 3,2
				bl _imp_spaces
		.LVL625:
		.LBE522:
		.LBE521:
  195                %IF LAST CHK#0 %THEN PRINTSTRING(" FORCED")
				lwz 9,1076(28)
				cmpwi 7,9,0
				bne 7,.L391
		.L361:
		.LBB523:
		.LBB524:
				bl _imp_newline
		.LVL627:
		.LBE524:
		.LBE523:
		.LBB525:
		.LBB526:
				li 9,0
				stw 9,_imp_OutStream@l(20)
				lwz 9,4(25)
				stw 9,_imp_OutFile@l(21)
				mr 3,22
				bl check_outstream
		.LVL628:
				b .L360
		.LVL629:
		.L391:
		.LBE526:
		.LBE525:
		.LBB527:
  196                NEWLINE
				lwz 3,0(30)
				bl PRINTMOVE.7101
		.LVL626:
				li 5,256
				addi 4,16,3936
				addi 3,1,1612
				bl memcpy
		.LVL630:
				li 5,256
				addi 4,1,1612
				addi 3,1,588
				bl memcpy
		.LVL631:
				li 5,256
				addi 4,1,588
				addi 3,1,1868
				bl memcpy
		.LVL632:
		.LBE527:
		.LBB528:
		.LBB529:
				li 5,256
				addi 4,1,1868
				addi 3,1,288
				bl memcpy
		.LVL633:
				addi 3,1,288
				bl _imp_printstring
		.LVL634:
				b .L361
		.LVL635:
		.L390:
				stw 14,3032(1)
		.LBE529:
		.LBE528:
  197                SELECT OUTPUT(0)
  198             %FINISH
  199             I = I+1
				addi 31,31,1
		.LVL612:
  200             ! %EXIT %IF LIST == NULL;     ! ONLY ONE MOVE ALLOWED
  201 !            %EXIT %IF ADDR(LIST) = 0 %AND I = 2;   ! SEE ABOVE
  202             XWHICH = WHICH!!X'FFFFFFFE'
				li 9,-2
				xor 9,18,9
				stw 9,28(1)
  203             %IF DEPTH < PDEPTH %START
				lwz 9,1092(28)
				cmpw 7,9,27
				bgt 7,.L390
		.L362:
		.L364:
  204
  205                CI = CHANGE BOARD(BPT)
				mr 3,26
				bl CHANGEBOARD.7089
		.LVL636:
  206                LISTX == RECORD(N PLY(XWHICH, DEPTH, BPT_L))
				mr 11,23
				lwz 5,0(26)
				mr 4,27
				lwz 3,28(1)
				bl NPLY.7074
		.LVL637:
				mr 14,3
  207                LAST CHK = CHAIN_CHK;    ! REALLY FOR MONITORING
				lwz 9,12(15)
				stw 9,1076(28)
  208                RESTORE BOARD(BPT)
				mr 3,26
				bl RESTOREBOARD.7091
		.LVL638:
  209                %UNLESS ADDR(LISTX)=0 %START
				cmpwi 7,14,0
				bne 7,.L392
		.L363:
  210                   BPT_L_SCORE = LISTX_SCORE;    ! GET BEST OPP PIECE SCORE
				lwz 9,0(26)
				lwz 10,4(14)
				stw 10,4(9)
  211                   RELEASE CHAIN(LISTX); FLAG = FLAG+1
				mr 11,23
				mr 3,14
				bl RELEASECHAIN.7141
		.LVL639:
  212                %FINISHELSESTART
				addi 19,19,1
		.LVL640:
				lwz 14,3032(1)
				b .L364
		.L366:
		.L369:
  213                   BPT_L_SCORE = NO LEG MOVE(WHICH)
				addi 17,18,305
				slwi 17,17,2
				add 17,23,17
				b .L358
		.LVL606:
		.L388:
				lwz 9,0(26)
				lwz 10,12(17)
				stw 10,4(9)
				lwz 14,3032(1)
				b .L364
		.L392:
  214                   ! %IF BPT_L_CHK = 0 %THEN BPT_L_SCORE = 0; ! ????
  215                %FINISH
  216             %FINISH
  217          %IF I > SWIDTH %START
				cmpw 7,24,31
				bge 7,.L365
  218             %IF FLAG # 0 %OR I = 2 %THEN %EXIT;   ! MOVE FOUND
				cmpwi 7,19,0
				bne 7,.L369
  219             %IF MON # 0 %START
				cmpwi 7,31,2
				beq 7,.L367
		.L368:
				lwz 9,1088(28)
				cmpwi 7,9,0
				beq 7,.L381
		.LVL613:
		.LBB511:
		.LBB512:
				li 9,2
				stw 9,_imp_OutStream@l(20)
				lwz 9,556(25)
				stw 9,_imp_OutFile@l(21)
				mr 3,22
				bl check_outstream
		.LVL614:
		.LBE512:
		.LBE511:
		.LBB513:
  220                SELECT OUTPUT(2)
  221                PRINTSTRING("FORCED TO INCREASE PLYWIDTH
				li 5,256
				addi 4,16,4192
				addi 3,1,1612
				bl memcpy
		.LVL615:
				li 5,256
				addi 4,1,1612
				addi 3,1,844
				bl memcpy
		.LVL616:
				li 5,256
				addi 4,1,844
				addi 3,1,2124
				bl memcpy
		.LVL617:
		.LBE513:
		.LBB514:
		.LBB515:
				li 5,256
				addi 4,1,2124
				addi 3,1,288
				bl memcpy
		.LVL618:
				addi 3,1,288
				bl _imp_printstring
		.LVL619:
		.LBE515:
		.LBE514:
		.LBB516:
		.LBB517:
				li 9,0
				stw 9,_imp_OutStream@l(20)
				lwz 9,4(25)
				stw 9,_imp_OutFile@l(21)
				mr 3,22
				bl check_outstream
		.LVL620:
				b .L365
		.LVL621:
		.L389:
		.LBE517:
		.LBE516:
		.LBB518:
		.LBB510:
				li 9,2
				stw 9,_imp_OutStream@l(20)
				lwz 9,556(25)
				stw 9,_imp_OutFile@l(21)
				mr 3,22
				bl check_outstream
		.LVL622:
		.LBE510:
		.LBE518:
		.LBB519:
		.LBB520:
				lwz 3,24(1)
				bl _imp_spaces
		.LVL623:
		.LBE520:
		.LBE519:
  222 ")
  223                SELECT OUTPUT(0)
  224             %FINISH
				mr 19,9
		.LVL609:
		.L365:
				addi 30,30,16
  225                   !! IF NO LEGAL MOVE, SEARCH ALL MOVES ON THIS LEVEL
  226          %FINISH
  227          %REPEAT
  228          RELEASE CHAIN(LIST) %IF ADDR(LIST)#0
				cmpwi 7,29,0
				beq 7,.L359
		.LVL641:
		.L379:
				cmpwi 7,29,0
				bne 7,.L379
		.LVL666:
		.L378:
  229          LIST == RECORD(0)
				mr 11,23
				mr 3,29
				bl RELEASECHAIN.7141
		.LVL642:
		.L359:
  230          %IF I = 1 %THEN %RESULT = 0;   ! NO LEGAL MOVE
				cmpwi 7,31,1
				beq 7,.L387
		.L370:
  231          %IF I = 2 %THEN %RESULT = ADDR(B(1)_L); ! SINGLE RESULT
				li 3,0
				cmpwi 7,31,2
				beq 7,.L378
		.L371:
		.LVL643:
		.LBB530:
  232          %CYCLE J = 1, 1, I-1
				lwz 3,2380(1)
				lwz 16,3040(1)
				lwz 17,3044(1)
				lwz 19,3052(1)
		.LVL667:
				lwz 20,3056(1)
				lwz 21,3060(1)
				lwz 22,3064(1)
				lwz 25,3076(1)
				lwz 26,3080(1)
				lwz 28,3088(1)
				lwz 30,3096(1)
				lwz 31,3100(1)
		.LVL668:
				b .L355
		.LVL669:
		.L387:
				lwz 16,3040(1)
				lwz 17,3044(1)
				lwz 19,3052(1)
		.LVL670:
				lwz 20,3056(1)
				lwz 21,3060(1)
				lwz 22,3064(1)
				lwz 25,3076(1)
				lwz 26,3080(1)
				lwz 28,3088(1)
				lwz 30,3096(1)
				lwz 31,3100(1)
		.LVL671:
				b .L355
		.L394:
				stw 14,3032(1)
				stw 16,3040(1)
				stw 17,3044(1)
				stw 19,3052(1)
				stw 20,3056(1)
				stw 21,3060(1)
				stw 22,3064(1)
				stw 25,3076(1)
				stw 26,3080(1)
				stw 28,3088(1)
				stw 30,3096(1)
				stw 31,3100(1)
  233             B(J)_L_L == LIST
				lwz 9,0(10)
				stw 3,0(9)
				addi 10,10,16
  234             LIST == B(J)_L;             ! STACK THE RESULTS
				addic. 9,31,-2
				blt 0,.L393
		.L372:
		.LVL644:
				lwz 3,-16(10)
		.LVL646:
				lis 9,_imp_current_file@ha
				lwz 4,_imp_current_file@l(9)
				cmpwi 7,4,0
				beq 7,.L373
				addi 3,1,1356
				bl _imp_c2istr
		.LVL656:
		.L374:
				lis 9,_imp_current_line@ha
				lwz 30,_imp_current_line@l(9)
				cmpwi 7,30,0
				bne 7,.L375
				li 30,234
		.L375:
				lis 4,.LC37@ha
				la 4,.LC37@l(4)
				addi 3,1,1612
				bl _imp_c2istr
		.LVL657:
				li 5,256
				addi 4,1,1356
				addi 3,1,288
				bl memcpy
		.LVL658:
				li 5,256
				addi 4,1,1612
				addi 3,1,32
				bl memcpy
		.LVL659:
				li 8,0
				li 7,1
				li 6,5
				addi 5,1,32
				mr 4,30
				addi 3,1,288
				bl _signal_event
		.LVL660:
				b .L372
		.L373:
		.LBB531:
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,12
				addi 3,1,1612
				bl memcpy
		.LVL661:
				li 5,256
				addi 4,1,1612
				addi 3,1,1100
				bl memcpy
		.LVL662:
		.LBE531:
				li 5,256
				addi 4,1,1100
				addi 3,1,1356
				bl memcpy
		.LVL663:
				b .L374
		.LVL664:
		.L384:
  235          %REPEAT
  236          %RESULT = SORT AND PRUNE(LIST, 1, WHICH)
				mr 11,23
				mr 5,18
				li 4,1
				bl SORTANDPRUNE.7078
		.LVL648:
				lwz 16,3040(1)
				lwz 17,3044(1)
				lwz 19,3052(1)
		.LVL649:
				lwz 20,3056(1)
				lwz 21,3060(1)
				lwz 22,3064(1)
				lwz 25,3076(1)
				lwz 26,3080(1)
				lwz 28,3088(1)
				lwz 30,3096(1)
				lwz 31,3100(1)
		.LVL650:
		.L355:
  237                                         ! GET THE 'BEST' RESULT
				cmpwi 7,31,1
				beq 7,.L384
				addi 10,1,2380
				slwi 9,31,4
				addi 8,1,2364
				add 9,8,9
				li 3,0
				subf 9,10,9
				addi 9,9,-16
				srwi 9,9,4
				addi 9,9,1
				mtctr 9
		.LVL645:
		.L377:
				bdnz .L377
		.LVL647:
		.L376:
		.LBE530:
				li 3,0
				b .L376
		.LVL665:
		.L367:
		.LBE532:
  238                                         ! NB RESULT == SORT ON PDP11
  239
  240       %END
				lwz 9,3020(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L394
				lwz 0,3108(1)
				mtlr 0
				lwz 15,3036(1)
		.LVL651:
				lwz 18,3048(1)
		.LVL652:
				lwz 23,3068(1)
				lwz 24,3072(1)
		.LVL653:
				lwz 27,3084(1)
		.LVL654:
				lwz 29,3092(1)
				addi 1,1,3104
				blr
		.LVL655:
		.L393:
		.LBB532:
				bl __stack_chk_fail
		.LVL672:
		.LFE187:
				.align 2
		BURP.7094:
		.LFB198:
  241
  242
  243       %INTEGERFN ONE PLY(%INTEGER WHICH, WIDTH)
  244          %RECORD(LISTF)%NAME LIST
  245
  246
  247          !! BRDOLD = BRD;                  ! HOLD IT (TO ERASE ATT&DEF
  248          LIST == RECORD(MOVES(WHICH, 0))
				mr 11,23
				li 4,0
				mr 3,18
				bl MOVES.7084
		.LVL602:
  249          LIST == RECORD (SORT AND PRUNE(LIST, WIDTH, WHICH))
				mr 11,23
				mr 5,18
				mr 4,24
				bl SORTANDPRUNE.7078
		.LVL603:
		.LBE505:
		.LBE504:
		.LBB506:
		.LBB507:
				mr 29,3
		.LVL604:
		.LBE507:
		.LBE506:
  250          %RESULT = ADDR(LIST)
  251       %END
  252
  253       !!
  254       %INTEGERFN EXVAL(%INTEGER OCC,SIDE1,SIDE2)
		.LVL121:
				stwu 1,-976(1)
				mflr 0
				stw 0,980(1)
				stw 27,956(1)
				stw 28,960(1)
				stw 29,964(1)
				stw 30,968(1)
				stw 31,972(1)
				mr 30,3
				mr 29,4
				mr 28,5
				mr 27,11
				lwz 9,-28680(2)
				stw 9,940(1)
				li 9,0
  255          %INTEGER GAIN,LOSS,NEW
  256          %CONSTINTEGERARRAY PCE(1:31)=3,2(6),1(24)
				lis 31,.LANCHOR1@ha
				la 31,.LANCHOR1@l(31)
				li 5,124
		.LVL122:
				addi 4,31,268
		.LVL123:
				addi 3,1,304
		.LVL124:
				bl memcpy
		.LVL125:
  257          !! %CONSTINTEGERARRAY VAL(1:6)=100,300,350,500,900,5000
  258          %CONSTINTEGERARRAY BIT(1:6)=256,64,32,8,2,1
				lwz 7,392(31)
				lwz 8,396(31)
				lwz 10,400(31)
				lwz 9,404(31)
				stw 7,280(1)
				stw 8,284(1)
				stw 10,288(1)
				stw 9,292(1)
				lwz 10,408(31)
				lwz 9,412(31)
				stw 10,296(1)
				stw 9,300(1)
		.LVL126:
  259                      !* +VE RESULT => ATTACKING SIDE HAS GAINED SOMETHING
  260          GAIN=VAL(OCC)
				addi 30,30,292
		.LVL128:
				slwi 30,30,2
		.LVL129:
				add 30,27,30
				lwz 31,8(30)
  261          %IF SIDE1<0 %START
				cmpwi 7,29,0
				blt 7,.L76
		.L68:
				addi 30,30,6
		.LVL127:
  262             PRINTSTRING("PROGRAM ERROR, NEXT MOVE MAY BE STUPID!
				li 5,256
				addi 4,31,416
				addi 3,1,684
				bl memcpy
		.LVL134:
				li 5,256
				addi 4,1,684
				addi 3,1,428
				bl memcpy
		.LVL135:
				li 5,256
				addi 4,1,428
				addi 3,1,684
				bl memcpy
		.LVL136:
		.LBE312:
		.LBB313:
		.LBB314:
				li 5,256
				addi 4,1,684
				addi 3,1,16
				bl memcpy
		.LVL137:
				addi 3,1,16
				bl _imp_printstring
		.LVL138:
		.LBE314:
		.LBE313:
  263 ")
  264             %RESULT = 0
				li 31,0
				b .L67
		.LVL139:
		.L77:
		.L70:
  265          %FINISH
  266          %IF SIDE2=0 %THENRESULT=GAIN
				cmpwi 7,28,0
				bne 7,.L77
		.LVL130:
		.L67:
  267          NEW=SIDE1>>5
  268          %IF NEW#0 %THEN NEW=PCE(NEW) %ELSE NEW=PCE(SIDE1)+3
				srwi. 9,29,5
		.LVL140:
				beq 0,.L71
  269          LOSS=EXVAL(NEW,SIDE2,SIDE1-BIT(NEW))
				addi 9,9,-1
		.LVL141:
				slwi 9,9,2
		.LVL142:
				addi 10,1,944
				add 9,10,9
				lwz 3,-640(9)
		.LVL143:
		.L72:
				addi 9,3,-1
				slwi 9,9,2
				addi 10,1,944
				add 9,10,9
				lwz 5,-664(9)
				mr 11,27
				subf 5,5,29
				mr 4,28
				bl EXVAL.7196
		.LVL144:
  270          %IF LOSS<0 %THENRESULT=GAIN %ELSERESULT=GAIN-LOSS
				cmpwi 0,3,0
				blt 0,.L67
		.L73:
  271       %END
				mr 3,31
				lwz 9,940(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L78
				lwz 0,980(1)
				mtlr 0
				lwz 27,956(1)
				lwz 28,960(1)
		.LVL131:
				lwz 29,964(1)
		.LVL132:
				lwz 30,968(1)
				lwz 31,972(1)
				addi 1,1,976
				blr
		.LVL133:
		.L76:
		.LBB312:
				bl __stack_chk_fail
		.LVL149:
		.LFE189:
				.align 2
		LINE.7567:
		.LFB201:
  272       !!
				addi 9,29,-1
		.LVL146:
				slwi 9,9,2
				addi 10,1,944
				add 9,10,9
				lwz 3,-640(9)
				addi 3,3,3
		.LVL147:
				b .L72
		.LVL148:
		.L78:
  273       %ROUTINE CHECK PINS(%INTEGER WHICH)
				subf 31,3,31
				b .L67
		.LVL145:
		.L71:
  274          %INTEGER I, K, BV
  275          %RECORD(SQF)%NAME SQ
  276          !! THIS ROUTINE REMOVES THE 'ATTACKS' AND 'DEFENSES' OF ALL THE
  277          !! PINNED PIECES.
  278          !! THEY ARE NOT DELETED IF THE PINNED PIECE IS ATTACKING THE
  279          !! PINNING PIECE
  280          !!
  281          %RETURN %IF PIN PT=0
				lis 9,.LANCHOR0+1056@ha
				lwz 27,.LANCHOR0+1056@l(9)
				cmpwi 7,27,0
				beq 7,.L310
		.L302:
		.LBE467:
		.LBE466:
  282          %CYCLE I = 1, 1, PIN PT
  283             PX = PINX(I); PY = PINY(I)
				lis 29,.LANCHOR0@ha
				la 29,.LANCHOR0@l(29)
				b .L307
		.LVL551:
		.L343:
				lwzu 9,4(26)
				stw 9,1068(29)
  284             SQ == SQI(PINDX(I))_SQ;     ! ATTACKERS SQUARE
				addic. 9,27,-1
				blt 0,.L343
		.LVL548:
		.L303:
				lis 28,.LANCHOR1@ha
		.LVL549:
				la 28,.LANCHOR1@l(28)
				addi 26,28,3596
				addi 28,28,3724
				addi 30,31,660
				slwi 27,27,2
		.LVL550:
				addi 27,27,660
				add 27,31,27
				lis 9,_imp_current_file@ha
				lwz 4,_imp_current_file@l(9)
				cmpwi 7,4,0
				beq 7,.L304
				addi 3,1,1644
				bl _imp_c2istr
		.LVL552:
		.L305:
				lis 9,_imp_current_line@ha
				lwz 30,_imp_current_line@l(9)
				cmpwi 7,30,0
				bne 7,.L306
				li 30,284
		.L306:
				lis 4,.LC34@ha
				la 4,.LC34@l(4)
				addi 3,1,1132
				bl _imp_c2istr
		.LVL553:
				li 5,256
				addi 4,1,1644
				addi 3,1,272
				bl memcpy
		.LVL554:
				li 5,256
				addi 4,1,1132
				addi 3,1,16
				bl memcpy
		.LVL555:
				li 8,0
				li 7,1
				li 6,5
				addi 5,1,16
				mr 4,30
				addi 3,1,272
				bl _signal_event
		.LVL556:
				b .L303
		.L304:
		.LBB469:
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,12
				addi 3,1,1644
				bl memcpy
		.LVL557:
				li 5,256
				addi 4,1,1644
				addi 3,1,1388
				bl memcpy
		.LVL558:
		.LBE469:
				li 5,256
				addi 4,1,1388
				addi 3,1,1644
				bl memcpy
		.LVL559:
				b .L305
		.LVL560:
		.L308:
				lwzu 9,4(28)
				stw 9,1072(29)
				lwz 9,388(30)
				addi 9,9,195
				slwi 9,9,2
				add 9,31,9
				lwz 24,8(9)
		.LVL562:
  285             BV = BIT VAL(PINPY(I))
				lwzu 9,4(30)
		.LVL563:
				addi 9,9,159
				slwi 9,9,2
  286             %IF SQ_ATT&BV#0 %START
				lwzx 9,31,9
				cntlzw 9,9
				srwi 9,9,5
				lwz 10,4(24)
				and. 9,9,10
				beq 0,.L308
		.L309:
  287                !! NO PIN
				cmplw 7,30,27
				beq 7,.L310
		.LVL561:
		.L307:
  288             %FINISHELSESTART
  289                PIN REMOVE = PINPY(I);       ! IF ATT>PINNED DEFENSE!
  290                K = MOVES(WHICH, 3)
				mr 11,31
				li 4,3
				mr 3,25
				bl MOVES.7084
		.LVL564:
  291                SCOREA = SCOREA+SQ_P*5
				lwz 9,0(24)
				mulli 9,9,5
				lwz 10,1060(29)
				add 9,9,10
				stw 9,1060(29)
				b .L308
		.L301:
		.LVL565:
		.L310:
		.LBE468:
		.LBE470:
		.LBE471:
  292             %FINISH
  293          %REPEAT
  294       %END
  295       !!
  296       %INTEGERFN TRY ANOTHER PLY(%INTEGER WHICH)
		.LVL575:
				stwu 1,-48(1)
				stw 31,44(1)
				mr 31,3
				lwz 9,-28680(2)
				stw 9,28(1)
				li 9,0
  297          %RECORD(LISTF)%NAME LIST2
  298          %INTEGER X, WW, XMON
  299          %CONSTINTEGERARRAY WWW(-1:1) = 25, 0, -25
				lis 9,.LANCHOR1@ha
				la 9,.LANCHOR1@l(9)
				lwz 8,3880(9)
				lwz 10,3884(9)
				lwz 9,3888(9)
				stw 8,16(1)
				stw 10,20(1)
				stw 9,24(1)
  300          %RESULT = 0 %IF JUST ONE PLY = 1;   ! ONLY ONE LEVEL
				lis 9,.LANCHOR0+1084@ha
				lwz 9,.LANCHOR0+1084@l(9)
				cmpwi 7,9,1
				beq 7,.L345
				mflr 0
				stw 0,52(1)
				stw 28,32(1)
				stw 29,36(1)
				stw 30,40(1)
				mr 29,11
		.L347:
  301          JUST ONE PLY = 1; XMON = MON; MON = 1
				li 3,0
		.LVL576:
				lis 30,.LANCHOR0@ha
				la 30,.LANCHOR0@l(30)
				li 9,1
				stw 9,1084(30)
  302          WW = WHICH!!X'FFFFFFFE'
				lwz 28,1088(30)
		.LVL577:
				li 3,-2
				xor 31,31,3
		.LVL578:
  303          LIST2 == RECORD(MOVES(WW, 0))
				stw 9,1088(30)
				li 4,0
				mr 3,31
				bl MOVES.7084
		.LVL579:
  304          JUST ONE PLY = 0; MON = XMON
				li 9,0
				stw 9,1084(30)
  305          %IF ADDR(LIST2) = 0 %START
				stw 28,1088(30)
				cmpwi 0,3,0
				bne 0,.L348
  306             %RESULT = -NOLEGMOVE(WW)//2
				addi 11,31,305
				slwi 11,11,2
				add 11,29,11
				lwz 3,12(11)
				srawi 3,3,1
				addze 3,3
				neg 3,3
				lwz 28,32(1)
		.LVL580:
				lwz 29,36(1)
				lwz 30,40(1)
				lwz 0,52(1)
				mtlr 0
		.LVL581:
		.L345:
  307          %FINISHELSESTART
  308             LIST2 == RECORD(SORT AND PRUNE(LIST2, 1, WW))
				mr 11,29
				mr 5,31
				li 4,1
				bl SORTANDPRUNE.7078
		.LVL583:
  309             X = LIST2_SCORE
				lwz 30,4(3)
		.LVL584:
  310          %FINISH
  311          RELEASE CHAIN(LIST2) %UNLESS ADDR(LIST2)=0
				cmpwi 7,3,0
				bne 7,.L354
		.L349:
  312          %RESULT = X+WWW(WW)
				addi 31,31,1
		.LVL585:
				slwi 31,31,2
		.LVL586:
				addi 9,1,32
				add 31,9,31
				lwz 3,-16(31)
				add 3,30,3
				lwz 28,32(1)
		.LVL587:
				lwz 29,36(1)
				lwz 30,40(1)
		.LVL588:
				lwz 0,52(1)
				mtlr 0
				b .L345
		.LVL589:
		.L354:
				mr 11,29
				bl RELEASECHAIN.7141
		.LVL590:
				b .L349
		.LVL591:
		.L353:
				mflr 0
				stw 0,52(1)
				stw 28,32(1)
				stw 29,36(1)
				stw 30,40(1)
  313       %END
				lwz 9,28(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L353
				lwz 31,44(1)
				addi 1,1,48
				blr
		.LVL582:
		.L348:
				bl __stack_chk_fail
		.LVL592:
		.LFE191:
				.align 2
		NPLY.7074:
		.LFB187:
  314       !!
  315       %INTEGER %FN SCORE(%INTEGER WHICH, %RECORD(LISTF)%NAME L)
  316          {%RECORDSPEC L(LISTF)
  317          %INTEGER SCOREB, X, Y, I, P, Q, QQ, PAWNB, WHX, W2
  318          %INTEGER GAIN, SQU, LOSS, NPH, NPH2, BAD, SCOREC
  319          %RECORD(LISTF{QHF}) HOLD
  320          %RECORD(LISTF)%NAME LIST2
  321          %RECORD(SQF)%NAME SQ
  322          !!
  323          !! BRD = BRDOLD;                  ! CLEAR ATT & DEF
  324          PIN PT = 0
				lis 9,.LANCHOR0@ha
		.LVL298:
				la 9,.LANCHOR0@l(9)
				li 10,0
				stw 10,1056(9)
		.LVL299:
				addi 9,23,788
  325          %CYCLE I = 1, 1, 64
  326             SQI(I)_SQ_ATT = 0; SQI(I)_SQ_DEF = 0
				li 8,64
		.LVL300:
				mtctr 8
		.LVL301:
		.L140:
				lwzu 8,4(9)
				stw 10,4(8)
  327          %REPEAT
				lwz 8,0(9)
				stw 10,8(8)
		.LDL8:
  328          WHX = WHICH&BIT;               ! GET TYPE
				bdnz .L140
		.L141:
		.LVL302:
  329          L_CHK = 0;                     ! CLEAR FLAG
				li 31,0
				stw 31,12(17)
  330          HOLD_L == L;                   ! MAP TO MOVE
				addi 3,1,1360
		.LVL303:
				stwu 17,-1044(3)
  331          P = CHANGE BOARD(HOLD);            ! AND MAKE IT
				bl CHANGEBOARD.7089
		.LVL304:
  332          SCOREB = 0; SCOREA = 0;  SCOREC = 0
				mr 28,19
  333          P = MOVES(WHICH, 1)
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				stw 31,1060(9)
		.LVL305:
				mr 11,23
				li 4,1
				lwz 31,44(1)
				mr 3,31
				bl MOVES.7084
		.LVL306:
  334          SQU = 0
				mr 25,19
  335          BAD = 0; NPH = 0; NPH2 = 0
				stw 19,36(1)
  336          %CYCLE Y = 1, 1, 8
				mr 16,19
  337             %CYCLE X = 1, 1, 8
				stw 19,40(1)
				mr 18,19
  338                SQU = SQU+1
				mr 30,19
				subfic 14,18,9
  339                SQ == SQI(SQU)_SQ
				cmpwi 7,18,8
				beq 7,.L233
		.LVL319:
		.L144:
				lwzu 9,4(27)
		.LVL343:
  340                Q = SQ_P
				addi 18,18,1
		.LVL320:
				mr 22,25
				slwi 27,25,2
				addi 27,27,788
				add 27,23,27
				cmpwi 7,30,8
				beq 7,.L235
		.LVL340:
		.L142:
				lwz 31,0(9)
		.LVL344:
  341                %IF Q#0 %START;          ! PIECE ON SQUARE
				addi 30,30,1
		.LVL341:
				add 25,30,22
		.LVL342:
				cmpwi 7,31,0
				beq 7,.L145
  342                   %IF Q < 0 %START
				blt 7,.L236
		.L146:
		.L149:
		.LVL345:
  343                      QQ = -Q; W2 = -1
				neg 24,31
		.LVL322:
  344                   %FINISHELSESTART
				li 21,-1
  345                      QQ = Q; W2 = 1
				mr 24,31
  346                   %FINISH
				mr 21,31
		.L148:
		.LVL325:
		.L150:
				li 21,1
  347
  348                   !!
  349                   P = 0
  350                   %IF QQ = 1 %START;    ! PAWN
				cmpwi 7,24,1
				bne 7,.L147
				b .L150
		.LVL323:
		.L237:
				mr 10,14
		.LVL324:
				cmpwi 7,31,1
				beq 7,.L237
		.LVL346:
		.L147:
  351                      %IF Q > 0 %THEN PAWNB= 9-Y %ELSE %C
  352                         PAWNB = Y
  353                      P = PAWN 2D(PAWNB*8+X)*Q
				slwi 10,10,3
		.LVL326:
				add 10,10,30
				addi 10,10,87
				slwi 10,10,2
				lwzx 29,23,10
				mullw 29,31,29
		.LVL327:
  354                   %FINISH
  355                   !!
				stw 18,28(1)
				b .L142
		.LVL321:
		.L236:
				lwz 10,28(1)
  356                   %IF Q&BIT = WHX %START
				not 20,31
				srwi 20,20,31
				stw 19,32(1)
				b .L144
		.LVL307:
		.L231:
		.LDL9:
		.LBE424:
		.LBE423:
				and. 24,20,31
		.LVL328:
				bne 0,.L151
				li 24,1
		.L152:
		.LVL329:
		.L155:
				lwz 29,32(1)
		.LVL334:
		.L151:
				and. 29,20,31
				bne 0,.L215
  357                                         !*
  358                                         !* 'MY' PIECEON SQU X,Y
  359                                         !*
  360                      %IF QQ=6 %START;  ! 'MY' KING
				cmpwi 7,24,6
				bne 7,.L155
  361                         %IF SQ_ATT # 0 %START
				lwz 29,4(9)
				cmpwi 7,29,0
				beq 7,.L166
  362                            RESTORE BOARD(HOLD)
				addi 3,1,316
				bl RESTOREBOARD.7091
		.LVL347:
  363                            %RESULT = MAX SCORE
				lis 19,0xffff
		.LVL348:
				ori 19,19,0x3cb0
				b .L154
		.LVL349:
		.L234:
  364                         %FINISH
  365                                         ! ILLEGAL MOVE
  366                      %FINISH
  367                      %IF SQ_ATT > 0 %START;  ! MY PIECE UNDER ATTACK
				lwz 4,4(9)
				cmpwi 7,4,0
				ble 7,.L166
  368                         GAIN = EXVAL(QQ, SQ_ATT, SQ_DEF)
				mr 11,23
				lwz 5,8(9)
				mr 3,24
				bl EXVAL.7196
		.LVL330:
  369                         %IF GAIN > 0 %START
				cmpwi 0,3,0
				ble 0,.L166
  370                            GAIN = GAIN+P
				add 3,3,29
		.LVL331:
  371                            SCOREA = SCOREA-(GAIN*W2)//10
				lis 15,.LANCHOR0@ha
				la 15,.LANCHOR0@l(15)
				mullw 21,3,21
				lis 9,0x6666
				ori 9,9,0x6667
				mulhw 9,21,9
				srawi 9,9,2
				srawi 21,21,31
				subf 21,9,21
				lwz 9,1060(15)
				add 21,21,9
				stw 21,1060(15)
				lwz 9,36(1)
				cmpw 7,9,3
				bge 7,.L166
				stw 3,36(1)
		.LVL332:
				b .L166
		.LVL333:
		.L215:
  372                            %IF GAIN > BAD %THEN BAD = GAIN
  373                                         ! PROBLEMS WITH POSITIONAL VALUE
  374                        %FINISH
  375                      %FINISH
  376                      !!
  377                                         ! PIECE EFFECTIVELY LOST
  378                   %FINISHELSESTART
  379                                         !*
  380                                         !* OPP PIECE (SEE WHICH) ON X,Y
  381                                         !*
  382                      %IF SQ_ATT # 0 %START
				lwz 4,4(9)
				cmpwi 7,4,0
				bne 7,.L234
		.L153:
		.L162:
		.L163:
		.L164:
		.L165:
		.LVL335:
		.L166:
  383                         GAIN = EXVAL(QQ, SQ_ATT, SQ_DEF)
				mr 11,23
				lwz 5,8(9)
				mr 3,24
				bl EXVAL.7196
		.LVL350:
  384                         %IF GAIN > 0 %START
				cmpwi 0,3,0
				ble 0,.L161
  385                         %IF GAIN >NPH %START
				cmpw 7,3,16
				bgt 7,.L216
		.L158:
				lwz 9,40(1)
				cmpw 7,9,3
				bge 7,.L161
				stw 3,40(1)
		.LVL351:
				b .L161
		.LVL352:
		.L216:
				stw 16,40(1)
		.LVL353:
  386                            NPH2 = NPH; NPH = GAIN
  387                         %FINISHELSESTART
				mr 16,3
		.LVL354:
		.L157:
		.L160:
		.L161:
  388                            %IF GAIN > NPH2 %THEN NPH2 = GAIN
  389                         %FINISH
  390                        %FINISH
  391                         %IF QQ = 6 %START
				cmpwi 7,24,6
				bne 7,.L166
  392                             L_CHK = Q
				stw 31,12(17)
				b .L166
		.LVL355:
		.L233:
		.L143:
  393                         %FINISH
  394                      %FINISH
  395                   %FINISH
  396                   SCOREB = SCOREB+P+VAL(Q)
				add 29,29,28
				addi 31,31,298
		.LVL336:
				slwi 31,31,2
		.LVL337:
				add 31,23,31
				lwz 28,8(31)
		.LVL338:
				add 28,29,28
		.LVL339:
		.L145:
  397                %FINISH
  398             %REPEAT
  399          %REPEAT
  400          LOSS = 0
				lwz 10,40(1)
				mr 9,10
  401          %IF BAD > 0 %START;         ! PLAYER ABOUT TO LOSE
				lwz 9,36(1)
				cmpwi 7,9,0
				ble 7,.L167
  402             %IF ((BAD > 300 %AND NPH > 400) %OR NPH>400)  %C
				cmpwi 7,9,300
				ble 7,.L168
  403               %AND BAD < 500 %THEN SCOREC = TRY ANOTHER PLY(WHICH)
				cmpwi 7,16,400
				bgt 7,.L169
				b .L170
		.L168:
  404             NPH = NPH//3
				lis 9,0x5555
				ori 9,9,0x5556
				mulhw 9,16,9
				srawi 16,16,31
		.LVL357:
				subf 16,16,9
		.LVL358:
  405             LOSS = BAD
				cmpwi 7,16,400
				ble 7,.L170
		.L169:
  406             %IF NPH > BAD %THEN LOSS = NPH2//3 %ELSE %C
				cmpw 7,9,16
				bge 7,.L174
  407               LOSS = LOSS-NPH
				lwz 9,36(1)
				cmpwi 7,9,499
				ble 7,.L238
		.LVL356:
		.L170:
				lis 9,0x5555
				ori 9,9,0x5556
				lwz 10,40(1)
				mulhw 9,10,9
				srawi 30,10,31
				subf 30,30,9
		.LVL360:
				b .L174
		.LVL361:
		.L238:
  408          %FINISHELSESTART
				mr 11,23
				lwz 3,44(1)
				bl TRYANOTHERPLY.7228
		.LVL362:
				mr 19,3
		.LVL363:
				b .L170
		.L171:
		.LVL364:
		.L167:
  409             %IF NPH2 # 0 %THEN LOSS = -NPH2
				cmpwi 7,10,0
				beq 7,.L173
  410             LOSS = LOSS-NPH//6
				lwz 9,36(1)
				subf 30,16,9
		.LVL359:
				neg 9,10
		.LVL365:
		.L173:
				lis 30,0x2aaa
		.LVL366:
				ori 30,30,0xaaab
				mulhw 30,16,30
				srawi 10,16,31
				subf 30,30,10
				add 30,30,9
		.LVL367:
		.L172:
		.L174:
  411          %FINISH
  412          SCOREB = SCOREB+KCAS(-1)+KCAS(1)
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				lwz 31,1024(9)
				add 31,28,31
				lwz 9,1032(9)
				add 31,31,9
		.LVL368:
				addi 8,23,1243
				addi 10,23,332
				li 9,12
				mtctr 9
				b .L175
		.LVL369:
		.L177:
  413          %CYCLE I = 1, 1, 12;            ! CHECK B&N POS
  414             SCOREB = SCOREB+POSPP(I) %IF POSP(I) # PT(POSX(I))_P
				lbzu 9,1(8)
		.LVL371:
				addi 9,9,19
				slwi 9,9,2
				lwzx 7,23,9
				lwzu 9,4(10)
				lwz 7,0(7)
				cmpw 7,9,7
				beq 7,.L177
  415          %REPEAT
				lwz 9,-304(10)
				add 31,31,9
		.LVL372:
				b .L177
		.L224:
		.L176:
  416                %IF L_CHK # 0 %START
				bdz .L224
		.LVL370:
		.L175:
				lwz 9,12(17)
				cmpwi 7,9,0
				beq 7,.L179
  417                   SCOREC = TRY ANOTHER PLY(WHICH) %UNLESS SCOREC#0
				cmpwi 7,19,0
				beq 7,.L239
		.L178:
		.LVL373:
		.L179:
  418                %FINISH
				mr 11,23
				lwz 3,44(1)
				bl TRYANOTHERPLY.7228
		.LVL410:
				mr 19,3
		.LVL411:
				b .L179
		.LVL412:
		.L240:
		.LBE435:
		.LBE453:
  419          RESTORE BOARD(HOLD);           ! UNDO THE MOVE
				addi 3,1,316
				bl RESTOREBOARD.7091
		.LVL374:
		.LBB425:
		.LBB426:
				lis 24,_imp_OutStream@ha
				li 9,2
				stw 9,_imp_OutStream@l(24)
				lis 25,_imp_OutFile@ha
		.LVL375:
				lis 29,_imp_outfile@ha
				la 29,_imp_outfile@l(29)
				lwz 9,556(29)
				stw 9,_imp_OutFile@l(25)
				lis 28,.LANCHOR1@ha
				la 28,.LANCHOR1@l(28)
				addi 27,28,3056
				mr 3,27
				bl check_outstream
		.LVL376:
		.LBE426:
		.LBE425:
		.LBB427:
  420          %IF MON&64 # 0 %START
  421             SELECT OUTPUT(2)
  422             PRINTSTRING("SCORE:")
				li 5,256
				addi 4,28,3074
				addi 3,1,844
				bl memcpy
		.LVL377:
				li 5,256
				addi 4,1,844
				addi 3,1,1100
				bl memcpy
		.LVL378:
				li 5,256
				addi 4,1,1100
				addi 3,1,844
				bl memcpy
		.LVL379:
		.LBE427:
		.LBB428:
		.LBB429:
				li 5,256
				addi 4,1,844
				addi 3,1,48
				bl memcpy
		.LVL380:
				addi 3,1,48
				bl _imp_printstring
		.LVL381:
		.LBE429:
		.LBE428:
  423             WRITE(SCOREA, 1); WRITE(SCOREB, 1); WRITE(SCOREC, 1)
				li 4,1
				lis 9,.LANCHOR0+1060@ha
				lwz 3,.LANCHOR0+1060@l(9)
				bl _imp_writeint
		.LVL382:
  424             WRITE(BAD, 1); WRITE(NPH, 1); WRITE(NPH2, 1)
				li 4,1
				mr 3,31
				bl _imp_writeint
		.LVL383:
				li 4,1
				lwz 3,36(1)
				bl _imp_writeint
		.LVL385:
  425             WRITE(LOSS, 1); NEWLINE
				li 4,1
				mr 3,19
				bl _imp_writeint
		.LVL384:
				li 4,1
				mr 3,16
				bl _imp_writeint
		.LVL386:
				li 4,1
				mr 3,30
				bl _imp_writeint
		.LVL388:
		.LBB430:
		.LBB431:
				bl _imp_newline
		.LVL389:
		.LBE431:
		.LBE430:
		.LBB432:
		.LBB433:
				li 9,0
				stw 9,_imp_OutStream@l(24)
				lwz 9,4(29)
				stw 9,_imp_OutFile@l(25)
				mr 3,27
				bl check_outstream
		.LVL390:
		.LDL12:
		.LBE433:
		.LBE432:
  426             SELECT OUTPUT(0)
				li 4,1
				lwz 3,40(1)
				bl _imp_writeint
		.LVL387:
  427          %FINISH
  428          %RESULT = SCOREC %IF SCOREC # 0
				cmpwi 7,19,0
				bne 7,.L154
		.L180:
  429          %RESULT = SCOREB+SCOREA-LOSS*WHICH
				lis 9,.LANCHOR0+1060@ha
				lwz 19,.LANCHOR0+1060@l(9)
		.LVL391:
				add 31,31,19
		.LVL392:
				lwz 9,44(1)
				mullw 30,9,30
		.LVL393:
				subf 19,30,31
		.L154:
		.LVL394:
		.LBE434:
		.LBE441:
  430       %END
?LIST2 unused
  431       !!
  432       %INTEGERFN MOVES(%INTEGER WHICH, SCRQ)
				stwu 1,-1952(1)
				mfcr 12
				stw 28,1936(1)
				stw 31,1948(1)
				stw 12,1916(1)
				mr 28,3
				mr 31,11
				lwz 9,-28680(2)
				stw 9,1900(1)
				li 9,0
				addi 9,1,1952
				stw 9,616(1)
				stw 3,580(1)
				stw 4,612(1)
				stw 11,592(1)
  433          %INTEGER X, Y, Q, QQ, WHICHX, A, B, K, I, TYPE, W2, DIAG
  434          %INTEGER SPEC, PIN FLAG, PIN PIECE, POX, POY, SQU, IMODK
  435          %RECORD(ROWF)%NAME ROW
  436          %RECORD(LISTF)%NAME LIST
  437          %OWNINTEGERARRAY KCASCH( -1:1) = 1, 0, 8
  438          %SWITCH MOVE(1:6)
  439          !!
  440          %INTEGER %FN DOM(%INTEGER X0, Y0)
		.LVL281:
				stwu 1,-1440(1)
				lwz 9,-28680(2)
				stw 9,1356(1)
				li 9,0
		.LVL282:
		.LBB417:
  441             %RECORD(SQF)%NAME SQ
  442             %INTEGER I, J, K
  443             %RECORD(LISTF)%NAME LIST2
  444             %RECORD(LISTF)%NAME N
  445             !!
  446             !*
  447             !* SCRQ =  0  STANDARD ENTRY FOR ONE PLY
  448             !*        +1  ENTRY FROM SCORE
  449             !*        +2
  450             !*        +3  PINNED PIECE ENTRY
  451             !*
  452             %UNLESS 1 <= X0 <=8 %AND 1 <=Y0<=8 %THEN %RESULT = 0
  453             SQ == BRD(Y0)_R(X0)
				mr 8,9
				addi 6,3,-1
		.LVL284:
  454            K = SQ_P
				slwi 9,9,3
				add 9,9,6
				slwi 9,9,4
				lis 10,.LANCHOR0@ha
				la 10,.LANCHOR0@l(10)
				lwzx 19,10,9
		.LVL285:
  455             %IF SCRQ <= 0 %START
				addi 9,3,-1
				cmplwi 7,9,7
				bgt 7,.L209
				stw 26,1416(1)
				mr 26,11
		.LVL283:
		.LBE417:
		.LBB418:
				lwz 9,72(11)
				cmpwi 7,9,0
				ble 7,.L227
		.L132:
		.LVL286:
  456                %IF K#0 %AND K&BIT = Q&BIT %THEN %C
				cmpwi 7,19,0
				bne 7,.L211
		.L133:
  457                 %RESULT = 0
  458                %IF QQ=PAWN %START
				lwz 9,68(11)
				cmpwi 7,9,1
				beq 7,.L231
		.L134:
		.L135:
		.L136:
		.L137:
				stw 17,1380(1)
				li 3,0
		.LVL436:
				lwz 19,1388(1)
		.LVL437:
				lwz 26,1416(1)
				b .L129
		.LVL438:
		.L244:
				mflr 0
				stw 0,1444(1)
				stw 14,1368(1)
				stw 15,1372(1)
				stw 16,1376(1)
				stw 17,1380(1)
				stw 18,1384(1)
				stw 19,1388(1)
				stw 20,1392(1)
				stw 21,1396(1)
				stw 22,1400(1)
				stw 23,1404(1)
				stw 24,1408(1)
				stw 25,1412(1)
				stw 26,1416(1)
				stw 27,1420(1)
				stw 28,1424(1)
				stw 29,1428(1)
				stw 30,1432(1)
				stw 31,1436(1)
  459                   %IF (TYPE=0 %AND K#0) %OR %C
  460                      (TYPE=1 %AND K=0) %THEN %RESULT = 0
  461                     %IF Y0=1 %OR Y0=8 %THEN SPEC=5*Q; ! QUEEN
  462                %FINISH
				addi 9,4,-1
				cmplwi 7,9,7
				bgt 7,.L210
				stw 19,1388(1)
		.L131:
		.LBE418:
				lwz 9,64(11)
				cmpwi 7,9,1
				bne 7,.L137
  463                SPEC = 0
				li 9,0
				stw 9,56(26)
  464                N == FREE LIST;  FREE LIST == RECORD(ADDR(N_L))
				lwz 9,52(26)
				lwz 17,1240(9)
		.LVL295:
  465                %IF ADDR(FREE LIST) = 0 %START
				lwz 10,0(17)
				stw 10,1240(9)
				lwz 9,52(26)
				lwz 9,1240(9)
				cmpwi 7,9,0
				beq 7,.L232
		.L138:
				mflr 0
				stw 0,1444(1)
				stw 14,1368(1)
				stw 15,1372(1)
				stw 16,1376(1)
				stw 18,1384(1)
				stw 20,1392(1)
				stw 21,1396(1)
				stw 22,1400(1)
				stw 23,1404(1)
				stw 24,1408(1)
				stw 25,1412(1)
				stw 27,1420(1)
				stw 28,1424(1)
				stw 29,1428(1)
				stw 30,1432(1)
				stw 31,1436(1)
				mr 3,19
		.LVL308:
		.L130:
		.L206:
				lwz 19,1388(1)
		.LVL309:
				lwz 26,1416(1)
				b .L129
		.LVL310:
		.L232:
				mflr 0
				stw 0,1444(1)
				stw 14,1368(1)
				stw 15,1372(1)
				stw 16,1376(1)
				stw 18,1384(1)
				stw 20,1392(1)
				stw 21,1396(1)
				stw 22,1400(1)
				stw 23,1404(1)
				stw 24,1408(1)
				stw 25,1412(1)
				stw 27,1420(1)
				stw 28,1424(1)
				stw 29,1428(1)
				stw 30,1432(1)
				stw 31,1436(1)
		.LBB436:
  466                   PRINTSTRING("OUT OF FREE CELLS!!!
				li 5,256
				lis 4,.LANCHOR1@ha
		.LVL311:
				la 4,.LANCHOR1@l(4)
				addi 4,4,2797
				addi 3,1,1100
		.LVL312:
				bl memcpy
		.LVL313:
				li 5,256
				addi 4,1,1100
				addi 3,1,844
				bl memcpy
		.LVL314:
				li 5,256
				addi 4,1,844
				addi 3,1,1100
				bl memcpy
		.LVL315:
		.LBE436:
		.LBB437:
		.LBB438:
				li 5,256
				addi 4,1,1100
				addi 3,1,48
				bl memcpy
		.LVL316:
				addi 3,1,48
				bl _imp_printstring
		.LVL317:
		.LBE438:
		.LBE437:
		.LBB439:
		.LBB440:
				li 3,0
				bl exit
		.LVL318:
		.L235:
		.LDL10:
		.LDL11:
		.LBE440:
		.LBE439:
		.LBB441:
		.LBB434:
  467 ")
				li 3,0
		.LVL432:
		.L129:
				li 3,0
		.LVL434:
				lwz 26,1416(1)
				b .L129
		.LVL435:
		.L211:
  468                   %STOP
  469                %FINISH
  470                N_FR = X<<4+Y
				lwz 10,48(26)
				slwi 10,10,4
				lwz 9,44(26)
				add 10,10,9
				rlwinm 10,10,0,0xff
				stb 10,4(17)
  471                N_TO = X0<<4+Y0
				slwi 9,3,4
				add 9,9,4
				stb 9,5(17)
  472                N_SPEC = SPEC
				lwz 9,56(26)
				stw 9,8(17)
		.LBB422:
  473                %IF 6 <= TYPE <= 7 %START
  474                   N_SPEC = TYPE
				stw 8,8(17)
  475                   N_TO = N_FR
				stb 10,5(17)
		.L139:
  476                %FINISH
				lwz 8,64(26)
		.LVL296:
				addi 9,8,-6
				cmplwi 7,9,1
				bgt 7,.L139
		.LBE422:
  477                N_SCORE = SCORE(WHICH, N)
				lwz 9,40(26)
				stw 9,44(1)
				lwz 23,52(26)
		.LVL297:
		.LBB423:
		.LBB424:
				stw 19,4(17)
  478                !!
  479                %IF TYPE = 6 %START;    ! ILLEGAL CASTLE CHECK
				lwz 9,64(26)
				cmpwi 7,9,6
				beq 7,.L240
		.L181:
		.L185:
  480                   %IF ROW_R(6)_ATT # 0 %THEN N_SCORE = MAX SCORE
				lwz 9,36(26)
				lwz 9,84(9)
				cmpwi 7,9,0
				beq 7,.L186
  481                %FINISH
				lis 9,0xffff
				ori 9,9,0x3cb0
				stw 9,4(17)
  482                %IF TYPE = 7 %START;     ! DITTO
				cmpwi 7,9,7
				beq 7,.L241
		.L182:
		.L186:
				lwz 9,64(26)
				cmpwi 7,9,7
				bne 7,.L183
  483                   %IF ROW_R(4)_ATT # 0 %THEN N_SCORE = MAX SCORE
				lwz 9,36(26)
				lwz 9,52(9)
				cmpwi 7,9,0
				beq 7,.L183
				b .L207
		.L241:
				lwz 9,36(26)
				lwz 9,52(9)
				cmpwi 7,9,0
				beq 7,.L186
		.L207:
  484                %FINISH
				lis 9,0xffff
				ori 9,9,0x3cb0
				stw 9,4(17)
		.L183:
  485                !!
  486 !!
  487                %IF N_SCORE = MAX SCORE %START;  ! WAS ILLEGAL
				lwz 9,4(17)
				lis 10,0xffff
				ori 10,10,0x3cb0
				cmpw 7,9,10
				beq 7,.L183
		.L187:
		.LVL395:
		.LBB442:
		.LBB443:
				lis 27,_imp_OutStream@ha
				li 9,2
				stw 9,_imp_OutStream@l(27)
				lis 28,_imp_OutFile@ha
				lis 31,_imp_outfile@ha
				la 31,_imp_outfile@l(31)
				lwz 9,556(31)
				stw 9,_imp_OutFile@l(28)
				lis 30,.LANCHOR1@ha
				la 30,.LANCHOR1@l(30)
				addi 29,30,3056
				mr 3,29
				bl check_outstream
		.LVL396:
		.LBE443:
		.LBE442:
		.LBB444:
		.LBB445:
				li 3,20
				bl _imp_spaces
		.LVL397:
		.LBE445:
		.LBE444:
  488                   N_L == FREE LIST;     ! RE-LINK IT
				lwz 9,52(26)
				lwz 9,1240(9)
				stw 9,0(17)
  489                   FREE LIST == RECORD(ADDR(N))
				lwz 9,52(26)
				stw 17,1240(9)
		.LDL14:
  490                   %IF K#0 %THEN %RESULT = 0; ! PIECE IN WAY, NO FURTHER
  491                   %RESULT= 1;       ! MUST TRAVERSE ENTIRE B,R OR Q PATH
				li 3,1
				lwz 14,1368(1)
				lwz 15,1372(1)
				lwz 16,1376(1)
				lwz 17,1380(1)
		.LVL413:
				lwz 18,1384(1)
				lwz 19,1388(1)
				lwz 20,1392(1)
				lwz 21,1396(1)
				lwz 22,1400(1)
				lwz 23,1404(1)
				lwz 24,1408(1)
				lwz 25,1412(1)
				lwz 26,1416(1)
				lwz 27,1420(1)
				lwz 28,1424(1)
				lwz 29,1428(1)
				lwz 30,1432(1)
				lwz 31,1436(1)
				lwz 0,1444(1)
				mtlr 0
				b .L129
		.LVL414:
		.L228:
  492                %FINISH
  493                !!
  494                !!
  495                %IF MON&2=2 %START
  496                   SELECT OUTPUT(2)
  497                   SPACES(20)
  498                   WRITE(XDEPTH, 5)
				li 4,5
				lis 9,.LANCHOR0+1064@ha
				lwz 3,.LANCHOR0+1064@l(9)
				bl _imp_writeint
		.LVL398:
		.LBB446:
  499                   PRINTSTRING("---")
				li 5,256
				addi 4,30,3330
				addi 3,1,588
				bl memcpy
		.LVL399:
				li 5,256
				addi 4,1,588
				addi 3,1,332
				bl memcpy
		.LVL400:
				li 5,256
				addi 4,1,332
				addi 3,1,588
				bl memcpy
		.LVL401:
		.LBE446:
		.LBB447:
		.LBB448:
				li 5,256
				addi 4,1,588
				addi 3,1,48
				bl memcpy
		.LVL402:
				addi 3,1,48
				bl _imp_printstring
		.LVL403:
		.LBE448:
		.LBE447:
  500                   PRINTMOVE(N)
				mr 3,17
				bl PRINTMOVE.7101
		.LVL404:
		.LBB449:
		.LBB450:
				bl _imp_newline
		.LVL405:
		.LBE450:
		.LBE449:
		.LBB451:
		.LBB452:
				li 9,0
				stw 9,_imp_OutStream@l(27)
				lwz 9,4(31)
				stw 9,_imp_OutFile@l(28)
				mr 3,29
				bl check_outstream
		.LVL406:
		.LDL13:
		.LBE452:
		.LBE451:
  501                   NEWLINE
  502                   SELECT OUTPUT(0)
  503                %FINISH
  504                !!
  505                N_L == LIST;  LIST == RECORD(ADDR(N))
				lwz 9,32(26)
				stw 9,0(17)
  506                %IF K=0 %THEN J=1 %ELSE J=0
				stw 17,32(26)
  507             %FINISHELSESTART
				li 3,1
				lwz 14,1368(1)
				lwz 15,1372(1)
				lwz 16,1376(1)
				lwz 17,1380(1)
		.LVL407:
				lwz 18,1384(1)
				lwz 19,1388(1)
				lwz 20,1392(1)
				lwz 21,1396(1)
				lwz 22,1400(1)
				lwz 23,1404(1)
				lwz 24,1408(1)
				lwz 25,1412(1)
				lwz 26,1416(1)
		.LVL408:
				lwz 27,1420(1)
				lwz 28,1424(1)
				lwz 29,1428(1)
				lwz 30,1432(1)
				lwz 31,1436(1)
				lwz 0,1444(1)
				mtlr 0
				b .L129
		.LVL409:
		.L239:
		.LBB453:
		.LBB435:
  508                J = 2
				li 3,2
		.LVL430:
		.L188:
		.L199:
		.L200:
		.L201:
		.L202:
		.L203:
		.L204:
		.L205:
  509                %IF K # 0 %START
				cmpwi 7,19,0
				beq 7,.L218
  510                   %IF QQ=PAWN %AND TYPE=0 %THEN %RESULT = 0
				lwz 7,68(11)
				cmpwi 7,7,1
				beq 7,.L228
		.L189:
		.LVL287:
		.LBB419:
		.LBB420:
				srawi 10,19,31
				xor 19,10,19
		.LVL288:
				subf 19,10,19
		.LVL289:
		.LBE420:
		.LBE419:
  511                   J = 0;            ! POSSIBLY NO FURTHER
				li 3,0
		.LVL291:
				lwz 3,64(11)
		.LVL415:
				cmpwi 7,3,0
				beq 7,.L242
		.LVL416:
		.LBB454:
		.LBB421:
				srawi 10,19,31
				xor 19,10,19
		.LVL417:
				subf 19,10,19
		.LBE421:
		.LBE454:
				li 3,0
				b .L197
		.LVL419:
		.L242:
				lwz 19,1388(1)
		.LVL420:
				lwz 26,1416(1)
				b .L129
		.LVL421:
		.L229:
				li 3,0
		.LVL422:
				xori 3,19,0x4
				cntlzw 3,3
				srwi 3,3,5
				xori 3,19,0x3
		.LVL424:
				cntlzw 3,3
				srwi 3,3,5
  512                   IMODK = IMOD(K)
				stw 19,28(11)
		.LVL290:
				stw 19,28(11)
		.LVL418:
  513                   %IF K&BIT = Q&BIT %START;  ! ITS A DEFENCE
  514                         %IF QQ = 5 %START;            ! Q 'BEHIND'
				cmpwi 7,7,5
				beq 7,.L229
		.L191:
  515                            %IF (DIAG=1 %AND IMODK=3) %OR %C
				lwz 10,24(11)
				cmpwi 7,10,1
				beq 7,.L243
		.L192:
  516                             (DIAG=0 %AND IMODK=4) %THEN J=1
  517                         %FINISHELSESTART
  518                            %IF IMODK=5 %START
				cmpwi 7,19,5
				beq 7,.L230
		.L193:
		.L194:
		.L195:
		.L196:
		.L197:
		.LVL292:
				cmpwi 7,10,0
				bne 7,.L197
  519                               %IF 3<=QQ<=4 %THEN J=1
  520                            %FINISH
				b .L197
		.L230:
		.LVL425:
		.LBB455:
  521                         %FINISH
  522                         ! IF A PIECE DOUBLES UP, THEN KEEP GOING
				b .L197
		.LVL423:
		.L243:
				addi 10,7,-3
				subfic 10,10,1
				subfe 3,3,3
				addi 3,3,1
				b .L197
		.LVL426:
		.L198:
		.LBE455:
  523                      %IF SCRQ # 3 %START
				cmpwi 7,9,3
				beq 7,.L198
  524                        %IF PINFLAG = 0 %THEN %C
				lwz 9,20(26)
				cmpwi 7,9,0
				bne 7,.L205
  525                           SQ_DEF = SQ_DEF+BIT VAL(QQ)
				slwi 9,8,3
				add 9,9,6
				slwi 10,9,4
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				add 9,9,10
				lwz 8,52(26)
		.LVL293:
				addi 10,7,159
				slwi 10,10,2
				lwzx 10,8,10
				lwz 8,8(9)
				add 10,10,8
				stw 10,8(9)
				b .L205
		.LVL294:
		.L227:
  526                     %FINISHELSESTART
  527                        SQ_DEF = SQ_DEF-BIT VAL(QQ)
				slwi 9,8,3
				add 9,9,6
				slwi 10,9,4
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				add 9,9,10
				lwz 6,52(26)
		.LVL427:
				addi 10,7,159
				slwi 10,10,2
				lwz 8,8(9)
		.LVL428:
				lwzx 10,6,10
				subf 10,10,8
				stw 10,8(9)
				b .L205
		.LVL429:
		.L218:
  528                     %FINISH
  529                   %FINISHELSESTART
  530                      %IF SCRQ = 3 %START
  531                                         ! PIECE QQ IS ATTACKING K
  532                         %IF PIN REMOVE >= IMODK %THEN %C
  533                           SQ_ATT = SQ_ATT-BIT VAL(QQ)
  534                      %FINISHELSESTART
  535                         %IF PINFLAG=0 %START
  536                            SQ_ATT = SQ_ATT+BIT VAL(QQ)
  537                            PINFLAG=1; J=3
  538                            PINPIECE=IMODK; POX=X0; POY=Y0
  539                         %FINISHELSESTART
  540                            %IF IMODK>3 %AND IMODK>PIN PIECE %START
  541                               %IF PIN PT#0 %START
  542
  543                                  %CYCLE I = 1,1,PIN PT
  544                                     %IF PINX(I)=POX %AND PINY(I)=POY %C
  545                                        %THEN ->NO PIN
  546                                  %REPEAT
  547                               %FINISH
  548                               PIN PT = PIN PT+1
  549                               PINX(PINPT) = POX
  550                               PINY(PINPT) = POY
  551                               PINDX(PINPT) = SQU
  552                               PINPY(PINPT) = PIN PIECE
  553 NO PIN:
  554                            %FINISH
  555                         %FINISH
  556                      %FINISH
  557                   %FINISH
  558                %FINISH
  559                SCOREA = SCOREA+W2
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				lwz 10,1060(9)
				lwz 8,0(26)
				add 10,10,8
				stw 10,1060(9)
				lwz 19,1388(1)
				lwz 26,1416(1)
				b .L129
		.LVL431:
		.L209:
  560             %FINISH
  561             %RESULT = J
  562          %END
				lwz 9,1356(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L244
				addi 1,1,1440
				blr
		.LVL433:
		.L210:
				bl __stack_chk_fail
		.LVL439:
		.LFE194:
				.align 2
		MOVES.7084:
		.LFB193:
?LIST2 unused
  563          !!
  564          DIAG = 0
				li 9,0
				stw 9,564(1)
  565          LIST == RECORD(0)
				stw 9,572(1)
		.LVL440:
  566          WHICHX = WHICH&BIT
  567          !!
  568          %IF SCRQ = 3 %START;           ! PIN ENTRY
				cmpwi 7,4,3
				beq 7,.L333
		.L246:
  569             X = PX; Y = PY
				lis 10,.LANCHOR0@ha
				la 10,.LANCHOR0@l(10)
				lwz 8,1068(10)
				stw 8,588(1)
  570             SQU = (Y-1)*8+X
				lwz 9,1072(10)
				stw 9,584(1)
				addi 9,9,-1
				slwi 9,9,3
				add 9,9,8
				stw 9,544(1)
		.LVL443:
		.L247:
  571             -> PIN ENTRY
  572          %FINISH
  573
  574          !!
  575          SQU = 0
				li 9,0
				stw 9,544(1)
		.LVL441:
		.L248:
  576          %CYCLE Y = 1,1, 8
  577
  578             %CYCLE X = 1, 1, 8
  579                TYPE = -1
				li 9,-1
				stw 9,604(1)
				lwz 9,584(1)
				cmpwi 7,9,8
				beq 7,.L251
				lwz 24,1920(1)
				lwz 25,1924(1)
				lwz 26,1928(1)
				lwz 27,1932(1)
				lwz 29,1940(1)
				lwz 30,1944(1)
				lwz 0,1956(1)
				mtlr 0
				b .L248
		.LVL509:
		.L287:
				stw 27,1932(1)
  580                SQU = SQU+1
				addi 9,9,1
				stw 9,584(1)
				lwz 9,544(1)
				addi 9,9,1
				stw 9,544(1)
				b .L247
		.LVL442:
		.L333:
  581 PIN ENTRY:
				li 9,0
		.L252:
				lwz 9,588(1)
				cmpwi 7,9,8
				bne 7,.L252
		.L249:
				mflr 0
				stw 0,1956(1)
				stw 24,1920(1)
				stw 25,1924(1)
				stw 26,1928(1)
				stw 27,1932(1)
				stw 29,1940(1)
				stw 30,1944(1)
		.L250:
  582                Q = PT(SQU)_P;           ! PICK UP PIECE(X,Y)
				addi 9,9,1
				stw 9,588(1)
				lwz 9,544(1)
				addi 9,9,19
				slwi 9,9,2
				lwzx 9,31,9
				lwz 9,0(9)
				stw 9,600(1)
  583                %IF Q # 0 %AND (Q&BIT = WHICHX %OR %C
				cmpwi 7,9,0
				beq 7,.L299
  584                  SCRQ > 0) %START
				srwi 10,28,31
				and. 10,10,9
				bne 0,.L256
  585                   %IF Q<0 %THEN QQ=-Q %AND W2=-1 %ELSE %C
				lwz 10,612(1)
				cmpwi 7,10,0
				ble 7,.L299
		.L256:
				mflr 0
				stw 0,1956(1)
				stw 29,1940(1)
				stw 30,1944(1)
				cmpwi 7,9,0
				blt 7,.L334
		.L257:
  586                     QQ = Q %AND W2 = +1
				neg 9,9
				stw 9,608(1)
  587                   -> MOVE(QQ)
				lwz 30,608(1)
		.LVL445:
		.LDL15:
				li 9,-1
				stw 9,540(1)
  588
				b .L258
		.LVL449:
		.L261:
  589 MOVE(1):                                ! PAWN
  590                   TYPE = 0
				stw 9,608(1)
				li 30,0
				stw 30,604(1)
  591                   PIN FLAG = 0
				li 9,1
				stw 9,540(1)
		.L258:
		.LVL444:
				stw 30,560(1)
  592                   K = DOM(X, Y-W2)
				addi 11,1,540
				lwz 4,584(1)
				lwz 9,540(1)
				subf 4,9,4
				lwz 3,588(1)
				bl DOM.7342
		.LVL450:
  593                   PIN FLAG = 0
				stw 30,560(1)
  594                   K=DOM(X, Y-W2-W2) %IF (Y=2 %OR Y=7) %AND K#0
				lwz 9,584(1)
				cmpwi 7,9,2
				beq 7,.L262
  595                   TYPE = 1
				cmpwi 7,9,7
				beq 7,.L262
		.LVL451:
		.L263:
				li 9,1
				stw 9,604(1)
  596                   PIN FLAG = 0
				li 30,0
				stw 30,560(1)
  597                   K = DOM(X-1, Y-W2); PIN FLAG = 0;  K=DOM(X+1, Y-W2)
				addi 11,1,540
				lwz 4,584(1)
				lwz 9,540(1)
				subf 4,9,4
				lwz 3,588(1)
				addi 3,3,-1
				bl DOM.7342
		.LVL452:
				cmpwi 7,3,0
				beq 7,.L263
  598                   ->OUT
				stw 30,560(1)
				lwz 29,1940(1)
				lwz 30,1944(1)
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL454:
		.L262:
				lwz 4,540(1)
				subf 9,4,9
				addi 11,1,540
				subf 4,4,9
				lwz 3,588(1)
		.LVL455:
				bl DOM.7342
		.LVL456:
				b .L263
		.L264:
				stw 27,1932(1)
		.LVL457:
  599                   !!
				addi 11,1,540
				lwz 4,584(1)
				lwz 9,540(1)
				subf 4,9,4
				lwz 3,588(1)
				addi 3,3,1
				bl DOM.7342
		.LVL453:
  600 MOVE(2):                                ! KNIGHT
  601                   %CYCLE A = -2, 4, 2
  602                      %CYCLE B = -1, 2, 1
				li 29,-6
  603                            PIN FLAG = 0
				li 27,0
				b .L266
		.LVL458:
		.L336:
		.LDL16:
		.LDL17:
				li 30,-3
		.LVL461:
		.L265:
				stw 27,560(1)
  604                            K = DOM(X+A, Y+B)
				cmpwi 7,29,2
				beq 7,.L335
		.LVL459:
		.L266:
				addi 11,1,540
				lwz 4,584(1)
				add 4,30,4
				lwz 3,588(1)
				add 3,29,3
				bl DOM.7342
		.LVL463:
  605                             PIN FLAG = 0
				addi 29,29,4
		.LVL460:
				stw 27,560(1)
				cmpwi 7,30,1
				bne 7,.L265
				b .L336
		.L335:
  606                            K = DOM(X+B, Y+A)
				addi 30,30,2
		.LVL462:
				addi 11,1,540
				lwz 4,584(1)
				add 4,29,4
				lwz 3,588(1)
				add 3,30,3
				bl DOM.7342
		.LVL464:
		.LDL18:
  607                      %REPEAT
  608                   %REPEAT
  609                   -> OUT
  610                   !!!
  611 MOVE(3):                                ! BISHOP
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL465:
				lwz 30,1944(1)
		.LVL466:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.L268:
		.L269:
  612 MOVE(5):                                ! QUEEN
  613                   DIAG = 1
				li 9,1
				stw 9,564(1)
		.LVL467:
  614                   I = 0;  PIN FLAG = 0
				li 29,0
		.LVL468:
		.L270:
  615                   %CYCLE
				li 9,0
				stw 9,560(1)
  616                      I = I-1
				addi 29,29,-1
		.LVL469:
  617                      K = DOM(X+I, Y+I)
				addi 11,1,540
				lwz 4,584(1)
				add 4,29,4
				lwz 3,588(1)
				add 3,29,3
				bl DOM.7342
		.LVL470:
  618                   %REPEAT %UNTIL K = 0
				mr. 30,3
				bne 0,.L270
		.L271:
		.LVL471:
  619                   I = 0;  PIN FLAG = 0
  620                   %CYCLE
				li 9,0
				stw 9,560(1)
		.LVL472:
		.L272:
  621                      I = I-1
				addi 30,30,-1
		.LVL473:
  622                      K = DOM(X-I, Y+I)
				addi 11,1,540
				lwz 4,584(1)
				add 4,30,4
				lwz 3,588(1)
		.LVL474:
				subf 3,30,3
				bl DOM.7342
		.LVL475:
  623                   %REPEAT %UNTIL K = 0
				mr. 29,3
				bne 0,.L272
		.L273:
		.LVL476:
  624                   I = 0;  PIN FLAG = 0
  625                   %CYCLE
				li 9,0
				stw 9,560(1)
		.LVL477:
		.L274:
  626                      I = I-1
				addi 29,29,-1
		.LVL478:
  627                      K = DOM(X+I, Y-I)
				addi 11,1,540
				lwz 4,584(1)
				subf 4,29,4
				lwz 3,588(1)
		.LVL479:
				add 3,29,3
				bl DOM.7342
		.LVL480:
  628                   %REPEAT %UNTIL K = 0
				mr. 30,3
				bne 0,.L274
		.L275:
		.LVL481:
  629                   I = 0;  PIN FLAG = 0
  630                   %CYCLE
				li 9,0
				stw 9,560(1)
		.LVL482:
		.L276:
  631                      I = I-1
				addi 30,30,-1
		.LVL483:
  632                      K = DOM(X-I, Y-I)
				addi 11,1,540
				lwz 4,584(1)
				subf 4,30,4
				lwz 3,588(1)
		.LVL484:
				subf 3,30,3
				bl DOM.7342
		.LVL485:
  633                   %REPEAT %UNTIL K = 0
				cmpwi 7,3,0
				bne 7,.L276
		.L277:
  634                   -> OUT %IF QQ # QUEEN;     ! THE BISHOP
				lwz 9,608(1)
				cmpwi 7,9,5
				beq 7,.L279
		.L255:
		.L295:
		.L296:
		.L297:
		.L298:
				lwz 29,1940(1)
				lwz 30,1944(1)
		.LVL486:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.L278:
		.LVL487:
		.L279:
  635
  636 MOVE(4):                                ! ROOK
  637                   DIAG = 0
				li 9,0
				stw 9,564(1)
		.LVL488:
  638                   K = 1;  I = 0;  PIN FLAG = 0
  639                   %CYCLE
				li 29,0
		.LVL489:
		.L280:
  640                      I = I-1
				stw 9,560(1)
				addi 29,29,-1
		.LVL490:
  641                      K = DOM(X, Y+I)
				addi 11,1,540
				lwz 4,584(1)
				add 4,29,4
				lwz 3,588(1)
				bl DOM.7342
		.LVL491:
  642                   %REPEAT %UNTIL K = 0
				mr. 30,3
				bne 0,.L280
		.L281:
		.LVL492:
  643                   I = 0;  PIN FLAG = 0
  644                   %CYCLE
				li 9,0
				stw 9,560(1)
		.LVL493:
		.L282:
  645                      I = I+1
				addi 30,30,1
		.LVL494:
  646                      K = DOM(X+I, Y)
				addi 11,1,540
				lwz 4,584(1)
				lwz 3,588(1)
		.LVL495:
				add 3,30,3
				bl DOM.7342
		.LVL496:
  647                   %REPEAT %UNTIL K = 0
				mr. 29,3
				bne 0,.L282
		.L283:
		.LVL497:
  648                   I = 0;  PIN FLAG = 0
  649                   %CYCLE
				li 9,0
				stw 9,560(1)
		.LVL498:
		.L284:
  650                      I = I+1
				addi 29,29,1
		.LVL499:
  651                      K = DOM(X, Y+I)
				addi 11,1,540
				lwz 4,584(1)
				add 4,29,4
				lwz 3,588(1)
		.LVL500:
				bl DOM.7342
		.LVL501:
  652                   %REPEAT %UNTIL K = 0
				mr. 30,3
				bne 0,.L284
		.L285:
		.LVL502:
  653                   I = 0;  PIN FLAG = 0
  654                   %CYCLE
				li 9,0
				stw 9,560(1)
		.LVL503:
		.L286:
  655                      I = I-1
				addi 30,30,-1
		.LVL504:
  656                      K = DOM(X+I, Y)
				addi 11,1,540
				lwz 4,584(1)
				lwz 3,588(1)
		.LVL505:
				add 3,30,3
				bl DOM.7342
		.LVL506:
  657                   %REPEAT %UNTIL K = 0
				cmpwi 7,3,0
				bne 7,.L286
  658                   -> OUT
  659
				lwz 29,1940(1)
				lwz 30,1944(1)
		.LVL507:
				lwz 0,1956(1)
				mtlr 0
		.LVL508:
		.L299:
  660
  661                   !!
  662 MOVE(6):                                ! KING
  663                   ROW == BRD(Y)
				lwz 9,584(1)
				addi 9,9,-1
				slwi 10,9,7
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				add 9,9,10
				stw 9,576(1)
		.LVL510:
  664                   %CYCLE A = -1, 1, 1
  665                      %CYCLE B = -1, 1, 1
				li 29,-2
  666                         %IF A#0 %OR B#0 %START
				li 30,-2
				addi 29,29,1
		.LVL513:
				cmpwi 4,29,0
		.LVL514:
		.L288:
				beq 4,.L338
		.L291:
  667                           PIN FLAG = 0
				li 27,0
				b .L290
		.LVL511:
		.L339:
		.LDL19:
		.LDL20:
				cmpwi 7,29,1
				beq 7,.L337
		.LVL512:
		.L290:
				stw 27,560(1)
				cmpwi 7,30,0
				bne 7,.L291
  668                           K = DOM(X+A, Y+B)
				addi 11,1,540
				lwz 4,584(1)
				add 4,30,4
				lwz 3,588(1)
				add 3,29,3
				bl DOM.7342
		.LVL516:
				cmpwi 7,30,1
				bne 7,.L288
				b .L339
		.L338:
  669                          ! %IF K#0 %AND W2#WHICH %THEN K MOB=K MOB+1
				addi 30,30,1
		.LVL515:
  670                         %FINISH
				b .L288
		.L337:
		.L289:
  671                      %REPEAT
  672                   %REPEAT
  673                   %IF LAST CHK # Q %AND %C
				lis 9,.LANCHOR0+1076@ha
				lwz 9,.LANCHOR0+1076@l(9)
				lwz 10,600(1)
				cmpw 7,9,10
				beq 7,.L326
  674                     KCASCH(W2) = Y %AND KMOVE(W2)=0 %START
				lwz 8,540(1)
				addi 10,8,1
				slwi 7,10,2
				lis 9,.LANCHOR1@ha
				la 9,.LANCHOR1@l(9)
				add 9,9,7
				lwz 4,3588(9)
				lwz 9,584(1)
				cmpw 7,4,9
				beq 7,.L340
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL517:
				lwz 30,1944(1)
		.LVL518:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL519:
		.L340:
  675                                         ! CORRECT ROW AND ABLE TO CASTLE
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				add 10,9,10
				lbz 9,1080(10)
				cmpwi 7,9,0
				bne 7,.L328
		.LBB464:
  676                      %IF ROW_R(6)_P = 0 = ROW_R(7)_P %AND %C
  677                        ROW_R(8)_P = ROOK*W2 %START
  678                         TYPE = 6; K = DOM(7, Y); ! DO CASTLE
				li 9,6
				stw 9,604(1)
  679                      %FINISH
				lwz 10,576(1)
		.LVL520:
				lwz 9,80(10)
				cmpwi 7,9,0
				bne 7,.L294
				addi 11,1,540
				li 3,7
				bl DOM.7342
		.LVL525:
				b .L294
		.LVL526:
		.L342:
  680                      %IF ROW_R(4)_P = 0 =ROW_R(3)_P %AND %C
  681                        ROW_R(2)_P = 0 %AND ROW_R(1)_P = ROOK*W2 %C
				lwz 9,96(10)
				cmpwi 7,9,0
				bne 7,.L294
		.LBE464:
  682                        %START
  683                         TYPE = 7; K = DOM(3, Y)
				slwi 8,8,2
				lwz 9,112(10)
				cmpw 7,9,8
				beq 7,.L341
		.L294:
		.LBB465:
				lwz 10,576(1)
		.LVL521:
				lwz 9,48(10)
				cmpwi 7,9,0
				bne 7,.L329
				li 9,7
				stw 9,604(1)
  684                      %FINISH
				addi 11,1,540
				lwz 4,584(1)
				li 3,3
				bl DOM.7342
		.LVL527:
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL528:
				lwz 30,1944(1)
		.LVL529:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL530:
		.L326:
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL531:
				lwz 30,1944(1)
		.LVL532:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL533:
		.L328:
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL534:
				lwz 30,1944(1)
		.LVL535:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL536:
		.L329:
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL537:
				lwz 30,1944(1)
		.LVL538:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL539:
		.L330:
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL540:
				lwz 30,1944(1)
		.LVL541:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL542:
		.L331:
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL543:
				lwz 30,1944(1)
		.LVL544:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL545:
		.L251:
  685                   %FINISH
				lwz 9,32(10)
				cmpwi 7,9,0
				bne 7,.L330
		.LBE465:
  686                   !!
  687 OUT:
				lwz 9,16(10)
				cmpwi 7,9,0
				bne 7,.L331
  688                %FINISH
				lwz 9,540(1)
				slwi 8,9,2
				lwz 9,0(10)
				cmpw 7,9,8
				beq 7,.L342
				lwz 27,1932(1)
				lwz 29,1940(1)
		.LVL522:
				lwz 30,1944(1)
		.LVL523:
				lwz 0,1956(1)
				mtlr 0
				b .L299
		.LVL524:
		.L341:
  689                %RESULT = 0 %IF SCRQ = 3
				lwz 10,612(1)
				cmpwi 7,10,3
				beq 7,.L245
		.L253:
		.L254:
  690             %REPEAT
				li 3,0
  691          %REPEAT
  692          CHECK PINS(WHICH) %IF SCRQ > 0
				cmpwi 7,10,0
				ble 7,.L310
		.LVL546:
		.LBB466:
		.LBB467:
  693                                         ! ONLY ON SCORE ENTRY
				lwz 25,580(1)
		.LVL547:
		.LBB471:
		.LBB470:
		.LBB468:
  694
  695          %RESULT = ADDR(LIST)
				lwz 3,572(1)
				lwz 24,1920(1)
				lwz 25,1924(1)
				lwz 26,1928(1)
				lwz 27,1932(1)
				lwz 29,1940(1)
				lwz 30,1944(1)
				lwz 0,1956(1)
				mtlr 0
		.L245:
  696       %END
  697       !!
  698       %INTEGERFN SORT AND PRUNE(%RECORD(LISTF)%NAME LIST, %C
		.LVL65:
				stwu 1,-1344(1)
				stw 29,1332(1)
				stw 31,1340(1)
				lwz 9,-28680(2)
				stw 9,1308(1)
				li 9,0
				addi 9,30,-1
				cmplwi 7,9,5
				bgt 7,.L259
		.L260:
				lis 9,_imp_current_file@ha
				lwz 4,_imp_current_file@l(9)
				cmpwi 7,4,0
				beq 7,.L311
				addi 3,1,876
				bl _imp_c2istr
		.LVL567:
		.L312:
				lis 9,_imp_current_line@ha
				lwz 29,_imp_current_line@l(9)
				cmpwi 7,29,0
				bne 7,.L313
				li 29,698
		.L313:
				li 5,256
				addi 4,1,876
				addi 3,1,16
				bl memcpy
		.LVL568:
				li 9,587
				stw 9,8(1)
				lis 10,.LC35@ha
				la 10,.LC35@l(10)
				mr 9,30
				lis 8,.LC36@ha
				la 8,.LC36@l(8)
				mr 7,30
				li 6,3
				li 5,6
				mr 4,29
				addi 3,1,16
				crxor 6,6,6
				bl _signal_eventf
		.LVL569:
				b .L260
		.L311:
		.LBB472:
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,12
				addi 3,1,1644
				bl memcpy
		.LVL570:
				li 5,256
				addi 4,1,1644
				addi 3,1,620
				bl memcpy
		.LVL571:
		.LBE472:
				li 5,256
				addi 4,1,620
				addi 3,1,876
				bl memcpy
		.LVL572:
				b .L312
		.LVL573:
		.L344:
				mflr 0
				stw 0,1956(1)
				stw 24,1920(1)
				stw 25,1924(1)
				stw 26,1928(1)
				stw 27,1932(1)
				stw 29,1940(1)
				stw 30,1944(1)
  699          %INTEGER WIDTH, WHICH)
				addi 30,30,-1
		.LVL446:
				slwi 30,30,2
		.LVL447:
				lis 9,.LANCHOR1@ha
				la 9,.LANCHOR1@l(9)
				add 30,9,30
				lwz 9,3856(30)
				mtctr 9
				bctr
		.LVL448:
		.L334:
  700
				lwz 9,1900(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L344
				lwz 12,1916(1)
				lwz 28,1936(1)
				lwz 31,1948(1)
				mtcrf 8,12
				addi 1,1,1952
				blr
		.LVL566:
		.L259:
				bl __stack_chk_fail
		.LVL574:
		.LFE193:
				.align 2
		TRYANOTHERPLY.7228:
		.LFB191:
  701
  702          %INTEGER I, MAX
  703          %RECORD(LISTF)%NAME M1, M2, L, LN, RES
  704          %CONSTINTEGERARRAY MAXA(-1:1) = 25000, 0, -25000
				lis 10,.LANCHOR1@ha
				la 9,.LANCHOR1@l(10)
				lwz 8,.LANCHOR1@l(10)
				lwz 10,4(9)
				lwz 9,8(9)
				stw 8,528(1)
				stw 10,532(1)
				stw 9,536(1)
  705          !!
  706
  707          %RESULT = 0 %IF ADDR(LIST) = 0
				mr. 29,3
				beq 0,.L32
				stw 27,1324(1)
				stw 28,1328(1)
				stw 30,1336(1)
				mr 28,4
				mr 30,5
				mr 27,11
		.L34:
		.LVL66:
		.LBB308:
  708
				li 31,0
  709          RES == RECORD(0)
  710          %CYCLE I = 1, 1, WIDTH
  711             M1 == RECORD(0)
				mr 6,5
				b .L47
		.LVL99:
		.L41:
		.LBE308:
  712             M2 == M1; LN == M1
				addic. 9,4,-1
				blt 0,.L63
		.LVL67:
		.L35:
				lis 9,_imp_current_file@ha
				lwz 4,_imp_current_file@l(9)
		.LVL71:
				cmpwi 7,4,0
				beq 7,.L36
				addi 3,1,796
		.LVL72:
				bl _imp_c2istr
		.LVL73:
		.L37:
				lis 9,_imp_current_line@ha
				lwz 31,_imp_current_line@l(9)
				cmpwi 7,31,0
				bne 7,.L38
				li 31,712
		.L38:
				lis 4,.LC33@ha
				la 4,.LC33@l(4)
				addi 3,1,1052
				bl _imp_c2istr
		.LVL74:
				li 5,256
				addi 4,1,796
				addi 3,1,272
				bl memcpy
		.LVL75:
				li 5,256
				addi 4,1,1052
				addi 3,1,16
				bl memcpy
		.LVL76:
				li 8,0
				li 7,1
				li 6,5
				addi 5,1,16
				mr 4,31
				addi 3,1,272
				bl _signal_event
		.LVL77:
				lwz 0,1348(1)
				mtlr 0
				b .L35
		.LVL78:
		.L36:
		.LBB309:
				li 5,256
		.LVL79:
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,12
				addi 3,1,1052
		.LVL80:
				bl memcpy
		.LVL81:
				li 5,256
				addi 4,1,1052
				addi 3,1,540
				bl memcpy
		.LVL82:
		.LBE309:
				li 5,256
				addi 4,1,540
				addi 3,1,796
				bl memcpy
		.LVL83:
				b .L37
		.LVL84:
		.L58:
				mr 31,5
				mr 31,5
				b .L49
		.LVL119:
		.L66:
				mflr 0
				stw 0,1348(1)
				stw 27,1324(1)
				stw 28,1328(1)
				stw 30,1336(1)
		.LBE311:
  713             MAX = MAXA(WHICH)
				addi 9,30,1
				slwi 9,9,2
				addi 10,1,1312
				add 9,10,9
		.LVL69:
				li 3,0
				mr 8,5
  714
  715             L == LIST
				cmpwi 7,28,0
				beq 7,.L56
		.LVL68:
				cmpw 7,28,4
				beq 7,.L41
				li 31,0
				b .L39
		.LVL104:
		.L60:
		.LBE310:
  716             %%EXIT  %IF ADDR(L) = 0
				li 4,1
				addi 4,4,1
		.LVL97:
				mr 3,31
				cmpwi 7,29,0
				beq 7,.L42
		.LVL98:
		.L40:
  717
  718             %WHILE ADDR(L) # 0 %CYCLE
  719                %IF (WHICH<0 %AND L_SCORE<MAX) %OR %C
				lwz 11,-784(9)
				cmpwi 5,30,0
				b .L40
		.LVL70:
		.L63:
				mflr 0
				stw 0,1348(1)
				cmpwi 7,10,0
				beq 7,.L64
		.LVL91:
				blt 5,.L65
		.L44:
				cmpwi 7,29,0
				beq 7,.L43
				mr 9,29
				mr 7,11
  720                  (WHICH>0 %AND L_SCORE>MAX) %START
				lwz 10,4(9)
				cmpw 7,10,7
				bge 7,.L46
		.L45:
		.LVL87:
  721                   !!
  722                   M2 == L;  M1 == LN;  MAX = L_SCORE
				ble 5,.L46
  723                %FINISH
				lwz 10,4(9)
				cmpw 7,10,7
				ble 7,.L46
  724                !!
				lwz 7,4(9)
		.LVL88:
				mr 31,9
				mr 6,8
		.LVL89:
		.L46:
				b .L45
		.LVL93:
		.L64:
		.L48:
  725                LN == L;  L == L_L
  726             %REPEAT
				lwz 10,0(9)
		.LDL1:
		.LDL2:
		.LVL90:
				mr 8,9
				mr 9,10
		.LVL92:
		.L47:
  727
  728             !!
  729             L == M2_L;                  ! PICKUP ITS POINTER
				li 5,0
				mr 29,9
		.LVL85:
				b .L49
		.LVL86:
		.L65:
				lwz 9,0(31)
		.LVL94:
				lwz 29,0(5)
		.LVL117:
  730             M2_L == RES
				stw 3,0(31)
		.LVL95:
				stw 3,0(5)
		.LVL118:
  731             RES == M2;                     ! NOTE LINKS BACKWARDS
  732             %IF ADDR(M1) = 0 %THEN LIST == L %ELSE %C
				cmpwi 7,6,0
				beq 7,.L58
		.L50:
  733               M1_L == L
  734          %REPEAT
  735
  736          %IF ADDR(LIST) # 0 %THEN RELEASE CHAIN(LIST)
				stw 9,0(6)
		.LVL96:
		.L49:
				cmpwi 7,29,0
				beq 7,.L42
				mflr 0
				stw 0,1348(1)
		.LVL100:
		.L39:
  737          L == RECORD (0)
				mr 11,27
				mr 3,29
				bl RELEASECHAIN.7141
		.LVL101:
				lwz 0,1348(1)
				mtlr 0
		.L42:
		.LVL102:
  738          %WHILE ADDR(RES) # 0 %CYCLE
  739             M1 == RES_L;                ! NEXT LINK
				cmpwi 7,31,0
				beq 7,.L59
				li 10,0
				b .L52
		.LVL103:
		.L56:
				mflr 0
				stw 0,1348(1)
		.LBB310:
				lwz 9,0(31)
		.LVL106:
				cmpwi 7,9,0
				bne 7,.L60
		.LVL108:
				lwz 27,1324(1)
				lwz 28,1328(1)
		.LVL109:
				lwz 30,1336(1)
		.LVL110:
		.L32:
				li 31,0
		.LVL113:
		.L51:
  740             RES_L == L;                 ! LINK TO NEXT
				stw 10,0(31)
		.LVL107:
				mr 10,31
  741             L == RES
  742             RES == M1
				mr 31,9
		.LVL105:
		.L52:
  743          %REPEAT
  744          %RESULT = ADDR(L)
				lwz 27,1324(1)
				lwz 28,1328(1)
		.LVL114:
				lwz 30,1336(1)
		.LVL115:
				b .L32
		.LVL116:
		.L43:
		.LBB311:
  745       %END
				mr 3,31
				lwz 9,1308(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L66
				lwz 29,1332(1)
		.LVL111:
				lwz 31,1340(1)
				addi 1,1,1344
				blr
		.LVL112:
		.L59:
				bl __stack_chk_fail
		.LVL120:
		.LFE195:
				.align 2
		EXVAL.7196:
		.LFB189:
  746       !!
  747       %INTEGERFN CHANGE BOARD(%RECORD(LISTF{QHF})%NAME B)
		.LVL4:
				stwu 1,-16(1)
  748
  749          %RECORD(SQF)%NAME SQ
  750          %RECORD(ROWF)%NAME ROW
  751          %RECORD(LISTF)%NAME LIST
  752          %INTEGER FROM, TO, X, Y, X0, Y0, KING, CAS, ROOK
  753          LIST == B_L
				lwz 7,0(3)
		.LVL5:
  754          FROM = LIST_FR;  TO = LIST_TO
				lbz 9,4(7)
		.LVL6:
  755          X = FROM>>4;  X0 = TO>>4
				lbz 8,5(7)
		.LVL7:
				srwi 4,9,4
		.LVL8:
  756          Y = FROM&15; Y0 = TO&15
				rlwinm 10,9,0,28,31
		.LVL9:
				srwi 8,8,4
		.LVL11:
				addi 5,8,-1
		.LVL12:
  757          SQ == BRD(Y0)_R(X0)
				rlwinm 9,8,0,28,31
		.LVL10:
				addi 9,9,-1
  758          B_HOLD = SQ_P
				slwi 8,9,3
				add 8,8,5
				slwi 8,8,4
				lis 6,.LANCHOR0@ha
				la 6,.LANCHOR0@l(6)
				lwzx 8,6,8
				stw 8,0(3)
		.LVL13:
  759          %IF LIST_SPEC # 0 %START
				lwz 7,8(7)
		.LVL14:
				cmpwi 7,7,0
				beq 7,.L7
  760             %IF LIST_SPEC >= 6 %START;  ! CASTLE
				cmpwi 7,7,5
				ble 7,.L8
  761                %IF SQ_P<0 %START
				slwi 10,9,3
		.LVL15:
				add 10,10,5
				slwi 10,10,4
				lwzx 10,6,10
				cmpwi 7,10,0
				blt 7,.L16
		.L9:
		.LVL16:
  762                   CAS = 1;  KING = -6; ROOK = -4; KCAS(-1) = -30
				li 10,1
  763                %FINISHELSESTART
				li 3,-6
		.LVL22:
				b .L10
		.LVL23:
		.L17:
  764                   CAS = 8;  KING = 6;  ROOK = 4; KCAS(1) = 30
				li 10,8
				li 6,-4
  765                %FINISH
				li 3,6
		.LVL17:
		.L10:
				lis 10,.LANCHOR0+1024@ha
				li 8,-30
				stw 8,.LANCHOR0+1024@l(10)
  766                ROW == BRD(CAS)
				li 6,4
				addi 10,10,-1
		.LVL18:
				cmpwi 7,7,6
				beq 7,.L17
		.L11:
  767                %IF LIST_SPEC = 6 %START;     ! KING SIDE
				lis 10,.LANCHOR0+1032@ha
				li 8,30
				stw 8,.LANCHOR0+1032@l(10)
  768                   ROW_R(7)_P = KING;  ROW_R(6)_P = ROOK
				slwi 10,10,7
		.LVL24:
				lis 8,.LANCHOR0@ha
				la 8,.LANCHOR0@l(8)
				add 10,8,10
				stw 3,96(10)
  769                   ROW_R(8)_P = 0
				stw 6,80(10)
				li 8,0
				stw 8,112(10)
  770                %FINISHELSESTART
				b .L12
		.LVL25:
		.L8:
  771                   ROW_R(3)_P = KING;  ROW_R(4)_P = ROOK
				lis 8,.LANCHOR0@ha
				la 8,.LANCHOR0@l(8)
				slwi 10,10,7
		.LVL19:
				add 7,8,10
				stw 3,32(7)
  772                   ROW_R(1)_P = 0
				stw 6,48(7)
				li 7,0
				stwx 7,8,10
		.L12:
  773                %FINISH
  774                SQ_P = 0
				slwi 8,9,3
				add 8,8,5
				slwi 8,8,4
				lis 9,.LANCHOR0@ha
		.LVL20:
				la 9,.LANCHOR0@l(9)
				li 10,0
				stwx 10,9,8
  775                %RESULT = KING
				b .L6
		.LVL21:
		.L16:
  776             %FINISH
  777             SQ_P = LIST_SPEC
				slwi 8,9,3
				add 8,8,5
				slwi 8,8,4
				lis 6,.LANCHOR0@ha
				la 6,.LANCHOR0@l(6)
				stwx 7,6,8
  778          %FINISHELSESTART
				b .L14
		.L7:
  779             SQ_P = BRD(Y)_R(X)_P
				lis 8,.LANCHOR0@ha
				la 8,.LANCHOR0@l(8)
				addi 7,10,-1
				slwi 7,7,3
				addi 6,4,-1
				add 7,7,6
				slwi 7,7,4
				lwzx 6,8,7
				slwi 7,9,3
				add 7,7,5
				slwi 7,7,4
				stwx 6,8,7
		.L14:
  780          %FINISH
  781          BRD(Y)_R(X)_P = 0
				lis 7,.LANCHOR0@ha
				la 7,.LANCHOR0@l(7)
				addi 10,10,-1
		.LVL26:
				slwi 10,10,3
		.LVL27:
				addi 6,4,-1
				add 10,10,6
				slwi 10,10,4
				li 8,0
				stwx 8,7,10
  782          %RESULT = SQ_P
				slwi 9,9,3
		.LVL28:
				add 9,9,5
				slwi 9,9,4
				lwzx 3,7,9
		.LVL29:
		.L6:
  783       %END
				addi 1,1,16
				blr
		.LFE196:
				.align 2
		RESTOREBOARD.7091:
		.LFB197:
  784       !!
  785       %ROUTINE RESTORE BOARD(%RECORD(LISTF{QHF})%NAME B)
		.LVL30:
				stwu 1,-16(1)
  786          %RECORD(SQF)%NAME SQ
  787          %RECORD(ROWF)%NAME ROW
  788          %RECORD(LISTF)%NAME LIST
  789          %INTEGER FROM, TO, X, Y, X0, Y0, KING, CAS, ROOK
  790          LIST == B_L
				lwz 6,0(3)
		.LVL31:
  791          FROM = LIST_FR;  TO = LIST_TO
				lbz 10,4(6)
		.LVL32:
  792          X = FROM>>4;  X0 = TO>>4
				lbz 8,5(6)
		.LVL33:
				srwi 5,10,4
		.LVL34:
  793          Y = FROM&15; Y0 = TO&15
				rlwinm 9,10,0,28,31
		.LVL35:
				srwi 8,8,4
		.LVL38:
				addi 8,8,-1
		.LVL39:
  794          SQ == BRD(Y0)_R(X0)
				rlwinm 7,8,0,28,31
		.LVL36:
				addi 10,7,-1
		.LVL37:
  795          %IF LIST_SPEC # 0 %START
				lwz 6,8(6)
		.LVL40:
				cmpwi 7,6,0
				beq 7,.L27
  796             %IF LIST_SPEC >= 6 %START;  ! CASTLE
				cmpwi 7,6,5
				ble 7,.L20
  797                %IF Y0 = 1 %START
				cmpwi 7,7,1
				beq 7,.L29
		.L21:
		.LVL41:
  798                   CAS = 1;  KING = -6; ROOK = -4; KCAS(-1) = 0
  799                %FINISHELSESTART
				li 5,-6
				b .L22
		.LVL52:
		.L30:
  800                   CAS = 8;  KING = 6;  ROOK = 4; KCAS(1) = 0
				li 7,8
				li 4,-4
  801                %FINISH
				li 5,6
		.LVL44:
		.L22:
				lis 9,.LANCHOR0@ha
		.LVL50:
				la 9,.LANCHOR0@l(9)
				li 5,0
		.LVL51:
				stw 5,1024(9)
  802                ROW == BRD(CAS)
				li 4,4
				addi 7,7,-1
		.LVL45:
				cmpwi 7,6,6
				beq 7,.L30
		.L23:
  803                %IF LIST_SPEC = 6 %START;     ! KING SIDE
				lis 9,.LANCHOR0@ha
		.LVL42:
				la 9,.LANCHOR0@l(9)
				li 7,0
		.LVL43:
				stw 7,1032(9)
  804                   ROW_R(8)_P = ROOK
				slwi 7,7,7
		.LVL53:
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				add 7,9,7
				stw 4,112(7)
		.LVL54:
  805                   ROW_R(7)_P = 0;  ROW_R(6)_P = 0
				li 9,0
				stw 9,96(7)
  806                %FINISHELSESTART
				stw 9,80(7)
				b .L24
		.LVL55:
		.L20:
  807                   ROW_R(1)_P = ROOK
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				slwi 7,7,7
		.LVL46:
				add 6,9,7
				stwx 4,9,7
		.LVL47:
  808                   ROW_R(3)_P = 0;  ROW_R(4)_P = 0
				li 9,0
				stw 9,32(6)
  809                %FINISH
				stw 9,48(6)
		.L24:
  810                SQ_P = KING
				slwi 10,10,3
		.LVL48:
				add 8,10,8
				slwi 8,8,4
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				stwx 5,9,8
  811                %RETURN
				b .L18
		.LVL49:
		.L29:
  812             %FINISH
  813             %IF Y0=8 %THEN SQ_P=-1 %ELSE SQ_P=1
				cmpwi 7,7,8
				beq 7,.L31
		.L26:
  814          %FINISH
				addi 7,8,56
		.LVL63:
				slwi 7,7,4
				lis 6,.LANCHOR0@ha
				la 6,.LANCHOR0@l(6)
				li 4,-1
				stwx 4,6,7
		.LVL64:
  815          BRD(Y)_R(X)_P = SQ_P
				lis 7,.LANCHOR0@ha
				la 7,.LANCHOR0@l(7)
				slwi 10,10,3
		.LVL58:
				add 10,10,8
				slwi 10,10,4
				lwzx 6,7,10
				addi 9,9,-1
		.LVL59:
				slwi 9,9,3
		.LVL60:
				addi 8,5,-1
				add 9,9,8
				slwi 9,9,4
				stwx 6,7,9
				b .L27
		.LFE197:
				.align 2
		SORTANDPRUNE.7078:
		.LFB195:
  816          SQ_P = B_HOLD
				lwz 9,0(3)
				stwx 9,7,10
		.LVL61:
		.L18:
  817       %END
				slwi 7,10,3
		.LVL56:
				add 7,7,8
				slwi 7,7,4
				lis 6,.LANCHOR0@ha
				la 6,.LANCHOR0@l(6)
				li 4,1
				stwx 4,6,7
		.LVL57:
		.L19:
		.L27:
  818       !!
				addi 1,1,16
				blr
		.LVL62:
		.L31:
  819       !!
  820       %ROUTINE BURP(%RECORD(LISTF{QHF})%NAME X, %INTEGER W)
		.LVL673:
				stwu 1,-48(1)
				mflr 0
				stw 0,52(1)
				stw 26,24(1)
				stw 27,28(1)
				stw 28,32(1)
				stw 29,36(1)
				stw 30,40(1)
				stw 31,44(1)
				mr 29,3
				mr 28,4
  821          %INTEGER I
  822          !!
  823          TELL(X_L, W)
				lwz 3,0(3)
		.LVL674:
				bl TELL.7097
		.LVL675:
		.LBB533:
		.LBB534:
				lis 26,_imp_OutStream@ha
				li 9,2
				stw 9,_imp_OutStream@l(26)
				lis 27,_imp_OutFile@ha
				lis 30,_imp_outfile@ha
				la 30,_imp_outfile@l(30)
				lwz 9,556(30)
				stw 9,_imp_OutFile@l(27)
				lis 31,.LANCHOR1@ha
				la 31,.LANCHOR1@l(31)
				addi 31,31,3056
				mr 3,31
				bl check_outstream
		.LVL676:
		.LBE534:
		.LBE533:
		.LBB535:
		.LBB536:
				li 3,42
				bl _imp_printsymbol
		.LVL677:
		.LBE536:
		.LBE535:
  824          SELECT OUTPUT(2)
  825          PRINTSYMBOL('*'); TELL(X_L, W)
  826          SELECT OUTPUT(0)
				mr 4,28
				lwz 3,0(29)
				bl TELL.7097
		.LVL678:
		.LBB537:
		.LBB538:
				li 9,0
				stw 9,_imp_OutStream@l(26)
				lwz 9,4(30)
				stw 9,_imp_OutFile@l(27)
				mr 3,31
				bl check_outstream
		.LVL679:
		.LBE538:
		.LBE537:
  827 !         %IF W > 0 %AND TIMTT < 3 %AND PDEPTH#1 %THEN PDEPTH=PDEPTH+1
  828          I = CHANGE BOARD(X)
				mr 3,29
				bl CHANGEBOARD.7089
		.LVL680:
  829          %IF I = KING*W %THEN KMOVE(W) = 1
				mulli 9,28,6
				cmpw 7,9,3
				beq 7,.L398
		.L396:
		.LVL681:
		.L395:
  830       %END
				lis 9,.LANCHOR0@ha
				la 9,.LANCHOR0@l(9)
				add 28,9,28
		.LVL684:
				li 9,1
				stb 9,1081(28)
				b .L395
		.LFE198:
				.align 2
				.globl main
		main:
		.LFB185:
  831       !!
				lwz 0,52(1)
				mtlr 0
				lwz 26,24(1)
				lwz 27,28(1)
				lwz 28,32(1)
				lwz 29,36(1)
		.LVL682:
				lwz 30,40(1)
				lwz 31,44(1)
				addi 1,1,48
				blr
		.LVL683:
		.L398:
  832       %ROUTINE TELL(%RECORD(LISTF)%NAME MOVE, %INTEGER WHICH)
		.LVL213:
				stwu 1,-1328(1)
				stw 30,1320(1)
				stw 31,1324(1)
				mr 31,4
				lwz 9,-28680(2)
				stw 9,1308(1)
				li 9,0
  833
  834          %IF ADDR(MOVE) = 0 %START
				mr. 30,3
				beq 0,.L118
		.L111:
				mflr 0
				stw 0,1332(1)
  835             %IF WHICH < 0 %THEN PRINTSTRING("I Win
				cmpwi 7,4,0
				blt 7,.L120
		.L112:
		.LBB358:
  836 ")          %ELSE %C
				li 5,256
				lis 4,.LANCHOR1@ha
		.LVL244:
				la 4,.LANCHOR1@l(4)
				addi 4,4,1773
				addi 3,1,1052
		.LVL245:
				bl memcpy
		.LVL246:
				li 5,256
				addi 4,1,1052
				addi 3,1,284
				bl memcpy
		.LVL247:
				li 5,256
				addi 4,1,284
				addi 3,1,796
				bl memcpy
		.LVL248:
		.LBE363:
		.LBB364:
		.LBB365:
				li 5,256
				addi 4,1,796
				addi 3,1,16
				bl memcpy
		.LVL249:
				addi 3,1,16
				bl _imp_printstring
		.LVL250:
				b .L113
		.L114:
		.LVL251:
		.LBE365:
		.LBE364:
		.LBB366:
		.LBB367:
				li 3,4
				bl _imp_spaces
		.LVL252:
		.LBE367:
		.LBE366:
  837               PRINTSTRING("YOU WIN
  838 ")
  839             %STOP
				li 5,256
				lis 4,.LANCHOR1@ha
		.LVL236:
				la 4,.LANCHOR1@l(4)
				addi 4,4,2029
				addi 3,1,1052
		.LVL237:
				bl memcpy
		.LVL238:
				li 5,256
				addi 4,1,1052
				addi 3,1,540
				bl memcpy
		.LVL239:
				li 5,256
				addi 4,1,540
				addi 3,1,1052
				bl memcpy
		.LVL240:
		.LBE358:
		.LBB359:
		.LBB360:
				li 5,256
				addi 4,1,1052
				addi 3,1,16
				bl memcpy
		.LVL241:
				addi 3,1,16
				bl _imp_printstring
		.LVL242:
		.L113:
		.LBE360:
		.LBE359:
		.LBB361:
		.LBB362:
				li 3,0
				bl exit
		.LVL243:
		.L120:
		.LBE362:
		.LBE361:
		.LBB363:
  840          %FINISH
  841          !!
  842          WRITE(NO, 1)
				li 4,1
		.LVL214:
				lis 9,.LANCHOR2@ha
				lwz 3,.LANCHOR2@l(9)
		.LVL215:
				bl _imp_writeint
		.LVL216:
  843          %IF WHICH > 0 %THEN SPACES(25) %ELSE SPACES(4)
				cmpwi 7,31,0
				ble 7,.L114
		.LVL217:
		.LBB347:
		.LBB348:
				li 3,25
				bl _imp_spaces
		.LVL218:
		.LBE348:
		.LBE347:
  844          PRINTMOVE(MOVE)
				mr 3,30
				bl PRINTMOVE.7101
		.LVL219:
		.LBB349:
				mr 3,30
				bl PRINTMOVE.7101
		.LVL253:
		.LBB368:
  845          PRINTSTRING("(")
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,2285
				addi 3,1,1052
				bl memcpy
		.LVL220:
				li 5,256
				addi 4,1,1052
				addi 3,1,284
				bl memcpy
		.LVL221:
				li 5,256
				addi 4,1,284
				addi 3,1,796
				bl memcpy
		.LVL222:
		.LBE349:
		.LBB350:
		.LBB351:
				li 5,256
				addi 4,1,796
				addi 3,1,16
				bl memcpy
		.LVL223:
				addi 3,1,16
				bl _imp_printstring
		.LVL224:
		.LBE351:
		.LBE350:
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,2285
				addi 3,1,1052
				bl memcpy
		.LVL254:
				li 5,256
				addi 4,1,1052
				addi 3,1,284
				bl memcpy
		.LVL255:
				li 5,256
				addi 4,1,284
				addi 3,1,796
				bl memcpy
		.LVL256:
		.LBE368:
		.LBB369:
		.LBB352:
				li 5,256
				addi 4,1,796
				addi 3,1,16
				bl memcpy
		.LVL257:
				addi 3,1,16
				bl _imp_printstring
		.LVL258:
		.LDL7:
		.LBE352:
		.LBE369:
  846          %IF WHICH > 0 %START
  847             TIMTT = CPUTIME-TIME
				bl CPUTIME
		.LVL225:
				lis 9,.LANCHOR0+1040@ha
				lfd 0,.LANCHOR0+1040@l(9)
		.LBB353:
		.LBB354:
				li 4,2
				li 3,1
				fsub 1,1,0
		.LVL226:
				bl _imp_print
		.LVL227:
		.L115:
		.LBE354:
		.LBE353:
		.LBB355:
  848            PRINT(TIMTT, 1, 2)
  849          %FINISHELSESTART
  850             PRINT(CPUTIME-TIME2, 1, 2)
				bl CPUTIME
		.LVL259:
				lis 9,.LANCHOR0+1048@ha
				lfd 0,.LANCHOR0+1048@l(9)
		.LBB370:
		.LBB371:
				li 4,2
				li 3,1
				fsub 1,1,0
		.LVL260:
				bl _imp_print
		.LVL261:
				b .L115
		.LVL262:
		.L119:
		.LBE371:
		.LBE370:
  851          %FINISH
  852          PRINTSTRING(" Secs)
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,2541
				addi 3,1,1052
				bl memcpy
		.LVL228:
				li 5,256
				addi 4,1,1052
				addi 3,1,540
				bl memcpy
		.LVL229:
				li 5,256
				addi 4,1,540
				addi 3,1,1052
				bl memcpy
		.LVL230:
		.LBE355:
		.LBB356:
		.LBB357:
				li 5,256
				addi 4,1,1052
				addi 3,1,16
				bl memcpy
		.LVL231:
				addi 3,1,16
				bl _imp_printstring
		.LVL232:
		.LBE357:
		.LBE356:
  853 ")
  854       %END
  855       !!
				lwz 9,1308(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L119
				lwz 0,1332(1)
				mtlr 0
				lwz 30,1320(1)
		.LVL233:
				lwz 31,1324(1)
		.LVL234:
				addi 1,1,1328
				blr
		.LVL235:
		.L118:
				mflr 0
				stw 0,1332(1)
				bl __stack_chk_fail
		.LVL263:
		.LFE199:
				.align 2
		READM.7625:
		.LFB207:
  856       %ROUTINE PRINTBOARD
				stwu 1,-1936(1)
				mflr 0
				stw 0,1940(1)
				stw 24,1904(1)
				stw 25,1908(1)
				stw 26,1912(1)
				stw 27,1916(1)
				stw 28,1920(1)
				stw 29,1924(1)
				stw 30,1928(1)
				stw 31,1932(1)
				lwz 9,-28680(2)
				stw 9,1900(1)
				li 9,0
  857          %CONSTBYTEINTEGERARRAY BLACK(1:64) = %C
				lis 31,.LANCHOR1@ha
				la 31,.LANCHOR1@l(31)
				li 5,64
				addi 4,31,928
				addi 3,1,1836
				bl memcpy
		.LVL171:
  858             0, 1, 0, 1, 0, 1, 0, 1,
  859             1, 0, 1, 0, 1, 0, 1, 0,
  860             0, 1, 0, 1, 0, 1, 0, 1,
  861             1, 0, 1, 0, 1, 0, 1, 0,
  862             0, 1, 0, 1, 0, 1, 0, 1,
  863             1, 0, 1, 0, 1, 0, 1, 0,
  864             0, 1, 0, 1, 0, 1, 0, 1,
  865             1, 0, 1, 0, 1, 0, 1, 0
  866          !!
  867          %ROUTINE LINE
				stwu 1,-800(1)
				mflr 0
				stw 0,804(1)
				lwz 9,-28680(2)
				stw 9,796(1)
				li 9,0
		.LBB315:
  868             PRINTSTRING("  !---!---!---!---!---!---!---!---!
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,672
				addi 3,1,540
				bl memcpy
		.LVL150:
				li 5,256
				addi 4,1,540
				addi 3,1,284
				bl memcpy
		.LVL151:
				li 5,256
				addi 4,1,284
				addi 3,1,540
				bl memcpy
		.LVL152:
		.LBE315:
		.LBB316:
		.LBB317:
				li 5,256
				addi 4,1,540
				addi 3,1,16
				bl memcpy
		.LVL153:
				addi 3,1,16
				bl _imp_printstring
		.LVL154:
		.LBE317:
		.LBE316:
  869 ")
  870          %END
  871          !!
				lwz 9,796(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L82
				lwz 0,804(1)
				mtlr 0
				addi 1,1,800
				blr
		.L82:
				bl __stack_chk_fail
		.LVL155:
		.LFE201:
				.align 2
		BURP.7601:
		.LFB203:
  872          %CONSTBYTEINTEGERARRAY PX(-6:6) = %C
				lwz 7,992(31)
				lwz 8,996(31)
				lwz 10,1000(31)
				lbz 9,1004(31)
				stw 7,1820(1)
				stw 8,1824(1)
				stw 10,1828(1)
				stb 9,1832(1)
		.LVL172:
				addi 28,1,1845
				lis 25,.LANCHOR0@ha
				la 25,.LANCHOR0@l(25)
				addi 25,25,896
				li 26,8
		.LBB326:
  873            'k', 'q', 'r', 'b', 'n', 'p',
  874            ' ', 'P', 'N', 'B', 'R', 'Q', 'K'
  875          %INTEGER X,Y, I, P, Q
  876          %RECORD(ROWF)%NAME ROW
  877          !!
  878          Q = 1
  879          %CYCLE Y = 8, -1, 1
  880             ROW == BRD(Y)
  881             LINE
				bl LINE.7567
		.LVL199:
  882             WRITE(Y, 1)
				addic. 26,26,-1
		.LVL197:
				beq 0,.L108
		.LVL198:
		.L98:
				li 4,1
				mr 3,26
				bl _imp_writeint
		.LVL200:
				addi 31,28,-8
				mr 29,25
				b .L96
		.LVL201:
		.L108:
		.L99:
  883             %CYCLE X = 1, 1, 8
  884                PRINTSTRING("! ")
				addi 27,31,1005
		.LBE326:
		.LBB327:
				li 5,256
				mr 4,27
				addi 3,1,1564
				bl memcpy
		.LVL179:
				li 5,256
				addi 4,1,1564
				addi 3,1,284
				bl memcpy
		.LVL180:
				li 5,256
				addi 4,1,284
				addi 3,1,1052
				bl memcpy
		.LVL181:
		.LBE332:
		.LBB333:
		.LBB334:
				li 5,256
				addi 4,1,1052
				addi 3,1,16
				bl memcpy
		.LVL182:
				addi 3,1,16
				bl _imp_printstring
		.LVL183:
		.LBE334:
		.LBE333:
  885                P = ROW_R(X)_P
				lwz 30,0(29)
		.LVL184:
  886                %IF P # 0 %THEN PRINTSYMBOL(PX(P)) %ELSE %START
				cmplw 7,31,28
				beq 7,.L105
		.LVL178:
		.L96:
		.LBB332:
				cmpwi 7,30,0
				bne 7,.L106
		.L90:
  887                   %IF BLACK(Q) = 1 %THEN PRINTSYMBOL('*') %C
				addi 9,1,1904
				add 9,9,30
		.LBB328:
		.LBB329:
				lbz 3,-78(9)
				bl _imp_printsymbol
		.LVL174:
		.LDL3:
		.LDL4:
		.LBE329:
		.LBE328:
				lbz 9,-1(31)
				cmpwi 7,9,1
				beq 7,.L107
		.L93:
		.LVL185:
		.LBB335:
		.LBB336:
				li 3,32
				bl _imp_printsymbol
		.LVL186:
		.L91:
		.LBE336:
		.LBE335:
		.LBB337:
		.LBB338:
				li 3,32
				bl _imp_printsymbol
		.LVL187:
				b .L95
		.LVL188:
		.L107:
		.LBE338:
		.LBE337:
		.LBB339:
		.LBB340:
				li 3,42
				bl _imp_printsymbol
		.LVL189:
				b .L91
		.LVL190:
		.L105:
		.L97:
		.LBE340:
		.LBE339:
		.LBB341:
  888                   %ELSE PRINTSYMBOL(' ')
  889                %FINISH
  890                %IF P > 0 %THEN PRINTSYMBOL('+') %ELSE %C
				cmpwi 7,30,0
				ble 7,.L91
		.LVL175:
		.LBB330:
		.LBB331:
				li 3,43
				bl _imp_printsymbol
		.LVL176:
		.L95:
		.LDL5:
				addi 29,29,16
				addi 31,31,1
		.LVL177:
		.LBE331:
		.LBE330:
  891                  PRINTSYMBOL(' ')
  892                Q = Q+1
  893             %REPEAT
  894             PRINTSTRING("!
				addi 24,31,1261
				b .L98
		.LVL173:
		.L106:
		.LBE327:
				li 5,256
				mr 4,24
				addi 3,1,1564
				bl memcpy
		.LVL191:
				li 5,256
				addi 4,1,1564
				addi 3,1,540
				bl memcpy
		.LVL192:
				li 5,256
				addi 4,1,540
				addi 3,1,1308
				bl memcpy
		.LVL193:
		.LBE341:
		.LBB342:
		.LBB343:
				li 5,256
				addi 4,1,1308
				addi 3,1,16
				bl memcpy
		.LVL194:
				addi 3,1,16
				bl _imp_printstring
		.LVL195:
		.LDL6:
				addi 28,28,8
		.LVL196:
				addi 25,25,-128
		.LBE343:
		.LBE342:
  895 ")
  896          %REPEAT
  897          LINE
				bl LINE.7567
		.LVL202:
		.LBB344:
  898          PRINTSTRING("    A   B   C   D   E   F   G   H
				li 5,256
				lis 4,.LANCHOR1@ha
				la 4,.LANCHOR1@l(4)
				addi 4,4,1517
				addi 3,1,1564
				bl memcpy
		.LVL203:
				li 5,256
				addi 4,1,1564
				addi 3,1,796
				bl memcpy
		.LVL204:
				li 5,256
				addi 4,1,796
				addi 3,1,1564
				bl memcpy
		.LVL205:
		.LBE344:
		.LBB345:
		.LBB346:
				li 5,256
				addi 4,1,1564
				addi 3,1,16
				bl memcpy
		.LVL206:
				addi 3,1,16
				bl _imp_printstring
		.LVL207:
		.LBE346:
		.LBE345:
  899 ")
  900       %END
?I unused
  901       !!
				lwz 9,1900(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L109
				lwz 0,1940(1)
				mtlr 0
				lwz 24,1904(1)
				lwz 25,1908(1)
				lwz 26,1912(1)
		.LVL208:
				lwz 27,1916(1)
				lwz 28,1920(1)
		.LVL209:
				lwz 29,1924(1)
				lwz 30,1928(1)
		.LVL210:
				lwz 31,1932(1)
				addi 1,1,1936
				blr
		.LVL211:
		.L109:
				bl __stack_chk_fail
		.LVL212:
		.LFE200:
				.align 2
		TELL.7097:
		.LFB199:
  902          !!
  903       %ROUTINE PRINTMOVE(%RECORD(LISTF)%NAME LIST)
		.LVL163:
				stwu 1,-32(1)
				mflr 0
				stw 0,36(1)
				stw 31,28(1)
				mr 31,3
  904          %INTEGER I,J,K
  905          %ROUTINE BURP(%INTEGER X)
		.LVL156:
				stwu 1,-32(1)
				mflr 0
				stw 0,36(1)
				stw 31,28(1)
				mr 31,3
		.LVL157:
  906             PRINTSYMBOL((X>>4)+'A'-1)
				srwi 3,3,4
		.LVL158:
				addi 3,3,64
		.LBB318:
		.LBB319:
				rlwinm 3,3,0,0xff
				bl _imp_printsymbol
		.LVL159:
		.LBE319:
		.LBE318:
  907             PRINTSYMBOL(X&15+'0')
				rlwinm 3,31,0,28,31
		.LBB320:
		.LBB321:
				addi 3,3,48
				bl _imp_printsymbol
		.LVL160:
		.LBE321:
		.LBE320:
		.LBB322:
		.LBB323:
				bl _imp_space
		.LVL161:
		.LBE323:
		.LBE322:
  908             SPACE
  909          %END
  910          !!
				lwz 0,36(1)
				mtlr 0
				lwz 31,28(1)
		.LVL162:
				addi 1,1,32
				blr
		.LFE203:
				.align 2
		PRINTMOVE.7101:
		.LFB202:
  911          BURP(LIST_FR); BURP(LIST_TO)
				lbz 3,4(3)
		.LVL164:
				bl BURP.7601
		.LVL165:
  912          %IF LIST_CHK # 0 %THEN PRINTSYMBOL('+')
				lbz 3,5(31)
				bl BURP.7601
		.LVL166:
				lwz 9,12(31)
				cmpwi 7,9,0
				bne 7,.L88
		.L86:
  913          WRITE(LIST_SCORE, 5)
				li 4,5
				lwz 3,4(31)
				bl _imp_writeint
		.LVL167:
  914       %END
?K unused
?J unused
?I unused
  915       !!
				lwz 0,36(1)
				mtlr 0
				lwz 31,28(1)
		.LVL168:
				addi 1,1,32
				blr
		.LVL169:
		.L88:
		.LBB324:
		.LBB325:
				li 3,43
				bl _imp_printsymbol
		.LVL170:
				b .L86
		.LBE325:
		.LBE324:
		.LFE202:
				.align 2
		PRINTBOARD.7099:
		.LFB200:
  916       %INTEGER %FN CHECK YOUR MOVE(%RECORD(LISTF)%NAME LIST)
  917          %RECORD(LISTF)%NAME L2, MM
  918          %INTEGER I
  919          MM == MMOVE_L
  920          L2 == LIST
  921          %WHILE ADDR(LIST) # 0 %CYCLE
  922             %IF LIST_FR = MM_FR %AND LIST_TO = MM_TO %C
				beq 4,.L428
				lbz 8,3140(1)
				cmpwi 7,9,0
				beq 7,.L428
		.LVL786:
		.L432:
				lbz 10,4(9)
				cmpw 7,10,8
				bne 7,.L431
				cmpwi 4,20,0
		.LBE703:
		.LBE722:
		.LBB723:
  923                %START
				lbz 7,3141(1)
				mr 9,22
				b .L432
		.LVL774:
		.L441:
		.L422:
		.LBE701:
		.LBE700:
		.LBB704:
		.LBB705:
				addi 3,1,280
		.LVL775:
				bl _imp_readsymbol
		.LVL776:
		.LBE705:
		.LBE704:
				lbz 10,5(9)
				cmpw 7,10,7
				bne 7,.L431
  924                   MM_SCORE = LIST_SCORE;  MM_CHK = LIST_CHK
				lwz 10,4(9)
				stw 10,3140(1)
  925                   %RESULT = 1
				lwz 9,12(9)
		.LVL787:
				stw 9,3148(1)
		.LDL27:
		.LVL788:
		.LBE702:
		.LBE718:
		.LBB719:
		.LBB720:
				bl _imp_skipsymbol
		.LVL789:
		.LBE720:
		.LBE719:
  926             %FINISH
  927             LIST == LIST_L
				lwz 9,0(9)
		.LVL785:
		.LDL26:
  928          %REPEAT
  929          %RESULT = 0
  930       %END
?I unused
  931       !!
  932       %INTEGERFN PRINT MOVES(%RECORD(LISTF)%NAME LIST)
  933          %RECORD(LISTF)%NAME L
  934          SELECT OUTPUT(2)
  935          LIST == RECORD(SORT AND PRUNE(LIST, 100, -1))
				addi 11,1,3136
				li 5,-1
				li 4,100
				mr 3,30
				bl SORTANDPRUNE.7078
		.LVL802:
				mr 20,3
		.LVL803:
		.LBB652:
		.LBB653:
				mr 22,3
		.LVL804:
		.LBE653:
		.LBE652:
  936          L == LIST
				mr 30,3
		.L412:
		.LVL805:
		.L438:
		.L413:
  937          %CYCLE
  938             PRINTMOVE(L); NEWLINE
				mr 3,30
				bl PRINTMOVE.7101
		.LVL806:
		.LBB654:
		.LBB655:
				bl _imp_newline
		.LVL807:
		.LBE655:
		.LBE654:
  939             L == L_L
				lwz 30,0(30)
		.LVL808:
  940             %EXIT %IF ADDR(L) = 0
				cmpwi 7,30,0
				bne 7,.L438
		.L414:
		.LVL809:
		.LBB656:
		.LBB657:
				lis 9,_imp_OutStream@ha
				li 10,0
				stw 10,_imp_OutStream@l(9)
				lwz 10,4(21)
				lis 9,_imp_OutFile@ha
				stw 10,_imp_OutFile@l(9)
				addi 3,27,3056
				bl check_outstream
		.LVL810:
		.LBE657:
		.LBE656:
		.LBE658:
		.LBE721:
  941          %REPEAT
  942          SELECT OUTPUT(0)
  943          %RESULT = ADDR(LIST)
  944       %END
  945
  946       %ROUTINE YOUR MOVE
  947          %INTEGER %FN READM(%INTEGERNAME X, Y)
		.LVL264:
				stwu 1,-48(1)
				mflr 0
				stw 0,52(1)
				stw 30,40(1)
				stw 31,44(1)
				mr 30,3
				mr 31,4
				lwz 9,-28680(2)
				stw 9,28(1)
				li 9,0
		.LVL265:
		.L122:
		.LBB372:
		.LBB373:
				bl _imp_nextsymbol
		.LVL266:
		.LBE373:
		.LBE372:
  948             %INTEGER I,J
  949             SKIPSYMBOL %WHILE NEXTSYMBOL=NL
  950             READSYMBOL(I)
				cmpwi 7,3,10
				bne 7,.L123
		.LBB374:
		.LBB375:
				bl _imp_skipsymbol
		.LVL267:
				b .L122
		.L123:
		.LVL268:
		.LBE375:
		.LBE374:
		.LBB376:
		.LBB377:
				addi 3,1,20
		.LVL269:
				bl _imp_readsymbol
		.LVL270:
		.L124:
		.LBE377:
		.LBE376:
		.LBB378:
		.LBB379:
				bl _imp_nextsymbol
		.LVL271:
		.LBE379:
		.LBE378:
  951             SKIPSYMBOL %WHILE NEXTSYMBOL=NL
  952             READSYMBOL(J)
				cmpwi 7,3,10
				bne 7,.L125
		.LBB380:
		.LBB381:
				bl _imp_skipsymbol
		.LVL272:
				b .L124
		.L125:
		.LVL273:
		.LBE381:
		.LBE380:
		.LBB382:
		.LBB383:
				addi 3,1,24
		.LVL274:
				bl _imp_readsymbol
		.LVL275:
		.LBE383:
		.LBE382:
  953             X = I-'A'+1;  Y = J-'0'
				lwz 9,20(1)
				addi 9,9,-64
				stw 9,0(30)
  954             %RESULT = 0
				lwz 9,24(1)
				addi 9,9,-48
				stw 9,0(31)
  955          %END
				li 3,0
				lwz 9,28(1)
				lwz 10,-28680(2)
				xor. 9,9,10
				li 10,0
				bne 0,.L128
				lwz 0,52(1)
				mtlr 0
				lwz 30,40(1)
		.LVL276:
				lwz 31,44(1)
		.LVL277:
				addi 1,1,48
		.LVL278:
				blr
		.LVL279:
		.L128:
				bl __stack_chk_fail
		.LVL280:
		.LFE207:
				.align 2
		DOM.7342:
		.LFB194:
  956
  957          %INTEGER I, X, Y, X0, Y0, K
  958          %RECORD(LISTF)%NAME LIST
  959          !!
  960          JUST ONE PLY = 1;              ! DONT ALLOW LOOK AHEAD (NO POINT)
				mr 25,30
		.LBB646:
		.LBB647:
		.LBB648:
		.LBB649:
				lis 21,_imp_outfile@ha
				la 21,_imp_outfile@l(21)
				mr 27,31
		.LBE649:
		.LBE648:
		.LBE647:
		.LBE646:
		.LBB659:
				li 9,1
				stw 9,1084(25)
  961          LIST == RECORD(MOVES(-1, 0));     ! GET OPPS LEGAL MOVES
				addi 11,1,3136
				li 4,0
				li 3,-1
				bl MOVES.7084
		.LVL799:
  962          JUST ONE PLY = 0
				li 9,0
				stw 9,1084(25)
  963          %IF ADDR(LIST) = 0 %THEN TELL(LIST, -1); ! CHECKMATE
				mr. 30,3
				beq 0,.L449
		.L411:
		.LVL800:
		.LBB721:
		.LBB658:
		.LBB651:
		.LBB650:
				lis 9,_imp_OutStream@ha
				li 10,2
				stw 10,_imp_OutStream@l(9)
				lwz 10,556(21)
				lis 9,_imp_OutFile@ha
				stw 10,_imp_OutFile@l(9)
				addi 3,27,3056
				bl check_outstream
		.LVL801:
		.LBE650:
		.LBE651:
  964          %IF MON&1#0 %THEN LIST == RECORD(PRINT MOVES(LIST))
				li 4,-1
				bl TELL.7097
		.LVL726:
				b .L411
		.L442:
		.LBB660:
		.LBB661:
				bl _imp_skipsymbol
		.LVL727:
		.LBE661:
		.LBE660:
		.LBB662:
  965 AGAIN:
  966          LM_SPEC = 0
				li 9,0
				stw 9,3144(1)
		.LBB686:
		.LBB687:
				bl _imp_nextsymbol
		.LVL761:
		.LBE687:
		.LBE686:
  967          %IF NEXTSYMBOL='M' %START;     ! MONITOR
				cmpwi 7,3,77
				beq 7,.L442
		.L416:
		.LBB688:
		.LBB689:
				bl _imp_nextsymbol
		.LVL762:
		.LBE689:
		.LBE688:
  968             SKIPSYMBOL
  969             PROMPT("MON?"); READ(MON); SKIPSYMBOL
				li 5,256
				addi 4,27,5609
				mr 3,31
				bl memcpy
		.LVL728:
				li 5,256
				mr 4,31
				addi 3,1,2880
				bl memcpy
		.LVL729:
		.LBE662:
				li 5,256
				addi 4,1,2880
				mr 3,30
				bl memcpy
		.LVL730:
				mr 3,30
				bl PROMPT
		.LVL731:
  970             PROMPT("Move?")
				addi 3,25,1088
				bl _imp_readint
		.LVL732:
		.LBB663:
		.LBB664:
				bl _imp_skipsymbol
		.LVL733:
		.LBE664:
		.LBE663:
		.LBB665:
				li 5,256
				addi 4,27,5353
				mr 3,31
				bl memcpy
		.LVL734:
				li 5,256
				mr 4,31
				addi 3,1,2624
				bl memcpy
		.LVL735:
		.LBE665:
				li 5,256
				addi 4,1,2624
				mr 3,30
				bl memcpy
		.LVL736:
				mr 3,30
				bl PROMPT
		.LVL737:
				b .L415
		.L443:
		.LBB666:
		.LBB667:
				bl _imp_skipsymbol
		.LVL738:
		.LBE667:
		.LBE666:
		.LBB668:
		.LBB669:
				bl _imp_skipsymbol
		.LVL739:
				b .L418
		.L444:
		.LBE669:
		.LBE668:
		.LBB670:
  971             ->AGAIN
  972          %FINISH
  973          %IF NEXTSYMBOL='X' %START
				cmpwi 7,3,88
				beq 7,.L443
		.L418:
		.LBB690:
		.LBB691:
				bl _imp_nextsymbol
		.LVL763:
		.LBE691:
		.LBE690:
  974             SKIPSYMBOL; SKIPSYMBOL; !PPROFILE
  975          %FINISH
  976          %IF NEXTSYMBOL = 'P' %START
				cmpwi 7,3,80
				beq 7,.L444
		.L419:
		.LBB692:
		.LBB693:
				bl _imp_nextsymbol
		.LVL764:
		.LBE693:
		.LBE692:
  977             PROMPT("NEW PLY?");  SKIPSYMBOL
				li 5,256
				addi 4,27,5865
				mr 3,31
				bl memcpy
		.LVL740:
				li 5,256
				mr 4,31
				addi 3,1,2368
				bl memcpy
		.LVL741:
		.LBE670:
				li 5,256
				addi 4,1,2368
				mr 3,30
				bl memcpy
		.LVL742:
				mr 3,30
				bl PROMPT
		.LVL743:
		.LBB671:
		.LBB672:
				bl _imp_skipsymbol
		.LVL744:
		.LBE672:
		.LBE671:
  978             READ(PDEPTH); SKIPSYMBOL
				addi 24,30,1092
				b .L408
		.LVL722:
		.L448:
		.LBE645:
		.LBE644:
				mr 3,24
				bl _imp_readint
		.LVL745:
		.LBB673:
		.LBB674:
				bl _imp_skipsymbol
		.LVL746:
		.LBE674:
		.LBE673:
		.LBB675:
  979             PROMPT("Move?")
				li 5,256
				addi 4,27,5353
				mr 3,31
				bl memcpy
		.LVL747:
				li 5,256
				mr 4,31
				addi 3,1,2112
				bl memcpy
		.LVL748:
		.LBE675:
				li 5,256
				addi 4,1,2112
				mr 3,30
				bl memcpy
		.LVL749:
				mr 3,30
				bl PROMPT
		.LVL750:
				b .L415
		.L445:
  980             -> AGAIN
  981          %FINISH
  982          %IF NEXTSYMBOL='O' %START;     ! CASTLE
				cmpwi 7,3,79
				beq 7,.L445
		.L420:
  983             X = 0
				li 9,0
				stw 9,284(1)
		.LBB676:
		.LBB677:
				bl _imp_skipsymbol
		.LVL751:
		.LBE677:
		.LBE676:
		.LBB678:
		.LBB679:
				addi 3,1,280
		.LVL752:
				bl _imp_readsymbol
		.LVL753:
		.LBE679:
		.LBE678:
  984             SKIPSYMBOL; READSYMBOL(I)
  985             %IF I # '-' %THEN -> NO
				lwz 9,280(1)
				cmpwi 7,9,45
				beq 7,.L441
		.L421:
		.L428:
		.LBB680:
				li 5,256
				mr 4,26
				mr 3,31
				bl memcpy
		.LVL754:
				li 5,256
				mr 4,31
				mr 3,28
				bl memcpy
		.LVL755:
				li 5,256
				mr 4,28
				mr 3,29
				bl memcpy
		.LVL756:
		.LBE680:
		.LBB681:
		.LBB682:
				li 5,256
				mr 4,29
				mr 3,30
				bl memcpy
		.LVL757:
				mr 3,30
				bl _imp_printstring
		.LVL758:
		.L429:
		.L439:
		.L430:
		.LBE682:
		.LBE681:
		.LBB684:
		.LBB685:
				addi 3,1,280
		.LVL759:
				bl _imp_readsymbol
		.LVL760:
		.LBE685:
		.LBE684:
  986             READSYMBOL(I); -> NO %IF I#'O'
  987             %IF NEXTSYMBOL = '-' %START; ! QUEEN SIDE
				lwz 9,280(1)
				cmpwi 7,9,79
				bne 7,.L428
		.L423:
		.LBB706:
		.LBB707:
				bl _imp_nextsymbol
		.LVL777:
		.LBE707:
		.LBE706:
				cmpwi 7,3,45
				beq 7,.L447
		.L424:
  988                X = 1; SKIPSYMBOL; SKIPSYMBOL
				li 9,1
				stw 9,284(1)
		.LBB708:
		.LBB709:
				bl _imp_skipsymbol
		.LVL778:
		.LBE709:
		.LBE708:
		.LBB710:
		.LBB711:
				bl _imp_skipsymbol
		.LVL779:
				b .L424
		.L446:
		.LBE711:
		.LBE710:
		.LBB712:
		.LBB713:
				bl _imp_skipsymbol
		.LVL780:
		.LBE713:
		.LBE712:
		.LBB714:
		.LBB715:
				addi 3,1,300
		.LVL781:
				bl _imp_readsymbol
		.LVL782:
		.LBE715:
		.LBE714:
		.LBB716:
		.LBB717:
				bl _imp_skipsymbol
		.LVL783:
		.LBE717:
		.LBE716:
  989             %FINISH
  990             LM_SPEC = 6+X
				lwz 9,284(1)
				addi 9,9,6
				stw 9,3144(1)
  991             LM_FR = 5<<4+1
				li 9,81
				stb 9,3140(1)
  992             LM_TO = 5<<4+1
				stb 9,3141(1)
				b .L425
		.L447:
  993          %FINISHELSESTART
  994             I = READM(X, Y);  I=READM(X0, Y0)
				addi 9,1,2880
				addi 4,1,288
				addi 3,9,-2596
				bl READM.7625
		.LVL765:
				stw 3,280(1)
  995             %IF NEXTSYMBOL='(' %START
				addi 9,1,2880
				addi 4,1,296
				addi 3,9,-2588
				bl READM.7625
		.LVL766:
				stw 3,280(1)
		.LBB694:
		.LBB695:
				bl _imp_nextsymbol
		.LVL767:
		.LBE695:
		.LBE694:
				cmpwi 7,3,40
				beq 7,.L446
		.L426:
		.LBB696:
  996                SKIPSYMBOL;  READSYMBOL(K); SKIPSYMBOL
  997                LM_SPEC = (K-'0')*(-1)
				lwz 9,300(1)
				subfic 9,9,48
				stw 9,3144(1)
				b .L426
		.LVL784:
		.L431:
		.LBB718:
		.LBB702:
  998             %FINISH
  999
 1000             %UNLESS 0<X<9 %AND 0<X0<9 %AND %C
 1001                     0<Y<9 %AND 0<Y0<9 %START
 1002 NO:            PRINTSTRING("INVALID MOVE - MY FORMAT IS D2D4
 1003 ")
				addi 31,1,1600
				addi 26,27,6121
		.LBE659:
				lwz 10,284(1)
		.LVL768:
				addi 9,10,-1
				cmplwi 7,9,7
				bgt 7,.L428
		.LBE696:
		.LBB697:
				addi 28,9,-1024
				addi 29,9,-1536
		.LBE723:
		.LBB724:
		.LBB683:
				addi 30,9,-2864
				b .L415
		.LBE683:
		.LBE724:
		.LBE726:
		.LBE732:
		.LFE185:
				.section	.rodata
				.align 2
				.set	.LANCHOR1,. + 0
		.LC23:
				.long	25000
				.long	0
				.long	-25000
		.LC6:
				.byte	19
				.string	"test-new/chess9.imp"
				.zero	235
		.LC28:
				.long	3
				.long	2
				.long	2
				.long	2
				.long	2
				.long	2
				.long	2
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
				.long	1
		.LC0:
				.long	256
				.long	64
				.long	32
				.long	8
				.long	2
				.long	1
		.LC29:
				.byte	40
				.string	"PROGRAM ERROR, NEXT MOVE MAY BE STUPID!\n"
				.zero	214
		.LC18:
				.byte	36
				.string	"  !---!---!---!---!---!---!---!---!\n"
				.zero	218
		.LC13:
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
				.byte	1
				.byte	0
		.LC14:
				.byte	107
				.byte	113
				.byte	114
				.byte	98
				.byte	110
				.byte	112
				.byte	32
				.byte	80
				.byte	78
				.byte	66
				.byte	82
				.byte	81
				.byte	75
		.LC15:
				.byte	2
				.string	"! "
				.zero	252
		.LC16:
				.byte	2
				.string	"!\n"
				.zero	252
		.LC17:
				.byte	34
				.string	"    A   B   C   D   E   F   G   H\n"
				.zero	220
		.LC19:
				.byte	6
				.string	"I Win\n"
				.zero	248
		.LC20:
				.byte	8
				.string	"YOU WIN\n"
				.zero	246
		.LC21:
				.byte	1
				.string	"("
				.zero	253
		.LC22:
				.byte	7
				.string	" Secs)\n"
				.zero	247
		.LC24:
				.byte	21
				.string	"OUT OF FREE CELLS!!!\n"
				.zero	233
				.zero	3
		__PRETTY_FUNCTION__.6588:
				.string	"_imp_SELECTOUTPUT"
		.LC26:
				.byte	6
				.string	"SCORE:"
				.zero	248
		.LC25:
				.byte	3
				.string	"---"
				.zero	251
				.zero	2
		KCASCH.7329:
				.long	1
				.long	0
				.long	8
		PINX.7029:
				.zero	128
		PINY.7030:
				.zero	128
		MOVE.7333:
				.long	.L261
				.long	.L264
				.long	.L268
				.long	.L279
				.long	.L269
				.long	.L287
		.LC27:
				.long	25
				.long	0
				.long	-25
		.LC30:
				.long	8
				.long	8
				.long	3
				.long	3
				.long	3
				.long	3
				.long	3
				.long	3
				.long	3
				.long	3
				.long	3
		.LC31:
				.byte	7
				.string	" FORCED"
				.zero	247
		.LC32:
				.byte	28
				.string	"FORCED TO INCREASE PLYWIDTH\n"
				.zero	226
		.LC1:
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	0
				.long	5
				.long	0
				.long	0
				.long	3
				.long	3
				.long	3
				.long	20
				.long	20
				.long	3
				.long	3
				.long	3
				.long	4
				.long	6
				.long	6
				.long	50
				.long	50
				.long	6
				.long	6
				.long	4
				.long	8
				.long	9
				.long	30
				.long	55
				.long	55
				.long	30
				.long	9
				.long	8
				.long	10
				.long	10
				.long	35
				.long	60
				.long	60
				.long	35
				.long	10
				.long	10
				.long	100
				.long	100
				.long	100
				.long	100
				.long	100
				.long	100
				.long	100
				.long	100
				.long	500
				.long	500
				.long	500
				.long	500
				.long	500
				.long	500
				.long	500
				.long	500
		.LC2:
				.byte	2
				.byte	3
				.byte	6
				.byte	7
				.byte	58
				.byte	59
				.byte	62
				.byte	63
				.byte	1
				.byte	8
				.byte	57
				.byte	64
		.LC3:
				.long	-2
				.long	-3
				.long	-3
				.long	-2
				.long	2
				.long	3
				.long	3
				.long	2
				.long	-4
				.long	-4
				.long	4
				.long	4
		.LC4:
				.long	-7
				.long	-7
				.long	-7
				.long	-7
				.long	7
				.long	7
				.long	7
				.long	7
				.long	-10
				.long	-10
				.long	10
				.long	10
		.LC5:
				.long	-24000
				.long	0
				.long	24000
		__PRETTY_FUNCTION__.6584:
				.string	"_imp_SELECTINPUT"
		.LC7:
				.byte	92
				.string	"Version 2.5\nHOW DIFFICULT A GAME DO YOU WANT?\n      2 = NORMAL STRENGTH, 3 = MORE DIFFI
				.zero	162
		.LC8:
				.byte	4
				.string	"2-4?"
				.zero	250
		.LC9:
				.byte	5
				.string	"Move?"
				.zero	249
		.LC10:
				.byte	4
				.string	"MON?"
				.zero	250
		.LC11:
				.byte	8
				.string	"NEW PLY?"
				.zero	246
		.LC12:
				.byte	33
				.string	"INVALID MOVE - MY FORMAT IS D2D4\n"
				.zero	221
				.section	".data"
				.align 2
				.set	.LANCHOR2,. + 0
		NO.7060:
				.long	1
				.section	".bss"
				.align 3
				.set	.LANCHOR0,. + 0
		BRD.7001:
				.zero	1024
		KCAS.7050:
				.zero	12
				.zero	4
		TIME.7057:
				.zero	8
		TIME2.7058:
				.zero	8
		PINPT.7033:
				.zero	4
		SCOREA.7061:
				.zero	4
		XDEPTH.7062:
				.zero	4
		PX.7034:
				.zero	4
		PY.7035:
				.zero	4
		LASTCHK.7067:
				.zero	4
		KMOVE.7049:
				.zero	3
				.zero	1
		JUSTONEPLY.7065:
				.zero	4
		MON.7064:
				.zero	4
		PDEPTH.7063:
				.zero	4
				.section	.rodata.str1.4,"aMS",@progbits,1
				.align 2
		.LC33:
				.string	"Illegal cycle I = 1, 1, WIDTH"
				.zero	2
		.LC34:
				.string	"Illegal cycle I = 1, 1, PINPT"
				.zero	2
		.LC35:
				.string	"test-new/chess9.imp"
		.LC36:
				.string	"->MOVE(%d) out of bounds at %s line %d"
				.zero	1
		.LC37:
				.string	"Illegal cycle J = 1, 1, I - 1"
				.section	".text"
		.Letext0:
 1004                %CYCLE
 1005                   READSYMBOL(I)
 1006                   %EXIT %IF I=NL
				lwz 9,280(1)
				cmpwi 7,9,10
				bne 7,.L439
		.L415:
 1007                %REPEAT
 1008                ->AGAIN
 1009             %FINISH
 1010
				lwz 8,292(1)
		.LVL769:
				addi 9,8,-1
				cmplwi 7,9,7
				bgt 7,.L428
		.LBE697:
		.LBB698:
 1011             !!
 1012             LM_FR = X<<4+Y
				slwi 9,10,4
				add 9,9,7
				stb 9,3140(1)
 1013             LM_TO = X0<<4+Y0
				slwi 9,8,4
				add 9,9,6
				stb 9,3141(1)
		.LVL772:
		.L425:
 1014          %FINISH
 1015          MMOVE_L == LM
				stw 23,3152(1)
		.LVL773:
		.LBB700:
		.LBB701:
				addi 9,1,2880
				addi 23,1,3136
		.LBB722:
		.LBB703:
 1016          %IF CHECK YOUR MOVE(LIST) = 0 %THEN ->NO
 1017          SKIPSYMBOL
				lwz 7,288(1)
		.LVL770:
				addi 9,7,-1
				cmplwi 7,9,7
				bgt 7,.L428
		.LBE698:
		.LBB699:
 1018          RELEASE CHAIN(LIST)
				addi 11,1,3136
				mr 3,20
				bl RELEASECHAIN.7141
		.LVL790:
		.LBE725:
		.LBE727:
 1019       %END
 1020 %ENDOFPROGRAM
?CHK unused
?BRDOLD unused
?PLYWIDTH unused
  879 Statements compiled
				lwz 6,296(1)
		.LVL771:
				addi 9,6,-1
				cmplwi 7,9,7
				bgt 7,.L428
		.L427:
		.LBE699:
