A simulator to support assembly language teaching
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Outros Autores: | |
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 |