diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-10-04 15:18:22 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-10-04 15:18:22 +0000 |
commit | 1c7864f6d4380797b07c7149111066b61f69f689 (patch) | |
tree | 59057c26f97fdf846b0193e852eeea7e707a9e20 /code/tools/lcc/sparc/solaris/tst/struct.sbk | |
parent | 91db83f0cc7c564ff6c853eeb4e790732dae81cd (diff) | |
download | ioquake3-aero-1c7864f6d4380797b07c7149111066b61f69f689.tar.gz ioquake3-aero-1c7864f6d4380797b07c7149111066b61f69f689.zip |
* Moved lcc and q3asm into code/tools
git-svn-id: svn://svn.icculus.org/quake3/trunk@134 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/tools/lcc/sparc/solaris/tst/struct.sbk')
-rw-r--r-- | code/tools/lcc/sparc/solaris/tst/struct.sbk | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/code/tools/lcc/sparc/solaris/tst/struct.sbk b/code/tools/lcc/sparc/solaris/tst/struct.sbk new file mode 100644 index 0000000..3c4bfb5 --- /dev/null +++ b/code/tools/lcc/sparc/solaris/tst/struct.sbk @@ -0,0 +1,377 @@ +.global addpoint +.section ".text" +.align 4 +addpoint: +save %sp,-96,%sp +ld [%i0],%i5 +ld [%i1],%i4 +add %i5,%i4,%i5 +st %i5,[%i0] +add %i0,4,%i5 +ld [%i5],%i4 +ld [%i1+4],%i3 +add %i4,%i3,%i4 +st %i4,[%i5] +ld [%fp+64],%i5 +ld [%r24+0],%r1 +ld [%r24+4],%r2 +st %r1,[%r29+0] +st %r2,[%r29+4] +.L1: +jmp %i7+12; restore +.type addpoint,#function +.size addpoint,.-addpoint +.global canonrect +.align 4 +canonrect: +save %sp,-112,%sp +ld [%i0],%i3 +ld [%i0+8],%i2 +cmp %i3,%i2; bge .L6; nop +ld [%i0],%i5 +ba .L7; nop +.L6: +ld [%i0+8],%i5 +.L7: +st %i5,[%fp+-16] +ld [%i0+4],%i3 +ld [%i0+12],%i2 +cmp %i3,%i2; bge .L10; nop +ld [%i0+4],%i4 +ba .L11; nop +.L10: +ld [%i0+12],%i4 +.L11: +st %i4,[%fp+-12] +ld [%i0],%i2 +ld [%i0+8],%i1 +cmp %i2,%i1; ble .L14; nop +ld [%i0],%i3 +ba .L15; nop +.L14: +ld [%i0+8],%i3 +.L15: +st %i3,[%fp+-8] +ld [%i0+4],%i1 +ld [%i0+12],%l7 +cmp %i1,%l7; ble .L19; nop +ld [%i0+4],%i2 +ba .L20; nop +.L19: +ld [%i0+12],%i2 +.L20: +st %i2,[%fp+-4] +ld [%fp+64],%i1 +add -16,%fp,%l7 +ld [%r23+0],%r1 +ld [%r23+4],%r2 +st %r1,[%r25+0] +st %r2,[%r25+4] +ld [%r23+8],%r1 +ld [%r23+12],%r2 +st %r1,[%r25+8] +st %r2,[%r25+12] +.L3: +jmp %i7+12; restore +.type canonrect,#function +.size canonrect,.-canonrect +.global makepoint +.align 4 +makepoint: +save %sp,-104,%sp +st %i0,[%fp+-8] +st %i1,[%fp+-4] +ld [%fp+64],%i5 +add -8,%fp,%i4 +ld [%r28+0],%r1 +ld [%r28+4],%r2 +st %r1,[%r29+0] +st %r2,[%r29+4] +.L21: +jmp %i7+12; restore +.type makepoint,#function +.size makepoint,.-makepoint +.global makerect +.align 4 +makerect: +save %sp,-128,%sp +add -16,%fp,%i5 +ld [%r24+0],%r1 +ld [%r24+4],%r2 +st %r1,[%r29+0] +st %r2,[%r29+4] +add -8,%fp,%i5 +ld [%r25+0],%r1 +ld [%r25+4],%r2 +st %r1,[%r29+0] +st %r2,[%r29+4] +add -32,%fp,%i5 +add -16,%fp,%i4 +ld [%r28+0],%r1 +ld [%r28+4],%r2 +st %r1,[%r29+0] +st %r2,[%r29+4] +ld [%r28+8],%r1 +ld [%r28+12],%r2 +st %r1,[%r29+8] +st %r2,[%r29+12] +add -32,%fp,%o0 +ld [%fp+64],%i5 +call canonrect; st %i5,[%sp+64]; unimp 16&0xfff +.L24: +jmp %i7+12; restore +.type makerect,#function +.size makerect,.-makerect +.global ptinrect +.align 4 +ptinrect: +ld [%o0],%o4 +ld [%o1],%o3 +cmp %o4,%o3; bl .L29; nop +ld [%o1+8],%o3 +cmp %o4,%o3; bge .L29; nop +ld [%o0+4],%o4 +ld [%o1+4],%o3 +cmp %o4,%o3; bl .L29; nop +ld [%o1+12],%o3 +cmp %o4,%o3; bge .L29; nop +set 1,%o5 +ba .L30; nop +.L29: +mov %g0,%o5 +.L30: +mov %o5,%o0 +.L27: +retl; nop +.type ptinrect,#function +.size ptinrect,.-ptinrect +.section ".data" +.global y +.type y,#object +.size y,3 +.align 1 +y: +.byte 97 +.byte 98 +.byte 0 +.global odd +.section ".text" +.align 4 +odd: +save %sp,-96,%sp +add -3,%fp,%i5 +ldub [%r24+0],%r1 +ldub [%r24+1],%r2 +stb %r1,[%r29+0] +stb %r2,[%r29+1] +ldub [%r24+2],%r1 +stb %r1,[%r29+2] +set .L32,%o0 +add -3,%fp,%o1 +call printf; nop +mov %g0,%i0 +.L31: +ret; restore +.type odd,#function +.size odd,.-odd +.section ".rodata" +.align 4 +.L34: +.word 0x0 +.word 0x0 +.align 4 +.L35: +.word 0x140 +.word 0x140 +.align 4 +.L36: +.word 0xffffffff +.word 0xffffffff +.word 0x1 +.word 0x1 +.word 0x14 +.word 0x12c +.word 0x1f4 +.word 0x190 +.global main +.section ".text" +.align 4 +main: +save %sp,-240,%sp +add -64,%fp,%i4 +set .L34,%i3 +ld [%r27+0],%r1 +ld [%r27+4],%r2 +st %r1,[%r28+0] +st %r2,[%r28+4] +add -72,%fp,%i4 +set .L35,%i3 +ld [%r27+0],%r1 +ld [%r27+4],%r2 +st %r1,[%r28+0] +st %r2,[%r28+4] +add -32,%fp,%i4 +set .L36,%i3 +add %r27,32,%r27 +add %r28,32,%r3 +1: dec 8,%r3 +ld [%r27+-8],%r1 +ld [%r27+-4],%r2 +st %r1,[%r3+0] +st %r2,[%r3+4] +cmp %r3,%r28; bgt 1b; dec 8,%r27 +set -10,%i4 +mov %i4,%o0 +mov %i4,%o1 +add -80,%fp,%i4 +call makepoint; st %i4,[%sp+64]; unimp 8&0xfff +add -88,%fp,%i4 +add -72,%fp,%i3 +ld [%r27+0],%r1 +ld [%r27+4],%r2 +st %r1,[%r28+0] +st %r2,[%r28+4] +add -88,%fp,%o0 +add -80,%fp,%o1 +add -96,%fp,%i4 +call addpoint; st %i4,[%sp+64]; unimp 8&0xfff +set 10,%i4 +mov %i4,%o0 +mov %i4,%o1 +add -104,%fp,%i4 +call makepoint; st %i4,[%sp+64]; unimp 8&0xfff +add -112,%fp,%i4 +add -64,%fp,%i3 +ld [%r27+0],%r1 +ld [%r27+4],%r2 +st %r1,[%r28+0] +st %r2,[%r28+4] +add -112,%fp,%o0 +add -104,%fp,%o1 +add -120,%fp,%i4 +call addpoint; st %i4,[%sp+64]; unimp 8&0xfff +add -96,%fp,%o0 +add -120,%fp,%o1 +add -48,%fp,%i4 +call makerect; st %i4,[%sp+64]; unimp 16&0xfff +mov %g0,%i5 +ba .L40; nop +.L37: +sll %i5,3,%i4 +add -32,%fp,%i3 +ld [%i4+%i3],%o0 +add -28,%fp,%i3 +ld [%i4+%i3],%o1 +add -56,%fp,%i4 +call makepoint; st %i4,[%sp+64]; unimp 8&0xfff +set .L41,%o0 +sll %i5,3,%i4 +add -32,%fp,%i3 +ld [%i4+%i3],%o1 +ld [%fp+-52],%o2 +call printf; nop +add -128,%fp,%i4 +add -56,%fp,%i3 +ld [%r27+0],%r1 +ld [%r27+4],%r2 +st %r1,[%r28+0] +st %r2,[%r28+4] +add -128,%fp,%o0 +add -144,%fp,%i4 +add -48,%fp,%i3 +ld [%r27+0],%r1 +ld [%r27+4],%r2 +st %r1,[%r28+0] +st %r2,[%r28+4] +ld [%r27+8],%r1 +ld [%r27+12],%r2 +st %r1,[%r28+8] +st %r2,[%r28+12] +add -144,%fp,%o1 +call ptinrect; nop +cmp %o0,0; bne .L44; nop +set .L46,%o0 +call printf; nop +.L44: +set .L47,%o0 +ld [%fp+-48],%o1 +ld [%fp+-44],%o2 +ld [%fp+-40],%o3 +ld [%fp+-36],%o4 +call printf; nop +.L38: +add %i5,1,%i5 +.L40: +mov %i5,%i4 +set 4,%i3 +cmp %i4,%i3; blu .L37; nop +add -123,%fp,%i4 +set y,%i3 +ldub [%r27+0],%r1 +ldub [%r27+1],%r2 +stb %r1,[%r28+0] +stb %r2,[%r28+1] +ldub [%r27+2],%r1 +stb %r1,[%r28+2] +add -123,%fp,%o0 +call odd; nop +mov %g0,%o0 +call exit; nop +mov %g0,%i0 +.L33: +ret; restore +.type main,#function +.size main,.-main +.section ".rodata" +.align 1 +.L47: +.byte 119 +.byte 105 +.byte 116 +.byte 104 +.byte 105 +.byte 110 +.byte 32 +.byte 91 +.byte 37 +.byte 100 +.byte 44 +.byte 37 +.byte 100 +.byte 59 +.byte 32 +.byte 37 +.byte 100 +.byte 44 +.byte 37 +.byte 100 +.byte 93 +.byte 10 +.byte 0 +.align 1 +.L46: +.byte 110 +.byte 111 +.byte 116 +.byte 32 +.byte 0 +.align 1 +.L41: +.byte 40 +.byte 37 +.byte 100 +.byte 44 +.byte 37 +.byte 100 +.byte 41 +.byte 32 +.byte 105 +.byte 115 +.byte 32 +.byte 0 +.align 1 +.L32: +.byte 37 +.byte 115 +.byte 10 +.byte 0 |