make this asm file a lot easier to read (not documented though)

This commit is contained in:
someone2639
2021-10-02 09:12:47 -04:00
committed by thecozies
parent 5f744d94ad
commit f4ffcc3ea1

View File

@@ -1,6 +1,4 @@
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64
.include "macros.inc"
@@ -8,39 +6,43 @@
.section .text, "ax"
.global mtxf_to_mtx_asm
.balign 32
# glabel mtxf_to_mtx_asm
.globl mtxf_to_mtx_asm
mtxf_to_mtx_asm:
addiu $v0, $zero, 0x0001
lui $t2, 0x4780
mtc1 $t2, $f4
loop:
lwc1 $f0, 0x0000($a1)
andi $t0, $v0, 0x0002
mul.s $f0, $f0, $f4
lwc1 $f2, 0x0004($a1)
li $v0, 1
li.s $f4, 65536.0
1:
lwc1 $f0, ($a1)
andi $t0, $v0, (1 << 1)
mul.s $f0, $f4
lwc1 $f2, 0x04($a1)
trunc.w.s $f0, $f0
mfc1 $t3, $f0
addiu $a1, $a1, 0x0008
addiu $a1, 8
sra $t4, $t3, 16
sh $t4, 0x0000($a0)
sh $t3, 0x0020($a0)
bne $t0, $zero, storezero
addiu $v0, $v0, 0x0002
mul.s $f2, $f2, $f4
addiu $t1, $zero, 1
sh $t4, 0x00($a0)
sh $t3, 0x20($a0)
addiu $v0, 2
bnez $t0, storezero
mul.s $f2, $f4
trunc.w.s $f2, $f2
mfc1 $t3, $f2
addiu $v1, $zero, 0x0011
sra $t4, $t3, 16
sh $t4, 0x0002($a0)
sh $t3, 0x0022($a0)
sh $t4, 0x02($a0)
sh $t3, 0x22($a0)
loopend:
bne $v0, $v1, loop
addiu $a0, $a0, 0x0004
.set noreorder
bnel $v0, 0x11, 1b
addiu $a0, 4
.set reorder
li $t1, 1
sh $t1, 0x02($a0)
jr $ra
sh $t1, -2 ($a0)
storezero:
sh $zero, 0x0002($a0)
sh $zero, 0x02($a0)
sh $zero, 0x22($a0)
j loopend
sh $zero, 0x0022($a0)