Adventures in assembler and operating system design.
This version uses GNU Assembler and so I have translated the NASM code as required. Much of the code around OS is using NASM as the assembler. The reason for translating is to ensure I know why its doing what its doing and to help me not just copy and paste.
TODO
See lesson 1 readme.
Before running bochs you will need to have the BXSHARE set to the directory where the Bochs images are stored.
source bochs.env
See lesson 1 readme.
Here are some of the useful GDB commands I have used while debugging these examples.
layout asm # to see the assembler
br *0x7c00 # break at start of bootloader
c # continue to next breakpoint
si # step 1 instruction forward
target remote localhost:1234 # connect to QEMU remote debugging server