00 is not NOP 90hex is NOP Normally, the start of code contains a 2 byte or 3 byte jump instruction
Why not just show us your code? On Mon, 8 May 2023, 21:10 Gijs Slijpen, <[email protected]> wrote: > 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 >
