Hacker News new | ask | show | jobs
by copy 3775 days ago
First you write a disassembler, then an interpreter for 16 bit mode. At that point you can already almost run FreeDOS.

Here are some resources:

http://css.csail.mit.edu/6.858/2014/readings/i386/toc.htm

The official intel manuals

http://sandpile.org/

http://ref.x86asm.net/geek.html

http://stanislavs.org/helppc/idx_hardware.html

http://www.ctyme.com/intr/int.htm

http://wiki.osdev.org/Main_Page

1 comments

If the reference manuals are overwhelming, I'd recommend to start by reading Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. It covers how computers work for a general audience, from logic gates and boolean algebra, up to assembly, opcodes on the Intel 8080 processor, and how operating systems work. It was one of the most consequential books I've read, and I'd recommend it to both professional programmers and anyone else who is intellectually curious.