1.CARACTERÍSTICAS GERAIS

A máquina 2002 emprega um barramento principal ao qual estão conectados um processador uma memória e um dispositivo de entrada e saída. Esse barramento principal é formado por 8 linhas de dados e 16 linhas de endereço. Consequentemente, essa máquina pode endereçar até 64 kilobytes de memória. A quantidade de memória efetivamente disponível é igual a este máximo endereçável, sendo que os primeiros 8 kilobytes (endereços de 0000 a 0FFF) são reservados para uma memória de leitura apenas ("ROM") enquanto que o resto do espaço de endereçamento (endereços de 1000 a FFFF) é ocupado por memória "normal" ("RAM"). O único dispositivo de entrada e saída é um terminal do tipo "Teletipo", que emprega o código ASCII.

A máquina 2002 é simulada por um programa que pode ser executado em qualquer computador da família IBM PC que disponha de um processador "286" ou superior, pelo menos meio MegaByte de memória, um monitor do tipo "CGA" ou superior e que esteja executando qualquer uma das versões do "DOS" ou "Windows". Esse programa ocupa apenas 8kilobytes de espaço em disco e pode ser obtido aqui. No caso do uso do "Windows", o programa simulador da Máquina 2002 será executado em uma "janela DOS". Nesse caso, a inteface com o usuário será melhor visualizada caso seja utilizada a opção "tela cheia", embora seja perfeitamente possível empregar uma janela normal.

O dispositivo de entrada e saída utilizado na máquina 2002 é simulado através do teclado e das 16 linhas da parte inferior da tela do monitor (ou da janela "DOS") do computador hospedeiro. As nove linhas da parte superior da tela (ou da janela "DOS") são utilizadas para simular um painel que faz parte do processador da máquina 2002.

O processador ultilizado na máquina 2002 emprega:

Além dos registradores já citados existem ainda mais alguns registradores associados à unidade de controle (registrador de instrução e registrador de estado da UC) e à unidade lógica e aritmética (registrador de entrada da ULA e registrdor de saída da ULA).

O processador da máquina 2002 possui apenas um barramento interno, que é formado por 8 linhas. A unidade aritmética e lógica empregada também efetua operações sobre operandos de 8 bits, e produz resultados também de 8 bits.

Nas situações em que é necessário trabalhar com valores de 16 bits, os registradores de uso geral são empregados aos pares. Nessas situações os registradores "A" e "B" formarão o par denominado "AB" e os registradores "C" e "D" formarão o par denominado "CD".

No par denominado "AB", o registrador "A" armazena a parte alta (8 bits mais significativos) do endereço ou valor de 16 bits enquanto que o registrador "B" armazena a parte baixa (8 bits menos significativos) do endereço ou valor de 16 bits. No par denominado "CD", o registrador "C" armazena a parte alta do endereço ou valor de 16 bits enquanto que o registrador "D" armazena a parte baixa.

Algumas instruções ultilizam constantes imediatas de 16 bits, operandos de 16 bits lidos da memória ou armazenam resultados de 16 bits na memória. Esses valores de 16 bits são sempre armazenados em duas posições consecutivas na memória: Os 8 bits menos significativos do valor (parte baixa) na posição de memória especificada pelo endereço enquanto que os 8 bits mais significativos (parte alta) do valor são colocados na posição de memória imediatamente seguinte.

Desta forma, os valores de 16 bits vão sempre ficar armazenados com os 8 bits menos significativos (parte baixa) na posição de memória de menor endereço, sendo que esse menor endereço será o endereço empregado para referenciar o par de posições de memória utilizado para armazenar o valor de 16 bits.

O processador da máquina 2002 emprega três modos de endereçamento de dados que produzem cinco formas de endereçamento:

Nas instruções de desvio incondicional relativo (cujo mnemônico é "JR") e nas instruções de desvio condicional, o alvo do desvio é especificado de forma relativa, empregando um operando de 8 bits que pode ser um operando imediato ou, no caso dos desvios incondicionais relativos, um registrador de uso geral.

Quando o desvio especificado por uma dessas instruções vier a ser realizado, o valor do operando de 8 bits será primeiramente convertido para 16 bits de forma a preservar o sinal, ou seja, caso o valor desse operando de 8 bits seja negativo, os 8 bits mais significativos a serem acrescentados terão valor um enquanto que no caso do valor desse operando de 8 bits ser positivo, os 8 bits mais significativos acrescentados terão valor zero. O valor de 16 bits obtido através dessa conversão é adicionado ao valor assumido pelo registrador "IP" após a leitura do código da instrução e do eventual operando imediato dessa instrução.

Assim, os desvios relativos são sempre realizados convertendo o valor do operando de 8 bits para 16 bits de forma a preservar o sinal e adicionando o valor de 16 bits assim obtido ao valor que o registrador "IP" teria ao final da execução da instrução, caso o desvio não fosse efetuado.

O painel do processador da máquina 2002 apresenta os valores armazenados em cada um dos registradores do processador e permite também alterar esses valores bem como examinar e alterar o conteúdo de posições de memória. Nesse painel existem também lâmpadas e botões que permitem visualizar e controlar o estado do processador.