Alterando em Tempo de Execução

Título (link)

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.

Mais Sobre o Assunto

Postado em 08/11/2021 (Cássio D. B. Pinheiro).