Processador neander

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2437 palavras )
  • Download(s) : 0
  • Publicado : 27 de maio de 2012
Ler documento completo
Amostra do texto
NEANDERWIN
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 modode 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ãomostrados 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 0Nota: 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 oconteúdo da posição de memória indicada pelo operando ender. 'ADD ender' código 3 O comando ADD soma ao acumulador o conteúdo de uma posição de memória indicada pelo operando ender. 'OR ender' código 4 O comando OR realiza um "ou" lógico entre o acumulador e o conteúdo de uma posição de memória indicada pelo operando ender. 'AND ender' código 5 O comando AND realiza um "e" lógico entre o acumulador eo conteúdo de uma posição de memória indicada pelo operando ender. 'NOT' código 6 O comando NOT inverte os bits do acumulador. 'JMP ender' código 8 O comando JMP (jump) desvia a execução do programa para o endereço indicado pelo operando ender. 'JN ender' código 9 O comando JN (jump if negative) desvia a execução do programa para o endereço indicado pelo operando ender, apenas quando a últimaoperação realizada produziu um valor com o bit 7 ligado (negativo). 'JZ ender' código 10 O comando JZ (jump if zero) desvia a execução do programa para o endereço indicado pelo operando ender, apenas quando a última operação realizada produziu um valor zero. 'JNZ ender' código 11 O comando JNZ (jump if not zero) desvia a execução do programa para o endereço indicado pelo operando ender, apenas quandoa última operação realizada produziu um valor diferente de zero. 'IN ender' código 12 O comando IN (input) traz para o acumulador o valor lido num dispositivo externo indicado pelo operando ender. No Neanderwin os dispositivos são: chaves (endereço 0) e o status de "dado disponível" das chaves (endereço 1). 'OUT ender' código 13 O comando OUT (output) descarrega o conteúdo do acumulador em umdispositivo externo indicado pelo operando ender. No Neanderwin o único dispositivo disponível é um visor (endereço 0). 'LDI imed' código 14

2

O comando LDI (load immediate) carrega no acumulador o valor dado pelo operando imed. 'HLT' código 15 O comando HLT (halt) para a máquina. Modos de Endereçamento: - imediato O segundo byte da instrução é o operando. A única instrução que usa este modo...
tracking img