papermario/ver/jp/asm/os/osMapTLB.s
Marijn van der Werf 0d70e3ecac
Build main segment in JP (#939)
* Remove JP dump

* Add new JP dump

* Fix sort_symbol_addrs to only look at one version

* Deduplicate and sort symbol_addrs

* Clean up JP rom if conditions

* Use /current dir for diffing

* Fix state_step_logos

* Add todo comments for unsplitted segments

* Fix draw_merlee_message

* rename background_gfx

* Fix background_gfx

* Fix JP build

* Set unused data offsets to auto
2023-02-17 11:06:56 +09:00

68 lines
3.0 KiB
ArmAsm

.include "macro.inc"
/* assembler directives */
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
.set gp=64 /* allow use of 64-bit general purpose registers */
.section .text, "ax"
/* Generated by spimdisasm 1.11.1 */
# Handwritten function
glabel osMapTLB
/* 41B70 80066770 40085000 */ mfc0 $t0, $10 # handwritten instruction
/* 41B74 80066774 40840000 */ mtc0 $a0, $0 # handwritten instruction
/* 41B78 80066778 40852800 */ mtc0 $a1, $5 # handwritten instruction
/* 41B7C 8006677C 8FA90014 */ lw $t1, 0x14($sp)
/* 41B80 80066780 2401FFFF */ addiu $at, $zero, -0x1
/* 41B84 80066784 11210004 */ beq $t1, $at, .LJP_80066798
/* 41B88 80066788 240C0001 */ addiu $t4, $zero, 0x1
/* 41B8C 8006678C 240A001E */ addiu $t2, $zero, 0x1E
/* 41B90 80066790 10000002 */ b .LJP_8006679C
/* 41B94 80066794 00C93025 */ or $a2, $a2, $t1
.LJP_80066798:
/* 41B98 80066798 240A001F */ addiu $t2, $zero, 0x1F
.LJP_8006679C:
/* 41B9C 8006679C 40865000 */ mtc0 $a2, $10 # handwritten instruction
/* 41BA0 800667A0 2401FFFF */ addiu $at, $zero, -0x1
/* 41BA4 800667A4 10E10006 */ beq $a3, $at, .LJP_800667C0
/* 41BA8 800667A8 00000000 */ nop
/* 41BAC 800667AC 00075982 */ srl $t3, $a3, 6
/* 41BB0 800667B0 016A5825 */ or $t3, $t3, $t2
/* 41BB4 800667B4 408B1000 */ mtc0 $t3, $2 # handwritten instruction
/* 41BB8 800667B8 10000002 */ b .LJP_800667C4
/* 41BBC 800667BC 00000000 */ nop
.LJP_800667C0:
/* 41BC0 800667C0 408C1000 */ mtc0 $t4, $2 # handwritten instruction
.LJP_800667C4:
/* 41BC4 800667C4 8FAB0010 */ lw $t3, 0x10($sp)
/* 41BC8 800667C8 2401FFFF */ addiu $at, $zero, -0x1
/* 41BCC 800667CC 11610006 */ beq $t3, $at, .LJP_800667E8
/* 41BD0 800667D0 00000000 */ nop
/* 41BD4 800667D4 000B5982 */ srl $t3, $t3, 6
/* 41BD8 800667D8 016A5825 */ or $t3, $t3, $t2
/* 41BDC 800667DC 408B1800 */ mtc0 $t3, $3 # handwritten instruction
/* 41BE0 800667E0 10000007 */ b .LJP_80066800
/* 41BE4 800667E4 00000000 */ nop
.LJP_800667E8:
/* 41BE8 800667E8 408C1800 */ mtc0 $t4, $3 # handwritten instruction
/* 41BEC 800667EC 2401FFFF */ addiu $at, $zero, -0x1
/* 41BF0 800667F0 14E10003 */ bne $a3, $at, .LJP_80066800
/* 41BF4 800667F4 00000000 */ nop
/* 41BF8 800667F8 3C0B8000 */ lui $t3, (0x80000000 >> 16)
/* 41BFC 800667FC 408B5000 */ mtc0 $t3, $10 # handwritten instruction
.LJP_80066800:
/* 41C00 80066800 00000000 */ nop
/* 41C04 80066804 42000002 */ tlbwi # handwritten instruction
/* 41C08 80066808 00000000 */ nop
/* 41C0C 8006680C 00000000 */ nop
/* 41C10 80066810 00000000 */ nop
/* 41C14 80066814 00000000 */ nop
/* 41C18 80066818 40885000 */ mtc0 $t0, $10 # handwritten instruction
/* 41C1C 8006681C 03E00008 */ jr $ra
/* 41C20 80066820 00000000 */ nop
/* 41C24 80066824 00000000 */ nop
/* 41C28 80066828 00000000 */ nop
/* 41C2C 8006682C 00000000 */ nop