Alterando em Tempo de Execução
Alterando um Programa em Tempo de Execução.
Objetivo
Apresentar os elementos fundamentais relacionados ao poder que uma linguagem de programação de baixo nível tem, relacionado a alteração de um programa que já esteja em execução. ,
Descrição
O objeto de aprendizagem destacando as diferenças entre programas com o mesmo objetivo; um escrito em linguagem de alto nível (C++), que apenas altera dados; com um outro, escrito em Assembly, que consegue alterar uma instrução de máquina. O programa também apresenta, em seus comentários, alguns elementos que permitem a melhor observação sobre a arquitetura necessária à execução da tarefa.
Palavras-Chave
Acesso à Memória, Programação, C++, Assembly.
Categorização
Aplicativos, Programa de Computador.
Área e Sub-Área
Computação, Arquitetura de Computadores.
Nível de Ensino / Série
Técnico Profissionalizante e Universitário.
Pré-Requisitos
Programação básica de computadores nas linguagens C++ e Assembly.
Programas
Informações ao Professor
O OA foi especialmente desenvolvido para o uso em componentes curriculares de Arquitetura de Computadores e seus afins. Como usa de técnicas relacionadas com as linguagens C e Assembly, o aluno deve ter, pelo menos, o conhecimento básico de programação de computadores.
Os programas são relativamente simples - inclusive o programa em assembly. O ponto principal do programa, como um objeto de aprendizagem, está na possibilidade de análise do código assembly, observando os seus comentários e tentando encontrar a relação com as instruções executadas no programa C++. Como a maioria dos aprendizes está mais habituada a analisar programa em linguagem de alto nível, eventualmente, a tarefa de analisar um programa em Assembly, partindo do programa em C, torne-se intuitiva.
Características Técnicas
O OA foi desenvolvido usando a Linguagem C++, inserida no ambiente Web JDoodle. A linguagem C foi selecionada pois permite que o programador, tenha um controle quase que absoluto dos componentes do computador. Já o ambiente JDoodle facilita o processo de desenvolvimento de programas pequenos, sendo assim muito útil no ensino de programação. A sua interface baseada na Web facilita o acesso, onde o professor pode usar de qualquer laboratório de informática com acesso à Internet, sem que seja necessária a instalação de aplicativos especiais - o navegador já é o suficiente.
O apêndice em Assembly foi escrito para ser executado no 8-bit Assembler Simulator (também baseado na Web), que é uma máquina (simulador) com características organizacionais bem "discretas", onde destacam-se: i) o armazenamento e endereçamento de dados em 8 bits; ii) a pouca disponibilidade de registradores e; iii) o conjunto restrito de instruções.
Desenvolvedor
Prof. Cássio D. B. Pinheiro.