>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

Como converter binário para MIPS


Os dados binários são uma série de uns e zeros. Computadores lêem e escrevem em binário. Cada 1 ou 0 é um bit chamado. Oito bits equivalem a 1 byte. A cada byte da memória de um computador é atribuído um endereço único. Esse valor exclusivo também pode ser chamado de "ponteiro" para essa área da 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.

Etapa 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 registro 10 ao registro 11 e armazenar o resultado no registro 9. O "destino" é $t1, a "origem" é $ t2 e o "alvo" é $t3.

Etapa 2


Obtenha o binário para a codificação do "add". A codificação binária para que este add seja executado no 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.

Etapa 3


Usando essas informações, se você estiver fornecendo a string binária "0000 0010 0011 0010 1001 1000 0010 0000", poderá traduzi-la de volta para MIPS usando este mesmo método. Com base na codificação binária do método add no MIPS, você sabe que os primeiros seis valores são zero e os últimos 11 são "000 0010 0000".

Etapa 4


Comece com o sétimo dígito e conte cinco bits. Esse valor é o registro "origem", "10 001". A segunda seqüência de cinco bits é o valor do "destino" e os próximos cinco, o "destino". Se o registro 12 estivesse sendo 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" fazem referência a locais de memória de 8–15. O código "$t2" no MIPS está referenciando o local de memória de 10.