Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

8q.sbk (1980B)


      1 .global main
      2 .section ".text"
      3 .align 4
      4 main:
      5 save %sp,-96,%sp
      6 mov %g0,%i5
      7 .L2:
      8 sll %i5,2,%i4
      9 set 1,%i3
     10 set down,%i2
     11 st %i3,[%i4+%i2]
     12 set up,%i2
     13 st %i3,[%i4+%i2]
     14 .L3:
     15 add %i5,1,%i5
     16 cmp %i5,15; bl .L2; nop
     17 mov %g0,%i5
     18 .L6:
     19 sll %i5,2,%i4
     20 set rows,%i3
     21 set 1,%i2
     22 st %i2,[%i4+%i3]
     23 .L7:
     24 add %i5,1,%i5
     25 cmp %i5,8; bl .L6; nop
     26 mov %g0,%o0
     27 call queens; nop
     28 mov %g0,%i0
     29 .L1:
     30 ret; restore
     31 .type main,#function
     32 .size main,.-main
     33 .global queens
     34 .align 4
     35 queens:
     36 save %sp,-96,%sp
     37 mov %g0,%i5
     38 .L11:
     39 sll %i5,2,%i3
     40 set rows,%i2
     41 ld [%i3+%i2],%i3
     42 cmp %i3,%g0; be .L15; nop
     43 sub %i5,%i0,%i3
     44 sll %i3,2,%i3
     45 set up+28,%i2
     46 ld [%i3+%i2],%i3
     47 cmp %i3,%g0; be .L15; nop
     48 add %i5,%i0,%i3
     49 sll %i3,2,%i3
     50 set down,%i2
     51 ld [%i3+%i2],%i3
     52 cmp %i3,%g0; be .L15; nop
     53 add %i5,%i0,%i3
     54 sll %i3,2,%i3
     55 set down,%i2
     56 st %g0,[%i3+%i2]
     57 sub %i5,%i0,%i3
     58 sll %i3,2,%i3
     59 set up+28,%i2
     60 st %g0,[%i3+%i2]
     61 sll %i5,2,%i3
     62 set rows,%i2
     63 st %g0,[%i3+%i2]
     64 sll %i0,2,%i4
     65 set x,%i3
     66 st %i5,[%i4+%i3]
     67 cmp %i0,7; bne .L19; nop
     68 call print; nop
     69 ba .L20; nop
     70 .L19:
     71 add %i0,1,%o0
     72 call queens; nop
     73 .L20:
     74 set 1,%i4
     75 add %i5,%i0,%i3
     76 sll %i3,2,%i3
     77 set down,%i2
     78 st %i4,[%i3+%i2]
     79 sub %i5,%i0,%i3
     80 sll %i3,2,%i3
     81 set up+28,%i2
     82 st %i4,[%i3+%i2]
     83 sll %i5,2,%i3
     84 set rows,%i2
     85 st %i4,[%i3+%i2]
     86 .L15:
     87 .L12:
     88 add %i5,1,%i5
     89 cmp %i5,8; bl .L11; nop
     90 mov %g0,%i0
     91 .L10:
     92 ret; restore
     93 .type queens,#function
     94 .size queens,.-queens
     95 .global print
     96 .align 4
     97 print:
     98 save %sp,-96,%sp
     99 mov %g0,%i5
    100 .L23:
    101 set .L27,%o0
    102 sll %i5,2,%i4
    103 set x,%i3
    104 ld [%i4+%i3],%i4
    105 add %i4,49,%o1
    106 call printf; nop
    107 .L24:
    108 add %i5,1,%i5
    109 cmp %i5,8; bl .L23; nop
    110 set .L28,%o0
    111 call printf; nop
    112 mov %g0,%i0
    113 .L22:
    114 ret; restore
    115 .type print,#function
    116 .size print,.-print
    117 .section ".bss"
    118 .global x
    119 .type x,#object
    120 .size x,32
    121 .common x,32,4
    122 .global rows
    123 .type rows,#object
    124 .size rows,32
    125 .common rows,32,4
    126 .global down
    127 .type down,#object
    128 .size down,60
    129 .common down,60,4
    130 .global up
    131 .type up,#object
    132 .size up,60
    133 .common up,60,4
    134 .section ".rodata"
    135 .align 1
    136 .L28:
    137 .byte 10
    138 .byte 0
    139 .align 1
    140 .L27:
    141 .byte 37
    142 .byte 99
    143 .byte 32
    144 .byte 0