194 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.globl main
 | 
						|
.text
 | 
						|
.text
 | 
						|
.ent main
 | 
						|
main:
 | 
						|
ldgp $gp,0($27)
 | 
						|
lda $sp,-80($sp)
 | 
						|
.mask 0x4004000,-72
 | 
						|
.frame $sp,80,$26,48
 | 
						|
stq $14,0($sp)
 | 
						|
stq $26,8($sp)
 | 
						|
.prologue 1
 | 
						|
mov $31,$14
 | 
						|
L.2:
 | 
						|
sll $14,8*(8-4),$27
 | 
						|
sra $27,8*(8-4),$27
 | 
						|
sll $27,2,$27
 | 
						|
lda $25,1
 | 
						|
stl $25,down($27)
 | 
						|
stl $25,up($27)
 | 
						|
L.3:
 | 
						|
lda $14,1($14)
 | 
						|
cmplt $14,15,$23
 | 
						|
bne $23,L.2
 | 
						|
mov $31,$14
 | 
						|
L.6:
 | 
						|
sll $14,8*(8-4),$27
 | 
						|
sra $27,8*(8-4),$27
 | 
						|
sll $27,2,$27
 | 
						|
lda $25,1
 | 
						|
stl $25,rows($27)
 | 
						|
L.7:
 | 
						|
lda $14,1($14)
 | 
						|
cmplt $14,8,$23
 | 
						|
bne $23,L.6
 | 
						|
mov $31,$16
 | 
						|
jsr $26,queens
 | 
						|
ldgp $gp,0($26)
 | 
						|
mov $31,$0
 | 
						|
L.1:
 | 
						|
ldq $14,0($sp)
 | 
						|
ldq $26,8($sp)
 | 
						|
lda $sp,80($sp)
 | 
						|
ret
 | 
						|
.end main
 | 
						|
.globl queens
 | 
						|
.text
 | 
						|
.ent queens
 | 
						|
queens:
 | 
						|
ldgp $gp,0($27)
 | 
						|
lda $sp,-80($sp)
 | 
						|
.mask 0x4006000,-64
 | 
						|
.frame $sp,80,$26,48
 | 
						|
stq $13,0($sp)
 | 
						|
stq $14,8($sp)
 | 
						|
stq $26,16($sp)
 | 
						|
mov $16,$14
 | 
						|
.prologue 1
 | 
						|
mov $31,$13
 | 
						|
L.11:
 | 
						|
sll $13,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
ldl $25,rows($25)
 | 
						|
cmpeq $25,$31,$23
 | 
						|
bne $23,L.15
 | 
						|
subl $13,$14,$25
 | 
						|
lda $25,7($25)
 | 
						|
sll $25,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
ldl $25,up($25)
 | 
						|
cmpeq $25,$31,$23
 | 
						|
bne $23,L.15
 | 
						|
addl $13,$14,$25
 | 
						|
sll $25,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
ldl $25,down($25)
 | 
						|
cmpeq $25,$31,$23
 | 
						|
bne $23,L.15
 | 
						|
addl $13,$14,$25
 | 
						|
sll $25,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
stl $31,down($25)
 | 
						|
subl $13,$14,$25
 | 
						|
lda $25,7($25)
 | 
						|
sll $25,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
stl $31,up($25)
 | 
						|
sll $13,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
stl $31,rows($25)
 | 
						|
sll $14,8*(8-4),$27
 | 
						|
sra $27,8*(8-4),$27
 | 
						|
sll $27,2,$27
 | 
						|
stl $13,x($27)
 | 
						|
cmpeq $14,7,$23
 | 
						|
beq $23,L.17
 | 
						|
jsr $26,print
 | 
						|
ldgp $gp,0($26)
 | 
						|
br L.18
 | 
						|
L.17:
 | 
						|
lda $16,1($14)
 | 
						|
jsr $26,queens
 | 
						|
ldgp $gp,0($26)
 | 
						|
L.18:
 | 
						|
lda $27,1
 | 
						|
addl $13,$14,$25
 | 
						|
sll $25,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
stl $27,down($25)
 | 
						|
subl $13,$14,$25
 | 
						|
lda $25,7($25)
 | 
						|
sll $25,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
stl $27,up($25)
 | 
						|
sll $13,8*(8-4),$25
 | 
						|
sra $25,8*(8-4),$25
 | 
						|
sll $25,2,$25
 | 
						|
stl $27,rows($25)
 | 
						|
L.15:
 | 
						|
L.12:
 | 
						|
lda $13,1($13)
 | 
						|
cmplt $13,8,$23
 | 
						|
bne $23,L.11
 | 
						|
mov $31,$0
 | 
						|
L.10:
 | 
						|
ldq $13,0($sp)
 | 
						|
ldq $14,8($sp)
 | 
						|
ldq $26,16($sp)
 | 
						|
lda $sp,80($sp)
 | 
						|
ret
 | 
						|
.end queens
 | 
						|
.globl print
 | 
						|
.text
 | 
						|
.ent print
 | 
						|
print:
 | 
						|
ldgp $gp,0($27)
 | 
						|
lda $sp,-80($sp)
 | 
						|
.mask 0x4004000,-72
 | 
						|
.frame $sp,80,$26,48
 | 
						|
stq $14,0($sp)
 | 
						|
stq $26,8($sp)
 | 
						|
.prologue 1
 | 
						|
mov $31,$14
 | 
						|
L.20:
 | 
						|
lda $16,L.24
 | 
						|
sll $14,8*(8-4),$27
 | 
						|
sra $27,8*(8-4),$27
 | 
						|
sll $27,2,$27
 | 
						|
ldl $27,x($27)
 | 
						|
lda $17,49($27)
 | 
						|
jsr $26,printf
 | 
						|
ldgp $gp,0($26)
 | 
						|
L.21:
 | 
						|
lda $14,1($14)
 | 
						|
cmplt $14,8,$23
 | 
						|
bne $23,L.20
 | 
						|
lda $16,L.25
 | 
						|
jsr $26,printf
 | 
						|
ldgp $gp,0($26)
 | 
						|
mov $31,$0
 | 
						|
L.19:
 | 
						|
ldq $14,0($sp)
 | 
						|
ldq $26,8($sp)
 | 
						|
lda $sp,80($sp)
 | 
						|
ret
 | 
						|
.end print
 | 
						|
.globl x
 | 
						|
.comm x,32
 | 
						|
.globl rows
 | 
						|
.comm rows,32
 | 
						|
.globl down
 | 
						|
.comm down,60
 | 
						|
.globl up
 | 
						|
.comm up,60
 | 
						|
.rdata
 | 
						|
.align 0
 | 
						|
L.25:
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 0
 | 
						|
L.24:
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 32
 | 
						|
.byte 0
 |