lilium-voyager/lcc/alpha/osf/tst/8q.sbk

193 lines
2.6 KiB
Text

.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