mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
50 lines
2.3 KiB
ArmAsm
50 lines
2.3 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
glabel func_80053624
|
||
|
/* 2EA24 80053624 0080402D */ daddu $t0, $a0, $zero
|
||
|
/* 2EA28 80053628 00063400 */ sll $a2, $a2, 0x10
|
||
|
/* 2EA2C 8005362C AD060000 */ sw $a2, ($t0)
|
||
|
/* 2EA30 80053630 10A00020 */ beqz $a1, .L800536B4
|
||
|
/* 2EA34 80053634 A5070008 */ sh $a3, 8($t0)
|
||
|
/* 2EA38 80053638 3C03B65C */ lui $v1, 0xb65c
|
||
|
/* 2EA3C 8005363C 34636D59 */ ori $v1, $v1, 0x6d59
|
||
|
/* 2EA40 80053640 00051140 */ sll $v0, $a1, 5
|
||
|
/* 2EA44 80053644 00451023 */ subu $v0, $v0, $a1
|
||
|
/* 2EA48 80053648 00021080 */ sll $v0, $v0, 2
|
||
|
/* 2EA4C 8005364C 00451021 */ addu $v0, $v0, $a1
|
||
|
/* 2EA50 80053650 000210C0 */ sll $v0, $v0, 3
|
||
|
/* 2EA54 80053654 00430018 */ mult $v0, $v1
|
||
|
/* 2EA58 80053658 00001810 */ mfhi $v1
|
||
|
/* 2EA5C 8005365C 00622021 */ addu $a0, $v1, $v0
|
||
|
/* 2EA60 80053660 00042303 */ sra $a0, $a0, 0xc
|
||
|
/* 2EA64 80053664 000217C3 */ sra $v0, $v0, 0x1f
|
||
|
/* 2EA68 80053668 00822023 */ subu $a0, $a0, $v0
|
||
|
/* 2EA6C 8005366C 00C0102D */ daddu $v0, $a2, $zero
|
||
|
/* 2EA70 80053670 00071C00 */ sll $v1, $a3, 0x10
|
||
|
/* 2EA74 80053674 00621823 */ subu $v1, $v1, $v0
|
||
|
/* 2EA78 80053678 00041400 */ sll $v0, $a0, 0x10
|
||
|
/* 2EA7C 8005367C 00021403 */ sra $v0, $v0, 0x10
|
||
|
/* 2EA80 80053680 14400002 */ bnez $v0, .L8005368C
|
||
|
/* 2EA84 80053684 0062001A */ div $zero, $v1, $v0
|
||
|
/* 2EA88 80053688 0007000D */ break 7
|
||
|
.L8005368C:
|
||
|
/* 2EA8C 8005368C 2401FFFF */ addiu $at, $zero, -1
|
||
|
/* 2EA90 80053690 14410004 */ bne $v0, $at, .L800536A4
|
||
|
/* 2EA94 80053694 3C018000 */ lui $at, 0x8000
|
||
|
/* 2EA98 80053698 14610002 */ bne $v1, $at, .L800536A4
|
||
|
/* 2EA9C 8005369C 00000000 */ nop
|
||
|
/* 2EAA0 800536A0 0006000D */ break 6
|
||
|
.L800536A4:
|
||
|
/* 2EAA4 800536A4 00001812 */ mflo $v1
|
||
|
/* 2EAA8 800536A8 A504000A */ sh $a0, 0xa($t0)
|
||
|
/* 2EAAC 800536AC 08014DB0 */ j .L800536C0
|
||
|
/* 2EAB0 800536B0 AD030004 */ sw $v1, 4($t0)
|
||
|
.L800536B4:
|
||
|
/* 2EAB4 800536B4 24020001 */ addiu $v0, $zero, 1
|
||
|
/* 2EAB8 800536B8 A502000A */ sh $v0, 0xa($t0)
|
||
|
/* 2EABC 800536BC AD000004 */ sw $zero, 4($t0)
|
||
|
.L800536C0:
|
||
|
/* 2EAC0 800536C0 03E00008 */ jr $ra
|
||
|
/* 2EAC4 800536C4 AD00000C */ sw $zero, 0xc($t0)
|