|
|
1.1 ! root 1: .text ! 2: .globl _main ! 3: .align 2 ! 4: _main:link a6,#-8 ! 5: moveml #0x80,a6@(-4) ! 6: clrl d7 ! 7: L2: ! 8: movl #1,@(_down:l,d7:l:4) ! 9: movl #1,@(_up:l,d7:l:4) ! 10: L3: ! 11: addql #1,d7 ! 12: cmpl #15,d7; jlt L2 ! 13: clrl d7 ! 14: L6: ! 15: movl #1,@(_rows:l,d7:l:4) ! 16: L7: ! 17: addql #1,d7 ! 18: cmpl #8,d7; jlt L6 ! 19: movl #0,sp@ ! 20: jbsr _queens:l ! 21: clrl d0 ! 22: L1: ! 23: moveml a6@(-4),#0x80 ! 24: unlk a6 ! 25: rts ! 26: .globl _queens ! 27: .align 2 ! 28: _queens:link a6,#-16 ! 29: moveml #0xd0,a6@(-12) ! 30: movl a6@(8),d7 ! 31: clrl d6 ! 32: L11: ! 33: tstl @(_rows:l,d6:l:4); jeq L15 ! 34: movl d6,d4; subl d7,d4 ! 35: tstl @(_up+28:l,d4:l:4); jeq L15 ! 36: movl d6,d4; addl d7,d4 ! 37: tstl @(_down:l,d4:l:4); jeq L15 ! 38: movl d6,d4; addl d7,d4 ! 39: clrl @(_down:l,d4:l:4) ! 40: movl d6,d4; subl d7,d4 ! 41: clrl @(_up+28:l,d4:l:4) ! 42: clrl @(_rows:l,d6:l:4) ! 43: movl d6,@(_x:l,d7:l:4) ! 44: cmpl #7,d7; jne L19 ! 45: jbsr _print:l ! 46: jra L20 ! 47: L19: ! 48: movl d7,d4; addql #1,d4 ! 49: movl d4,sp@ ! 50: jbsr _queens:l ! 51: L20: ! 52: movl d6,d4; addl d7,d4 ! 53: movl #1,@(_down:l,d4:l:4) ! 54: movl d6,d4; subl d7,d4 ! 55: movl #1,@(_up+28:l,d4:l:4) ! 56: movl #1,@(_rows:l,d6:l:4) ! 57: L15: ! 58: L12: ! 59: addql #1,d6 ! 60: cmpl #8,d6; jlt L11 ! 61: L10: ! 62: moveml a6@(-12),#0xd0 ! 63: unlk a6 ! 64: rts ! 65: .globl _print ! 66: .align 2 ! 67: _print:link a6,#-16 ! 68: moveml #0x90,a6@(-8) ! 69: clrl d7 ! 70: L23: ! 71: movl #L27,sp@ ! 72: movl @(_x:l,d7:l:4),d4 ! 73: addl #49,d4 ! 74: movl d4,sp@(4) ! 75: jbsr _printf:l ! 76: L24: ! 77: addql #1,d7 ! 78: cmpl #8,d7; jlt L23 ! 79: movl #L28,sp@ ! 80: jbsr _printf:l ! 81: L22: ! 82: moveml a6@(-8),#0x90 ! 83: unlk a6 ! 84: rts ! 85: .bss ! 86: .globl _x ! 87: .comm _x,32 ! 88: .globl _rows ! 89: .comm _rows,32 ! 90: .globl _down ! 91: .comm _down,60 ! 92: .globl _up ! 93: .comm _up,60 ! 94: .text ! 95: .align 2; L28:.byte 10,0 ! 96: .align 2; L27:.ascii "%c \000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.