요즘 컴퓨터 구조배우고 있는데 leaf procedure에 관해서 질문하려고하는데

{

int f;

f=(g+h) - (i+j);

return f;

}


저걸 mips 로 나타내면


.data



.text

main:

addi $sp,$sp,-12

sw $t1,8($sp)

sw $t0,4($sp)

sw $s0,0($sp)


add $t0,$a0,$a1

add $t1,$a2,$a3

sub $s0,$t0,$t1


add $v0,$s0,$zero

lw $s0,0($sp)

lw $t0,4($sp)

lw $t1,8($sp)

add $sp,$sp,12



print:


li $v0, 1

syscall


li $v0, 10

syscall



이렇게 된다고 책에 있는데 저기에 g h i j에 값을 넣어서 계산된 결과를 출력하려고하면 어떻게해야돼?? 


.data



.text

main:

li $a0,3

li $a1,10

li $a2,15

li $a3,15


addi $sp,$sp,-12

sw $t1,8($sp)

sw $t0,4($sp)

sw $s0,0($sp)


add $t0,$a0,$a1

add $t1,$a2,$a3

sub $s0,$t0,$t1


add $v0,$s0,$zero

lw $s0,0($sp)

lw $t0,4($sp)

lw $t1,8($sp)

add $sp,$sp,12



print:


li $v0, 1

syscall


li $v0, 10

syscall


이렇게 해봤는데 a0값만 나와서 ㅜㅜ 개빠가라 그런데 좀 도와줘!!