|
|
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.