.psect .prog. main: jsr r0,__csav tst -(sp) .psect .strn. .2: .byte 103 .byte 150 .byte 145 .byte 163 .byte 163 .byte 12 .byte 0 .psect .prog. mov $.2,(sp) jsr pc,printf jsr pc,itinit mov $lmbuf,lmp mov $ambuf,amp mov amp,r0 add $2,amp mov $177777,(r0) mov lmp,r0 add $2,lmp mov $177777,(r0) mov $177777,bookf mov $100,-2(r5) .4: mov -2(r5),r0 dec -2(r5) tst r0 beq .3 mov $6,-(sp) mov $10,-(sp) mov -2(r5),-(sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ asl r0 add $edge,r0 mov (r0),r0 mov r0,-(sp) .globl asl_i jsr pc,asl_i cmp (sp)+,(sp)+ mov r0,-(sp) mov $10,-(sp) mov -2(r5),-(sp) .globl mod_i jsr pc,mod_i cmp (sp)+,(sp)+ asl r0 add $edge,r0 mov (r0),r0 bis r0,(sp) mov -2(r5),r0 asl r0 add $dir,r0 mov (sp)+,(r0) br .4 .3: clr (sp) jsr pc,play .1: jmp __cret ctime: jsr r0,__csav .psect .strn. .6: .byte 45 .byte 163 .byte 72 .byte 40 .byte 45 .byte 144 .byte 72 .byte 45 .byte 144 .byte 45 .byte 144 .byte 12 .byte 0 .psect .prog. mov $12,-(sp) mov 14(r5),-(sp) .globl mod_i jsr pc,mod_i cmp (sp)+,(sp)+ mov r0,(sp) mov $6,-(sp) mov $12,-(sp) mov 14(r5),-(sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ mov r0,-(sp) .globl mod_i jsr pc,mod_i cmp (sp)+,(sp)+ mov r0,-(sp) mov $74,-(sp) mov 14(r5),-(sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ mov r0,-(sp) mov 12(r5),-(sp) mov $.6,-(sp) jsr pc,printf add $10,sp .5: jmp __cret check: jsr r0,__csav mov bkpos,(sp) jsr pc,wattack tst r0 beq .77776 mov wkpos,(sp) jsr pc,battack tst r0 bne .77777 .77776: mov $1,r0 br .77775 .77777: clr r0 .77775: .7: jmp __cret increm: jsr r0,__csav jsr pc,clock mov r0,-(sp) mov mantom,r0 asl r0 add $clktim,r0 add (sp)+,(r0) tst mantom beq .11 inc moveno .11: tst mantom bne .77774 mov $1,r0 br .77773 .77774: clr r0 .77773: mov r0,mantom .10: jmp __cret decrem: jsr r0,__csav tst mantom bne .77772 mov $1,r0 br .77771 .77772: clr r0 .77771: mov r0,mantom tst mantom beq .13 dec moveno .13: .12: jmp __cret stage: jsr r0,__csav sub $4,sp mov depth,r0 add $10,r0 mov r0,qdepth clr -2(r5) br .17 .16: inc -2(r5) .17: cmp -2(r5),$15 bge .15 mov -2(r5),r4 asl r4 add $ipval,r4 mov -2(r5),r0 asl r0 add $pval,r0 mov (r4),(r0) br .16 .15: clr value clr -2(r5) br .22 .21: inc -2(r5) .22: cmp -2(r5),$100 bge .20 mov -2(r5),r0 asl r0 add $board,r0 mov (r0),-4(r5) mov -4(r5),r0 asl r0 add $pval+14,r0 add (r0),value br .21 .20: cmp value,$226 ble .23 mov $1,gval br .24 .23: cmp value,$177552 bge .25 mov $177777,gval br .26 .25: clr gval .26: .24: mov $177772,-2(r5) .30: cmp -2(r5),$6 bgt .27 mov -2(r5),r0 asl r0 add $pval+14,r0 mov (r0),-4(r5) tst -4(r5) bge .31 sub $62,-4(r5) br .32 .31: add $62,-4(r5) .32: tst -4(r5) bge .33 mov $144,-(sp) mov -4(r5),-(sp) neg (sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ neg r0 mov r0,-4(r5) br .34 .33: mov $144,-(sp) mov -4(r5),-(sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ mov r0,-4(r5) .34: tst -2(r5) beq .35 mov $144,-(sp) mov -4(r5),-(sp) .globl mul_i jsr pc,mul_i cmp (sp)+,(sp)+ mov r0,-(sp) sub gval,(sp) mov -2(r5),r0 asl r0 add $pval+14,r0 mov (sp)+,(r0) .35: inc -2(r5) br .30 .27: mov $32750,-4(r5) mov $100,-2(r5) .37: mov -2(r5),r0 dec -2(r5) tst r0 beq .36 mov -2(r5),r0 asl r0 add $board,r0 mov (r0),r0 asl r0 add $pval+14,r0 mov (r0),r0 mov r0,(sp) jsr pc,abs sub r0,-4(r5) br .37 .36: cmp -4(r5),$7640 ble .40 mov $3,game br .41 .40: cmp -4(r5),$3720 ble .42 mov $2,game br .43 .42: cmp moveno,$5 ble .44 mov $1,game br .45 .44: clr game .45: .43: .41: .14: jmp __cret posit: jsr r0,__csav tst -(sp) .50: cmp amp,14(r5) beq .47 mov amp,r0 mov 6(r0),r0 swab r0 clrb r0 mov r0,-2(r5) mov amp,r0 mov 10(r0),-(sp) bic $177400,(sp) bis (sp)+,-2(r5) mov 16(r5),(sp) mov -2(r5),-(sp) jsr pc,*12(r5) tst (sp)+ tst mantom beq .51 mov -2(r5),(sp) jsr pc,bmove inc moveno clr mantom br .52 .51: mov -2(r5),(sp) jsr pc,wmove mov $1,mantom .52: br .50 .47: .46: jmp __cret rept1: jsr r0,__csav tst -(sp) mov 14(r5),r0 cmp 200(r0),mantom bne .53 .54: clr -2(r5) br .57 .56: inc -2(r5) .57: cmp -2(r5),$100 bge .55 mov -2(r5),r4 asl r4 add 14(r5),r4 mov -2(r5),r0 asl r0 add $board,r0 mov (r0),r0 cmp r0,(r4) bne .53 .60: br .56 .55: mov 14(r5),r0 inc 202(r0) .53: jmp __cret rept: jsr r0,__csav sub $210,sp clr -206(r5) br .64 .63: inc -206(r5) .64: cmp -206(r5),$100 bge .62 mov -206(r5),r4 asl r4 add $board,r4 mov -206(r5),r0 asl r0 add r5,r0 mov (r4),-204(r0) br .63 .62: mov mantom,-4(r5) clr -2(r5) mov amp,-210(r5) .66: mov amp,r0 cmp -2(r0),$177777 beq .65 mov amp,r0 tst -4(r0) bne .65 .67: mov amp,r0 mov -6(r0),r0 asl r0 add $board,r0 mov (r0),-206(r5) cmp -206(r5),$1 beq .77770 cmp -206(r5),$177777 bne .70 .77770: br .65 .70: tst mantom beq .77767 jsr pc,wremove br .77766 .77767: jsr pc,bremove .77766: jsr pc,decrem br .66 .65: mov r5,(sp) add $177574,(sp) mov -210(r5),-(sp) mov $rept1,-(sp) jsr pc,posit cmp (sp)+,(sp)+ mov -2(r5),r0 .61: jmp __cret .globl bremove .globl wremove .globl rept .globl rept1 .globl wmove .globl bmove .globl posit .globl abs .globl stage .globl decrem .globl clock .globl increm .globl battack .globl wattack .globl check .globl ctime .globl play .globl itinit .globl printf .globl main .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