On Fri, Sep 23, 2011 at 11:24 AM, Daniel Dickman <didick...@gmail.com>wrote: > > What are you trying to do though? Working with x86 in real mode and dealing > with ancient PC conventions is probably not the easiest place to start.
I'm trying to learn how kernel (or OS) works. I went through a couple of books on OS design and implementation and think I know some general rules on OS, now I'm reading the source code to learn the details. Thanks Daniel for the explanation. I went over the links you posted, and that gives me a better understanding of what the "1:" is and local labels in general. A follow up question, though: So "ljmp $BOOTSEC, $1f" is used to set seg:offset to 07C0:0000. While $BOOTSEC is defined to be 07C0, why "$1f" is guaranteed to be "0000", isn't it something volatile?