.psect .prog. wplay: jsr r0,__csav sub $14,sp cmp value,ivalue bge .2 mov value,ivalue .2: clr -14(r5) mov $5670,-2(r5) clr ply jsr pc,statl mov r0,-6(r5) mov -6(r5),r0 add $4,r0 cmp r0,lmp bne .3 mov -6(r5),r0 mov 2(r0),abmove mov -6(r5),lmp mov ivalue,r0 br .1 .3: mov -6(r5),-10(r5) tst mantom bne .77777 mov $1,r0 br .77776 .77777: clr r0 .77776: mov r0,mantom .5: cmp -10(r5),lmp beq .4 add $2,-10(r5) mov *-10(r5),(sp) jsr pc,wmove tst testf beq .6 tst mantom bne .77775 mov $1,r0 br .77774 .77775: clr r0 .77774: mov r0,mantom mov $1,(sp) jsr pc,wstatic tst mantom bne .77773 mov $1,r0 br .77772 .77773: clr r0 .77772: mov r0,mantom .6: jsr pc,rept tst r0 beq .7 clr -4(r5) br .10 .7: mov -2(r5),(sp) jsr pc,bplay1 mov r0,-4(r5) .10: cmp -4(r5),-2(r5) bge .11 clr (sp) mov $3,-(sp) jsr pc,mate tst (sp)+ tst r0 bne .11 mov *-10(r5),-14(r5) mov -4(r5),-2(r5) .11: jsr pc,wremove tst testf beq .12 tst mantom bne .77771 mov $1,r0 br .77770 .77771: clr r0 .77770: mov r0,mantom .psect .strn. .13: .byte 45 .byte 66 .byte 144 .byte 40 .byte 0 .psect .prog. mov -4(r5),(sp) mov $.13,-(sp) jsr pc,printf tst (sp)+ mov *-10(r5),(sp) jsr pc,out .psect .strn. .14: .byte 12 .byte 0 .psect .prog. mov $.14,(sp) jsr pc,printf tst mantom bne .77767 mov $1,r0 br .77766 .77767: clr r0 .77766: mov r0,mantom .12: add $2,-10(r5) br .5 .4: tst -14(r5) bne .15 cmp lmp,-6(r5) beq .15 mov -6(r5),r0 mov 2(r0),-14(r5) .15: tst mantom bne .77765 mov $1,r0 br .77764 .77765: clr r0 .77764: mov r0,mantom mov -6(r5),lmp mov -14(r5),abmove mov -2(r5),r0 .1: jmp __cret wplay1: jsr r0,__csav sub $10,sp cmp ply,depth blt .17 mov 12(r5),(sp) jsr pc,wquies br .16 .17: inc ply mov lmp,r0 mov r0,-10(r5) mov r0,-6(r5) jsr pc,wgen mov lmp,(sp) mov -6(r5),-(sp) jsr pc,qsort tst (sp)+ mov $5670,-2(r5) .21: cmp -10(r5),lmp beq .20 tst intrp bne .23 .22: add $2,-10(r5) mov *-10(r5),(sp) jsr pc,wmove mov wkpos,(sp) jsr pc,battack tst r0 beq .24 mov -2(r5),(sp) jsr pc,bplay1 mov r0,-4(r5) cmp -4(r5),-2(r5) bge .25 mov -4(r5),-2(r5) .25: .24: jsr pc,wremove cmp -2(r5),12(r5) ble .23 .26: add $2,-10(r5) br .21 .20: .23: dec ply mov -6(r5),lmp cmp -2(r5),$5670 bne .27 dec -2(r5) jsr pc,check tst r0 bne .30 clr -2(r5) .30: .27: mov -2(r5),r0 .16: jmp __cret wquies: jsr r0,__csav sub $12,sp cmp ply,qdepth blt .32 mov ivalue,r0 br .31 .32: mov lmp,r0 mov r0,-6(r5) mov r0,-4(r5) mov r0,-2(r5) jsr pc,wgen .34: cmp -4(r5),lmp beq .33 mov -4(r5),r0 add $2,-4(r5) mov (r0),-10(r5) cmp -10(r5),value beq .35 mov ivalue,r0 add $62,r0 cmp r0,-10(r5) blt .35 mov $144,-(sp) mov *-4(r5),r0 bic $177400,r0 asl r0 add $board,r0 mov (r0),r0 asl r0 add $pval+14,r0 mov (r0),r0 mov r0,-(sp) neg (sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ mov r0,-(sp) mov $144,-(sp) mov $10,-(sp) mov *-4(r5),-(sp) .globl asr_i jsr pc,asr_i cmp (sp)+,(sp)+ asl r0 add $board,r0 mov (r0),r0 asl r0 add $pval+14,r0 mov (r0),r0 mov r0,-(sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ swab r0 clrb r0 bis r0,(sp) mov -6(r5),r0 add $2,-6(r5) mov (sp)+,(r0) mov -6(r5),r0 add $2,-6(r5) mov *-4(r5),(r0) .35: add $2,-4(r5) br .34 .33: cmp -6(r5),-2(r5) bne .36 mov -2(r5),lmp mov value,r0 br .31 .36: inc ply mov -6(r5),(sp) mov -2(r5),-(sp) jsr pc,qsort tst (sp)+ mov -6(r5),lmp mov -2(r5),-4(r5) mov value,-10(r5) .40: cmp -4(r5),lmp beq .37 add $2,-4(r5) mov *-4(r5),(sp) jsr pc,wmove mov wkpos,(sp) jsr pc,battack tst r0 beq .41 mov -10(r5),(sp) jsr pc,bquies mov r0,-12(r5) br .42 .41: mov $5670,-12(r5) .42: cmp -12(r5),-10(r5) bge .43 mov -12(r5),-10(r5) .43: jsr pc,wremove cmp -10(r5),12(r5) ble .45 .44: add $2,-4(r5) br .40 .37: .45: dec ply mov -2(r5),lmp mov -10(r5),r0 .31: jmp __cret .globl bquies .globl check .globl battack .globl qsort .globl wgen .globl wquies .globl wplay1 .globl out .globl printf .globl wremove .globl mate .globl bplay1 .globl rept .globl wstatic .globl wmove .globl statl .globl wplay .globl sbuf .globl ambuf .globl lmbuf .globl board .globl dir .globl ipval .globl pval .globl edge .globl column .globl wkpos .globl bkpos .globl eppos .globl flag .globl depth .globl mfmt .globl ivalue .globl value .globl ply .globl mantom .globl lastmov .globl sbufp .globl amp .globl lmp .globl abmove .globl game .globl gval .globl moveno .globl intrp .globl matflg .globl manflg .globl bookp .globl bookf .globl mdepth .globl qdepth .globl testf .globl clktim .globl control .globl bheur .globl wheur .globl center .globl attacv .globl __csav .globl __cret .psect .prog. .even .psect .data. .even .psect .mwcn. .even .psect .prof. .even