This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
neander [2016/04/12 12:51] cechin [Conjunto de instruções] |
neander [2016/08/08 16:31] (current) |
||
---|---|---|---|
Line 9: | Line 9: | ||
* 1 apontador de programa de 8 bits | * 1 apontador de programa de 8 bits | ||
* 1 registrador de estado com 2 códigos de condição: negativo e zero | * 1 registrador de estado com 2 códigos de condição: negativo e zero | ||
+ | * [[insneander|Conjunto de Instruções do NEANDER]] | ||
- | ==== Conjunto de instruções ==== | ||
- | |||
- | ^ Código ^ Instrução ^ Operação ^ | ||
- | | 0000 | NOP | Nenhuma operação | | ||
- | | 0001 | STA end | Armazena acumulador no endereço "end" da memória | | ||
- | | 0010 | LDA end | Carrega o acumulador com o conteúdo do endereço "end" da memória | | ||
- | | 0011 | ADD end | Soma o conteúdo do endereço "end" da memória ao acumulador | | ||
- | | 0100 | OR end | Efetua operação lógica "OU" do conteúdo do endereço "end" da memória ao acumulador | | ||
- | | 0101 | AND end | Efetua operação lógica "E" do conteúdo do endereço "end" da memória ao acumulador | | ||
- | | 0110 | NOT | Inverte todos os bits do acumulador | | ||
- | | 1000 | JMP end | Desvio incondicional para o endereço "end" da memória | | ||
- | | 1001 | JN end | Desvio condicional, se "N=1", para o endereço "end" da memória | | ||
- | | 1010 | JZ end | Desvio condicional, se "Z=1", para o endereço "end" da memória | | ||
- | | 1111 | HLT | Para o ciclo de busca-decodificação-execução | | ||
Line 30: | Line 17: | ||
* {{wneander.zip|Simulador do NEANDER - Vers. 2.1.2 - julho/2002}} | * {{wneander.zip|Simulador do NEANDER - Vers. 2.1.2 - julho/2002}} | ||
+ | ==== Projetos de Programação ==== | ||
+ | |||
+ | * {{wiki;trab;neander;2003-Soma em Sinal-Magnitude.pdf|Somar dois valores inteiros representados sinal e magnitude}} | ||
+ | * {{wiki;trab;neander;2006-Multiplicacao.pdf|Multiplicar dois valores de 8 bits e armazenar o resultado de 16 bits na memória}} | ||
+ | * {{wiki;trab;neander;2007-Expressao Aritmetica.pdf|Calcular a expressão: A = (((B + C) * 7 + 27 – (D – 6) * 5 ) div 2) + E}} | ||
+ | * {{wiki;trab;neander;2010-Operacoes em Modulo 256.pdf|Implementar as quatro operações aritméticas e usá-las para calcular y = a.x + b}} | ||
+ | * {{wiki;trab;neander;2011-Multiplicacao e Divisao.pdf|Implementar multiplicação e divisão e usá-las para calcular y = (a/b) * c}} | ||
+ | * {{wiki;trab;neander;2013-Hipotese de Colatz (2n+1).pdf|Implemenar teste da hipótese de Collatz para números inteiros em 8 bits}} | ||
+ | * {{wiki;trab;neander;2014-Produto Vetorial.pdf|Calcule o produto vetorial de dois vetores}} | ||
+ | * {{wiki;trab;neander;2015-Maior Divisor Comum.pdf|Calcule o maior divisor comum (mdc) entre dois números de 8 bits. Sugestão: Algoritmo de Euclides}} | ||
==== Referências ==== | ==== Referências ==== | ||
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman, 2012. 424 p. (Série Livros Didáticos Informática UFRGS, v. 8). | WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman, 2012. 424 p. (Série Livros Didáticos Informática UFRGS, v. 8). |