From mboxrd@z Thu Jan 1 00:00:00 1970 From: "greg andruk" To: <9fans@cse.psu.edu> Subject: RE: [9fans] Random Question Message-ID: <000001c200af$13da8500$0400a8c0@k0deZ> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit In-Reply-To: <8f6cf824.0205201813.34db153f@posting.google.com> Date: Tue, 21 May 2002 06:05:41 -0400 Topicbox-Message-UUID: 9888bdd0-eaca-11e9-9e20-41e7f4b1d025 Don wrote: > Heyas, > I just finished writing most of the MBR > for my Autumn OS and began reading through FS > documentation to help me develop my FS. Now.. an > intereting notion crossed my mind while reading > the FAT specification by Microsoft. If byte zero > of a BPB jmp_Boot is 0xEB (the preference is this > short jmp according to the specs) the third byte > _must_ be a NOP (0x90). Right. > Now, I remember reading > in several other operating system's comments > that some BIOS actually bail out if there isn't > a jmp short followed by a nop in the first three > bytes of code. Noone seemed to know why the > BIOS needed to see that nop there. It's historical identification cruft. 2 bytes of Short jump + Nop -> DOS 3 or later 3 bytes of near jump = DOS 2 DOS 1 didn't have a BPB structure. > Could this > have been a tactic used by Microsoft to attempt > to thwart other Operating Systems from occupying > an IBM PC? Doubtful; a documented 3 byte signature isn't much of a hurdle. > I mean, if the BIOS is designed to check > for a documented FAT specification, wouldn't that > be a clue that Microsoft coerced the manufacturers > to implement the check? Anyone out there have a > comment on this issue? Smells more like a buggy attempt to guess at what partitioning scheme might be in place. > Don