Abstract | ||
---|---|---|
Learning an assembly language introduces students to important computing concepts such as the program stack and lays the conceptual groundwork for topics such as caching. While many instructors choose a RISC language such as MIPS for teaching assembly languages, the pervasiveness of x86-64 in both the desktop and server environments has compelled many instructors to adopt it in their courses. Unfortunately, x86-64 is a complex assembly language and as a result students often have difficulty understanding and visualizing the execution of an x86-64 program. This is especially the case for introductory level students, who struggle with the concepts of control flow; the difference between registers and memory; and memory organization (e.g. the stack).
While students can use debuggers (e.g. GDB) to help them step through the execution of a program and examine the program state, these tools are challenging to learn and are therefore not an ideal fit for introductory level students. This paper introduces Below C Level (BCL), an x86-64 open source simulator aimed at helping novices overcome the barriers to learning this challenging language. BCL offers an intuitive interface and many features that allow students to easily simulate x86-64 code snippets or programs. During simulation BCL helps students decipher individual instructions and visualizes the program stack and register file, allowing students to quickly trace through their program and gain a deeper understanding of x86-64 code.
|
Year | DOI | Venue |
---|---|---|
2019 | 10.1145/3304221.3319762 | Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education |
Keywords | DocType | ISBN |
assembly languages, computer systems education, gui, open source, simulator, x86-64 | Conference | 978-1-4503-6301-3 |
Citations | PageRank | References |
0 | 0.34 | 0 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Caitlin Fanning | 1 | 0 | 0.68 |
Saturnino Garcia | 2 | 311 | 20.48 |