-
Notifications
You must be signed in to change notification settings - Fork 0
Montando seu Programa
[English]
Após escrever seu código em assembly, você pode querer compilá-lo para uso nas simulações. Para isso, será necessário utilizar o assembler localizado na pasta ./DRISC Programs. Lá você encontrará uma coleção de programas compilados, além de um atalho para o assembler.
Por padrão, seu arquivo de assembly deve ser salvo no diretório ./DRISC Programs/src, com a extensão .dasm.
Ao executar o assembler, ele exibirá a versão atual, as pastas em uso, a largura de endereço e uma lista dos programas encontrados no diretório de origem.
Se a lista de programas aparecer vazia, o caminho da pasta pode estar incorreto. Para corrigir isso, navegue até a pasta onde seus programas estão salvos usando o explorador de arquivos. Copie o caminho, volte ao assembler, digite f, pressione Enter e cole o caminho da pasta. Repita o mesmo processo para a pasta de saída, se necessário.
Uma vez que as pastas estejam corretamente configuradas, seus programas devem aparecer na lista. Selecione um digitando o número correspondente. O assembler então exibirá informações sobre o processo de compilação. Durante a etapa de pré-processamento, você verá normalmente defines, macros, rótulos e variáveis sendo adicionados a um dicionário, seguidos por sua substituição ou tradução dentro do código.
Se seu código contiver erros em qualquer define, macro, rótulo ou variável, eles geralmente serão sinalizados com mensagens de erro legíveis. No entanto, alguns problemas podem não ser detectados e resultar em uma saída confusa. Nesses casos, revise seu código para garantir que todos os elementos estejam corretamente definidos e que os parâmetros estejam bem posicionados. Você também é incentivado a reportar qualquer problema na página de issues do repositório.
Após o pré-processamento, o assembler começará a compilar cada instrução. Você verá uma lista de instruções modificadas pela etapa anterior, que podem diferir do seu código original. Cada entrada inclui o endereço de memória, o código binário da máquina e a instrução correspondente. Os dois últimos elementos são coloridos para ajudar na visualização da tradução do código.
Após concluir o processo de montagem, o assembler solicitará a criação de um arquivo para simulação em SystemVerilog. Isso gera um arquivo de saída secundário que exclui o cabeçalho e os endereços de memória usados na simulação do Logisim. Você pode mover esse arquivo para a pasta ./verilog/programs para utilizá-lo na simulação SystemVerilog.
Dependendo do programa que você está compilando, seu tamanho pode exceder o limite de memória padrão, resultando em um erro ao final da execução. Nesses casos, você pode aumentar a largura de endereço usando a opção a. No entanto, tenha cautela — larguras maiores podem gerar arquivos significativamente maiores. Recomenda-se manter-se dentro de 16 bits, o que deve ser suficiente para a maioria das aplicações.
-
- 1.1 Introduction
- 1.2 RISC-V Implementation
- 1.2.1 Available Instruction Set
- 1.2.2 Available Non-ISA Features
-
- 2.1 ALU
- 2.2 Register File
- 2.3 Program Counter
- 2.4 Input Buffer
- 2.5 RAM
- 2.6 Operation Controller
- 2.7 CSR Controller
-
- 3.1 Input Devices
- 3.1.1 Keyboard
- 3.1.2 Switches and Joystick
- 3.1.3 Random Number Generator
- 3.1.4 Real-Time Device
- 3.2 Output Devices
- 3.2.1 Screen
- 3.2.2 Terminal
- 3.2.3 Software Interrupt Register
- 3.1 Input Devices