TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Processador Nearnder

Pesquisas Acadêmicas: Processador Nearnder. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  22/11/2014  •  1.797 Palavras (8 Páginas)  •  327 Visualizações

Página 1 de 8

ATIVIDADE ESTRUTURADA PROCESSADOR NEANDER

O simulador neander x são ferramentas que simulam maquinas hipotéticas com fins didáticos utilizados por varias universidades no brasil.

Características do simulador neander possui largura de dados e endereços de 8 bits, 1 acumulador de 8 bits (AC), 1 apontador de programas de 8 bits (PC) e 1 registrador de estado com 2 codigos de condição um negativo (N) e zero (Z), o numero de intrusções no NEANDER X é pequeno com apenas 16, o tamanho maximo da memória endereçável possui 256 posições (endereços) x 8 bits e o formato de uma intrução é de 1 ou 2 byts.

Instruções do Neander

Código Instrução Comentário

0000 NOP nenhuma operação

0001 STA end armazena acumulador - (store)

0010 LDA end carrega acumulador - (load)

0011 ADD end soma

0100 OR end “ou” lógico

0101 AND end “e” lógico

0110 NOT inverte (complementa) acumulador

1000 JMP end desvio incondicional - (jump)

1001 JN end desvio condicional - (jump on negative)

1010 JZ end desvio condicional - (jump on zero)

1111 HLT término de execução - (halt)

Programa Exemplo

Somar (totalizar) n posições consecutivas de memória, a partir do

endereço inicial e. (Sem consistência sobre os valores de n e e).

Em alto nível, o programa seria:

total:=0

ponteiro := e

contador := n

laço: if contador = 0, termina

total := total + mem(ponteiro)

ponteiro := ponteiro + 1

contador := contador – 1

goto laço

Endereço Instrução

0 LDA 132 ; inicializa (zera) o total

2 STA 130

4 LDA 129 ; inicializa ponteiro

6 STA ponteiro

8 LDA 128 ; inicializa contador

10 STA 131

12 JZ 34 ; testa se contador é zero

14 LDA 130 ; carrega total no acumulador

16 ADD mem(ponteiro) ; soma com posição de memória

18 STA 130 ; atualiza total

20 LDA ponteiro ; incrementa ponteiro

22 ADD 134

24 STA ponteiro

26 LDA 131 ; decrementa contador

28 ADD 133

30 STA 131

32 JMP 12 ; retorna ao início do laço

34 HLT

128 n número de posições

129 e endereço inicial

130 tot total

131 cont contador

132 0 constante zero

133 255 constante -1

134 1 constante 1

Endereço Instrução

0 LDA 132 ; inicializa (zera) o total

2 STA 130

4 LDA 129 ; inicializa ponteiro

6 STA 17

8 LDA 128 ; inicializa contador

10 STA 131

12 JZ 34 ; testa se contador é zero

14 LDA 130 ; carrega total no acumulador

16 ADD 17 ; soma com posição de memória

18 STA 130 ; atualiza total

20 LDA 17 ; incrementa ponteiro

22 ADD 134

24 STA 17

26 LDA 131 ; decrementa contador

28 ADD 133

30 STA 131

32 JMP 12 ; retorna ao início do laço

34 HLT

128 n número de posições

129 e endereço inicial

130 tot total

131 cont contador

132 0 constante zero

133 255 constante -1

134 1 constante 1

Ramses - características

• quatro modos de endereçamento,

• dois registradores de uso geral,

• um registrador de índice,

• indicadores de carry, negativo e zero,

• instruções adicionais (chamada de subrotina,

negação e deslocamento de bits, etc ...).

Instruções do Ramses

Código Instrução Operação Executada

0000 NOP nenhuma operação

0001 STR r end armazena registrador na memória - (store)

0010 LDR r end carrega registrador da memória - (load)

0011 ADD r end adição - soma memória ao registrador

0100 OR r end "ou" (adição lógica) - resultado

...

Baixar como (para membros premium)  txt (9.7 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com