Neander
O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber
(UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui para incluir algumas instruções para carga de dados imediatos no acumulador e operações de entrada e saída de dados para dois dispositivos mapeados em nosso simulador: um teclado e um visor.
Algumas características do processador Neander são:
Largura de dados e endereços de 8 bits
Dados representados em complemento a dois
1 acumulador de 8 bits (AC)
1 apontador de instruções de 8 bits (PC)
1 registrador de código de condição com 2 bits: negativo (N) e zero (Z)
O NEANDER só possui um modo de endereçamento: o modo direto (muitas vezes também chamado de absoluto). No modo de endereçamento direto (Figura 4.1), a palavra que segue o código da instrução contém, nas instruções de manipulação de dados, o endereço de memória do operando. Nas instruções de desvio, esse endereço corresponde à posição de memória onde está a próxima instrução a ser executada.
O NEANDERWIN foi estendido para ter mais dois modos de endereçamento: imediato e indireto. Maiores detalhes serão mostrados mais adiante.
1) Listagem geral das instruções
As instruções podem ter um ou dois bytes. Nas instruções com apenas um byte, os 4 bits mais significativos contém o código da operação. Nas instruções com dois bytes, que no
Neander são aquelas que fazem referência a um operando na memória, o segundo byte contém o endereço de memória deste operando.
7
4 3
Código
0
Não utilizados
endereço direto
Nota:
Os 4 bits de mais baixa ordem do primeiro byte são reservados para futuras expansões.
Existem também dois códigos que não têm instruções associadas.
'NOP' código 0
O comando NOP é usado apenas para gastar tempo.
'STA ender' código 1
O comando STA guarda o acumulador na posição de memória indicada pelo operando ender.
1
'LDA ender' código