These are just some notes and observations I had while implementing a non-preemptive kernel for an OS class assignment. These notes start from the screen driver which comes after finishing the boot loader, loading the kernel and jumping into it. The following assignment notes would not be helpful if you don't already have a working boot loader, but on the bright side, there's very little assembly moving forward.
This is a work in progress and open to comments