mirror of https://github.com/pmret/papermario.git
39 lines
921 B
ArmAsm
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
|