Handling Exceptions

1 · Philipp Oppermann · March 26, 2017, midnight
In this post, we start exploring CPU exceptions. Exceptions occur in various erroneous situations, for example when accessing an invalid memory address or when dividing by zero. To catch them, we have to set up an interrupt descriptor table that provides handler functions. At the end of this post, our kernel will be able to catch breakpoint exceptions and to resume normal execution afterwards. As always, the complete source code is available on GitHub. Please file issues for any problems, quest...