Bare Metal Programming
High-level languages are a blessing to programmers, but sometimes they leaves us feeling divorced from the actual hardware, especially as operating systems become increasingly complicated. When it seems as if the only way that a modern program does anything is by pulling on giant levers connected to fantastically complicated machinery hidden inside distant black boxes, programmers throughout history have banished this sense of frustration by setting aside their compilers and writing programs directly in the lowest level available to us – assembly language.
Occasionally there is a real need for working in assembly. However, sometimes people write assembly programs just for sheer fun of it – to meet the challenge of making working programs with no intermediary layer, or just to understand what can be done when the compiler’s not around to stop you.
In this talk, I’ll show you how to get started on writing assembly programs for Linux, introduce some of the popular tooling, and demonstrate some of the many ways assembly programming can liven up your recreational programming.
Brian Raiter is a professional software engineer, and a long-standing recreational programmer.