Acknowledgments

The Lab assignments were originally developed by Sidney Cadot for the PowerPC architecture. The accompanying documents, two versions of the assignments, and a tutorial on PowerPC Assembly were also written by Sidney. Jonne Zutt maintained these documents over the years after Sidney left the university. In 2004, the decision was made to change the target architecture of the Lab course from the somewhat obscure PowerPC to the ubiquitous Intel x86 platform. The Lab course environment had to change accordingly: the carefully tweaked commercial IDE/PowerPC emulator running on Microsoft Windows was abandoned in favor of the GNU assembler and debugger, which are available on nearly every Linux distribution. Because of these changes, the assignments and the accompanying reference material were rewritten by Denis de Leeuw Duarte.

In 2005, a new curriculum was started, which transformed the old Lab into a more elaborate project for Software Technology students, while Media and Knowledge Technology students only had to do a trimmed-down version. The Manual was modified to match the new requirements by Bas van der Doorn and Sander Koning.

In 2011 and 2012, the Manual was further updated by Mihai Capotǎ and Alexandru Iosup and in 2013 and 2014 the Manual received a refresh and expansion by Otto Visser. Finally, in 2014 the decision was made to switch from the x86 to the x86-64 architecture, and the Manual was edited by Elvan Kula.

Until 2022, Tim Hegeman maintained the Lab Manual.

In 2022/2023, David Breitling and Paul Ellsiepen made all the examples and explanations independent of absolute addressing (PIE) and refreshed parts of the references and assignments. They also adapted the Manual to the newly developed Lab Framework, enabling the use of automated tests. Tiziano Coroneo extended this framework to make x86-64 development on Apple Silicon Macs possible.

Lennart Schulz continued the work of Paul Ellsiepen and David Breitling in 2023/2024. With the goal of facilitating the work of Teaching Assistants, the existing automated tests were greatly extended to cover more cases, and new tests were added for assignments that previously did not offer automated testing. Furthermore, the technical framework was greatly reworked into a unified approach configured to work with VS Code on all common platforms, including macOS on Apple Silicon. As part of this step, the assignment structure was further unified and many assignments were slightly altered for better consistency.

Many years of changes to the Lab Manual by several authors left it in a state that, while providing a lot of useful information, lacked consistency and structure. To remedy this situation and offer documentation material that encourages engagement with the Lab and the topic of Assembly programming as a whole, Lennart Schulz wrote a new Lab Manual in 2023/2024. Apart from its new form as a webpage (as opposed to a PDF document) and a new structure, also the content was greatly reworked. While some parts were adapted from the previous work, many sections were rewritten entirely from the ground up with only influences taken from the previous version of the Manual.

Last updated