Skip to content

A x86-16 bit assembly-based operating system tutorial.

Notifications You must be signed in to change notification settings

normalgamer/Assembly-OS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Have you ever wanted to create an operating system, but you didn't know where to start? Well, congratulations, because you just found a tutorial that will teach you x86 16 bit assembly code, and one day you will be able to create your own operating system!

Why will we use assembly? Because it isn't hard to execute in a computer, is almost the most direct way to communicate with a computer, and being 16 bit assembly means our O.S. will be executable in any Intel computer (since the 8086 CPU, released in 1979). Maybe in one future we learn how to load a high level language code like C and make the code more understandable.

This tutorial is meant to be followed in order. If you jump to the 3rd chapter and don't know what mov ah, 0x0E means you will not understand anything. Try to understand what each line means; copy-pasting will not teach you anything.

What you will learn

  • Making your own bootloader.
  • Creating functions to print text.
  • Get user input.
  • Loading disk sectors to load your whole O.S.

In a future:

  • Creating files and folders from assembly.
  • Creating an assembly compiler inside the O.S.
  • Loading a C kernel.

About

A x86-16 bit assembly-based operating system tutorial.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published