mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-12-14 14:11:15 +00:00
193 lines
2.6 KiB
Text
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
|