Descrição: o nível mais baixo de programação de um hardware computadorizado é comumente apresentado como nível assembly (montagem). Nesse nível, só existem comandos básicos, bem simples, que indicam ao hardware (processador ou microcontrolador) uma tarefa bem específica. O sistema implementa exemplos de instruções de um processador simples e bem específico denominado Pocket MIPS Monocycle (PMM).
Para criar o executável do projeto basta executar o arquivo Makefile dentro da pasta do projeto:
$ makeIsso irá gerar uma basta bin que contém o executável da aplicação. Para iniciar basta rodar o executável:
$./bin/decoder-mips-pocketDica: a pasta tests contém arquivos que possuem entradas válidas para automatizar os testes.
# exemplo de execução com testes pré implementados
$ ./bin/decoder-mips-pocket < ./tests/all-tests.in- r0
- r1
- r2
- r3
Operações aceitas:
- ADD
- SUB
- MTA
- MTB
- MFA
- MFB
- HALT
A sintaxe para executar instruções do tipo R é informar o nome da instrução seguida do código do registrador:
# exemplo de entrada
$ ADD r1# saída para instrução ADD r1
$ 000 01 000Operações aceitas:
- ADDI
A sintaxe para executar instruções do tipo I é informar o nome da instrução seguida de um número inteiro de 0 a 31:
# exemplo de entrada
$ ADDI 6# saída para instrução ADDI 6
$ 001 00110Operações aceitas:
- BEQ
A sintaxe para executar instruções do tipo J é informar o nome da instrução e em seguida o codigo de dois registradores:
# exemplo de entrada
$ BEQ r0, r1# saída para instrução BEQ r0, r1
$ 011 00 01 0obs: a virgula entre o código dos registradores é facultativa.
# exemplo de entrada sem virgula entre registradores
$ BEQ r1 r2# saída
$ 011 01 10 0