This repo is serving as a playground for my learning of Operating System internals and x86 Assembly. Currently, the majority of these files revolve around the basics of 16-bit x86 boot sector programming, with the aim of getting to 32-bit mode - and eventually a primative kernel.
- Basics of 16-bit x86 Assembly
- Using BIOS inturrupt services
- Common instructions (mov, add, etc)
- Control Flow
- Functions
- The Stack
- Writing a Boot Sector
- Magic numbers
- Boot Sector Structure
- Create a diagram for this
- Write summaries of the above
In order to run the examples contained in this repo, you will need the NASM assembler to build the assembly into binary files, and the system emulator QEMU to load and run the generated binary images.
; nasm [Assembly filename].asm -f bin -o [Assembly filename].bin
; qemu-system-i386 -machine pc -drive file=[Assembly filename].bin,format=raw