Extracted f8.
This commit is contained in:
parent
cab6e1fff6
commit
73c39a778d
45
asm/dw2003/exe/f8.s
Normal file
45
asm/dw2003/exe/f8.s
Normal file
@ -0,0 +1,45 @@
|
||||
.include "macros.s"
|
||||
|
||||
# `fn f8()`
|
||||
.section section_f8
|
||||
.global f8
|
||||
f8:
|
||||
addiu $sp, -24
|
||||
sw $s0, 16($sp)
|
||||
|
||||
la_ $s0, D0x8005cd28
|
||||
move_ $a0, $s0
|
||||
sw $ra, 20($sp)
|
||||
|
||||
# F0x8002e65c(&D0x8005cd28, 3)
|
||||
jal F0x8002e65c
|
||||
li $a1, 3
|
||||
|
||||
# `value = F0x8002badc(&D0x8005cd28)`
|
||||
jal F0x8002badc
|
||||
move_ $a0, $s0
|
||||
|
||||
# Load `D0x80044b2c`
|
||||
lui $v1, %hi(D0x80044b04)
|
||||
addiu $a0, $v1, %lo(D0x80044b04)
|
||||
lw $v1, 40($a0)
|
||||
nop
|
||||
|
||||
# If `D0x80044b2c == value`, write back `value + 1`
|
||||
beq $v0, $v1, .Lwrite_D0x80044b2c
|
||||
addiu $v0, 1
|
||||
|
||||
# Else return `-1`
|
||||
j .Lexit
|
||||
li $v0, -1
|
||||
|
||||
# Store the value back and return 0
|
||||
.Lwrite_D0x80044b2c:
|
||||
sw $v0, 40($a0)
|
||||
move_ $v0, $zr
|
||||
|
||||
.Lexit:
|
||||
lw $ra, 20($sp)
|
||||
lw $s0, 16($sp)
|
||||
jr $ra
|
||||
addiu $sp, 24
|
||||
@ -3396,29 +3396,6 @@ D0x80010c06:
|
||||
.L80013458: addiu $sp, 368
|
||||
|
||||
.section "fns1"
|
||||
.L80013694: addiu $sp, -24
|
||||
.L80013698: sw $s0, 16($sp)
|
||||
.L8001369c: la_ $s0, D0x8005cd28
|
||||
.L800136a4: move_ $a0, $s0
|
||||
.L800136a8: sw $ra, 20($sp)
|
||||
.L800136ac: jal .L8002e65c
|
||||
.L800136b0: li $a1, 3
|
||||
.L800136b4: jal .L8002badc
|
||||
.L800136b8: move_ $a0, $s0
|
||||
.L800136bc: lui $v1, %hi(D0x80044b04)
|
||||
.L800136c0: addiu $a0, $v1, %lo(D0x80044b04)
|
||||
.L800136c4: lw $v1, 40($a0)
|
||||
.L800136c8: nop
|
||||
.L800136cc: beq $v0, $v1, .L800136dc
|
||||
.L800136d0: addiu $v0, 1
|
||||
.L800136d4: j .L800136e4
|
||||
.L800136d8: li $v0, -1
|
||||
.L800136dc: sw $v0, 40($a0)
|
||||
.L800136e0: move_ $v0, $zr
|
||||
.L800136e4: lw $ra, 20($sp)
|
||||
.L800136e8: lw $s0, 16($sp)
|
||||
.L800136ec: jr $ra
|
||||
.L800136f0: addiu $sp, 24
|
||||
|
||||
.global F0x800136f4
|
||||
F0x800136f4:
|
||||
@ -3427,7 +3404,7 @@ F0x800136f4:
|
||||
.L800136fc: sw $ra, 20($sp)
|
||||
.L80013700: bne $a0, $v0, .L80013750
|
||||
.L80013704: sw $s0, 16($sp)
|
||||
.L80013708: jal .L80013694
|
||||
.L80013708: jal f8
|
||||
.L8001370c: nop
|
||||
.L80013710: bnez $v0, .L80013754
|
||||
.L80013714: lui $v1, %hi(D0x80044b24)
|
||||
@ -28339,6 +28316,9 @@ F0x800283fc:
|
||||
.L8002bad0: jr $t2
|
||||
.L8002bad4: li $t1, 7
|
||||
.L8002bad8: nop
|
||||
|
||||
.global F0x8002badc
|
||||
F0x8002badc:
|
||||
.L8002badc: lbu $v1, 0($a0)
|
||||
.L8002bae0: lbu $a2, 1($a0)
|
||||
.L8002bae4: srl $a1, $v1, 0x4
|
||||
@ -31075,6 +31055,9 @@ F0x800283fc:
|
||||
.L8002e650: jr $ra
|
||||
.L8002e654: addiu $sp, 56
|
||||
.L8002e658: nop
|
||||
|
||||
.global F0x8002e65c
|
||||
F0x8002e65c:
|
||||
.L8002e65c: addiu $sp, -24
|
||||
.L8002e660: sw $ra, 16($sp)
|
||||
.L8002e664: jal .L8002e67c
|
||||
|
||||
@ -11,6 +11,7 @@ objs:
|
||||
- /build/asm/dw2003/exe/f5.o
|
||||
- /build/asm/dw2003/exe/f6.o
|
||||
- /build/asm/dw2003/exe/f7.o
|
||||
- /build/asm/dw2003/exe/f8.o
|
||||
- /build/asm/dw2003/exe/loading.o
|
||||
- /build/rust/dw2003_exe_data.a
|
||||
- /build/rust/dw2003_exe_digimon_profiles.a
|
||||
@ -26,6 +27,7 @@ sections:
|
||||
- section_f6
|
||||
- section_f7
|
||||
- section_f3
|
||||
- section_f8
|
||||
- fns1
|
||||
- dw2003_exe_data0
|
||||
- dw2003_exe_digimon_profiles
|
||||
|
||||
@ -1808,7 +1808,7 @@ util::decl_static! { "dw2003_exe_data1",
|
||||
pub static mut D0x80044b20: u32 = 0x00000000;
|
||||
pub static mut D0x80044b24: u32 = 0x00000000;
|
||||
pub static mut D0x80044b28: u32 = 0x00000000;
|
||||
pub static mut D0x80044b2c: u32 = 0x00000000;
|
||||
pub static mut D0x80044b2c: u32 = 0x00000000; // Loaded by f8
|
||||
pub static mut D0x80044b30: *const u32 = unsafe { &F0x800138a8 };
|
||||
pub static mut D0x80044b34: *const u32 = unsafe { &F0x80013914 };
|
||||
//
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user