Processador 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 Código 4 3 Não utilizados endereço direto 0
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 2 O comando LDA atribui ao acumulador o