|
|
1.1 ! root 1: .seg "text" ! 2: .global _main ! 3: .align 4 ! 4: .proc 4 ! 5: _main:save %sp,-96,%sp ! 6: mov %r0,%r29 ! 7: L2: ! 8: set 1,%r28 ! 9: sll %r29,2,%r27 ! 10: set _down,%r26 ! 11: st %r28,[%r27+%r26] ! 12: set _up,%r26 ! 13: st %r28,[%r27+%r26] ! 14: L3: ! 15: add %r29,1,%r29 ! 16: cmp %r29,15; bl L2; nop ! 17: mov %r0,%r29 ! 18: L6: ! 19: set 1,%r28 ! 20: sll %r29,2,%r27 ! 21: set _rows,%r26 ! 22: st %r28,[%r27+%r26] ! 23: L7: ! 24: add %r29,1,%r29 ! 25: cmp %r29,8; bl L6; nop ! 26: mov %r0,%r8 ! 27: call _queens; nop ! 28: mov %r0,%r24 ! 29: L1: ! 30: ret; restore ! 31: .global _queens ! 32: .align 4 ! 33: .proc 4 ! 34: _queens:save %sp,-96,%sp ! 35: mov %r0,%r29 ! 36: L11: ! 37: sll %r29,2,%r28 ! 38: set _rows,%r27 ! 39: ld [%r28+%r27],%r28 ! 40: cmp %r28,%r0; be L15; nop ! 41: sub %r29,%r24,%r28 ! 42: sll %r28,2,%r28 ! 43: set _up+28,%r27 ! 44: ld [%r28+%r27],%r28 ! 45: cmp %r28,%r0; be L15; nop ! 46: add %r29,%r24,%r28 ! 47: sll %r28,2,%r28 ! 48: set _down,%r27 ! 49: ld [%r28+%r27],%r28 ! 50: cmp %r28,%r0; be L15; nop ! 51: add %r29,%r24,%r28 ! 52: sll %r28,2,%r28 ! 53: set _down,%r27 ! 54: st %r0,[%r28+%r27] ! 55: sub %r29,%r24,%r28 ! 56: sll %r28,2,%r28 ! 57: set _up+28,%r27 ! 58: st %r0,[%r28+%r27] ! 59: sll %r29,2,%r28 ! 60: set _rows,%r27 ! 61: st %r0,[%r28+%r27] ! 62: sll %r24,2,%r28 ! 63: set _x,%r27 ! 64: st %r29,[%r28+%r27] ! 65: cmp %r24,7; bne L19; nop ! 66: call _print; nop ! 67: ba L20; nop ! 68: L19: ! 69: add %r24,1,%r8 ! 70: call _queens; nop ! 71: L20: ! 72: set 1,%r28 ! 73: add %r29,%r24,%r27 ! 74: sll %r27,2,%r27 ! 75: set _down,%r26 ! 76: st %r28,[%r27+%r26] ! 77: sub %r29,%r24,%r27 ! 78: sll %r27,2,%r27 ! 79: set _up+28,%r26 ! 80: st %r28,[%r27+%r26] ! 81: sll %r29,2,%r27 ! 82: set _rows,%r26 ! 83: st %r28,[%r27+%r26] ! 84: L15: ! 85: L12: ! 86: add %r29,1,%r29 ! 87: cmp %r29,8; bl L11; nop ! 88: L10: ! 89: ret; restore ! 90: .global _print ! 91: .align 4 ! 92: .proc 4 ! 93: _print:save %sp,-96,%sp ! 94: mov %r0,%r29 ! 95: L23: ! 96: set L27,%r8 ! 97: sll %r29,2,%r28 ! 98: set _x,%r27 ! 99: ld [%r28+%r27],%r28 ! 100: add %r28,49,%r9 ! 101: call _printf; nop ! 102: L24: ! 103: add %r29,1,%r29 ! 104: cmp %r29,8; bl L23; nop ! 105: set L28,%r8 ! 106: call _printf; nop ! 107: L22: ! 108: ret; restore ! 109: .seg "bss" ! 110: .global _x ! 111: .align 4; .common _x,32 ! 112: .global _rows ! 113: .align 4; .common _rows,32 ! 114: .global _down ! 115: .align 4; .common _down,60 ! 116: .global _up ! 117: .align 4; .common _up,60 ! 118: .seg "text" ! 119: L28:.byte 10,0 ! 120: L27:.ascii "%c \000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.