Gabarito da P1
1a questão
(a)
instrucao registradores alterados:
li $t1,1024 $t1: 0000 0400
sub $t2,$0,$t1 $t2: ffff fc00
addi $t1,$t1,-10 $t1: 0000 03f6
add $t3,$t1,$t2 $t3: ffff fff6
li $t1,-9 $t1: ffff fff7
bge $t3,$t1,L1 ----
li $t3,0 $t3: 0000 0000
b L2 ----
move $v0,$t3 $v0: 0000 0000
(b)
instrucao registradores alterados:
li $s1,-10 $s1: ffff fff6
jal L1 $ra: 0000 4008
sub $sp,$sp,4 $sp: 7fff eff8
sw $s1,($sp) ----
li $s1,40 $s1: 0000 0028
add $v0,$s1,$s1 $v0: 0000 0050
lw $s1,($sp) $s1: ffff fff6
add $sp,$sp,4 $sp: 7fff effc
jr $ra ----
add $s1,$s1,$v0 $s1: 0000 0046
(c)
instrucao registradores alterados:
li $v0,0 $v0: 0000 0000
la $t0,D1 $t0: 1004 0c00
lb $t1,($t0) $t1: 0000 0066
beqz $t1,FIM ----
add $v0,$v0,$t1 $v0: 0000 0066
addi $t0,$t0,1 $t0: 1004 0c01
b L1 ----
lb $t1,($t0) $t1: 0000 0061
beqz $t1,FIM ----
add $v0,$v0,$t1 $v0: 0000 00c7
addi $t0,$t0,1 $t0: 1004 0c02
b L1 ----
lb $t1,($t0) $t1: 0000 0000
beqz $t1,FIM ----
li $v1,0 $v1: 0000 0000
2a questão
# (a)
conta: li $v0, 0 # contador
loop: lbu $t0, ($a0) # le char
beqz $t0, fim
blt $t0, 48, nc
bgt $t0, 57, nc
addi $v0, $v0, 1
nc: addi $a0, $a0, 1
j loop
fim: jr $ra
# (b)
dobra: li $t0, 0 # contador
loop: bge $t0, $a1, fim
add $t1, $t0, $t0
sw $t1, ($a0)
addi $t0, $t0, 1
addi $a0, $a0, 4
j loop
fim: jr $ra