|

Setun Simulador do Computador Ternário

Sobre o Setun

"Setun VS" é um simulador do Setun MCVM, um computador ternário soviético. Os principais elementos são RAM, registradores, painel de controle e dispositivos periféricos de entrada (FT-1, FT-2) e saída (EUM-46).

Componentes Principais

Registradores: Exibem o estado interno da máquina.

  • S (Resultado): Registrador de 18 trits para resultados de operações.
  • R (Multiplicador): Registrador de 18 trits usado em operações de multiplicação.
  • F (Modificação): Registrador de modificação de 5 trits.
  • C (Endereço de Comando): Registrador de endereço de comando de 5 trits.
  • K (Comando): Registrador de comando de 9 trits que armazena a instrução atual.
  • ω (w): Determina a transferência de controle em desvios condicionais.
  • МБ (MB): Endereço da última zona do tambor magnético acessada.

Interruptores (Entrada de Comando, Endereço de Parada): Permitem a entrada manual de comandos e endereços. Clique para alternar entre os estados (+1, 0, -1).

Botões de Controle:

  • Carregar: Carrega dados da fita perfurada do dispositivo FT-1 para a RAM.
  • Iniciar: Inicia a execução do programa.
  • Parar: Encerra a execução do programa (não implementado).
  • Comando Remoto: Executa o comando inserido manualmente nos interruptores.

Dispositivos de E/S:

  • FT-1 / FT-2: Simulam leitores de fita perfurada para carregar programas e dados.
  • Impressora EUM-46: Exibe a saída do programa (parcialmente implementada).
Conjunto de Instruções
Código (Ternário) Código (Nove) Nome da Operação Descrição
+0030Enviar para S(A*) => (S)
+0+33Adição a S(S)+(A*) => (S)
+0-3xSubtração a S(S)-(A*) => (S)
++040Multiplicação 0(S)=>(R); (A*)(R)=>(S)
+++43Multiplicação +(S)+(A*)(R)=>(S)
++-4xMultiplicação -(A*)+(S)(R)=>(S)
+-020Multiplicação bit a bit(A*)[x](S)=>(S)
+-+23Enviar para R(A*)=>(R)
+--2xPararParar; (A*)=>(R)
0+010Salto condicional 0A*=>(C) quando w=0
0++13Salto condicional +A*=>(C) quando w=+
0+-1xSalto condicional -A*=>(C) quando w=-
00000Salto incondicionalA*=>(C)
-00x0Saída-entradaEntrada para Fa*. Saída de Fa*
-++y3Escrever de S(S)=>(A*)
---zhxParar (Não utilizado)Para a execução

Nota: Este é um subconjunto simplificado para demonstração. A máquina Setun original tinha um conjunto de instruções mais completo.

Como Usar
  1. Carregar Programa: Insira o programa no campo FT-1 e clique em "Carregar Programa".
  2. Exemplo de Programa: Para carregar o número 10 e depois adicionar -4, resultando em 6.
    // Carrega 10 (...+0+) no Somador S
    +00 000000000000000+0+
    // Adiciona -4 (...0-+) ao Somador S
    +0+ 0000000000000000-+
    // Para o programa
    --- 000000000000000000
    
  3. Carregar para a RAM: Clique no botão 'Carregar'. Isso transfere os dados da fita para a memória.
  4. Executar: Clique no botão 'Iniciar' para começar a execução.
  5. Observar: As luzes do registrador 'S' mostrarão o valor 6 (...+--).
Como Ler os Resultados