Fatorial Recursivo em Assembly
Título (link)
Calculando o Fatorial Recursivo em Assembly.
Objetivo
Demonstrar os conceitos relacionados a execução recursiva de um subprograma em Assembly, destacando as diferenças e semelhanças de programas com o mesmo objetivo; um escrito em linguagem de alto nível (C++), com um outro, escrito em Assembly.
Descrição
O objeto de aprendizagem é compreendido por um programa em C++, que implementa duas funções (via iterações e recursiva) para o cálculo do fatorial de um número. O modelo recursivo do programa em C++ é adaptado para Assembly (8-Bit Assembler Simulator). O programa também apresenta, em seus comentários, alguns elementos que permitem a melhor observação sobre o método recursivo implementado no código Assembly.
Palavras-Chave
Recursividade, 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.