Bachelor's Thesis

Simulation of an ARM Processor for the Education of Programming in Assembler

Final Thesis 3.63 MB

Author of thesis: Ing. Ondřej Ondryáš

Acad. year: 2021/2022

Supervisor: Ing. Filip Orság, Ph.D.

Reviewer: Ing. Tomáš Goldmann, Ph.D.

Abstract:

This thesis aims to implement a didactic tool for simulation of an Arm-based processor integrated into the Visual Studio Code editor. The tool facilitates learning about the machine-level programming of these processors. It implements a service that provides an assembler and a simulator for the A32 instruction set. The service is built using the Unicorn emulation framework and other open-source tools. The editor extension uses the service to add support for the development and debugging of programs written in the assembly language. It shows descriptions of used instructions and helps the programmer understand their function. When debugging, it enables stepping through the code and provides various views of the state of the simulated processor, its registers and memory. The solution can be used in the Advanced Assembly Languages course at FIT BUT. It could be further improved in the future to support other architectures and provide an easy learning environment in other courses related to machine-level programming.

Keywords:

Arm, AArch32, A32, assembly language, assembler, instruction, simulation, emulation, Unicorn, Visual Studio Code, extension, Language Server, LSP, Debug Adapter, DAP, education, remote assembling, debugging, stepping through code

Date of defence

23.08.2022

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky u obhajoby:

  1. V kapitole 5.2 Rozšíření pro Visual Studio Code máte uvedené, že rekurzivně zanořené regulární výrazy mají větší vyjadřovací sílu oproti regulárním výrazům (necitováno). Vysvětlete, jak jste k tomuto závěru došel a případně vaše tvrzení podložte.
  2. Uvažoval jste možnostech sběru statistik chování procesoru?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Peter Chudý, Ph.D., MBA (předseda)
prof. Ing. Jiří Jaroš, Ph.D. (místopředseda)
Ing. František Grézl, Ph.D. (člen)
Ing. Libor Polčák, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)

Supervisor’s report
Ing. Filip Orság, Ph.D.

Grade proposed by supervisor: A

File inserted by supervisor Size
Hodnocení vedoucího [.pdf] 86,99 kB

Reviewer’s report
Ing. Tomáš Goldmann, Ph.D.

Grade proposed by reviewer: A

File inserted by the reviewer Size
Posudek oponenta [.pdf] 128,46 kB

Responsibility: Mgr. et Mgr. Hana Odstrčilová