• Matéria: Informática
  • Autor: renatalazzarin
  • Perguntado 3 anos atrás

Qual é o código MIPS que implementa o seguinte código em linguagem de Alto Nível:

int s = 0;

for (int i = 1; i < 100; i++)

{

s = s + i;

printf(“A soma acumulada é igual a: %d”, s);

}

Respostas

respondido por: alandre6721
1

Ficaria assim:

$LC0:

       .ascii  "A soma acumulada \303\251 igual a: %d\000"

main:

       addiu   $sp,$sp,-40

       sw      $31,36($sp)

       sw      $fp,32($sp)

       move    $fp,$sp

       sw      $0,24($fp)

       li      $2,1                        # 0x1

       sw      $2,28($fp)

       b       $L2

       nop

$L3:

       lw      $3,24($fp)

       lw      $2,28($fp)

       nop

       addu    $2,$3,$2

       sw      $2,24($fp)

       lw      $5,24($fp)

       lui     $2,%hi($LC0)

       addiu   $4,$2,%lo($LC0)

       jal     printf

       nop

       lw      $2,28($fp)

       nop

       addiu   $2,$2,1

       sw      $2,28($fp)

$L2:

       lw      $2,28($fp)

       nop

       slt     $2,$2,100

       bne     $2,$0,$L3

       nop

       move    $2,$0

       move    $sp,$fp

       lw      $31,36($sp)

       lw      $fp,32($sp)

       addiu   $sp,$sp,40

       j       $31

       nop


renatalazzarin: Obrigada, tem outra pergunta desse tipo se puder me ajudar, eu não consegui entender essa matéria.
alandre6721: Claro! Posso lhe ajudar sim :)
renatalazzarin: Eu preciso dessa
renatalazzarin: Qual é o código MIPS que implementa o seguinte código em linguagem de Alto Nível:

if (A[0] == A[2])

A[3] = A[1] + 1;

else

A[3] = A[2] - 1;



Suponha que o endereço-base do array A corresponde ao registrador $s0.
renatalazzarin: consegue me ajudar nessa pergunta?!
Perguntas similares