Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
The amount of instances where you're relying on uninitialized data and registers is actually not funny at all: DS, ES, SS, SP, SI. It's as if you just randomly smashed together the code as a demonstration of effort and then come here to get more.
You are aware of the Required Knowledge rule? Your debugging skills need a lot of improvement.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Did you even try to understand what I said? Since I now need to debug a problem between keyboard and chair, tell me, what did I mean?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
m12 wrote:I'm guessing that your telling me that the segment registers are in the stack, so I need to set the stack in order to use them?
You are in a freestanding environment. There is no (sane) stack until you have initialised it and the segment registers do not contain (sane) values until you have initialised them. The values you load will depend on how you plan to do your real mode addressing.
I'm not going to spoonfeed you segment register values - a hint for suitable search terms would be along the lines of "segment:offset addressing", "real mode addressing" etc.
Theres also (IIRC) a decent tutorial on Bona Fide OS Development on the state of the PC after the BIOS hands your bootloader control.