mirror of https://github.com/zeldaret/oot.git
117 lines
5.2 KiB
ArmAsm
117 lines
5.2 KiB
ArmAsm
glabel func_8003AEA8
|
|
/* AB2048 8003AEA8 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* AB204C 8003AEAC C4860004 */ lwc1 $f6, 4($a0)
|
|
/* AB2050 8003AEB0 C4A80004 */ lwc1 $f8, 4($a1)
|
|
/* AB2054 8003AEB4 C48A0008 */ lwc1 $f10, 8($a0)
|
|
/* AB2058 8003AEB8 46062001 */ sub.s $f0, $f4, $f6
|
|
/* AB205C 8003AEBC C4840034 */ lwc1 $f4, 0x34($a0)
|
|
/* AB2060 8003AEC0 C4B00008 */ lwc1 $f16, 8($a1)
|
|
/* AB2064 8003AEC4 460A4081 */ sub.s $f2, $f8, $f10
|
|
/* AB2068 8003AEC8 46002182 */ mul.s $f6, $f4, $f0
|
|
/* AB206C 8003AECC C492000C */ lwc1 $f18, 0xc($a0)
|
|
/* AB2070 8003AED0 46128301 */ sub.s $f12, $f16, $f18
|
|
/* AB2074 8003AED4 4600320D */ trunc.w.s $f8, $f6
|
|
/* AB2078 8003AED8 440F4000 */ mfc1 $t7, $f8
|
|
/* AB207C 8003AEDC 00000000 */ nop
|
|
/* AB2080 8003AEE0 ACCF0000 */ sw $t7, ($a2)
|
|
/* AB2084 8003AEE4 C48A0038 */ lwc1 $f10, 0x38($a0)
|
|
/* AB2088 8003AEE8 46025402 */ mul.s $f16, $f10, $f2
|
|
/* AB208C 8003AEEC 4600028D */ trunc.w.s $f10, $f0
|
|
/* AB2090 8003AEF0 440C5000 */ mfc1 $t4, $f10
|
|
/* AB2094 8003AEF4 4600848D */ trunc.w.s $f18, $f16
|
|
/* AB2098 8003AEF8 44199000 */ mfc1 $t9, $f18
|
|
/* AB209C 8003AEFC 00000000 */ nop
|
|
/* AB20A0 8003AF00 ACF90000 */ sw $t9, ($a3)
|
|
/* AB20A4 8003AF04 C484003C */ lwc1 $f4, 0x3c($a0)
|
|
/* AB20A8 8003AF08 8FAA0010 */ lw $t2, 0x10($sp)
|
|
/* AB20AC 8003AF0C 460C2182 */ mul.s $f6, $f4, $f12
|
|
/* AB20B0 8003AF10 4600110D */ trunc.w.s $f4, $f2
|
|
/* AB20B4 8003AF14 4600320D */ trunc.w.s $f8, $f6
|
|
/* AB20B8 8003AF18 44094000 */ mfc1 $t1, $f8
|
|
/* AB20BC 8003AF1C 00000000 */ nop
|
|
/* AB20C0 8003AF20 AD490000 */ sw $t1, ($t2)
|
|
/* AB20C4 8003AF24 C4900028 */ lwc1 $f16, 0x28($a0)
|
|
/* AB20C8 8003AF28 4600848D */ trunc.w.s $f18, $f16
|
|
/* AB20CC 8003AF2C 440E9000 */ mfc1 $t6, $f18
|
|
/* AB20D0 8003AF30 00000000 */ nop
|
|
/* AB20D4 8003AF34 018E001A */ div $zero, $t4, $t6
|
|
/* AB20D8 8003AF38 15C00002 */ bnez $t6, .L8003AF44
|
|
/* AB20DC 8003AF3C 00000000 */ nop
|
|
/* AB20E0 8003AF40 0007000D */ break 7
|
|
.L8003AF44:
|
|
/* AB20E4 8003AF44 2401FFFF */ li $at, -1
|
|
/* AB20E8 8003AF48 15C10004 */ bne $t6, $at, .L8003AF5C
|
|
/* AB20EC 8003AF4C 3C018000 */ lui $at, 0x8000
|
|
/* AB20F0 8003AF50 15810002 */ bne $t4, $at, .L8003AF5C
|
|
/* AB20F4 8003AF54 00000000 */ nop
|
|
/* AB20F8 8003AF58 0006000D */ break 6
|
|
.L8003AF5C:
|
|
/* AB20FC 8003AF5C 00007810 */ mfhi $t7
|
|
/* AB2100 8003AF60 29E10032 */ slti $at, $t7, 0x32
|
|
/* AB2104 8003AF64 50200007 */ beql $at, $zero, .L8003AF84
|
|
/* AB2108 8003AF68 C486002C */ lwc1 $f6, 0x2c($a0)
|
|
/* AB210C 8003AF6C 8CC20000 */ lw $v0, ($a2)
|
|
/* AB2110 8003AF70 58400004 */ blezl $v0, .L8003AF84
|
|
/* AB2114 8003AF74 C486002C */ lwc1 $f6, 0x2c($a0)
|
|
/* AB2118 8003AF78 2458FFFF */ addiu $t8, $v0, -1
|
|
/* AB211C 8003AF7C ACD80000 */ sw $t8, ($a2)
|
|
/* AB2120 8003AF80 C486002C */ lwc1 $f6, 0x2c($a0)
|
|
.L8003AF84:
|
|
/* AB2124 8003AF84 44082000 */ mfc1 $t0, $f4
|
|
/* AB2128 8003AF88 4600320D */ trunc.w.s $f8, $f6
|
|
/* AB212C 8003AF8C 440A4000 */ mfc1 $t2, $f8
|
|
/* AB2130 8003AF90 00000000 */ nop
|
|
/* AB2134 8003AF94 010A001A */ div $zero, $t0, $t2
|
|
/* AB2138 8003AF98 15400002 */ bnez $t2, .L8003AFA4
|
|
/* AB213C 8003AF9C 00000000 */ nop
|
|
/* AB2140 8003AFA0 0007000D */ break 7
|
|
.L8003AFA4:
|
|
/* AB2144 8003AFA4 2401FFFF */ li $at, -1
|
|
/* AB2148 8003AFA8 15410004 */ bne $t2, $at, .L8003AFBC
|
|
/* AB214C 8003AFAC 3C018000 */ lui $at, 0x8000
|
|
/* AB2150 8003AFB0 15010002 */ bne $t0, $at, .L8003AFBC
|
|
/* AB2154 8003AFB4 00000000 */ nop
|
|
/* AB2158 8003AFB8 0006000D */ break 6
|
|
.L8003AFBC:
|
|
/* AB215C 8003AFBC 00005810 */ mfhi $t3
|
|
/* AB2160 8003AFC0 29610032 */ slti $at, $t3, 0x32
|
|
/* AB2164 8003AFC4 50200007 */ beql $at, $zero, .L8003AFE4
|
|
/* AB2168 8003AFC8 C4900030 */ lwc1 $f16, 0x30($a0)
|
|
/* AB216C 8003AFCC 8CE20000 */ lw $v0, ($a3)
|
|
/* AB2170 8003AFD0 58400004 */ blezl $v0, .L8003AFE4
|
|
/* AB2174 8003AFD4 C4900030 */ lwc1 $f16, 0x30($a0)
|
|
/* AB2178 8003AFD8 244DFFFF */ addiu $t5, $v0, -1
|
|
/* AB217C 8003AFDC ACED0000 */ sw $t5, ($a3)
|
|
/* AB2180 8003AFE0 C4900030 */ lwc1 $f16, 0x30($a0)
|
|
.L8003AFE4:
|
|
/* AB2184 8003AFE4 4600628D */ trunc.w.s $f10, $f12
|
|
/* AB2188 8003AFE8 8FA90010 */ lw $t1, 0x10($sp)
|
|
/* AB218C 8003AFEC 4600848D */ trunc.w.s $f18, $f16
|
|
/* AB2190 8003AFF0 440E5000 */ mfc1 $t6, $f10
|
|
/* AB2194 8003AFF4 44189000 */ mfc1 $t8, $f18
|
|
/* AB2198 8003AFF8 00000000 */ nop
|
|
/* AB219C 8003AFFC 01D8001A */ div $zero, $t6, $t8
|
|
/* AB21A0 8003B000 17000002 */ bnez $t8, .L8003B00C
|
|
/* AB21A4 8003B004 00000000 */ nop
|
|
/* AB21A8 8003B008 0007000D */ break 7
|
|
.L8003B00C:
|
|
/* AB21AC 8003B00C 2401FFFF */ li $at, -1
|
|
/* AB21B0 8003B010 17010004 */ bne $t8, $at, .L8003B024
|
|
/* AB21B4 8003B014 3C018000 */ lui $at, 0x8000
|
|
/* AB21B8 8003B018 15C10002 */ bne $t6, $at, .L8003B024
|
|
/* AB21BC 8003B01C 00000000 */ nop
|
|
/* AB21C0 8003B020 0006000D */ break 6
|
|
.L8003B024:
|
|
/* AB21C4 8003B024 0000C810 */ mfhi $t9
|
|
/* AB21C8 8003B028 2B210032 */ slti $at, $t9, 0x32
|
|
/* AB21CC 8003B02C 10200005 */ beqz $at, .L8003B044
|
|
/* AB21D0 8003B030 00000000 */ nop
|
|
/* AB21D4 8003B034 8D220000 */ lw $v0, ($t1)
|
|
/* AB21D8 8003B038 18400002 */ blez $v0, .L8003B044
|
|
/* AB21DC 8003B03C 2448FFFF */ addiu $t0, $v0, -1
|
|
/* AB21E0 8003B040 AD280000 */ sw $t0, ($t1)
|
|
.L8003B044:
|
|
/* AB21E4 8003B044 03E00008 */ jr $ra
|
|
/* AB21E8 8003B048 00000000 */ nop
|
|
|