>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Como Converter Binário para MIPS

Dados binários são uma série de uns e zeros. Computadores leem e escrevem em binário. Cada 1 ou 0 é chamado de bit. Oito bits equivalem a 1 byte. Cada byte da memória de um computador recebe um endereço único. Esse valor único também pode ser chamado de "ponteiro" para essa área de memória. MIPS Assembly é uma linguagem de programação que traduz as instruções no programa Assembly para binário para que o computador possa ler e executar os comandos. Você também pode traduzir dados binários para instruções ou código MIPS Assembly.

Passo 1

Determine qual ação seu programa MIPS executará. Por exemplo, "Add $t1, $t2, $t3" é o código MIPS para adicionar o conteúdo do registrador 10 ao registrador 11 e armazenar o resultado no registrador 9. O "destino" é $t1, a "origem" é $t2 e o "alvo" é $t3.

Passo 2

Obtenha o binário para a codificação do "add". A codificação binária para esta adição a ser realizada em MIPS é "0000 00ss ssst tttt dddd d000 0010 0000". Os ponteiros envolvidos na adição são $9, $10 e $11. Portanto, o binário para os cinco bits "s" seria para o registrador 9, representado em binário como "10001". Os cinco bits para "t" seriam para o registrador 10, representado em binário como "10010". E os bits "d" são representados como "10011" para 11.

Passo 3

Usando esta informação, se você der a string binária "0000 0010 0011 0010 1001 1000 0010 0000", você pode traduzi-la de volta para MIPS usando este mesmo método. Baseado na codificação binária do método add em MIPS, você sabe que os primeiros seis valores são zero e os últimos 11 são "000 0010 0000".

Passo 4

Comece com o sétimo dígito e conte cinco bits. Esse valor é o registrador "origem", "10 001". A segunda string de cinco bits é o valor do "alvo" e os próximos cinco, o "destino". Se o registrador 12 fosse referenciado como o "destino", a string binária ficaria assim: "0000 0010 0011 0010 1010 0000 0010 0000" onde "1010 0" é o valor para 12.

Dica

Os valores "$t0–$t7" referenciam locais de memória de 8–15. O código "$t2" em MIPS está referenciando o local de memória de 10.