.file "lightwht.c" // PGC Rel 2.0a -opt 4 .text .globl _init_phong .align 8 _init_phong: .a1 = 0 .f1 = 64 addu -(.a1+.f1), sp, sp st.l fp,(.f1-16)(sp) addu (.f1-16), sp, fp st.l r1, 4(fp) st.l r4, -32(fp) st.l r5, -28(fp) st.l r6, -24(fp) st.l r7, -20(fp) st.l r8, -16(fp) // lineno: 0 orh h%_PAZ_phong_table, r0, r31 or l%_PAZ_phong_table, r31, r8 // lineno: 54 adds 8192, r0, r16 call _malloc nop orh ha%.C00635, r0, r31 fld.l l%.C00635(r31), f8 orh ha%.C00633, r0, r31 fld.d l%.C00633(r31), f10 adds 127, r0, r18 st.l r16, 0(r8) adds -1, r0, r17 adds 1, r0, r19 mov r0, r20 mov r8, r21 bla r17, r18,.B654 pfmul.dd f0, f0, f0 // lineno: 57 .B654: //.M0000 .align 8 d.pfadd.dd f0, f0, f0 nop .PL1001: d.fnop xorh 0x8000, r19, r28 .DB.B654654: d.fnop ixfr r28, f16 d.fiadd.ss f11, f0, f17 ld.l r0(r21), r29 d.pfsub.dd f16, f10, f0 adds 1, r19, r19 d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f16 nop d.pfmov.ds f16, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.m12tpa.ss f8, f30, f30 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 bla r17, r18, .PL1002 d.pfmul.ss f0, f0, f30 fst.l f30, r20(r29) .PL1002: d.fnop xorh 0x8000, r19, r28 d.fnop ixfr r28, f16 d.fiadd.ss f11, f0, f17 ld.l r0(r21), r29 d.fnop addu 4, r20, r20 d.pfsub.dd f16, f10, f0 adds 1, r19, r19 d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f16 nop d.pfmov.ds f16, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.m12tpa.ss f8, f30, f30 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 bla r17, r18, .PL1002 d.pfmul.ss f0, f0, f30 fst.l f30, r20(r29) .PL1003: d.fnop addu 4, r20, r20 d.fnop bla r17, r18, .PL1003 d.fnop nop fnop nop fnop nop // lineno: 58 .B546: //.B0001 ld.l r0(r8), r4 .DB.B546546: adds 1, r0, r6 adds -16, r6, r0 bnc .B551 fld.l -4(fp), f12 fld.l -8(fp), f13 mov r7, r18 adds -1, r0, r17 mov r8, r21 // lineno: 63 .B660: //.M0002 adds 127, r0, r18 .DB.B660660: addu 508, r4, r5 mov r0, r20 bla r17, r18,.B659 pfmul.dd f0, f0, f0 // lineno: 64 .B659: //.M0001 ld.l r0(r21), r28 .DB.B659659: fld.l r0(r4), f16 fld.l r28(r20), f12 addu 4, r4, r4 addu 4, r20, r20 fmul.ss f12, f16, f17 bla r17, r18, .B659 fst.l f17, 4(r5)++ // lineno: 0 adds 1, r6, r6 adds -16, r6, r0 bc.t .DB.B660660 adds 127, r0, r18 // lineno: 0 mov r18, r7 fst.l f12, -4(fp) fst.l f13, -8(fp) // lineno: 0 .B551: //.B0003 // lineno: 70 ld.l -32(fp), r4 ld.l -28(fp), r5 ld.l -24(fp), r6 ld.l -20(fp), r7 ld.l -16(fp), r8 adds .a1+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _compute_phong_table .align 8 _compute_phong_table: .a2 = 0 .f2 = 32 orh h%.STACK+.f2-16, r0, r28 or l%.STACK+.f2-16, r28, r28 // lineno: 0 // lineno: 76 ftrunc.sd f8, f16 fxfr f16, r17 adds -2, r17, r0 bnc .B563 orh ha%_PAZ_phong_table, r0, r31 br .B663 ld.l l%_PAZ_phong_table(r31), r16 // lineno: 82 .B563: //.B0006 adds -1, r17, r17 .DB.B563563: subs 16, r17, r0 bnc .B564 adds 15, r0, r17 // lineno: 87 .B564: //.B0007 shl 7, r17, r29 .DB.B564564: shl 2, r29, r30 orh ha%_PAZ_phong_table, r0, r31 ld.l l%_PAZ_phong_table(r31), r16 adds r30, r16, r16 st.l r16, -4(r28) // lineno: 0 .B663: //.R0000 // lineno: 93 bri r1 nop .globl _traceLights .align 8 _traceLights: .a3 = 80 .f3 = 32 addu -(.a3+.f3), sp, sp st.l fp,(.f3-16)(sp) addu (.f3-16), sp, fp st.l r1, 4(fp) st.l r4, -8(fp) st.l r16, 48(fp) // lineno: 0 // lineno: 98 orh h%.S00569, r0, r31 call _printf or l%.S00569, r31, r16 ld.l 48(fp), r28 bte 0x0000, r28, .B572 mov r28, r4 // lineno: 105 .B673: //.M0003 fld.l 4(r4), f16 .DB.B673673: orh h%.S00573, r0, r31 or l%.S00573, r31, r16 fmov.sd f16, f8 mov r4, r17 ld.l 48(r4), r18 fld.l 8(r4), f17 fld.l 12(r4), f18 fmov.sd f17, f10 call _printf fmov.sd f18, f12 ld.l r0(r4), r4 xor 0x0000, r4, r0 bnc.t .DB.B673673 fld.l 4(r4), f16 // lineno: 0 st.l r4, 48(fp) // lineno: 0 .B572: //.B0009 // lineno: 107 ld.l -8(fp), r4 adds .a3+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _reorderLights .align 8 _reorderLights: .a4 = 0 .f4 = 48 orh h%.STACK+.f4-16, r0, r28 or l%.STACK+.f4-16, r28, r28 st.l r4, -24(r28) st.l r5, -20(r28) st.l r6, -16(r28) // lineno: 0 orh ha%.C00593, r0, r31 fld.l l%.C00593(r31), f12 adds 1, r0, r18 // lineno: 117 ld.l r0(r16), r19 mov r0, r21 mov r0, r20 mov r0, r6 bte 0x0000, r19, .B584 mov r0, r20 mov r0, r21 mov r0, r6 // lineno: 126 .B690: //.M0004 fld.l 4(r19), f16 .DB.B690690: fld.l 8(r19), f9 fld.l 12(r19), f8 fmul.ss f16, f16, f17 ld.l r0(r19), r5 mov r0, r17 fmul.ss f9, f9, f18 fadd.ss f18, f17, f19 fmul.ss f8, f8, f20 fadd.ss f20, f19, f10 pfle.ss f12, f10, f0 bnc .B594 mov r18, r17 // lineno: 138 .B594: //.B0012 ld.l 48(r19), r29 .DB.B594594: btne 0x0003, r29, .B596 mov r18, r17 // lineno: 142 .B596: //.B0013 btne 0x0000, r17, .B598 ld.l 48(r19), r29 btne 0x0002, r29, .B597 // lineno: 144 .B598: //.B0015 ld.l r0(r19), r4 .DB.B598598: btne 0x0000, r21, .B601 mov r19, r6 // lineno: 152 .B601: //.B0016 st.l r21, 0(r19) .DB.B601601: mov r19, r21 btne 0x0000, r20, .B603 br .B604 st.l r4, 0(r16) // lineno: 160 .B603: //.B0017 st.l r4, 0(r20) .DB.B603603: // lineno: 164 .B604: //.B0018 br .B605 nop // lineno: 0 .B597: //.B0014 mov r19, r20 .DB.B597597: // lineno: 166 .B605: //.B0019 mov r5, r19 .DB.B605605: xor 0x0000, r5, r0 bnc.t .DB.B690690 fld.l 4(r19), f16 // lineno: 0 // lineno: 167 .B584: //.B0011 ld.l r0(r16), r29 .DB.B584584: st.l r29, -4(r28) bte 0x0000, r6, .B606 st.l r29, 0(r6) st.l r21, 0(r16) // lineno: 181 .B606: //.B0020 ld.l -4(r28), r16 .DB.B606606: // lineno: 0 // lineno: 182 ld.l -24(r28), r4 ld.l -20(r28), r5 ld.l -16(r28), r6 bri r1 nop .globl _keep_this_bulb .align 8 _keep_this_bulb: .a5 = 80 .f5 = 48 addu -(.a5+.f5), sp, sp st.l fp,(.f5-16)(sp) addu (.f5-16), sp, fp st.l r1, 4(fp) fst.d f2, -24(fp) fst.d f4, -16(fp) fst.d f6, -8(fp) st.l r16, 48(fp) st.l r18, 56(fp) // lineno: 0 // lineno: 187 ld.l 48(r16), r28 btne 0x0000, r28, .B612 fld.l 4(r16), f16 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f19 fst.l f16, r0(r18) fld.l 8(r16), f17 fst.l f17, 4(r18) fld.l 12(r16), f18 fst.l f19, 12(r18) adds 1, r0, r16 br .B693 fst.l f18, 8(r18) // lineno: 195 .B612: //.B0021 ld.l 48(r16), r28 .DB.B612612: btne 0x0001, r28, .B615 fld.l 4(r16), f16 fld.l r0(r17), f17 fld.l 8(r16), f19 fld.l 4(r17), f20 fsub.ss f17, f16, f6 fld.l 12(r16), f23 fld.l 8(r17), f24 fmul.ss f6, f6, f18 fsub.ss f20, f19, f5 fmul.ss f5, f5, f21 fadd.ss f21, f18, f22 fsub.ss f24, f23, f4 fmul.ss f4, f4, f25 fadd.ss f25, f22, f26 call _sqrt fmov.sd f26, f8 fmov.ds f8, f16 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f19 frcp.ss f16, f17 fmul.ss f16, f17, f18 ld.l 48(fp), r28 fsub.ss f19, f18, f20 fld.l 56(r28), f25 fmul.ss f17, f20, f21 fmul.ss f16, f21, f22 fsub.ss f19, f22, f23 fmul.ss f23, f21, f24 fiadd.ss f24, f0, f3 fiadd.ss f16, f0, f2 pfle.ss f16, f25, f0 bnc .B622 br .B693 mov r0, r16 // lineno: 209 .B622: //.B0024 ld.l 48(fp), r28 .DB.B622622: fld.l 52(r28), f16 pfle.ss f16, f2, f0 bnc .B625 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f17 ld.l 56(fp), r29 br .B626 fst.l f17, 12(r29) // lineno: 212 .B625: //.B0026 ld.l 48(fp), r28 .DB.B625625: ld.l 56(fp), r29 fld.l 52(r28), f16 fld.l 56(r28), f17 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f21 fsub.ss f17, f16, f18 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f29 frcp.ss f18, f19 fmul.ss f18, f19, f20 fsub.ss f21, f20, f22 fmul.ss f19, f22, f23 fmul.ss f18, f23, f24 fsub.ss f21, f24, f25 fmul.ss f25, f23, f26 fsub.ss f2, f16, f27 fmul.ss f27, f26, f28 fsub.ss f29, f28, f30 fst.l f30, 12(r29) // lineno: 214 .B626: //.B0027 fmul.ss f6, f3, f16 .DB.B626626: ld.l 56(fp), r28 adds 1, r0, r16 fsub.ss f0, f16, f17 fst.l f17, r0(r28) fmul.ss f5, f3, f18 fsub.ss f0, f18, f19 fst.l f19, 4(r28) fmul.ss f4, f3, f20 fsub.ss f0, f20, f21 br .B693 fst.l f21, 8(r28) // lineno: 222 .B615: //.B0023 mov r0, r16 .DB.B615615: // lineno: 0 .B693: //.R0002 // lineno: 223 fld.d -24(fp), f2 fld.d -16(fp), f4 fld.d -8(fp), f6 adds .a5+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .data .align 8 .C00635: // (0) .long 0x3c000000 // 7.81250000E-03 .align 8 .C00633: // (8) .long 0x80000000, 0x43300000 // 4.50360177485414400E+15 .C00593: // (16) .long 0x3c23d70a // 9.99999978E-03 .C00036: // (20) .long 0x3f800000 // 1.00000000E+00 .C00037: // (24) .long 0x40000000 // 2.00000000E+00 .data .align 1 .S00569: // // "Trace_lights\n" .byte 0x54,0x72,0x61,0x63,0x65,0x5f,0x6c,0x69,0x67,0x68,0x74 .byte 0x73,0x0a,0x00 .S00573: // // "Bulb 0x%x type 0x%x pos %f,%f,%f\n" .byte 0x42,0x75,0x6c,0x62,0x20,0x30,0x78,0x25,0x78,0x20,0x74 .byte 0x79,0x70,0x65,0x20,0x30,0x78,0x25,0x78,0x20,0x70,0x6f .byte 0x73,0x20,0x25,0x66,0x2c,0x25,0x66,0x2c,0x25,0x66,0x0a .byte 0x00 .lcomm .STACK,48 .data .comm _PAZ_phong_table,4 .extern _sqrt .extern _printf .extern _malloc