trabalho8
!
Estamos trabalhando com uma máquina que possui 16 registradores de propósito geral e
256 células na memória principal, cada qual com capacidade de oito bits. Para fins de referência, rotulamos os registradores com os valores de 0 a 15 e endereçamos as células com os valores de 0 a 255. Por conveniência, representamos esses rótulos e endereços com valores na base dois e comprimimos os padrões de bits usando a notação hexadecimal. Assim, os registradores são rotulados com 0 a F e as células de memória endereçadas com 0 a FF.!
!
Cada instrução de máquina tem dois bytes de comprimento. Os primeiros quatro bits constituem o código de operação (OPCODE); os últimos 12 bits compõem o campo de operando. A tabela seguinte contém a lista das instruções, em notação hexadecimal, juntamente com uma rápida descrição de cada uma. As letras R, S e T são usadas nesses campos no lugar de dígitos hexadecimais para identificar um registrador, que varia conforme cada aplicação especificada da instrução. As letras X e Y são usadas no lugar de dígitos hexadecimais nos campos variáveis que não representam um registrador.!
!
Código de Operando operação Descrição
1
RXY
LOAD (carrega) o registrador R com o padrão de bits encontrado na posição de memória de endereço XY.!
Exemplo: 14A3 carrega o conteúdo da posição de memória de endereço A3 no registro 4.
2
RXY
LOAD (carrega) o registrador R com o padrão de bits XY.!
Exemplo: 20A3 coloca o valor A3 no registrador 0.
3
RXY
STORE (armazena) o padrão de bits encontrado no registrador R na posição de memória de endereço XY.!
Exemplo: 35B1 armazena o conteúdo do registrador 5 na posição de memória de endereço B1.
4
0RS
MOVE (copia) o padrão de bits encontrado no registrador R para o registrador S.!
Exemplo: 40A4 copia o conteúdo do registrador A no registrador 4.
5
RST
ADD (soma) os padrões de bits dos registradores S e T, em
complemento