Processador Nearnder
Pesquisas Acadêmicas: Processador Nearnder. Pesquise 862.000+ trabalhos acadêmicosPor: Lindem • 22/11/2014 • 1.797 Palavras (8 Páginas) • 327 Visualizações
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
...