Pular para o conteúdo principal

Montador

Software responsável pela tradução das instruções em linguagem assembly a sua forma correspondente em código binário para execução pela placa FPGA.

Por exemplo:

; Imprime "Hello Mom" ao canto superior esquerdo da tela e encerra.

jmp main

hello: string "Hello Mom"

main:
loadn r0, #0 ; r0 = 0
loadn r1, #hello ; r1 = Ponteiro para a string a ser impressa.
loadn r2, #0 ; r2 = Índice para a posição na tela

printLoop:
loadi r3, r1 ; Carrega o caractere a ser impresso
cmp r0, r3 ; e cheque se este é o caractere terminal.
jeq endLoop ; Termine se este for ou,
outchar r3, r2 ; senão, o imprima e continue.
inc r1 ; Incremente o ponteiro para a string.
inc r2 ; Incremente o índice para a posição na tela.
jmp printLoop
endLoop:
halt

Instalação

O montador encontra-se disponível em duas versões:

  • v1.0.0 stable (recomendado)
  • v2.1.0 beta

Para instalá-las execute os seguintes comandos:

wget https://github.com/de-abreu/Processador-ICMC/raw/master/assembler/assembler-stable.zip
unzip assembler-stable.zip
cd stable
gcc *.c -o montador

Com isso você terá em mãos o executável montador. Leve-o ao diretório em que estiver trabalhando, conforme sua conveniência.

Uso

Sem perda de generalidade, considere um arquivo assembly jogo.asm. Não havendo erros de sintaxe neste, executar o seguinte comando produz o arquivo binário jogo.mif:

./montador jogo.asm jogo.mif

Doutra forma, havendo erros de sintaxe, uma mensagem de erro correspondente será emitida.

TODO
  1. Encontrar e detalhar a instalação para usuários de Windows
  2. Detalhar mais opções de uso do montador