Sie sind auf Seite 1von 5

Apndice UM Utilizao dos simuladores e depuradores

As caractersticas e comandos de depurao aqui apresentadas so vlidas para os simuladores dos pseudo-computadores Neander e Ahmes, estudados nesta disciplina. Estes comandos sero vlidos tambm para outras mquinas utilizadas na disciplina subseqente de Arquitetura e Organizao de Computadores I. Estes simuladores foram desenvolvidos para computadores PC e compatveis, e permitem a execuo e depurao de programas em linguagem de mquina escritos para os computadores NEANDER e AHMES. Os simuladores desenvolvidos incorporam grande parte das funes encontradas em depuradores comerciais, tais como: edio de memria, execuo passo a passo, insero de pontos de parada (break-points), janela de memria e visualizao do contedo dos registradores. Exerccios usando os simuladores visam principalmente familiarizar o usurio com os conceitos bsicos de arquitetura de computadores, atravs de programao em linguagem de mquina e simblica, e com as tcnicas de depurao de tais programas. A.1 Simulador Os simuladores existem atualemnte em duas verses: para DOS e para Windows. Embora estas duas verses sejam funcionalemnte equivalentes, recomenda-se fortemente o uso da verso Windows, pois a verso DOS no ser mais atualizada. Aps carregado o simulador mostrada a tela de trabalho. Preste bastante ateno a ela. A tela de trabalho formada por campos de edio, campos de informao esttica (cujo contedo no se altera) e campos de informao dinmica (cujo contedo se altera em resposta a uma ao do usurio). A.2 Formato da tela Os elementos na tela do simulador so os seguintes: Janela de Dados (Memria) mostra o contedo de 16 posies da memria, interpretadas como dados, e permite eventualmente alterar tais valores. Registradores para o computador NEANDER mostrado o contedo do acumulador (AC), do registrador de status (bits N e Z), do apontador de instrues (PC) e do registrador de instrues (RI). Para o AHMES apresenta-se a mesma informao, sendo a nica diferena o maior nmero de bits do registrador de status (bits N, Z, C, V e B). Os demais computadores possuem outros conjuntos de registradores. A-1

Janela de Programa (Memria) mostra o contedo de 16 posies da memria, interpretadas como programa, e permite eventualmente alterar tais valores. Break-point um ponto qualquer do programa, escolhido pelo usurio como ponto de parada (o simulador para no endereo indicado, sem executar a instruo apontada). O valor do break-point inicializado com o endereo superior de memria (255 decimal ou FF hexa). Tabela de cdigos de instruo para ajudar a quem possui memria voltil, mostra os mnemnicos e os cdigos das instrues. Menu de comandos mostra os comandos aceitos pelo simulador/depurador. O caractere sublinhado em cada comando pode ser usado para ativao via teclado. Os campos listados abaixo so de informao esttica: - tabela de cdigos de instruo (pode ser ativada ou apagada pela tecla F1) - menu de comandos Os campos a seguir so de informao dinmica: - registradores - break-point - linha de mensagens Os demais so campos de edio: - janela de dados - janela de programa A.3 Entrada numrica Entradas numricas so necessrias em duas situaes distintas: para fornecer um endereo solicitado pelo simulador ou para editar posies de memria. Na digitao de valores numricos, valem as seguintes regras: valores maiores que 25510 (decimal) e FF16 (hexadecimal) no so aceitos, valores negativos no so aceitos (devem ser entrados em complemento de dois) as teclas de edio so vlidas para alteraes e correes a tecla ENTER termina a entrada do nmero. Quando necessria a entrada de um endereo, o simulador fornece um valor padro, de acordo com a situao atual. Para aceitar este valor, basta digitar ENTER . Caso contrrio, o incio da digitao de um novo nmero anula o valor padro. Durante a entrada de valores na memria, a utilizao da tecla ENTER incrementa automaticamente o endereo, ou seja, termina a entrada do nmero e inicia a edio do prximo endereo. A.4 Comandos de operao Os comandos que permitem editar e depurar programas usando os simuladores so apresentados nas prximas sees.

A-2

A . 4 . 1 Hexadecimal x decimal Todos os valores numricos (endereos, cdigos de instrues, dados) podem ser representados tanto em hexadecimal como em decimal. O simulador comea sempre a operar em hexadecimal. Voc pode escolher a forma que melhor lhe convm, atravs dos seguintes comandos: Comando Decimal ou Icone 0..9 todos os valores numricos aceitos e mostrados pelo simulador so decimais. Comando Hexadecimal ou Icone 0..F todos os valores numricos aceitos e mostrados pelo simulador so hexadecimais. A . 4 . 2 Visualizao Simblica A Janela de Programa possui uma coluna que permite visualizar as instrues em modo simblico, ou seja, em uma interpretao a nvel de linguagem assembler. Note-se que o cdigo da instruo desmontado, sendo apresentado na forma de mnemnico, mas endereos e operandos so somente visualizados na forma numrica, em decimal ou hexadecimal (dependendo da base escolhida). A visualizao inicia no endereo inicial da janela, independente do fato deste endereo ser realmente o incio de uma instruo ou no. Por exemplo, considerem-se as duas janelas abaixo (mostradas somente com 10 posies, em decimal): Endereo 0 1 2 3 4 5 6 7 8 9 10 Dado 32 128 48 129 48 130 16 128 240 0 0 Simblico LDA 128 ADD 129 ADD 130 STA 128 HLT NOP NOP Endereo 1 2 3 4 5 6 7 8 9 10 11 Dado 128 48 129 48 130 16 128 240 0 0 0 Simblico JMP 48 JMP 48 JMP 16 JMP 240 NOP NOP NOP

Na janela da esquerda, o endereo inicial zero, e tem-se um programa que soma trs posies. Ao deslocar-se esta janela de uma posio (com a seta para baixo), tem-se a janela da direita, cujo contedo o mesmo, mas foi interpretado de forma diferente. Esta caracterstica no se constitui propriamente um erro, mas tpica da arquitetura de von Neuman, que permite uma completa liberdade no posicionamento de dados de instrues, e inclusive no incio das instrues. Um computador deste tipo executa automaticamente as instrues a partir do endereo apontado pelo PC. Cabe ao programador (ou ao sistema operacional) garantir que o programa inicie em um endereo coerente. Caso entretanto se deseje iniciar a interpretao simblica sempre no incio do programa (endereo zero) e no no incio da janela de programa, pode-se utilizar para isto o comando Mnemnicos relativos, ou a tecla F2. A . 4 . 3 Editando um programa na memria Para alterar o contedo da memria, use os comandos de edio, vlidos tanto para a janela de dados como para a janela de programa. Ambas apresentam um campo de edio, que permite alterar um byte de cada vez.

A-3

A escolha de uma das duas janelas para edio feita com o mouse , e a movimentao dentro da janela tambm. Uma vez ativada uma janela, algumas teclas tambm podem ser usadas para movimentao: Tecla seta para baixo ou enter seta para cima page up page down Significado posio posterior de memria posio anterior de memria volta 16 posies avana 16 posies

Tabela A.1 - Movimento do cursor na janela de memria durante edio As duas janelas podem ter seu tamanho redimensionado, para permitir a visualizao de mais de 16 posies. A . 4 . 4 Inspecionando a memria O comando Ir para permite o deslocamento rpido para qualquer posio da janela de programa. A . 4 . 5 Imprimindo pores da memria O comando Salver Texto permite que trechos de programas possam ser transcritos para um outro arquivo, para fins de documentao. O comando de impresso no envia os dados diretamente para um impressora, mas sim armazena toda a informao que se deseja imprimir em um arquivo, a fim de que o usurio complete esta informao com comentrios e outros dados. O formato da impresso segue a base atualmente sendo utilizada (decimal ou hexadecimal), ou seja, o formato segue exatamente aquele da Janela de Programa. A . 4 . 6 Zerando uma rea de memria Uma determinada rea de memria pode ser zerada usando o comando Zerar Memria. O simulador solicita o endereo inicial e o endereo final da rea de memria a ser zerada. A . 4 . 7 Movendo blocos Blocos podem ser movidos na memria atravs do comando Copiar Memria. O simulador solicita o endereo inicial e o endereo final da rea de memria a ser movida e o endereo inicial da rea de destino. Fornea-os. O bloco sempre deslocado de forma a manter a sua integridade na posio de destino. Assim, por exemplo, pode-se mover um bloco que inicie no endereo 10 e termine no endereo 15 para o endereo de destino 11. Com isto, as posies 11 a 16 recebero os contedos originais das posies 10 a 15. Observao: o bloco fonte no alterado, a menos das posies que coincidam com o bloco destino. A . 4 . 8 Executando um programa Voc pode executar um programa em dois modos: passo a passo ou contnuo. Os dois modos iniciam a execuo a partir do valor atual do apontador de instrues (PC). Este pode ser ajustado utilizando-se o comando Alterar PC ou Zerar PC (F10). Para o modo contnuo, atravs do comando Rodar (F9), voce pode determinar um ponto de parada na execuo do seu programa. A-4

Alterar AC permite fornecer um valor inicial para o acumulador (AC). Aps o comando, o simulador solicita um endereo para inicializar o AC. Alterar PC permite fornecer um valor inicial para o apontador de instrues (PC). Aps o comando, o simulador solicita um endereo para inicializar o PC. Passo (F8) cada vez que o comando ativado (via menu, tecla F8, ou iconed e passo a passo), o simulador executa a instruo apontada pelo PC, parando logo aps. BP B reak point permite especificar um endereo de parada. No campo BP da janela de programa pode ser fornecido o endereo para o break point.

Rodar (F9) aps o comando Rodar (via menu, tecla F9 ou icone) o simulador executa continuamente um programa, a partir da posio indicada pelo PC, at encontrar uma instruo de halt (HLT), o ponto de parada ou o comando ser ativado novamente (freio de emergncia). A . 4 . 9 Salvando e carregando arquivos Para os comandos que seguem, deve ser fornecido um nome de arquivo. Os simuladores adicionam, automaticamente, o sufixo .mem. Arquivos de simuladores diferentes podem ou no ser compatveis entre si, dependendo da compatibilidade entre as respectivas arquiteturas. Carregar carrega um arquivo para a memria do computador sendo simulado. O arquivo deve conter uma memria compatvel com o computador sendo simulado, caso contrrio o simulador indica erro e o comando anulado. Salvar grava o contedo da memria do computador sendo simulado.

A-5

Das könnte Ihnen auch gefallen