papermario/ver/us/asm/shiftable/msg/dma_load_msg.s

39 lines
921 B
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel dma_load_msg
addiu $sp,$sp,-40
sw $s0,24($sp)
move $s0,$a0
sw $s2,32($sp)
move $s2,$a1
sw $s1,28($sp)
lui $s1,%hi(msg_ROM_START)
addiu $s1,$s1,%lo(msg_ROM_START)
srl $v0,$s0,0xe
addu $a0,$v0,$s1
addiu $a1,$a0,4
sw $ra,36($sp)
jal dma_copy
addiu $a2,$sp,16
addiu $a2,$sp,16
andi $s0,$s0,0xffff
sll $s0,$s0,0x2
lw $v0,16($sp)
addu $s0,$s0,$s1
addu $a0,$v0,$s0
jal dma_copy
addiu $a1,$a0,8
move $a2,$s2
lw $a0,16($sp)
lw $a1,20($sp)
addu $a0,$a0,$s1
jal dma_copy
addu $a1,$a1,$s1
lw $ra,36($sp)
lw $s2,32($sp)
lw $s1,28($sp)
lw $s0,24($sp)
jr $ra
addiu $sp,$sp,40