This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
ahmes [2016/04/11 10:24] cechin created |
ahmes [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 5 códigos de condição: negativo, zero, carry, borrow e overflow | * 1 registrador de estado com 5 códigos de condição: negativo, zero, carry, borrow e overflow | ||
+ | * [[insahmes|Conjunto de Instruções do AHMES]] | ||
- | ==== Conjunto de instruções ==== | ||
- | ^ Código ^ Instrução ^ Operação ^ | + | ==== Ferramentas ==== |
- | | 0000 xxxx | NOP | Nenhuma operação | | + | |
- | | 0001 xxxx | STA end | Armazena acumulador no endereço "end" da memória | | + | |
- | | 0010 xxxx | LDA end | Carrega o acumulador com o conteúdo do endereço "end" da memória | | + | |
- | | 0011 xxxx | ADD end | Soma o conteúdo do endereço "end" da memória ao acumulador | | + | |
- | | 0100 xxxx | OR end | Efetua operação lógica "OU" do conteúdo do endereço "end" da memória ao acumulador | | + | |
- | | 0101 xxxx | AND end | Efetua operação lógica "E" do conteúdo do endereço "end" da memória ao acumulador | | + | |
- | | 0110 xxxx | NOT | Inverte todos os bits do acumulador | | + | |
- | | 0111 xxxx | SUB end | Subtrai o conteúdo do endereço "end" da memória do acumulador | | + | |
- | | 1000 xxxx | JMP end | Desvio incondicional para o endereço "end" da memória | | + | |
- | | 1001 00xx | JN end | Desvio condicional, se "N=1", para o endereço "end" da memória | | + | |
- | | 1001 01xx | JP end | Desvio condicional, se "N=0", para o endereço "end" da memória | | + | |
- | | 1001 10xx | JV end | Desvio condicional, se "V=1", para o endereço "end" da memória | | + | |
- | | 1001 11xx | JNV end | Desvio condicional, se "V=0", para o endereço "end" da memória | | + | |
- | | 1010 00xx | JZ end | Desvio condicional, se "Z=1", para o endereço "end" da memória | | + | |
- | | 1010 01xx | JNZ end | Desvio condicional, se "Z=0", para o endereço "end" da memória | | + | |
- | | 1011 00xx | JC end | Desvio condicional, se "C=1", para o endereço "end" da memória | | + | |
- | | 1011 01xx | JNC end | Desvio condicional, se "C=0", para o endereço "end" da memória | | + | |
- | | 1011 10xx | JB end | Desvio condicional, se "B=1", para o endereço "end" da memória | | + | |
- | | 1011 11xx | JNB end | Desvio condicional, se "B=0", para o endereço "end" da memória | | + | |
- | | 1110 xx00 | SHR | Desloca o acumulador para a direita; o bit 7 do acumulador recebe 0; o Carry recebe o bit 0 do acumulador | | + | |
- | | 1110 xx01 | SHL | Desloca o acumulador para a esquerda, o bit 0 do acumulador recebe 0; o Carry recebe o bit 7 do acumulador | | + | |
- | | 1110 xx00 | ROR | Gira o acumulador para a direita; o bit 7 do acumulador recebe o Carry; o Carry recebe o bit 0 do acumulador | | + | |
- | | 1110 xx01 | ROL | Gira o acumulador para a esquerda, o bit 0 do acumulador recebe o Carry; o Carry recebe o bit 7 do acumulador | | + | |
- | | 1111 xxxx | HLT | Para o ciclo de busca-decodificação-execução | | + | |
+ | * {{wahmes.zip|Simulador do AHMES - Vers. 2.1.2 - julho/2002}} | ||
+ | * [[daedalus|Montador DAEDALUS]] | ||
- | ==== Ferramentas ==== | + | ==== Projetos de Programação ==== |
- | + | ||
- | * {{wneander.zip|Simulador do NEANDER - Vers. 2.1.2 - julho/2002}} | + | |
+ | * {{wiki;trab;ahmes;2002-Distancia de Hamming.pdf|Cálculo da Distância de Hamming entre dois bytes}} | ||
+ | * {{wiki;trab;ahmes;2003-Multiplicacao em Ponto Flutuante.pdf|Realizar a multiplicação de dois números em ponto flutuante}} | ||
+ | * {{wiki;trab;ahmes;2004-Conversao Ponto Fixo para Ponto Flutuante.pdf|Realize a conversão de um número em ponto fixo para um número em ponto flutuante}} | ||
+ | * {{wiki;trab;ahmes;2005-Gerador de Randomicos.pdf|Implementar um gerador de seqüências pseudo aleatórias de números inteiros positivos, através de um “registrador de deslocamento com realimentação linear”}} - LFSR – //linear feed-back shift register// | ||
+ | * {{wiki;trab;ahmes;2007-Raiz Quadrada por pesquisa binaria.pdf|Calcular a raiz quadrada inteira de um número de 16 bits representado em complemento de 2, utilizando pesquisa binária}} | ||
+ | * {{wiki;trab;ahmes;2008-Conversor Inteiros para Ponto Flutuante.pdf|Realizar a conversão de números sem sinal, inteiros, para ponto flutuante, e vice-versa}} | ||
+ | * {{wiki;trab;ahmes;2010-Maior Divisor Comum com limite de execucao.pdf|Calcule o maior divisor comum (MDC) de dois números inteiros sem sinal de 8 bits}} | ||
+ | * {{wiki;trab;ahmes;2011-Numeros em Ponto Fixo.pdf|Implementar a movimentação do "ponto" em um número representado em ponto fixo}} | ||
+ | * {{wiki;trab;ahmes;2012-Raiz Quadrada pelo Metodo de Pell(16 bits).pdf|Calcular a raiz quadrada inteira de um número inteiro positivo de 16 bits, usando o método de Pell}} | ||
+ | * {{wiki;trab;ahmes;2013-Hipotese de Colatz (2n+1) para 16 bits.pdf|Determinar a hipótese de Collatz para números inteiros de 16 bits}} | ||
+ | * {{wiki;trab;ahmes;2014-Serie de Taylor para e^x.pdf|Calcular o valor aproximando de EXP(x), usando Série de Taylor}} | ||
+ | * {{wiki;trab;ahmes;2015-Maior Divisor Comum (16 bits).pdf|Calcule o maior divisor comum (MDC) de dois números inteiros de 16 bits}} | ||
==== 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). |