SylvanB / sylvan-os-dev

A playground for learning Operating System and Kernel Development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learning OS-Dev: Boot Sector Programming & x86 Assembly

Overview

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.

Progress

  • 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

Usage

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.

From Assembly -> Binary files

; nasm [Assembly filename].asm -f bin -o [Assembly filename].bin

Run Binary with QEMU

; qemu-system-i386 -machine pc -drive file=[Assembly filename].bin,format=raw

Resources

About

A playground for learning Operating System and Kernel Development


Languages

Language:Assembly 100.0%