4 ms·
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.csa
by copy 11y 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 http://css.csail.mit.edu/6.858/2014/readings/i386/toc.htm
The official intel manuals
http://sandpile.org/ http://sandpile.org/
http://ref.x86asm.net/geek.html http://ref.x86asm.net/geek.html
http://stanislavs.org/helppc/idx_hardware.html http://stanislavs.org/helppc/idx_hardware.html
http://www.ctyme.com/intr/int.htm http://www.ctyme.com/intr/int.htm
http://wiki.osdev.org/Main_Page http://wiki.osdev.org/Main_Page
- stephenboyd 11y agoIf 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.