Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

MarcasEsportivas

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

Marcas Esportivas

Simulador e montador do conjunto de instruções não temporizado (ISS) do processador AIDA16

pascal
* Assembler: Permite a verifica????o e a gera????o (montagem/tradu????o) do c??digo ASM para o código binário da ISA AIDA16.
* iss: Implementa o simulador do conjunto de instruções não temporizado do processador AIDA16.

Compilando o código fonte do simulador e do assembler do AIDA16 (GNU GCC):

pascal
gcc assembler.c -o assembler
gcc iss.c -o iss

Executando o assembler (Utilizando o arquivo bubble.asm)

pascal
./assembler bubble.asm
./iss bubble.bin

Executando o iss (Utilizando a saída do Assembler)

pascal
./iss bubble.bin

Assembler (Na visão do desenvolvedor):

Visão geral do repositório:

  1. assembler.c: Implementação do Assembler escrito em linguagem C.
  2. bubble.asm: Implementação de um código de ordenação do tipo Bubble Sort na linguagem AIDA16.
  3. assembler.asm: Programa escrito na ISA do AIDA16 para verificar se o assembler detecta a sintáxe da ISA do AIDA16.
  4. iss.asm: Programa escrito na ISA do AIDA16 para verificar se o ISS executa corretamente todas as instruções da ISA AIDA16.

Novas funcionalidades para o Assembler (Futuro):

  • Criar MACRO instruções (pseudo instructions) estendendo o SET da ISA do AIDA16:
    • Criar targets (alvos) para facilitar a implementação dos desvios.
    • Criar instrução de teste condicional simples.
    • Criar instrução de laço.
    • Criar instruções que favorecem o paralelismo no nível de dados (SIMD).
  • Acelerar o processo de montagem utilizando multithreading para computadores multicore.
  • Escrever novos aplicativos exemplos utilizando a ISA AIDA16.

ISS (Na visão do desenvolvedor):

Visão geral do repositório:

  1. iss.c: Implementação do ISS (Simulador do conjunto de instruções não temporizado) escrito em linguagem C.

Novas funcionalidades (Futuro):

  • Adição de capacidade multithreading ao processador (conceito de ciclo ou tempo):
  • Novas possíveis organizações para o AIDA16 (Multiciclo/Pipeline).
  • Adição de memória cache a organização.
  • Interface gráfica (GUI/VCL) pode vir a suportar novas operações: (visualização).