Есть небольшой бинарник, размером ровно 512 байт. Сейчас он выводит просто hello world. Если этот бинарник указывать в качестве образа дискеты в vmware и грузить виртуальную машину с дискеты, то все работает - то есть выполняются эти самые 512 байт. А вот если этот бинарник переносить на дискету и пытаться загрузить уже реальную машину с дискеты, то загрузиться не получается. Говорит, мол, инвалид бут диск и все тут. Ровно так же, как и другие эмуляторы. эти 512 байт на дискету переносил с помощью rawwrite под виндовсом. Потом проверял - они, как и положено, располагаются в самом начале дискеты, ровно 512 байт. Но грузиться все равно не хочет. В чем грабли?
Вот именно такая и присутствует. НО! 1. Сигнатура должна быть 55 AA. Байты именно в таком порядке. При этом в сети куча мануалов с неправильной информацией. 2. vmware на сигнатуру не обращает внимания. Собственно она меня и ввела в заблуждение, я то думал, что все работает до того момента, пока не решил попробовать все это дело на живой машине.
Да, но если говорить про word, то это будет 0xAA55 -- Intel использует Little Endian, поэтому число "младший байт к старшему от младшего адреса к старшему". М.б. проблема в этом?