Files
mk64/asm/non_matchings/math_util/random_int.s
T
Tyler McGavran a2dc62ccf8 Jump Table Related Disassembly (#60)
* Part 1, Commit 1 of 24

audio/effects

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 2 of 24

audio/external

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 3 of 24

audio/heap

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 4 of 24

audio/port_eu

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 5 of 24

audio/seqplayer

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 6 of 24

code_80005FD0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 7 of 24

code_8001C4D0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 8 of 24

code_80027D00

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 9 of 24

code_800393C0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 10 of 24

code_8003DC40

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 11 of 24

code_800431B0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 12 of 24

code_80057C60

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 13 of 24

code_8006E9C0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 14 of 24

code_80071F00

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 15 of 24

code_80086E70

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 16 of 24

code_8008C1D0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 17 of 24

code_80091750

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 18 of 24

code_800AF9B0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 19 of 24

code_8028DF00

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 20 of 24

code_80290C20

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 21 of 24

code_802B0210

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 22 of 24

code_actors

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 23 of 24

memory

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 1, Commit 24 of 24

os/__osException

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 1 of 20

audio/effects.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 2 of 20

audio/external.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 3 of 24

audio/heap.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 4 of 20

audio/port_eu.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 5 of 20

audio/seqplayer.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 6 of 20

code_80005FD0.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 7 of 20

code_8001C4D0.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 8 of 20

code_80027D00.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 9 of 20

code_8003DC40.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 10 of 20

code_800431B0.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 11 of 20

code_80057C60.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 12 of 20

code_8006E9C0.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 13 of 20

code_80071F00.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 14 of 20

code_80086E70.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 15 of 20

code_80091750.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 16 of 20

code_800AF9B0.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 17 of 20

code_80290C20.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 18 of 20

code_802B0210.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 19 of 20

code_80296A50.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 2, Commit 20 of 20

memory.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 3, Commit 1 of 4

code_8008C1D0

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 3, Commit 2 of 4

code_8028DF00

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 3, Commit 3 of 4

math_util

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Part 3, Commit 4 of 4

crash_screen

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Recreated disassemblies with a context file

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-11-23 01:47:54 -08:00

71 lines
3.3 KiB
ArmAsm

glabel random_int
/* 121444 802B7E34 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 121448 802B7E38 AFBF0014 */ sw $ra, 0x14($sp)
/* 12144C 802B7E3C 0C0ADF65 */ jal random_u16
/* 121450 802B7E40 AFA40018 */ sw $a0, 0x18($sp)
/* 121454 802B7E44 44822000 */ mtc1 $v0, $f4
/* 121458 802B7E48 97AE001A */ lhu $t6, 0x1a($sp)
/* 12145C 802B7E4C 04410005 */ bgez $v0, .L802B7E64
/* 121460 802B7E50 468021A0 */ cvt.s.w $f6, $f4
/* 121464 802B7E54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 121468 802B7E58 44814000 */ mtc1 $at, $f8
/* 12146C 802B7E5C 00000000 */ nop
/* 121470 802B7E60 46083180 */ add.s $f6, $f6, $f8
.L802B7E64:
/* 121474 802B7E64 3C01802C */ lui $at, %hi(D_802BA028)
/* 121478 802B7E68 D430A028 */ ldc1 $f16, %lo(D_802BA028)($at)
/* 12147C 802B7E6C 448E2000 */ mtc1 $t6, $f4
/* 121480 802B7E70 460032A1 */ cvt.d.s $f10, $f6
/* 121484 802B7E74 8FBF0014 */ lw $ra, 0x14($sp)
/* 121488 802B7E78 46305483 */ div.d $f18, $f10, $f16
/* 12148C 802B7E7C 05C10006 */ bgez $t6, .L802B7E98
/* 121490 802B7E80 46802221 */ cvt.d.w $f8, $f4
/* 121494 802B7E84 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 121498 802B7E88 44813800 */ mtc1 $at, $f7
/* 12149C 802B7E8C 44803000 */ mtc1 $zero, $f6
/* 1214A0 802B7E90 00000000 */ nop
/* 1214A4 802B7E94 46264200 */ add.d $f8, $f8, $f6
.L802B7E98:
/* 1214A8 802B7E98 46289282 */ mul.d $f10, $f18, $f8
/* 1214AC 802B7E9C 24020001 */ li $v0, 1
/* 1214B0 802B7EA0 27BD0018 */ addiu $sp, $sp, 0x18
/* 1214B4 802B7EA4 3C0141E0 */ li $at, 0x41E00000 # 28.000000
/* 1214B8 802B7EA8 444FF800 */ cfc1 $t7, $31
/* 1214BC 802B7EAC 44C2F800 */ ctc1 $v0, $31
/* 1214C0 802B7EB0 00000000 */ nop
/* 1214C4 802B7EB4 46205424 */ cvt.w.d $f16, $f10
/* 1214C8 802B7EB8 4442F800 */ cfc1 $v0, $31
/* 1214CC 802B7EBC 00000000 */ nop
/* 1214D0 802B7EC0 30420078 */ andi $v0, $v0, 0x78
/* 1214D4 802B7EC4 50400014 */ beql $v0, $zero, .L802B7F18
/* 1214D8 802B7EC8 44028000 */ mfc1 $v0, $f16
/* 1214DC 802B7ECC 44818800 */ mtc1 $at, $f17
/* 1214E0 802B7ED0 44808000 */ mtc1 $zero, $f16
/* 1214E4 802B7ED4 24020001 */ li $v0, 1
/* 1214E8 802B7ED8 46305401 */ sub.d $f16, $f10, $f16
/* 1214EC 802B7EDC 44C2F800 */ ctc1 $v0, $31
/* 1214F0 802B7EE0 00000000 */ nop
/* 1214F4 802B7EE4 46208424 */ cvt.w.d $f16, $f16
/* 1214F8 802B7EE8 4442F800 */ cfc1 $v0, $31
/* 1214FC 802B7EEC 00000000 */ nop
/* 121500 802B7EF0 30420078 */ andi $v0, $v0, 0x78
/* 121504 802B7EF4 14400005 */ bnez $v0, .L802B7F0C
/* 121508 802B7EF8 00000000 */ nop
/* 12150C 802B7EFC 44028000 */ mfc1 $v0, $f16
/* 121510 802B7F00 3C018000 */ lui $at, 0x8000
/* 121514 802B7F04 10000007 */ b .L802B7F24
/* 121518 802B7F08 00411025 */ or $v0, $v0, $at
.L802B7F0C:
/* 12151C 802B7F0C 10000005 */ b .L802B7F24
/* 121520 802B7F10 2402FFFF */ li $v0, -1
/* 121524 802B7F14 44028000 */ mfc1 $v0, $f16
.L802B7F18:
/* 121528 802B7F18 00000000 */ nop
/* 12152C 802B7F1C 0440FFFB */ bltz $v0, .L802B7F0C
/* 121530 802B7F20 00000000 */ nop
.L802B7F24:
/* 121534 802B7F24 44CFF800 */ ctc1 $t7, $31
/* 121538 802B7F28 3058FFFF */ andi $t8, $v0, 0xffff
/* 12153C 802B7F2C 03E00008 */ jr $ra
/* 121540 802B7F30 03001025 */ move $v0, $t8