.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