Какие инструкции по сборке, живые в главной загрузочной записи?

Любопытный на предмет того, какие явные инструкции по сборке на самом деле составляют Главную загрузочную запись на архитектуре X86. Спасибо за любое понимание.

Другое приветствие архитектуры, но это, прежде всего, для X86.

5
задан iokevins 26 January 2010 в 19:41
поделиться

4 ответа

-

Если вы просто хотите избавиться от избыточного пробела, вы можете использовать:

>>> import re
>>> html_string = re.sub(r'\s\s+', ' ', html_string)

или:

>>> html_string = ' '.join(html_string.split())

, если вы хотите сделать что-то более сложное, чем просто зачистка лишнего пробела, Вам нужно будет использовать более мощные инструменты (или более сложные регенерации).

-121--3329774- [11429774-

Посмотрите здесь для расчетов MBR-загрузчик с Stage1 в Grub1: http://thestarman.pcministry.com/asm/mbr/grub.htm

4
ответ дан 18 December 2019 в 07:09
поделиться

Мастер загрузочный рекорд состоит из 512 байтов, последние два байта должны быть 0x55 0xaa. Это 510 байтов влево, записи таблицы раздела - 16 байт, при самых 4 записей таблицы раздела, которая составляет 64 байта. Здесь - это то, как выглядит запись раздела.

Что осталось 446 байтов кода ассемблера. Обычно первые несколько байтов состоит из записей идентификатора загрузочного идентификатора, описав данные диска загрузочного загрузчика, например, идентификатор, идентификатор системы, имя, но и несколько, то BIOS ожидает загрузочного кода на 0x000: 0x07C00, то он переместится ниже вниз в сегменте памяти. См. здесь для примерного учебника на загрузке загрузчиков. О этом есть подробный технический обзор на Wikibooks здесь .

Единственное, что вы должны быть осторожны, является ли код загрузчика, не должен превышать 446 байтов, в противном случае таблицы раздела навинчиваются и, следовательно, ошибка ошибки ошибки BIOS. Отсутствующая операционная система или похожая!

Написание загрузочного сектора Compilet Binary на диск включал в себя грязный и опасный способ прикручивать компьютер, обычно в рамках Linux команда будет похожа на:

# Assume that /dev/hda1 is the first hard disk then...
dd if=mybootldr.bin of=/dev/hda1 bs=512 cnt=1

, другой способ включает в себя использование программы редактора диска низкого уровня или Даже используя простой старый Debug.exe (найденный на старых MSDOS Diskettes) или даже с использованием Freedos .

C:\DEBUG.EXE mybootldr.bin 
-W 100 0 0 1 
-Q

Если я помню, DR.DOS (Digital Research DOS) соперник MS-DOS, использовал защиту паролем на коде загрузочного загрузчика до загрузки DR-DOS.

Отредактируйте: Если вам действительно любопытно, что касается того, как выглядит BIOS для 0x0000: 0x7C00, посмотрите на эту ссылку, в которой вы можете скачать оригинальный код BIOS IBM XT здесь .

Надеюсь, это поможет, С уважением, Том.

13
ответ дан 18 December 2019 в 07:09
поделиться

Люблю эти старые школьные темы ;-)

вот два ассемблера списка , потому что вы просите ясных инструкций по сборке

3
ответ дан 18 December 2019 в 07:09
поделиться

Вот игра Тетрис , написанная в сборке, которая помещается в загрузочный сектор x86. Я видел вариант, который загружал бы вашу обычную ОС только в том случае, если бы вы смогли заполнить десять строк.

2
ответ дан 18 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: