Painel de Execução
O painel de execução é responsável por exibir o resultado do processo de montagem do programa e o estado atual da memória durante a execução.

Esse painel é dividido em duas áreas principais:
- Text Segment
- Data Segment
Cada uma dessas áreas apresenta informações diferentes sobre o estado do programa durante a simulação.
Text Segment
Seção intitulada “Text Segment”O text segment apresenta as instruções do programa após o processo de montagem.
Para cada instrução, o simulador apresenta seu endereço na memória, o código de máquina em formato hexadecimal e a instrução correspondente em assembly. Quando o usuário utiliza pseudo-instruções, o simulador também mostra as instruções reais geradas durante o processo de montagem.
Exemplo:
0x00400000 0x0FC10517 auipc x10 64528 la a0 prompt0x00400004 0x00050513 addi x10 x10 0Nesse exemplo, a pseudo-instrução:
la a0 prompté convertida pelo assembler em duas instruções reais:
auipcaddiEsse comportamento ocorre porque algumas pseudo-instruções da linguagem assembly representam sequências de instruções reais da arquitetura.
Instrução Atual
Seção intitulada “Instrução Atual”Durante a execução do programa, o simulador destaca com uma cor diferente a instrução que será executada a seguir.
Esse destaque acompanha o valor do Program Counter (PC) e permite visualizar facilmente o fluxo de execução do programa.
Caso ocorra uma instrução de salto (jump ou branch), o destaque é movido diretamente para a instrução de destino, indicando a nova posição do fluxo de execução.
Data Segment
Seção intitulada “Data Segment”O data segment exibe o conteúdo da memória do simulador.
Como a memória do sistema é muito grande, o painel fornece ferramentas para facilitar a navegação entre diferentes regiões.
Destaque de Alterações na Memória
Seção intitulada “Destaque de Alterações na Memória”Sempre que uma posição de memória é modificada durante a execução (por exemplo, por uma instrução sw), o simulador aplica uma cor de fundo diferente nessa posição, da mesma forma que faz com os registradores e com a instrução atual no text segment.
Isso facilita identificar quais endereços de memória foram afetados pela última instrução executada.

Seleção de Regiões da Memória
Seção intitulada “Seleção de Regiões da Memória”No topo do painel existe um seletor de regiões de memória, que permite navegar diretamente para partes importantes da memória do programa.
As regiões disponíveis são:
.data-0x10010000heap-0x10040000gp-0x10008000sp-0x7fffeffc.text-0x00400000
Cada opção move automaticamente a visualização da memória para o endereço inicial da região selecionada.
Essa navegação permite acessar rapidamente as áreas mais relevantes da memória sem precisar percorrer manualmente todo o espaço de endereçamento.

Visualização da Memória
Seção intitulada “Visualização da Memória”Ao lado do seletor de memória existem três opções de visualização que controlam como os dados são exibidos:
-
Hex Address - Exibe os endereços da memória em formato hexadecimal
-
Hex Value - Exibe os valores armazenados na memória em formato hexadecimal
-
ASCII - Exibe os valores da memória interpretados como caracteres ASCII
Quando a visualização ASCII está ativada, ela substitui a visualização hexadecimal dos valores, mostrando o conteúdo da memória como caracteres.
Cada palavra de memória é convertida para ASCII interpretando seus bytes individualmente.
![]()
Paginação da Memória
Seção intitulada “Paginação da Memória”A memória é exibida em páginas, sendo que cada página apresenta:
- 128 endereços de memória
Isso permite navegar pela memória de forma organizada e evita a exibição de uma quantidade excessiva de dados de uma só vez.
![]()
Ajuste do Espaço do Painel
Seção intitulada “Ajuste do Espaço do Painel”Entre o text segment e o data segment existe uma barra de redimensionamento.
Essa barra pode ser arrastada verticalmente para ajustar o espaço visível entre o text segment e o data segment.
Esse recurso permite ajustar a visualização conforme a necessidade do usuário, facilitando tanto a análise das instruções quanto a inspeção do conteúdo da memória.

