|
Asm/C++/Delphi/Py/PHP/VBA
|
|
MBR и прочие радости жёсткого диска30.06.2018, 16:48. Показов 8818. Ответов 50
Метки нет (Все метки)
Всем привет!
Возникло несколько вопросов, но смежных (про геометрию жёстких дисков и загрузочные области), к тому же, предполагающих простые ответы, поэтому буду спрашивать в одной теме... ![]() 1. Все ли диски имеют 63 сектора на дорожке? Или бывает меньше? 2. Всегда ли между MBR и первым разделом расстояние минимум 63 сектора (т.е. 62 сектора между ними)? Или бывает меньше (в каких-то системах)? 3. Возможно ли установить винду на диск с размером сектора, не равным 512 байт (и вообще, встречаются ли такие жёсткие диски?) 4. Встречается ли между MBR и первым разделом не нулевые заполнители, а какие-либо другие (скажем, из символов 255 или в виде повторяющихся слов а-ля 0x8000)? Кроме секторов со служебными данными, естественно. 5. Можно ли установить и успешно загружать винду с USB, имеющим формат не HDD-USB, а FDD-USB, т.е. с boot-сектором в начале, а не MBR? Полагаю, что как минимум Win95/98 можно.
2
|
|
| 30.06.2018, 16:48 | |
|
Ответы с готовыми решениями:
50
Считывание MBR жесткого диска Вероятно, повредил MBR жёсткого диска
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||||||||||||
| 08.07.2018, 13:45 | |||||||||||||
|
Я когда свой Форт на fasm-е писал мне было нужно постоянно перемещаться в накомпилированном образе. Даже макросы насоздавал типа
1
|
|||||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||||||||||||||||||||
| 08.07.2018, 14:46 [ТС] | ||||||||||||||||||||||||||
|
Но это, ИМХО, вопрос того, насколько ты хорошо знаешь синтаксис fasm'а. times O-$ db 0 или db O-$ dup 0 (работает побыстрее) или даже rb O-$ (если дальше есть код) ![]() align 8, правда заполняет он nop'ами ![]() Но если надо нули, можно так (даже описано в документации):
Ну или: macro aligndata x { rb (x - $ mod x) mod x } (тут можно хоть aligndata 7 написать )Или: macro aligndata x,y=? { db (x - $ mod x) mod x dup y } (второй параметр – заполнитель, по умолчанию – ?)Или даже macro aligndata n=2, shift=0, rel=$$, chr=? { db (n - ($-rel-shift) mod n) mod n dup chr } – делает выравнивание по n относительно rel со сдвигом shift, заполняя символами chr. Например, aligndata 256,-1,x,0 или aligndata 15,,,0x90 или aligndata 512,-2+db 0x55,0xAA ![]() А вот в TASM/MASM с макросами реальный ужас!!! Да и со смещениями бывает тоже. Иногда он просто не хочет вычитать один адрес из другого или складывать их, приходится изобретать какие-то ужасные конструкции. Либо вообще писать не так, как хочется (больше инструкций, чем можно было бы). А вместо org 600h мне приходилось писатьMBRShift = 0600h-($-Start+100h) (где $-Start+100h - это особенная фишка TASM'а) и потом добавлять к каждой переменной этот MBRShift.В fasm мне не нравится то, что нельзя перемещаться назад, т.е. типа:
macro .org x { rb x-$ } и не паришься. Или macro .org n, chr=? { db n-$ dup chr }А в TASM/MASM таких кусков нет, хочешь сказать? ![]() У fasm есть много уникальный вещей типа импортирования файла данных через file 'data.bin'.Или возможность шифрования получаемого бинарника ( load, store, я недавно видел код шифрования AES'ом через макросы, load/store'ы).А также можно создавать файлы данных:
if used вообще класс (который используется в макросах proc, кстати!)и пр. Добавлено через 3 минуты Главное – хорошенько изучить fasm и всё будет ок ![]() Добавлено через 24 минуты Да и вместо link (5.12) нужно использовать link16. А что за /NOL и /NOI ?
1
|
||||||||||||||||||||||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||||||
| 08.07.2018, 16:34 | |||||||
|
Но это плата за промежуточное объектное представление, которого у FASM-а нет. Но зато вместо db 0600h-($-Start+100h) dup (0) можно сразу писать org 600h Добавлено через 38 минут
Добавлено через 11 минут Это я к тому, что MASM/TASM-овская идея org-ом перемещаться в двоичном образе продуктивнее, чем NASM/FASM-овская идея org-ом влиять только на генерируемые в коде ассемблируемых инструкций смещения. Я не говорил за то, что FASM хуже вообще, я вообще в священных войнах не участвую. FASM именно в идеологии ORG хуже (иногда даже как серпом по яйцам хуже, так-что на ином полете фантазии приходится ставить крест). Я только про это говорил. Не про FASM или TASM вообще.
1
|
|||||||
|
780 / 412 / 75
Регистрация: 29.03.2013
Сообщений: 854
|
|||
| 08.07.2018, 17:17 | |||
|
Добавлено через 4 минуты Не по теме: Он, ЕМНИП, последний мог работать в чистом DOS. Следующим версиям windows command prompt подавай для работы.
2
|
|||
|
Модератор
|
||
| 07.08.2018, 11:04 | ||
|
Хотя эти радости в Вашем случае, вероятно, не интересны.
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 07.08.2018, 17:24 [ТС] | |
|
Тут речь о загрузчике, либо программе, запускаемой из MBR-кода.
Так что с файликом несколько напряжно. В любом случае его ещё прочитать надо, а при 4K-секторах не совсем понятно как правильно эти секторы читать.
1
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 09.08.2018, 09:33 [ТС] | |
|
1
|
|
| 09.08.2018, 09:33 | |
|
Smartsputnik и прочие прилагаемые радости Куча была повреждена и прочие радости DOS виснет на int 13h при чтении MBR жесткого диска
Ремонт логической "части" жёсткого диска, перезапись MBR и восстановление Partition Table Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|