Buscar

Revisão do Computador NEANDER

Prévia do material em texto

Revisão do Computador NEANDER
Características:
Largura de dados e endereços = 8 bits
Tamanho da memória = 256 bytes
Dados representados em complemento de 2
Isso tem efeito nos cálculos que envolvem a ULA
Registradores
Acumulador (AC)
Apontador de programa (PC)
Registrador de estado
Códigos de condição N e Z
Modos de endereçamento
Apenas um: modo direto
Formato das instruções
Formadas por 1 ou 2 bytes
código don't care
endereço direto
7 34 0
Instruções
Código Instrução Comentário Descrição
0000 NOP nenhuma operação nenhuma operação
0001 STA end MEM(end) ← AC armazena acumulador - (store)
0010 LDA end AC← MEM(end) carrega acumulador - (load)
0011 ADD end AC← MEM(end) + AC soma
0100 OR end AC← MEM(end) OR AC “ou” lógico
0101 AND end AC← MEM(end) AND AC “e” lógico
0110 NOT AC← NOT AC inverte (complementa) acumulador
1000 JMP end PC← end desvio incondicional - (jump)
1001 JN end IF N=1 THEN PC ← end desvio condicional - (jump on negative)
1010 JZ end IF Z=1 THEN PC ← end desvio condicional - (jump on zero)
1111 HLT término de execução - (halt)
Códigos de Condição
Código N
Sinal do resultado
1, se resultado negativo
0, caso contrário
Código Z
Indica se o resultado vale 0
1, se resultado igual a zero
0, caso contrário
Programação
Passos da programação
1. Escrever o fluxograma a ser implementado
2. Escrever o programa simbólico
3. Listar as variáveis e constantes e os endereços associados
4. Codificar o programa simbólico
5. Escrever o programa no simulador
6. Testar o programa
Exercícios
Escrever um programa para calcular a diferença entre duas variáveis. Cada
variável ocupa um byte. Além disso, o resultado deverá ser armazenado em
uma terceira posição da memória. Pode-se usar: C=A+B e &A=80H, &B=81H
e &C=82H.
Faça um programa para escrever 00H em uma área de memória. O endereço
inicial e o tamanho da área tem tamanho de 8 bits e estão armazenados em
variáveis específicas. Pode-se usar: INICIO = início da área; TAMANHO =
tamanho da área e &INICIO = 80H e &TAMANHO = 81H.
Instruções NEANDER
Código Instrução Operação N Z Descrição
0000 NOP Nenhuma operação nenhuma operação
0001 STA end MEM(end) ← AC armazena acumulador - (store)
0010 LDA end AC← MEM(end) • • carrega acumulador - (load)
0011 ADDend AC← MEM(end) + AC • • soma
0100 OR end AC← MEM(end) OR AC • • “ou” lógico
0101 ANDend AC← MEM(end) AND AC • • “e” lógico
0110 NOT AC← NOT AC • • inverte (complementa) acumulador
1000 JMP end PC← end desvio incondicional - (jump)
1001 JN end IF N=1 THEN PC ← end desvio condicional - (jump on negative)
1010 JZ end IF Z=1 THEN PC ← end desvio condicional - (jump on zero)
1111 HLT término de execução - (halt)

Continue navegando

Outros materiais