Станислав писал(а):
Я говорю про первый сектор который видит биус и считает его загрузочным.
В програме dmde-free-2.2.2-win32-gui сектора тоже начинаются с этого сектора, скрытые он ни как не показывает, хотя говорит о них, но доступа не дает к ним или я не все функции посмотрел, может быть там можно открыть их тогда отсчет пойдет от первого, надо посмотреть. А функция 42 видимо более продвинутая. Т.е. биус тоже прибавляет скрытые.
Ты физический диск открывай, а не логический том, тогда собственно и получится нумерация секторов, какая она есть на самом деле. BIOS'ы и их настройки конечно разные бывают, но из того, что ты сказал ранее, можно сделать вывод, что в данном случае BIOS дает доступ ко всему физическому диску, а вот пишешь ты на диск, используя доступ через логический том.
Цитата:
Если вы вкурсе подскажите при переходе в зашишеный режим адрес на буфер 0:07E00 останится тотже.
Можно будет объявить источник например esi 07E00, а приёмник adi например 1E8480=2000000байт
и копировать какой лучше командой?
Все вопросы, которые ты здесь поднимаешь, многократно освещены, в том числе и на страницах данного форума (плюс вики). Настоящий системщик так не делает: "будем надеяться, что память по адресу 0x1E8480 есть и доступна". Он делает так: "нужно получить список доступных участков дополнительной памяти, после чего выбрать подходящий по размеру участок" или, что еще лучше, "даже если дополнительная память фрагментирована, включить пэйджинг и с использованием дополнительной памяти собрать непрерывный участок виртуальной памяти нужного размера, если памяти в принципе достаточно". Я к примеру до упора заполняю базовую память, потом переключаюсь в защищенный режим, включаю пейджинг и выполняю копирование, больше не возвращаясь в реальный режим. Мне достаточно кода размером порядка 600 кб (на самом деле сейчас значительно меньше), чтобы выполнять дальнейшую "раскрутку" исключительно в защищенном режиме. Команда rep movsd.