요즘 컴퓨터 구조배우고 있는데 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값만 나와서 ㅜㅜ 개빠가라 그런데 좀 도와줘!!
댓글 0