A simulator to support assembly language teaching

Detalhes bibliográficos
Autor(a) principal: Pegoraro, Rene
Data de Publicação: 2022
Outros Autores: Franchin, Marcelo Nicoletti
Tipo de documento: Artigo
Idioma: por
eng
Título da fonte: Revista Brasileira de Ensino de Ciência e Tecnologia
Texto Completo: https://periodicos.utfpr.edu.br/rbect/article/view/13014
Resumo: This article describes a simulator of a simple hypothetical processor used for introducing assembly language concepts to high school and university students.  The simulator, developed to be used as a didactic tool, offers to students, in a graphical interface, a model of how a computer works from the point of view of low-level programming.  In this tool, users load the program in machine language and visualize the changes resulting from its execution in the processor's memory and registers.  Considering the importance of understanding the difference between assembly language and machine language, students are instructed to write their code in assembly language and then to obtain the machine language. The assembly process begins manually and then it is done through an assembler program.  Manual assembly helps to explain some concepts related to the generation of executable code hidden in integrated development environments.  Although the tool simulates a simple hypothetical processor, it was built following the instruction syntax used in Intel's 32-bit architecture (IA-32), allowing students to use the concepts learned to understand other assembly languages on real computers.  This tool is used at the beginning of the Assembly Language course in the Computer Science Program at Sao Paulo State University, located in Bauru/SP/BR. Data collected over eight years, four of them using the simulator, suggest the pass rate of students has increased significantly.
id UTFPR-7_d7d925b5bda7b4c206668e8f2310aaf6
oai_identifier_str oai:periodicos.utfpr:article/13014
network_acronym_str UTFPR-7
network_name_str Revista Brasileira de Ensino de Ciência e Tecnologia
repository_id_str
spelling A simulator to support assembly language teachingUm simulador de apoio ao ensino de linguagem de montagem1.03.00.00-7 Ciência da Computação, 1.03.03.01-4 Linguagens de ProgramaçãoLinguagem de Montagem; Simulador; Ensino de ComputaçãoAssembly Language; Simulator; Computing TeachingThis article describes a simulator of a simple hypothetical processor used for introducing assembly language concepts to high school and university students.  The simulator, developed to be used as a didactic tool, offers to students, in a graphical interface, a model of how a computer works from the point of view of low-level programming.  In this tool, users load the program in machine language and visualize the changes resulting from its execution in the processor's memory and registers.  Considering the importance of understanding the difference between assembly language and machine language, students are instructed to write their code in assembly language and then to obtain the machine language. The assembly process begins manually and then it is done through an assembler program.  Manual assembly helps to explain some concepts related to the generation of executable code hidden in integrated development environments.  Although the tool simulates a simple hypothetical processor, it was built following the instruction syntax used in Intel's 32-bit architecture (IA-32), allowing students to use the concepts learned to understand other assembly languages on real computers.  This tool is used at the beginning of the Assembly Language course in the Computer Science Program at Sao Paulo State University, located in Bauru/SP/BR. Data collected over eight years, four of them using the simulator, suggest the pass rate of students has increased significantly.Este artigo descreve um simulador de um processador hipotético simples para a introdução de conceitos de linguagem de montagem em alunos do ensino médio e nível superior. O simulador, desenvolvido para ser utilizado como uma ferramenta didática, oferece ao aluno, em uma interface gráfica, um modelo do funcionamento de um computador do ponto de vista da programação de baixo nível. Nesta ferramenta, o usuário carrega o seu programa em linguagem de máquina e visualiza as mudanças decorrentes da sua execução na memória e nos registradores. Considerando a importância do entendimento da diferença entre linguagem de montagem e linguagem de máquina, o aluno é orientado a escrever seu código em linguagem de montagem e em seguida, fazer a montagem para obter a linguagem de máquina. No início, este procedimento é de forma manual e posteriormente através de um programa montador. A montagem manual esclarece alguns conceitos, relacionados à geração de código executável, escondidos nos ambientes de desenvolvimento integrados. Apesar da ferramenta simular um processador hipotético simplificado, ela foi construída seguindo a sintaxe de instruções usada na arquitetura Intel de 32 bits (IA-32), permitindo que o aluno utilize os conceitos absorvidos quase diretamente no entendimento de outras linguagens de montagem em computadores reais. Esta ferramenta é utilizada introdutoriamente na disciplina Linguagem de Montagem do Curso de Ciência da Computação na Universidade Estadual Paulista em Bauru com significativo aumento da taxa de aprovação dos alunos, a qual pode ser confirmada a partir dos dados apresentados sobre oito anos lecionados, sendo quatro deles com o uso do simulador.Universidade Tecnológica Federal do Paraná (UTFPR)Pegoraro, ReneFranchin, Marcelo Nicoletti2022-05-31info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfapplication/pdfhttps://periodicos.utfpr.edu.br/rbect/article/view/1301410.3895/rbect.v15n2.13014Revista Brasileira de Ensino de Ciência e Tecnologia; v. 15, n. 2 (2022): Publicação em Fluxo Contínuo 20221982-873X10.3895/rbect.v15n2reponame:Revista Brasileira de Ensino de Ciência e Tecnologiainstname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRporenghttps://periodicos.utfpr.edu.br/rbect/article/view/13014/pdfhttps://periodicos.utfpr.edu.br/rbect/article/view/13014/pdf_1https://periodicos.utfpr.edu.br/rbect/article/downloadSuppFile/13014/2520https://periodicos.utfpr.edu.br/rbect/article/downloadSuppFile/13014/2521https://periodicos.utfpr.edu.br/rbect/article/downloadSuppFile/13014/2522Direitos autorais 2022 CC-BYhttp://creativecommons.org/licenses/by/4.0info:eu-repo/semantics/openAccess2024-01-05T20:44:21Zoai:periodicos.utfpr:article/13014Revistahttps://periodicos.utfpr.edu.br/rbectPUBhttps://periodicos.utfpr.edu.br/rbect/oai||rbect-pg@utfpr.edu.br1982-873X1982-873Xopendoar:2024-01-05T20:44:21Revista Brasileira de Ensino de Ciência e Tecnologia - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.none.fl_str_mv A simulator to support assembly language teaching
Um simulador de apoio ao ensino de linguagem de montagem
title A simulator to support assembly language teaching
spellingShingle A simulator to support assembly language teaching
Pegoraro, Rene
1.03.00.00-7 Ciência da Computação, 1.03.03.01-4 Linguagens de Programação
Linguagem de Montagem; Simulador; Ensino de Computação
Assembly Language; Simulator; Computing Teaching
title_short A simulator to support assembly language teaching
title_full A simulator to support assembly language teaching
title_fullStr A simulator to support assembly language teaching
title_full_unstemmed A simulator to support assembly language teaching
title_sort A simulator to support assembly language teaching
author Pegoraro, Rene
author_facet Pegoraro, Rene
Franchin, Marcelo Nicoletti
author_role author
author2 Franchin, Marcelo Nicoletti
author2_role author
dc.contributor.none.fl_str_mv

dc.contributor.author.fl_str_mv Pegoraro, Rene
Franchin, Marcelo Nicoletti
dc.subject.por.fl_str_mv 1.03.00.00-7 Ciência da Computação, 1.03.03.01-4 Linguagens de Programação
Linguagem de Montagem; Simulador; Ensino de Computação
Assembly Language; Simulator; Computing Teaching
topic 1.03.00.00-7 Ciência da Computação, 1.03.03.01-4 Linguagens de Programação
Linguagem de Montagem; Simulador; Ensino de Computação
Assembly Language; Simulator; Computing Teaching
description This article describes a simulator of a simple hypothetical processor used for introducing assembly language concepts to high school and university students.  The simulator, developed to be used as a didactic tool, offers to students, in a graphical interface, a model of how a computer works from the point of view of low-level programming.  In this tool, users load the program in machine language and visualize the changes resulting from its execution in the processor's memory and registers.  Considering the importance of understanding the difference between assembly language and machine language, students are instructed to write their code in assembly language and then to obtain the machine language. The assembly process begins manually and then it is done through an assembler program.  Manual assembly helps to explain some concepts related to the generation of executable code hidden in integrated development environments.  Although the tool simulates a simple hypothetical processor, it was built following the instruction syntax used in Intel's 32-bit architecture (IA-32), allowing students to use the concepts learned to understand other assembly languages on real computers.  This tool is used at the beginning of the Assembly Language course in the Computer Science Program at Sao Paulo State University, located in Bauru/SP/BR. Data collected over eight years, four of them using the simulator, suggest the pass rate of students has increased significantly.
publishDate 2022
dc.date.none.fl_str_mv 2022-05-31
dc.type.none.fl_str_mv

dc.type.driver.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://periodicos.utfpr.edu.br/rbect/article/view/13014
10.3895/rbect.v15n2.13014
url https://periodicos.utfpr.edu.br/rbect/article/view/13014
identifier_str_mv 10.3895/rbect.v15n2.13014
dc.language.iso.fl_str_mv por
eng
language por
eng
dc.relation.none.fl_str_mv https://periodicos.utfpr.edu.br/rbect/article/view/13014/pdf
https://periodicos.utfpr.edu.br/rbect/article/view/13014/pdf_1
https://periodicos.utfpr.edu.br/rbect/article/downloadSuppFile/13014/2520
https://periodicos.utfpr.edu.br/rbect/article/downloadSuppFile/13014/2521
https://periodicos.utfpr.edu.br/rbect/article/downloadSuppFile/13014/2522
dc.rights.driver.fl_str_mv Direitos autorais 2022 CC-BY
http://creativecommons.org/licenses/by/4.0
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Direitos autorais 2022 CC-BY
http://creativecommons.org/licenses/by/4.0
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná (UTFPR)
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná (UTFPR)
dc.source.none.fl_str_mv Revista Brasileira de Ensino de Ciência e Tecnologia; v. 15, n. 2 (2022): Publicação em Fluxo Contínuo 2022
1982-873X
10.3895/rbect.v15n2
reponame:Revista Brasileira de Ensino de Ciência e Tecnologia
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Revista Brasileira de Ensino de Ciência e Tecnologia
collection Revista Brasileira de Ensino de Ciência e Tecnologia
repository.name.fl_str_mv Revista Brasileira de Ensino de Ciência e Tecnologia - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv ||rbect-pg@utfpr.edu.br
_version_ 1800223789880967168