Re: Help on understanding mbr.S

2011-09-25 Thread Alan Cheng
On Fri, Sep 23, 2011 at 11:24 AM, Daniel Dickman didick...@gmail.comwrote: 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

Re: Help on understanding mbr.S

2011-09-25 Thread Alan Cheng
Thanks Bryan. Your explanation makes things a lot clearer to me. As mentioned in my reply to Daniel, I not cannot figure out why $1f will be . On Fri, Sep 23, 2011 at 12:05 PM, Brynet bry...@gmail.com wrote: One of the first things an MBR does is do a long jump from where the BIOS loaded

Help on understanding mbr.S

2011-09-22 Thread Alan Cheng
Hello, Not sure if this is the right place to request help for this, but I'm reading mbr.S file (i386 arch), but could not figure out what the function is for the line that reads 1:. The code below that line is setting up statck, but why do we need this line? and there are more than one line that

Re: Help on understanding mbr.S

2011-09-22 Thread Daniel Dickman
The 1: is the target for the preceding ljmp instruction. This is a local label. Reference here: http://sourceware.org/binutils/docs/as/Symbol-Names.html#Symbol-Names The reason the ljmp is needed in the first place is because In real mode there are multiple ways to refer to the same memory

Re: Help on understanding mbr.S

2011-09-22 Thread Brynet
One of the first things an MBR does is do a long jump from where the BIOS loaded it. The thing is, often you can't trust the BIOS to do the right thing, the x86 in 16-bit real mode uses segmented memory, so you may be at :07C0 or 7C00: depending on the implementation. If you read the