diff options
Diffstat (limited to 'code/tools/lcc/alpha/osf/tst/8q.sbk')
-rw-r--r-- | code/tools/lcc/alpha/osf/tst/8q.sbk | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/code/tools/lcc/alpha/osf/tst/8q.sbk b/code/tools/lcc/alpha/osf/tst/8q.sbk new file mode 100644 index 0000000..a1cd7d7 --- /dev/null +++ b/code/tools/lcc/alpha/osf/tst/8q.sbk @@ -0,0 +1,193 @@ +.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 |