Hello,
For a while now I have been trying to get a boot loader written in Assembly to work on a
Dell Gateway 5000 and a Dell Latitude 5590 both have intel i5 processors. My boot loader
is a simpel one: it outputs the words "Hello World" to the screen. The code
works in a virtual machine that I have set up in Virtual Box. However, when trying it out
on a both of the machines mentioned before only “Hell” is being printed (maybe my
computer is trying to tell me something).
I figured out that if I use some padding in my boot loader right after the
first command (for example defining 24 bytes of 0) and then continue my code
the boot loader actually works on both my Dell machines but I do not know why.
Then, just today, I thought I’d have a look at the Grub boot loader boot.S file
to see whether I could get that to work on my Dell machines. Funny thing: I
found there are 25 nop’s in there right after the first instruction.
Would anyone maybe care to explain why this is? I have been looking around and
not been able to find any documentation on this yet, there is a chance that I
will find it in Intel’s software development manual but I thought I’d also ask
it here.
I am looking forward to a reply.
Thanks in advance!
Best regards,
Gijs Slijpen