mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-29 12:04:29 +00:00
335 lines
16 KiB
ArmAsm
335 lines
16 KiB
ArmAsm
.include "macro.inc"
|
|
|
|
# assembler directives
|
|
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
.set gp=64 # allow use of 64-bit general purposee registers
|
|
|
|
.section .text
|
|
|
|
.align 4
|
|
|
|
glabel func_800BB0A0
|
|
/* B32240 800BB0A0 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* B32244 800BB0A4 44818000 */ mtc1 $at, $f16
|
|
/* B32248 800BB0A8 27BDFFF0 */ addiu $sp, $sp, -0x10
|
|
/* B3224C 800BB0AC AFA60018 */ sw $a2, 0x18($sp)
|
|
/* B32250 800BB0B0 460C803C */ c.lt.s $f16, $f12
|
|
/* B32254 800BB0B4 00000000 */ nop
|
|
/* B32258 800BB0B8 45020003 */ bc1fl .L800BB0C8
|
|
/* B3225C 800BB0BC 460C8001 */ sub.s $f0, $f16, $f12
|
|
/* B32260 800BB0C0 46008306 */ mov.s $f12, $f16
|
|
/* B32264 800BB0C4 460C8001 */ sub.s $f0, $f16, $f12
|
|
.L800BB0C8:
|
|
/* B32268 800BB0C8 3C0140C0 */ li $at, 0x40C00000 # 0.000000
|
|
/* B3226C 800BB0CC 44819000 */ mtc1 $at, $f18
|
|
/* B32270 800BB0D0 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
|
/* B32274 800BB0D4 46000102 */ mul.s $f4, $f0, $f0
|
|
/* B32278 800BB0D8 44815000 */ mtc1 $at, $f10
|
|
/* B3227C 800BB0DC 3C018014 */ lui $at, %hi(D_80143CE0)
|
|
/* B32280 800BB0E0 8FA30020 */ lw $v1, 0x20($sp)
|
|
/* B32284 800BB0E4 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* B32288 800BB0E8 8FA60028 */ lw $a2, 0x28($sp)
|
|
/* B3228C 800BB0EC 8FA2002C */ lw $v0, 0x2c($sp)
|
|
/* B32290 800BB0F0 46002182 */ mul.s $f6, $f4, $f0
|
|
/* B32294 800BB0F4 00000000 */ nop
|
|
/* B32298 800BB0F8 460C6082 */ mul.s $f2, $f12, $f12
|
|
/* B3229C 800BB0FC 46123203 */ div.s $f8, $f6, $f18
|
|
/* B322A0 800BB100 460C1382 */ mul.s $f14, $f2, $f12
|
|
/* B322A4 800BB104 00000000 */ nop
|
|
/* B322A8 800BB108 460A7102 */ mul.s $f4, $f14, $f10
|
|
/* B322AC 800BB10C C42A3CE0 */ lwc1 $f10, %lo(D_80143CE0)($at)
|
|
/* B322B0 800BB110 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
|
/* B322B4 800BB114 E7A80000 */ swc1 $f8, ($sp)
|
|
/* B322B8 800BB118 46022181 */ sub.s $f6, $f4, $f2
|
|
/* B322BC 800BB11C 460A3100 */ add.s $f4, $f6, $f10
|
|
/* B322C0 800BB120 46006187 */ neg.s $f6, $f12
|
|
/* B322C4 800BB124 E7A40004 */ swc1 $f4, 4($sp)
|
|
/* B322C8 800BB128 460C3282 */ mul.s $f10, $f6, $f12
|
|
/* B322CC 800BB12C 00000000 */ nop
|
|
/* B322D0 800BB130 460C5182 */ mul.s $f6, $f10, $f12
|
|
/* B322D4 800BB134 44815000 */ mtc1 $at, $f10
|
|
/* B322D8 800BB138 00000000 */ nop
|
|
/* B322DC 800BB13C 460A3182 */ mul.s $f6, $f6, $f10
|
|
/* B322E0 800BB140 44815000 */ mtc1 $at, $f10
|
|
/* B322E4 800BB144 00000000 */ nop
|
|
/* B322E8 800BB148 460A1282 */ mul.s $f10, $f2, $f10
|
|
/* B322EC 800BB14C 460A3180 */ add.s $f6, $f6, $f10
|
|
/* B322F0 800BB150 44815000 */ mtc1 $at, $f10
|
|
/* B322F4 800BB154 3C018014 */ lui $at, %hi(D_80143CE4)
|
|
/* B322F8 800BB158 460A6282 */ mul.s $f10, $f12, $f10
|
|
/* B322FC 800BB15C 460A3180 */ add.s $f6, $f6, $f10
|
|
/* B32300 800BB160 C42A3CE4 */ lwc1 $f10, %lo(D_80143CE4)($at)
|
|
/* B32304 800BB164 460A3180 */ add.s $f6, $f6, $f10
|
|
/* B32308 800BB168 46127283 */ div.s $f10, $f14, $f18
|
|
/* B3230C 800BB16C E7A60008 */ swc1 $f6, 8($sp)
|
|
/* B32310 800BB170 E7AA000C */ swc1 $f10, 0xc($sp)
|
|
/* B32314 800BB174 C46A0000 */ lwc1 $f10, ($v1)
|
|
/* B32318 800BB178 460A4202 */ mul.s $f8, $f8, $f10
|
|
/* B3231C 800BB17C C48A0000 */ lwc1 $f10, ($a0)
|
|
/* B32320 800BB180 460A2102 */ mul.s $f4, $f4, $f10
|
|
/* B32324 800BB184 46044280 */ add.s $f10, $f8, $f4
|
|
/* B32328 800BB188 C4C80000 */ lwc1 $f8, ($a2)
|
|
/* B3232C 800BB18C 46083102 */ mul.s $f4, $f6, $f8
|
|
/* B32330 800BB190 C4480000 */ lwc1 $f8, ($v0)
|
|
/* B32334 800BB194 46045180 */ add.s $f6, $f10, $f4
|
|
/* B32338 800BB198 C7AA000C */ lwc1 $f10, 0xc($sp)
|
|
/* B3233C 800BB19C 460A4102 */ mul.s $f4, $f8, $f10
|
|
/* B32340 800BB1A0 46062200 */ add.s $f8, $f4, $f6
|
|
/* B32344 800BB1A4 E4A80000 */ swc1 $f8, ($a1)
|
|
/* B32348 800BB1A8 C7AA0000 */ lwc1 $f10, ($sp)
|
|
/* B3234C 800BB1AC C4640004 */ lwc1 $f4, 4($v1)
|
|
/* B32350 800BB1B0 C7A80004 */ lwc1 $f8, 4($sp)
|
|
/* B32354 800BB1B4 46045182 */ mul.s $f6, $f10, $f4
|
|
/* B32358 800BB1B8 C48A0004 */ lwc1 $f10, 4($a0)
|
|
/* B3235C 800BB1BC 460A4102 */ mul.s $f4, $f8, $f10
|
|
/* B32360 800BB1C0 C7AA0008 */ lwc1 $f10, 8($sp)
|
|
/* B32364 800BB1C4 46043200 */ add.s $f8, $f6, $f4
|
|
/* B32368 800BB1C8 C4C60004 */ lwc1 $f6, 4($a2)
|
|
/* B3236C 800BB1CC 46065102 */ mul.s $f4, $f10, $f6
|
|
/* B32370 800BB1D0 C4460004 */ lwc1 $f6, 4($v0)
|
|
/* B32374 800BB1D4 46044280 */ add.s $f10, $f8, $f4
|
|
/* B32378 800BB1D8 C7A8000C */ lwc1 $f8, 0xc($sp)
|
|
/* B3237C 800BB1DC 46083102 */ mul.s $f4, $f6, $f8
|
|
/* B32380 800BB1E0 460A2180 */ add.s $f6, $f4, $f10
|
|
/* B32384 800BB1E4 E4A60004 */ swc1 $f6, 4($a1)
|
|
/* B32388 800BB1E8 C7A80000 */ lwc1 $f8, ($sp)
|
|
/* B3238C 800BB1EC C4640008 */ lwc1 $f4, 8($v1)
|
|
/* B32390 800BB1F0 C7A60004 */ lwc1 $f6, 4($sp)
|
|
/* B32394 800BB1F4 46044282 */ mul.s $f10, $f8, $f4
|
|
/* B32398 800BB1F8 C4880008 */ lwc1 $f8, 8($a0)
|
|
/* B3239C 800BB1FC 46083102 */ mul.s $f4, $f6, $f8
|
|
/* B323A0 800BB200 C7A80008 */ lwc1 $f8, 8($sp)
|
|
/* B323A4 800BB204 46045180 */ add.s $f6, $f10, $f4
|
|
/* B323A8 800BB208 C4CA0008 */ lwc1 $f10, 8($a2)
|
|
/* B323AC 800BB20C 460A4102 */ mul.s $f4, $f8, $f10
|
|
/* B323B0 800BB210 C44A0008 */ lwc1 $f10, 8($v0)
|
|
/* B323B4 800BB214 46043200 */ add.s $f8, $f6, $f4
|
|
/* B323B8 800BB218 C7A6000C */ lwc1 $f6, 0xc($sp)
|
|
/* B323BC 800BB21C 46065102 */ mul.s $f4, $f10, $f6
|
|
/* B323C0 800BB220 46082280 */ add.s $f10, $f4, $f8
|
|
/* B323C4 800BB224 E4AA0008 */ swc1 $f10, 8($a1)
|
|
/* B323C8 800BB228 C7A60000 */ lwc1 $f6, ($sp)
|
|
/* B323CC 800BB22C C464000C */ lwc1 $f4, 0xc($v1)
|
|
/* B323D0 800BB230 C7AA0004 */ lwc1 $f10, 4($sp)
|
|
/* B323D4 800BB234 8FAE0018 */ lw $t6, 0x18($sp)
|
|
/* B323D8 800BB238 46043202 */ mul.s $f8, $f6, $f4
|
|
/* B323DC 800BB23C C486000C */ lwc1 $f6, 0xc($a0)
|
|
/* B323E0 800BB240 46065102 */ mul.s $f4, $f10, $f6
|
|
/* B323E4 800BB244 C7A60008 */ lwc1 $f6, 8($sp)
|
|
/* B323E8 800BB248 46044280 */ add.s $f10, $f8, $f4
|
|
/* B323EC 800BB24C C4C8000C */ lwc1 $f8, 0xc($a2)
|
|
/* B323F0 800BB250 46083102 */ mul.s $f4, $f6, $f8
|
|
/* B323F4 800BB254 C448000C */ lwc1 $f8, 0xc($v0)
|
|
/* B323F8 800BB258 46045180 */ add.s $f6, $f10, $f4
|
|
/* B323FC 800BB25C C7AA000C */ lwc1 $f10, 0xc($sp)
|
|
/* B32400 800BB260 460A4102 */ mul.s $f4, $f8, $f10
|
|
/* B32404 800BB264 46062200 */ add.s $f8, $f4, $f6
|
|
/* B32408 800BB268 E5C80000 */ swc1 $f8, ($t6)
|
|
/* B3240C 800BB26C C7AA0000 */ lwc1 $f10, ($sp)
|
|
/* B32410 800BB270 C4640010 */ lwc1 $f4, 0x10($v1)
|
|
/* B32414 800BB274 C7A80004 */ lwc1 $f8, 4($sp)
|
|
/* B32418 800BB278 46045182 */ mul.s $f6, $f10, $f4
|
|
/* B3241C 800BB27C C48A0010 */ lwc1 $f10, 0x10($a0)
|
|
/* B32420 800BB280 460A4102 */ mul.s $f4, $f8, $f10
|
|
/* B32424 800BB284 C7AA0008 */ lwc1 $f10, 8($sp)
|
|
/* B32428 800BB288 46043200 */ add.s $f8, $f6, $f4
|
|
/* B3242C 800BB28C C4C60010 */ lwc1 $f6, 0x10($a2)
|
|
/* B32430 800BB290 46065102 */ mul.s $f4, $f10, $f6
|
|
/* B32434 800BB294 C4460010 */ lwc1 $f6, 0x10($v0)
|
|
/* B32438 800BB298 46044280 */ add.s $f10, $f8, $f4
|
|
/* B3243C 800BB29C C7A8000C */ lwc1 $f8, 0xc($sp)
|
|
/* B32440 800BB2A0 27BD0010 */ addiu $sp, $sp, 0x10
|
|
/* B32444 800BB2A4 46083102 */ mul.s $f4, $f6, $f8
|
|
/* B32448 800BB2A8 460A2180 */ add.s $f6, $f4, $f10
|
|
/* B3244C 800BB2AC 03E00008 */ jr $ra
|
|
/* B32450 800BB2B0 E4E60000 */ swc1 $f6, ($a3)
|
|
|
|
glabel func_800BB2B4
|
|
/* B32454 800BB2B4 27BDFF60 */ addiu $sp, $sp, -0xa0
|
|
/* B32458 800BB2B8 8FAF00B0 */ lw $t7, 0xb0($sp)
|
|
/* B3245C 800BB2BC AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* B32460 800BB2C0 AFA400A0 */ sw $a0, 0xa0($sp)
|
|
/* B32464 800BB2C4 AFA500A4 */ sw $a1, 0xa4($sp)
|
|
/* B32468 800BB2C8 AFA600A8 */ sw $a2, 0xa8($sp)
|
|
/* B3246C 800BB2CC AFA700AC */ sw $a3, 0xac($sp)
|
|
/* B32470 800BB2D0 44809000 */ mtc1 $zero, $f18
|
|
/* B32474 800BB2D4 85E80000 */ lh $t0, ($t7)
|
|
/* B32478 800BB2D8 8FAE00B4 */ lw $t6, 0xb4($sp)
|
|
/* B3247C 800BB2DC 00005025 */ move $t2, $zero
|
|
/* B32480 800BB2E0 46009386 */ mov.s $f14, $f18
|
|
/* B32484 800BB2E4 46009406 */ mov.s $f16, $f18
|
|
/* B32488 800BB2E8 05010002 */ bgez $t0, .L800BB2F4
|
|
/* B3248C 800BB2EC C5CC0000 */ lwc1 $f12, ($t6)
|
|
/* B32490 800BB2F0 46009306 */ mov.s $f12, $f18
|
|
.L800BB2F4:
|
|
/* B32494 800BB2F4 8FB800AC */ lw $t8, 0xac($sp)
|
|
/* B32498 800BB2F8 0008C900 */ sll $t9, $t0, 4
|
|
/* B3249C 800BB2FC 2409FFFF */ li $t1, -1
|
|
/* B324A0 800BB300 03191021 */ addu $v0, $t8, $t9
|
|
/* B324A4 800BB304 804B0000 */ lb $t3, ($v0)
|
|
/* B324A8 800BB308 112B0009 */ beq $t1, $t3, .L800BB330
|
|
/* B324AC 800BB30C 00000000 */ nop
|
|
/* B324B0 800BB310 804C0010 */ lb $t4, 0x10($v0)
|
|
/* B324B4 800BB314 112C0006 */ beq $t1, $t4, .L800BB330
|
|
/* B324B8 800BB318 00000000 */ nop
|
|
/* B324BC 800BB31C 804D0020 */ lb $t5, 0x20($v0)
|
|
/* B324C0 800BB320 27A2004C */ addiu $v0, $sp, 0x4c
|
|
/* B324C4 800BB324 00002025 */ move $a0, $zero
|
|
/* B324C8 800BB328 152D0003 */ bne $t1, $t5, .L800BB338
|
|
/* B324CC 800BB32C 8FAE00AC */ lw $t6, 0xac($sp)
|
|
.L800BB330:
|
|
/* B324D0 800BB330 1000008B */ b .L800BB560
|
|
/* B324D4 800BB334 24020001 */ li $v0, 1
|
|
.L800BB338:
|
|
/* B324D8 800BB338 00087900 */ sll $t7, $t0, 4
|
|
/* B324DC 800BB33C 01CF1821 */ addu $v1, $t6, $t7
|
|
/* B324E0 800BB340 24050040 */ li $a1, 64
|
|
/* B324E4 800BB344 24840010 */ addiu $a0, $a0, 0x10
|
|
/* B324E8 800BB348 1085001A */ beq $a0, $a1, .L800BB3B4
|
|
/* B324EC 800BB34C 84780008 */ lh $t8, 8($v1)
|
|
.L800BB350:
|
|
/* B324F0 800BB350 44989000 */ mtc1 $t8, $f18
|
|
/* B324F4 800BB354 24840010 */ addiu $a0, $a0, 0x10
|
|
/* B324F8 800BB358 24420014 */ addiu $v0, $v0, 0x14
|
|
/* B324FC 800BB35C 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B32500 800BB360 24630010 */ addiu $v1, $v1, 0x10
|
|
/* B32504 800BB364 E452FFEC */ swc1 $f18, -0x14($v0)
|
|
/* B32508 800BB368 8479FFFA */ lh $t9, -6($v1)
|
|
/* B3250C 800BB36C 44999000 */ mtc1 $t9, $f18
|
|
/* B32510 800BB370 00000000 */ nop
|
|
/* B32514 800BB374 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B32518 800BB378 E452FFF0 */ swc1 $f18, -0x10($v0)
|
|
/* B3251C 800BB37C 846BFFFC */ lh $t3, -4($v1)
|
|
/* B32520 800BB380 448B9000 */ mtc1 $t3, $f18
|
|
/* B32524 800BB384 00000000 */ nop
|
|
/* B32528 800BB388 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B3252C 800BB38C E452FFF4 */ swc1 $f18, -0xc($v0)
|
|
/* B32530 800BB390 806CFFF1 */ lb $t4, -0xf($v1)
|
|
/* B32534 800BB394 448C9000 */ mtc1 $t4, $f18
|
|
/* B32538 800BB398 00000000 */ nop
|
|
/* B3253C 800BB39C 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B32540 800BB3A0 E452FFF8 */ swc1 $f18, -8($v0)
|
|
/* B32544 800BB3A4 C472FFF4 */ lwc1 $f18, -0xc($v1)
|
|
/* B32548 800BB3A8 E452FFFC */ swc1 $f18, -4($v0)
|
|
/* B3254C 800BB3AC 1485FFE8 */ bne $a0, $a1, .L800BB350
|
|
/* B32550 800BB3B0 84780008 */ lh $t8, 8($v1)
|
|
.L800BB3B4:
|
|
/* B32554 800BB3B4 44989000 */ mtc1 $t8, $f18
|
|
/* B32558 800BB3B8 24420014 */ addiu $v0, $v0, 0x14
|
|
/* B3255C 800BB3BC 24630010 */ addiu $v1, $v1, 0x10
|
|
/* B32560 800BB3C0 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B32564 800BB3C4 E452FFEC */ swc1 $f18, -0x14($v0)
|
|
/* B32568 800BB3C8 8479FFFA */ lh $t9, -6($v1)
|
|
/* B3256C 800BB3CC 44999000 */ mtc1 $t9, $f18
|
|
/* B32570 800BB3D0 00000000 */ nop
|
|
/* B32574 800BB3D4 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B32578 800BB3D8 E452FFF0 */ swc1 $f18, -0x10($v0)
|
|
/* B3257C 800BB3DC 846BFFFC */ lh $t3, -4($v1)
|
|
/* B32580 800BB3E0 448B9000 */ mtc1 $t3, $f18
|
|
/* B32584 800BB3E4 00000000 */ nop
|
|
/* B32588 800BB3E8 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B3258C 800BB3EC E452FFF4 */ swc1 $f18, -0xc($v0)
|
|
/* B32590 800BB3F0 806CFFF1 */ lb $t4, -0xf($v1)
|
|
/* B32594 800BB3F4 448C9000 */ mtc1 $t4, $f18
|
|
/* B32598 800BB3F8 00000000 */ nop
|
|
/* B3259C 800BB3FC 468094A0 */ cvt.s.w $f18, $f18
|
|
/* B325A0 800BB400 E452FFF8 */ swc1 $f18, -8($v0)
|
|
/* B325A4 800BB404 C472FFF4 */ lwc1 $f18, -0xc($v1)
|
|
/* B325A8 800BB408 E452FFFC */ swc1 $f18, -4($v0)
|
|
/* B325AC 800BB40C 27AD004C */ addiu $t5, $sp, 0x4c
|
|
/* B325B0 800BB410 27AE0060 */ addiu $t6, $sp, 0x60
|
|
/* B325B4 800BB414 27AF0074 */ addiu $t7, $sp, 0x74
|
|
/* B325B8 800BB418 27B80088 */ addiu $t8, $sp, 0x88
|
|
/* B325BC 800BB41C AFB8001C */ sw $t8, 0x1c($sp)
|
|
/* B325C0 800BB420 AFAF0018 */ sw $t7, 0x18($sp)
|
|
/* B325C4 800BB424 AFAE0014 */ sw $t6, 0x14($sp)
|
|
/* B325C8 800BB428 AFAD0010 */ sw $t5, 0x10($sp)
|
|
/* B325CC 800BB42C 8FA500A0 */ lw $a1, 0xa0($sp)
|
|
/* B325D0 800BB430 8FA600A4 */ lw $a2, 0xa4($sp)
|
|
/* B325D4 800BB434 8FA700A8 */ lw $a3, 0xa8($sp)
|
|
/* B325D8 800BB438 AFAA009C */ sw $t2, 0x9c($sp)
|
|
/* B325DC 800BB43C E7AE003C */ swc1 $f14, 0x3c($sp)
|
|
/* B325E0 800BB440 0C02EC28 */ jal func_800BB0A0
|
|
/* B325E4 800BB444 E7B00038 */ swc1 $f16, 0x38($sp)
|
|
/* B325E8 800BB448 8FA500B0 */ lw $a1, 0xb0($sp)
|
|
/* B325EC 800BB44C 8FA600AC */ lw $a2, 0xac($sp)
|
|
/* B325F0 800BB450 44809000 */ mtc1 $zero, $f18
|
|
/* B325F4 800BB454 84B90000 */ lh $t9, ($a1)
|
|
/* B325F8 800BB458 8FA400B4 */ lw $a0, 0xb4($sp)
|
|
/* B325FC 800BB45C 2409FFFF */ li $t1, -1
|
|
/* B32600 800BB460 00195900 */ sll $t3, $t9, 4
|
|
/* B32604 800BB464 00CB1021 */ addu $v0, $a2, $t3
|
|
/* B32608 800BB468 94430012 */ lhu $v1, 0x12($v0)
|
|
/* B3260C 800BB46C 8FAA009C */ lw $t2, 0x9c($sp)
|
|
/* B32610 800BB470 C7AE003C */ lwc1 $f14, 0x3c($sp)
|
|
/* B32614 800BB474 1060000B */ beqz $v1, .L800BB4A4
|
|
/* B32618 800BB478 C7B00038 */ lwc1 $f16, 0x38($sp)
|
|
/* B3261C 800BB47C 44834000 */ mtc1 $v1, $f8
|
|
/* B32620 800BB480 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* B32624 800BB484 44813000 */ mtc1 $at, $f6
|
|
/* B32628 800BB488 04610005 */ bgez $v1, .L800BB4A0
|
|
/* B3262C 800BB48C 468042A0 */ cvt.s.w $f10, $f8
|
|
/* B32630 800BB490 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B32634 800BB494 44812000 */ mtc1 $at, $f4
|
|
/* B32638 800BB498 00000000 */ nop
|
|
/* B3263C 800BB49C 46045280 */ add.s $f10, $f10, $f4
|
|
.L800BB4A0:
|
|
/* B32640 800BB4A0 460A3383 */ div.s $f14, $f6, $f10
|
|
.L800BB4A4:
|
|
/* B32644 800BB4A4 94430022 */ lhu $v1, 0x22($v0)
|
|
/* B32648 800BB4A8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* B3264C 800BB4AC 5060000B */ beql $v1, $zero, .L800BB4DC
|
|
/* B32650 800BB4B0 460E8101 */ sub.s $f4, $f16, $f14
|
|
/* B32654 800BB4B4 44832000 */ mtc1 $v1, $f4
|
|
/* B32658 800BB4B8 44814000 */ mtc1 $at, $f8
|
|
/* B3265C 800BB4BC 04610005 */ bgez $v1, .L800BB4D4
|
|
/* B32660 800BB4C0 468021A0 */ cvt.s.w $f6, $f4
|
|
/* B32664 800BB4C4 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B32668 800BB4C8 44815000 */ mtc1 $at, $f10
|
|
/* B3266C 800BB4CC 00000000 */ nop
|
|
/* B32670 800BB4D0 460A3180 */ add.s $f6, $f6, $f10
|
|
.L800BB4D4:
|
|
/* B32674 800BB4D4 46064403 */ div.s $f16, $f8, $f6
|
|
/* B32678 800BB4D8 460E8101 */ sub.s $f4, $f16, $f14
|
|
.L800BB4DC:
|
|
/* B3267C 800BB4DC C4820000 */ lwc1 $f2, ($a0)
|
|
/* B32680 800BB4E0 46041282 */ mul.s $f10, $f2, $f4
|
|
/* B32684 800BB4E4 460E5000 */ add.s $f0, $f10, $f14
|
|
/* B32688 800BB4E8 4612003C */ c.lt.s $f0, $f18
|
|
/* B3268C 800BB4EC 00000000 */ nop
|
|
/* B32690 800BB4F0 45020004 */ bc1fl .L800BB504
|
|
/* B32694 800BB4F4 46001200 */ add.s $f8, $f2, $f0
|
|
/* B32698 800BB4F8 44800000 */ mtc1 $zero, $f0
|
|
/* B3269C 800BB4FC 00000000 */ nop
|
|
/* B326A0 800BB500 46001200 */ add.s $f8, $f2, $f0
|
|
.L800BB504:
|
|
/* B326A4 800BB504 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* B326A8 800BB508 44816000 */ mtc1 $at, $f12
|
|
/* B326AC 800BB50C E4880000 */ swc1 $f8, ($a0)
|
|
/* B326B0 800BB510 C4860000 */ lwc1 $f6, ($a0)
|
|
/* B326B4 800BB514 4606603E */ c.le.s $f12, $f6
|
|
/* B326B8 800BB518 00000000 */ nop
|
|
/* B326BC 800BB51C 45020010 */ bc1fl .L800BB560
|
|
/* B326C0 800BB520 01401025 */ move $v0, $t2
|
|
/* B326C4 800BB524 84AC0000 */ lh $t4, ($a1)
|
|
/* B326C8 800BB528 258D0001 */ addiu $t5, $t4, 1
|
|
/* B326CC 800BB52C A4AD0000 */ sh $t5, ($a1)
|
|
/* B326D0 800BB530 84AE0000 */ lh $t6, ($a1)
|
|
/* B326D4 800BB534 000E7900 */ sll $t7, $t6, 4
|
|
/* B326D8 800BB538 00CFC021 */ addu $t8, $a2, $t7
|
|
/* B326DC 800BB53C 83190030 */ lb $t9, 0x30($t8)
|
|
/* B326E0 800BB540 55390004 */ bnel $t1, $t9, .L800BB554
|
|
/* B326E4 800BB544 C4840000 */ lwc1 $f4, ($a0)
|
|
/* B326E8 800BB548 A4A00000 */ sh $zero, ($a1)
|
|
/* B326EC 800BB54C 240A0001 */ li $t2, 1
|
|
/* B326F0 800BB550 C4840000 */ lwc1 $f4, ($a0)
|
|
.L800BB554:
|
|
/* B326F4 800BB554 460C2281 */ sub.s $f10, $f4, $f12
|
|
/* B326F8 800BB558 E48A0000 */ swc1 $f10, ($a0)
|
|
/* B326FC 800BB55C 01401025 */ move $v0, $t2
|
|
.L800BB560:
|
|
/* B32700 800BB560 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* B32704 800BB564 27BD00A0 */ addiu $sp, $sp, 0xa0
|
|
/* B32708 800BB568 03E00008 */ jr $ra
|
|
/* B3270C 800BB56C 00000000 */ nop
|