Este módulo implementa o banco de memória especialmente desenhado para funcionar com o processador Pepe.
O banco de memória possui um barramento de endereços de 16 bit separados em dois portos de 15 (A1-A15) e 1 bit (A0) respectivamente. Possui ainda um barramento de dados de 16 bit, dois sinais de Read e Write activos a 0, e um sinal para acesso ao byte.
Quando o sinal de acesso ao byte estiver activo o banco
de memória só lê um dos dois bytes endereçados pelo endereço A1-A15. Se
o bit A0 estiver a 0 apenas o byte de menor peso é acedido sendo os
bits do maior peso da palavra indefenidos. Se o bit A0 estiver a 1
apenas o byte de maior peso é acedido sendo os bits de menor peso da
palavra indefinidos.
A interface gráfica das RAMs é comum a todas as memórias (presentemente RAMs e PROMs).
O objectivo da interface gráfica das memória é permitir a visualização e alteração do conteúdo da memória.
A janela de dump hexadecimal da memória (Figura 2) possui duas zonas:Numa mostra-se o valor hexadecimal de cada posição de memória;
Noutra mostra-se o caracter ASCII correspondente caso exista, caso contrário mostra-se um ponto.
Figura 2. Dump hexadecimal de uma memória.
Para carregar informações na memória deve-se usar o comando File->Load. Este comando carrega ficheiros com a extensão ".dat" que contenham texto ASCII em que cada linha tem o seguinte formato:
endereço conteúdo
em que o endereço e o conteúdo são números hexadecimais (sem prefixos ou sufixos, i.e. sem '0x' no início ou 'h' no fim).
Para alterar uma posição de memória basta posicionar o cursor no local respectivo e escrever o novo valor.
Para além de permitir a leitura e alteração do conteúdo da memória esta janela permite ainda colocar breakpoints quando uma posição de memória atingir determinado valor. Para tal é necessário clicar com o botão da direita do rato na posição respectiva de modo a aparecer a janela da Figura 3.
Figura 3. Colocação de um breakpoint na posição 51h da memória.