papermario/asm/nonmatchings/code_42e0_len_1f60/int_to_string.s

88 lines
4.3 KiB
ArmAsm
Raw Normal View History

2020-09-24 05:16:13 +02:00
.set noat # allow manual use of $at
2020-08-04 08:49:11 +02:00
.set noreorder # don't insert nops after branches
glabel int_to_string
2020-09-24 05:16:13 +02:00
/* 48C4 800294C4 27BDFF88 */ addiu $sp, $sp, -0x78
/* 48C8 800294C8 AFB7006C */ sw $s7, 0x6c($sp)
/* 48CC 800294CC 00C0B82D */ daddu $s7, $a2, $zero
/* 48D0 800294D0 AFB40060 */ sw $s4, 0x60($sp)
/* 48D4 800294D4 24140026 */ addiu $s4, $zero, 0x26
/* 48D8 800294D8 AFBE0070 */ sw $fp, 0x70($sp)
/* 48DC 800294DC 0000F02D */ daddu $fp, $zero, $zero
/* 48E0 800294E0 AFB3005C */ sw $s3, 0x5c($sp)
/* 48E4 800294E4 AFB20058 */ sw $s2, 0x58($sp)
/* 48E8 800294E8 0080982D */ daddu $s3, $a0, $zero
/* 48EC 800294EC 000497C3 */ sra $s2, $a0, 0x1f
/* 48F0 800294F0 AFBF0074 */ sw $ra, 0x74($sp)
/* 48F4 800294F4 AFB60068 */ sw $s6, 0x68($sp)
/* 48F8 800294F8 AFB50064 */ sw $s5, 0x64($sp)
/* 48FC 800294FC AFB10054 */ sw $s1, 0x54($sp)
/* 4900 80029500 AFB00050 */ sw $s0, 0x50($sp)
/* 4904 80029504 0641000A */ bgez $s2, .L80029530
/* 4908 80029508 AFA5007C */ sw $a1, 0x7c($sp)
/* 490C 8002950C 2402FFFF */ addiu $v0, $zero, -1
/* 4910 80029510 02620019 */ multu $s3, $v0
/* 4914 80029514 241E0001 */ addiu $fp, $zero, 1
/* 4918 80029518 00001010 */ mfhi $v0
/* 491C 8002951C 00001812 */ mflo $v1
/* 4920 80029520 00531023 */ subu $v0, $v0, $s3
/* 4924 80029524 00521023 */ subu $v0, $v0, $s2
/* 4928 80029528 0040902D */ daddu $s2, $v0, $zero
/* 492C 8002952C 0060982D */ daddu $s3, $v1, $zero
2020-08-04 08:49:11 +02:00
.L80029530:
2020-09-24 05:16:13 +02:00
/* 4930 80029530 A3A00037 */ sb $zero, 0x37($sp)
/* 4934 80029534 27B60010 */ addiu $s6, $sp, 0x10
/* 4938 80029538 0017AFC3 */ sra $s5, $s7, 0x1f
2020-08-04 08:49:11 +02:00
.L8002953C:
2020-09-24 05:16:13 +02:00
/* 493C 8002953C 02E0882D */ daddu $s1, $s7, $zero
/* 4940 80029540 02A0802D */ daddu $s0, $s5, $zero
/* 4944 80029544 0240202D */ daddu $a0, $s2, $zero
/* 4948 80029548 0260282D */ daddu $a1, $s3, $zero
/* 494C 8002954C 0200302D */ daddu $a2, $s0, $zero
/* 4950 80029550 0C01B770 */ jal func_8006DDC0
/* 4954 80029554 0220382D */ daddu $a3, $s1, $zero
/* 4958 80029558 0240202D */ daddu $a0, $s2, $zero
/* 495C 8002955C 0260282D */ daddu $a1, $s3, $zero
/* 4960 80029560 0200302D */ daddu $a2, $s0, $zero
/* 4964 80029564 0220382D */ daddu $a3, $s1, $zero
2020-11-29 08:13:07 +01:00
/* 4968 80029568 3C088007 */ lui $t0, %hi(D_800743E0)
/* 496C 8002956C 250843E0 */ addiu $t0, $t0, %lo(D_800743E0)
2020-09-24 05:16:13 +02:00
/* 4970 80029570 00681021 */ addu $v0, $v1, $t0
/* 4974 80029574 90430000 */ lbu $v1, ($v0)
/* 4978 80029578 02D41021 */ addu $v0, $s6, $s4
/* 497C 8002957C 0C01B600 */ jal func_8006D800
/* 4980 80029580 A0430000 */ sb $v1, ($v0)
/* 4984 80029584 0040902D */ daddu $s2, $v0, $zero
/* 4988 80029588 0060982D */ daddu $s3, $v1, $zero
/* 498C 8002958C 02721025 */ or $v0, $s3, $s2
/* 4990 80029590 10400005 */ beqz $v0, .L800295A8
2021-01-11 13:40:52 +01:00
/* 4994 80029594 00000000 */ nop
2020-09-24 05:16:13 +02:00
/* 4998 80029598 12800003 */ beqz $s4, .L800295A8
2021-01-11 13:40:52 +01:00
/* 499C 8002959C 00000000 */ nop
2020-09-24 05:16:13 +02:00
/* 49A0 800295A0 0800A54F */ j .L8002953C
/* 49A4 800295A4 2694FFFF */ addiu $s4, $s4, -1
2020-08-04 08:49:11 +02:00
.L800295A8:
2020-09-24 05:16:13 +02:00
/* 49A8 800295A8 13C00004 */ beqz $fp, .L800295BC
/* 49AC 800295AC 2402002D */ addiu $v0, $zero, 0x2d
/* 49B0 800295B0 2694FFFF */ addiu $s4, $s4, -1
/* 49B4 800295B4 03B41821 */ addu $v1, $sp, $s4
/* 49B8 800295B8 A0620010 */ sb $v0, 0x10($v1)
2020-08-04 08:49:11 +02:00
.L800295BC:
2020-09-24 05:16:13 +02:00
/* 49BC 800295BC 27A50010 */ addiu $a1, $sp, 0x10
/* 49C0 800295C0 8FA4007C */ lw $a0, 0x7c($sp)
/* 49C4 800295C4 0C01BB50 */ jal strcpy
/* 49C8 800295C8 00B42821 */ addu $a1, $a1, $s4
/* 49CC 800295CC 8FA2007C */ lw $v0, 0x7c($sp)
/* 49D0 800295D0 8FBF0074 */ lw $ra, 0x74($sp)
/* 49D4 800295D4 8FBE0070 */ lw $fp, 0x70($sp)
/* 49D8 800295D8 8FB7006C */ lw $s7, 0x6c($sp)
/* 49DC 800295DC 8FB60068 */ lw $s6, 0x68($sp)
/* 49E0 800295E0 8FB50064 */ lw $s5, 0x64($sp)
/* 49E4 800295E4 8FB40060 */ lw $s4, 0x60($sp)
/* 49E8 800295E8 8FB3005C */ lw $s3, 0x5c($sp)
/* 49EC 800295EC 8FB20058 */ lw $s2, 0x58($sp)
/* 49F0 800295F0 8FB10054 */ lw $s1, 0x54($sp)
/* 49F4 800295F4 8FB00050 */ lw $s0, 0x50($sp)
/* 49F8 800295F8 03E00008 */ jr $ra
/* 49FC 800295FC 27BD0078 */ addiu $sp, $sp, 0x78