papermario/ver/ique/asm/os/bzero.s
AltoXorg b171712e0e
Match libultra iQue ver (#1111)
* 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
2023-08-17 02:29:21 +09:00

60 lines
2.6 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 bzero
/* 3DF30 80062B30 00041823 */ negu $v1, $a0
/* 3DF34 80062B34 28A1000C */ slti $at, $a1, 0xC
/* 3DF38 80062B38 1420001D */ bnez $at, .LIQUE_80062BB0
/* 3DF3C 80062B3C 00000000 */ nop
/* 3DF40 80062B40 30630003 */ andi $v1, $v1, 0x3
/* 3DF44 80062B44 10600003 */ beqz $v1, .LIQUE_80062B54
/* 3DF48 80062B48 00A32823 */ subu $a1, $a1, $v1
/* 3DF4C 80062B4C A8800000 */ swl $zero, 0x0($a0)
/* 3DF50 80062B50 00832021 */ addu $a0, $a0, $v1
.LIQUE_80062B54:
/* 3DF54 80062B54 2401FFE0 */ addiu $at, $zero, -0x20
/* 3DF58 80062B58 00A13824 */ and $a3, $a1, $at
/* 3DF5C 80062B5C 10E0000C */ beqz $a3, .LIQUE_80062B90
/* 3DF60 80062B60 00A72823 */ subu $a1, $a1, $a3
/* 3DF64 80062B64 00E43821 */ addu $a3, $a3, $a0
.LIQUE_80062B68:
/* 3DF68 80062B68 AC800000 */ sw $zero, 0x0($a0)
/* 3DF6C 80062B6C AC800004 */ sw $zero, 0x4($a0)
/* 3DF70 80062B70 AC800008 */ sw $zero, 0x8($a0)
/* 3DF74 80062B74 AC80000C */ sw $zero, 0xC($a0)
/* 3DF78 80062B78 24840020 */ addiu $a0, $a0, 0x20
/* 3DF7C 80062B7C AC80FFF0 */ sw $zero, -0x10($a0)
/* 3DF80 80062B80 AC80FFF4 */ sw $zero, -0xC($a0)
/* 3DF84 80062B84 AC80FFF8 */ sw $zero, -0x8($a0)
/* 3DF88 80062B88 1487FFF7 */ bne $a0, $a3, .LIQUE_80062B68
/* 3DF8C 80062B8C AC80FFFC */ sw $zero, -0x4($a0)
.LIQUE_80062B90:
/* 3DF90 80062B90 2401FFFC */ addiu $at, $zero, -0x4
/* 3DF94 80062B94 00A13824 */ and $a3, $a1, $at
/* 3DF98 80062B98 10E00005 */ beqz $a3, .LIQUE_80062BB0
/* 3DF9C 80062B9C 00A72823 */ subu $a1, $a1, $a3
/* 3DFA0 80062BA0 00E43821 */ addu $a3, $a3, $a0
.LIQUE_80062BA4:
/* 3DFA4 80062BA4 24840004 */ addiu $a0, $a0, 0x4
/* 3DFA8 80062BA8 1487FFFE */ bne $a0, $a3, .LIQUE_80062BA4
/* 3DFAC 80062BAC AC80FFFC */ sw $zero, -0x4($a0)
.LIQUE_80062BB0:
/* 3DFB0 80062BB0 18A00005 */ blez $a1, .LIQUE_80062BC8
/* 3DFB4 80062BB4 00000000 */ nop
/* 3DFB8 80062BB8 00A42821 */ addu $a1, $a1, $a0
.LIQUE_80062BBC:
/* 3DFBC 80062BBC 24840001 */ addiu $a0, $a0, 0x1
/* 3DFC0 80062BC0 1485FFFE */ bne $a0, $a1, .LIQUE_80062BBC
/* 3DFC4 80062BC4 A080FFFF */ sb $zero, -0x1($a0)
.LIQUE_80062BC8:
/* 3DFC8 80062BC8 03E00008 */ jr $ra
/* 3DFCC 80062BCC 00000000 */ nop