Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Linguagem de Máquina
Observe o detalhe de que todos as instruções têm 15 bits, os quais estão
subdivididos numa parte para a instrução (os bits iniciais) e nas outras (se
existem) para os endereços IIII, JJJJ e KKKK (com 4 bits), que são os
operandos da instrução.
E0 E1 E2 E3
E4 E5 E6 E7
? ? ? 1
0 0 ? ?
O primeiro ponto importante a ser notado é que, para este computador
simplificado, a posição 'i' do endereço de memória Ei tem 4 bits (o mesmo
pode ser dito de Ej e Ek). Observe que os endereços (operandos da instrução)
estão especificados como IIII, JJJJ ou KKKK, isto é, quatro posições,
significando 4 bits. Como conseqüência, este computador consegue endereçar
somente 16 posições de memória. Mas porque isso? Por causa da forma como
os números são codificados no sistema binário.
Exemplos:
A técnica para converter o código decimal para o binário é a seguinte:
faz-se divisões sucessivas do número por 2, até quando não for mais possível
dividir, anotando-se o resto de cada divisão. Quando as divisões terminam,
escrevemos os restos (sempre 0 ou 1), de trás para diante.
Seja, por exemplo, o número 457 expresso na base decimal, qual o código
binário correspondente ao 457?
457 |__2
1 228
|__2
0 114 |__2
0 57 |__2
1 28 |__2
0 14 |__2
0 7 |__2
1 3 |__2
1 1 |__2
1 0
1*20 + 0*21 + 0*22 + 1*23 + 0*24 + 0*25 + 1*26 + 1*27 +
1*28
= 1 + 0 + 0 + 8 + 0 + 0 + 64 +
128 + 256
= 457
Exercícios:
Enfim, o aluno deve observar que a instrução yyy (3 bits) das operações
aritméticas são diferentes para cada uma delas (adição, subtração, etc). Como
utilizamos a soma no programa acima, o código binário utilizado foi 000 (os
outros bits são para os seus 3 operandos, Ei, Ej e Ek). Do mesmo modo, como
utilizamos a operação condicional 'SE Ei = Ej Ek', o código binário usado foi
101. Confira estes códigos antes de ver a solução do problema.
Endereço Código da Instrução
Mnemônico da Instrução
Podemos agora já ter uma idéia bem clara do quão difícil foi programar no
tempo dos primeiros computadores, que funcionavam apenas com linguagem
de máquina. Os programadores mexiam diretamente nos bits, sem teclado e
sem monitor de vídeo!
Exercícios:
Resolução do 1o exercício:
Resolução do 3o exercício:
Como não há instruções para serem divididas entre os 15 bits de cada célula
da memória (o nosso escaninho), então todos os quinze bits podem ser usados
para codificar a constante armazenada.
Resolução do 4o exercício:
Como os 15 bits são usados para armazenar um valor numérico, eles podem
representar 215 valores diferentes. Porém, como um desses valores é o número
0, então o valor máximo seria 215-1 = 32767.