mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
b171712e0e
* match libultra ique pt 1 * add sgidefs.h to include/gcc * recvmesg match + _getcount * add elfpatch.py for those compiled with -mips3 * pt 2 * os/setthreadpri(.data) -> os/thread * os thread matches * os timer matches * pt 4 (erm... 3?) * vitbl * os pi matches * pt. uhmmmm, i've lost track... * os pfs matches * replace elfpatch.py * pt. just forget it... * outsource from ultralib ique branch * . * . 2 * final blow * add egcs compiler to Jenkinsfile * fix errors from CI * minor changes as requested
91 lines
4.1 KiB
ArmAsm
91 lines
4.1 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 */
|
|
|
|
glabel bcmp
|
|
/* 45B70 8006A770 00851026 */ xor $v0, $a0, $a1
|
|
/* 45B74 8006A774 28C10010 */ slti $at, $a2, 0x10
|
|
/* 45B78 8006A778 14200034 */ bnez $at, .LIQUE_8006A84C
|
|
/* 45B7C 8006A77C 00000000 */ nop
|
|
/* 45B80 8006A780 30420003 */ andi $v0, $v0, 0x3
|
|
/* 45B84 8006A784 14400018 */ bnez $v0, .LIQUE_8006A7E8
|
|
/* 45B88 8006A788 0004C023 */ negu $t8, $a0
|
|
/* 45B8C 8006A78C 33180003 */ andi $t8, $t8, 0x3
|
|
/* 45B90 8006A790 13000007 */ beqz $t8, .LIQUE_8006A7B0
|
|
/* 45B94 8006A794 00D83023 */ subu $a2, $a2, $t8
|
|
/* 45B98 8006A798 00601021 */ addu $v0, $v1, $zero
|
|
/* 45B9C 8006A79C 88820000 */ lwl $v0, 0x0($a0)
|
|
/* 45BA0 8006A7A0 88A30000 */ lwl $v1, 0x0($a1)
|
|
/* 45BA4 8006A7A4 00982021 */ addu $a0, $a0, $t8
|
|
/* 45BA8 8006A7A8 14430033 */ bne $v0, $v1, .LIQUE_8006A878
|
|
/* 45BAC 8006A7AC 00B82821 */ addu $a1, $a1, $t8
|
|
.LIQUE_8006A7B0:
|
|
/* 45BB0 8006A7B0 2401FFFC */ addiu $at, $zero, -0x4
|
|
/* 45BB4 8006A7B4 00C13824 */ and $a3, $a2, $at
|
|
/* 45BB8 8006A7B8 10E00024 */ beqz $a3, .LIQUE_8006A84C
|
|
/* 45BBC 8006A7BC 00C73023 */ subu $a2, $a2, $a3
|
|
/* 45BC0 8006A7C0 00E43821 */ addu $a3, $a3, $a0
|
|
.LIQUE_8006A7C4:
|
|
/* 45BC4 8006A7C4 8C820000 */ lw $v0, 0x0($a0)
|
|
/* 45BC8 8006A7C8 8CA30000 */ lw $v1, 0x0($a1)
|
|
/* 45BCC 8006A7CC 24840004 */ addiu $a0, $a0, 0x4
|
|
/* 45BD0 8006A7D0 14430029 */ bne $v0, $v1, .LIQUE_8006A878
|
|
/* 45BD4 8006A7D4 24A50004 */ addiu $a1, $a1, 0x4
|
|
/* 45BD8 8006A7D8 1487FFFA */ bne $a0, $a3, .LIQUE_8006A7C4
|
|
/* 45BDC 8006A7DC 00000000 */ nop
|
|
/* 45BE0 8006A7E0 1000001A */ b .LIQUE_8006A84C
|
|
/* 45BE4 8006A7E4 00000000 */ nop
|
|
.LIQUE_8006A7E8:
|
|
/* 45BE8 8006A7E8 00053823 */ negu $a3, $a1
|
|
/* 45BEC 8006A7EC 30E70003 */ andi $a3, $a3, 0x3
|
|
/* 45BF0 8006A7F0 10E00009 */ beqz $a3, .LIQUE_8006A818
|
|
/* 45BF4 8006A7F4 00C73023 */ subu $a2, $a2, $a3
|
|
/* 45BF8 8006A7F8 00E43821 */ addu $a3, $a3, $a0
|
|
.LIQUE_8006A7FC:
|
|
/* 45BFC 8006A7FC 90820000 */ lbu $v0, 0x0($a0)
|
|
/* 45C00 8006A800 90A30000 */ lbu $v1, 0x0($a1)
|
|
/* 45C04 8006A804 24840001 */ addiu $a0, $a0, 0x1
|
|
/* 45C08 8006A808 1443001B */ bne $v0, $v1, .LIQUE_8006A878
|
|
/* 45C0C 8006A80C 24A50001 */ addiu $a1, $a1, 0x1
|
|
/* 45C10 8006A810 1487FFFA */ bne $a0, $a3, .LIQUE_8006A7FC
|
|
/* 45C14 8006A814 00000000 */ nop
|
|
.LIQUE_8006A818:
|
|
/* 45C18 8006A818 2401FFFC */ addiu $at, $zero, -0x4
|
|
/* 45C1C 8006A81C 00C13824 */ and $a3, $a2, $at
|
|
/* 45C20 8006A820 10E0000A */ beqz $a3, .LIQUE_8006A84C
|
|
/* 45C24 8006A824 00C73023 */ subu $a2, $a2, $a3
|
|
/* 45C28 8006A828 00E43821 */ addu $a3, $a3, $a0
|
|
.LIQUE_8006A82C:
|
|
/* 45C2C 8006A82C 88820000 */ lwl $v0, 0x0($a0)
|
|
/* 45C30 8006A830 98820003 */ lwr $v0, 0x3($a0)
|
|
/* 45C34 8006A834 8CA30000 */ lw $v1, 0x0($a1)
|
|
/* 45C38 8006A838 24840004 */ addiu $a0, $a0, 0x4
|
|
/* 45C3C 8006A83C 1443000E */ bne $v0, $v1, .LIQUE_8006A878
|
|
/* 45C40 8006A840 24A50004 */ addiu $a1, $a1, 0x4
|
|
/* 45C44 8006A844 1487FFF9 */ bne $a0, $a3, .LIQUE_8006A82C
|
|
/* 45C48 8006A848 00000000 */ nop
|
|
.LIQUE_8006A84C:
|
|
/* 45C4C 8006A84C 18C00008 */ blez $a2, .LIQUE_8006A870
|
|
/* 45C50 8006A850 00C43821 */ addu $a3, $a2, $a0
|
|
.LIQUE_8006A854:
|
|
/* 45C54 8006A854 90820000 */ lbu $v0, 0x0($a0)
|
|
/* 45C58 8006A858 90A30000 */ lbu $v1, 0x0($a1)
|
|
/* 45C5C 8006A85C 24840001 */ addiu $a0, $a0, 0x1
|
|
/* 45C60 8006A860 14430005 */ bne $v0, $v1, .LIQUE_8006A878
|
|
/* 45C64 8006A864 24A50001 */ addiu $a1, $a1, 0x1
|
|
/* 45C68 8006A868 1487FFFA */ bne $a0, $a3, .LIQUE_8006A854
|
|
/* 45C6C 8006A86C 00000000 */ nop
|
|
.LIQUE_8006A870:
|
|
/* 45C70 8006A870 03E00008 */ jr $ra
|
|
/* 45C74 8006A874 00001021 */ addu $v0, $zero, $zero
|
|
.LIQUE_8006A878:
|
|
/* 45C78 8006A878 03E00008 */ jr $ra
|
|
/* 45C7C 8006A87C 24020001 */ addiu $v0, $zero, 0x1
|