Como Usar o Simulador
Este simulador demonstra o funcionamento básico de um computador com seus principais componentes.
Componentes do Computador
CPU (Processador)
Função: É o "cérebro" do computador. Busca instruções na memória, interpreta e executa operações lógicas, aritméticas e de controle.
Principais componentes:
- A e B: Registradores de uso geral, usados para cálculos e manipulação de dados.
- PC (Program Counter): Registrador que aponta para o endereço da próxima instrução a ser executada, controlando o fluxo do programa.
- Flag Z: Indicador de condição (zero/igualdade). No uso da instrução
CMP recebe valor 1 quando o registrador A é igual ao B; caso contrário, 0. É usado para decisões em instruções condicionais (ex.: JEQ, JNE).
RAM (Memória)
Função: Guardar temporariamente instruções e dados que o CPU está usando no momento.
Características: É volátil (perde os dados ao desligar o computador), tem acesso rápido e capacidade limitada em comparação ao HD. Serve como "área de trabalho" do processador.
Armazenamento (HD)
Função: Guardar programas e dados de forma permanente, mesmo quando o computador está desligado.
Características: É não volátil, possui alta capacidade de armazenamento, mas tem acesso mais lento que a RAM. Serve como "biblioteca" de programas e arquivos que podem ser carregados para a RAM quando necessário.
Periféricos
Função: Dispositivos de entrada e saída.
- Teclado: Entrada de dados
- Mouse: Entrada de comandos
- Monitor: Saída de resultados
- Alto-falante: Saída de áudio
Controles
- Iniciar: Executa o programa automaticamente
- Passo a Passo: Executa uma instrução por vez
- Reiniciar: Volta ao estado inicial
- Velocidade: Alterna entre execução lenta e rápida
- Limpar Logs: Limpa o histórico de atividades
- Editar Programa: Permite criar programas personalizados
Conjunto de Instruções
Instruções Aritméticas
LOAD A, 5 - Carrega o valor 5 no registrador A
ADD A, B - Soma A + B e armazena em A
SUB A, B - Subtrai B de A e armazena em A
MUL A, B - Multiplica A × B e armazena em A
DIV A, B - Divide A por B e armazena em A
Instruções de Memória
STORE A, 10 - Armazena valor de A no endereço 10 da memória
LOAD B, 15 - Carrega valor 15 no registrador B
Instruções de Controle de Fluxo
JMP 4 - Salta para a instrução no endereço 5
CMP A, B - Compara A com B e define a flag Z
JEQ 8 - Salta para endereço 8 se Z=1 (A igual a B)
JNE 8 - Salta para endereço 8 se Z=0 (A diferente de B)
HALT - Para a execução do programa
Instruções de E/S (Entrada/Saída)
INPUT KB - Lê entrada do teclado para o registrador A
INPUT RAT - Lê entrada do mouse para o registrador A
OUTPUT MON - Exibe valor de A no monitor
OUTPUT SPK - Toca áudio no alto-falante
Exemplo de Programa
LOAD A, 5
LOAD B, 3
ADD A, B
STORE A, 10
OUTPUT MON
HALT
Resultado: Calcula 5 + 3 = 8 e exibe no monitor.
Dicas
- Use "Passo a Passo" para entender cada instrução
- Observe como os registradores e memória mudam
- Experimente criar programas no editor