mirror of
https://github.com/n64decomp/mk64
synced 2026-08-18 21:17:47 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
79 lines
3.4 KiB
ArmAsm
79 lines
3.4 KiB
ArmAsm
glabel func_80007BF8
|
|
/* 0087F8 80007BF8 30AEFFFF */ andi $t6, $a1, 0xffff
|
|
/* 0087FC 80007BFC 30CFFFFF */ andi $t7, $a2, 0xffff
|
|
/* 008800 80007C00 AFA60008 */ sw $a2, 8($sp)
|
|
/* 008804 80007C04 AFA7000C */ sw $a3, 0xc($sp)
|
|
/* 008808 80007C08 30F8FFFF */ andi $t8, $a3, 0xffff
|
|
/* 00880C 80007C0C 01CF082A */ slt $at, $t6, $t7
|
|
/* 008810 80007C10 03003825 */ move $a3, $t8
|
|
/* 008814 80007C14 01E03025 */ move $a2, $t7
|
|
/* 008818 80007C18 AFA40000 */ sw $a0, ($sp)
|
|
/* 00881C 80007C1C AFA50004 */ sw $a1, 4($sp)
|
|
/* 008820 80007C20 00001825 */ move $v1, $zero
|
|
/* 008824 80007C24 01E04025 */ move $t0, $t7
|
|
/* 008828 80007C28 14200011 */ bnez $at, .L80007C70
|
|
/* 00882C 80007C2C 01C01025 */ move $v0, $t6
|
|
/* 008830 80007C30 97B90012 */ lhu $t9, 0x12($sp)
|
|
/* 008834 80007C34 00E02025 */ move $a0, $a3
|
|
/* 008838 80007C38 97A50002 */ lhu $a1, 2($sp)
|
|
/* 00883C 80007C3C 03274823 */ subu $t1, $t9, $a3
|
|
/* 008840 80007C40 0049082A */ slt $at, $v0, $t1
|
|
/* 008844 80007C44 5020000B */ beql $at, $zero, .L80007C74
|
|
/* 008848 80007C48 97A30012 */ lhu $v1, 0x12($sp)
|
|
/* 00884C 80007C4C 00485023 */ subu $t2, $v0, $t0
|
|
/* 008850 80007C50 00AA082A */ slt $at, $a1, $t2
|
|
/* 008854 80007C54 14200029 */ bnez $at, .L80007CFC
|
|
/* 008858 80007C58 00445821 */ addu $t3, $v0, $a0
|
|
/* 00885C 80007C5C 0165082A */ slt $at, $t3, $a1
|
|
/* 008860 80007C60 14200026 */ bnez $at, .L80007CFC
|
|
/* 008864 80007C64 00000000 */ nop
|
|
/* 008868 80007C68 03E00008 */ jr $ra
|
|
/* 00886C 80007C6C 24020001 */ li $v0, 1
|
|
|
|
.L80007C70:
|
|
/* 008870 80007C70 97A30012 */ lhu $v1, 0x12($sp)
|
|
.L80007C74:
|
|
/* 008874 80007C74 00476021 */ addu $t4, $v0, $a3
|
|
/* 008878 80007C78 97A50002 */ lhu $a1, 2($sp)
|
|
/* 00887C 80007C7C 0183001A */ div $zero, $t4, $v1
|
|
/* 008880 80007C80 14600002 */ bnez $v1, .L80007C8C
|
|
/* 008884 80007C84 00000000 */ nop
|
|
/* 008888 80007C88 0007000D */ break 7
|
|
.L80007C8C:
|
|
/* 00888C 80007C8C 2401FFFF */ li $at, -1
|
|
/* 008890 80007C90 14610004 */ bne $v1, $at, .L80007CA4
|
|
/* 008894 80007C94 3C018000 */ lui $at, 0x8000
|
|
/* 008898 80007C98 15810002 */ bne $t4, $at, .L80007CA4
|
|
/* 00889C 80007C9C 00000000 */ nop
|
|
/* 0088A0 80007CA0 0006000D */ break 6
|
|
.L80007CA4:
|
|
/* 0088A4 80007CA4 00006810 */ mfhi $t5
|
|
/* 0088A8 80007CA8 01A5082A */ slt $at, $t5, $a1
|
|
/* 0088AC 80007CAC 10200012 */ beqz $at, .L80007CF8
|
|
/* 0088B0 80007CB0 00437021 */ addu $t6, $v0, $v1
|
|
/* 0088B4 80007CB4 01C87823 */ subu $t7, $t6, $t0
|
|
/* 0088B8 80007CB8 01E3001A */ div $zero, $t7, $v1
|
|
/* 0088BC 80007CBC 14600002 */ bnez $v1, .L80007CC8
|
|
/* 0088C0 80007CC0 00000000 */ nop
|
|
/* 0088C4 80007CC4 0007000D */ break 7
|
|
.L80007CC8:
|
|
/* 0088C8 80007CC8 2401FFFF */ li $at, -1
|
|
/* 0088CC 80007CCC 14610004 */ bne $v1, $at, .L80007CE0
|
|
/* 0088D0 80007CD0 3C018000 */ lui $at, 0x8000
|
|
/* 0088D4 80007CD4 15E10002 */ bne $t7, $at, .L80007CE0
|
|
/* 0088D8 80007CD8 00000000 */ nop
|
|
/* 0088DC 80007CDC 0006000D */ break 6
|
|
.L80007CE0:
|
|
/* 0088E0 80007CE0 0000C010 */ mfhi $t8
|
|
/* 0088E4 80007CE4 0305082A */ slt $at, $t8, $a1
|
|
/* 0088E8 80007CE8 54200004 */ bnel $at, $zero, .L80007CFC
|
|
/* 0088EC 80007CEC 24030002 */ li $v1, 2
|
|
/* 0088F0 80007CF0 03E00008 */ jr $ra
|
|
/* 0088F4 80007CF4 2402FFFF */ li $v0, -1
|
|
|
|
.L80007CF8:
|
|
/* 0088F8 80007CF8 24030002 */ li $v1, 2
|
|
.L80007CFC:
|
|
/* 0088FC 80007CFC 03E00008 */ jr $ra
|
|
/* 008900 80007D00 00601025 */ move $v0, $v1
|