Você está na página 1de 1

Representação das instruções

Como já sabemos, quando traduzimos as instruções da linguagem de montagem


assembly, todos eles viram zeros e uns. No entanto, ao contrário do que uma
pessoa leiga possa pensar, a sequência binária não é aleatória, pelo contrário
segue uma formatação muito bem estabelecida, possuindo um comprimento de campos
bem definidos dentro de uma word.

Isto acontece por causa dos tipos de formatação das instruções na linguagem de
máquina. Neste artigo vamos nos depruçar mais sobre os tipos R e I.

formatação R

Este tipo de formatação abrange uma grande gama de op-codes, como as operações :
add, sub, sll, srl, etc. Obseve o exemplo da operação add $t0, $s0, $s1 para
conseguir comprender a formatação des tipo de dotmatação e a quantidade de bits
que cada campo abrange

Op-code rs rt rd shamft funct


6 bits 5 bits 5 bits 5 bits 5 bits 6 bits
000000 $s1 $s0 $t0 000000 100000

Observe que uma única instrução no assembly MIPS leva 32 bits, exatamente o
tamanho de uma word e que a ordem dos registradores estão trocados. De
princípio, parece que a equipe que projetou o MIPS se embananaram nessa parte e
tiveram preguiça de corrigir na versão final da linguagem de montagem, mas isso
faz todo o sentido, pois primeiro é necessário buscar os dois endereços bases e
depois procurar pelo endereço de destino para podermos armazenar o resultado da
operação nele.

Caso você tenha dificuldade de memorizar esta nova ordem que, de fato, é
bastante contra-intuitiva, basta lembrar do versículo 20:16 do evangelho de
Mateus : “Portanto, os últimos serão os primeiros […]”

Formatação I

Até o terne momento, talvez você esteja um pouco confuso do porquê usarmos
formatações diferentes para operações diferntes. Por isso, a explicação I vai
tirar todas as suas dúvidas.

Este tipo de informação serve para representar as operações imediatas, ou seja,


as operações que tratam de constantes, como o addi, subi, lw, sw, etc. Observe o
exemplo da operação lw $t0, 32($s0).

Op-code rs rd Constante ou endereço


6 bits 5 bits 5 bits 16 bits
35 $s0 $t0 32

Note que Mateus 20:16 também serve para este tipo de formatação.

Você também pode gostar