Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921

Размер boot сектора не совпадает

12.06.2023, 17:04. Показов 3638. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Конец моего бут сектора выглядит так (пишу на MASM)

Assembler
1
2
3
4
5
6
    ;db 510-($-$START) dup (0)
 
    dw 0AA55h
 
CODE    ENDS
    END $START
Компилирую без ошибок, открываю файл бут сектора в программе SublimeText - последняя строка на 29 позиции см. скрин ниже:



Как понятно загрузочный сектор должен быть 512 байт, т.е. 32 строки SublimeText, я добавляю в конец моего asm файла следующее:

Assembler
1
2
3
4
5
6
       db 510-($-$START) dup (0)
 
    dw 0AA55h
 
CODE    ENDS
    END $START

Предыдущий код такой

Assembler
1
2
3
4
5
6
7
8
9
10
CODE    SEGMENT     USE16
    ASSUME CS:CODE,DS:NOTHING,ES:NOTHING,SS:NOTHING
    ORG 7С00h
 
 
    Public $START
$START:
            
    jmp Main    
;---------------далее код бут сектора
Вобщим этот код компилирую - не компилируется выдает ошибку в 473 строке кода error A2092 count must be positive or zero

То есть выходит я в SublimeText увидел только 29 строк кода а не 32 (512 байт) то есть файл меньше 512 байт и говорит что позиция отрицательная не может скомпилировать код. Почему это может быть?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.06.2023, 17:04
Ответы с готовыми решениями:

Считывание Boot сектора DOS
Подскажите, пожалуйста. Необходимо считать boot сектор dos и определить какой по счету сектор, с которого начинается корневой директорий....

Считывание Boot сектора DOSBox
Здравствуйте! Изучаю ассемблер по книге "П. И. Рудаков, К. Г. Финогенов 2001 ЯЗЫК АССЕМБЛЕРА - УРОКИ ПРОГРАММИРОВАНИЯ". Пример -...

Формат boot-сектора NTFS
Расскажите, пожалуйста, какой формат у загрузочного сектора NTFS. Прочитал загрузочный сектор, а там вначале не Jmp идет а коды 33 С0.

20
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
21.06.2023, 07:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kurlyak Посмотреть сообщение
сигнатура 0xAA55 не на 512 байте заканчивается. И грузиться образ. Проверял на VirtualBox.
VirtualBox тоже не проверяет образы дискет и CD на эту сигнатуру.
https://www.virtualbox.org/bro... oot.c#L330
C++
1
2
3
4
5
6
7
8
9
10
11
    // There is *no* requirement whatsoever for a valid floppy boot sector
    // to have a 55AAh signature. UNIX boot floppies typically have no such
    // signature. In general, it is impossible to tell a valid bootsector
    // from an invalid one.
    // NB: It is somewhat common for failed OS installs to have the
    // 0x55AA signature and a valid partition table but zeros in the
    // rest of the boot sector. We do a quick check by comparing the first
    // and third word of boot sector; if identical, the boot sector is
    // extremely unlikely to be valid.
    if (bootdrv != 0) bootchk = 0;
    else bootchk = 1; /* disable 0x55AA signature check on drive A: */
C++
1
2
3
4
5
6
7
8
9
10
11
12
#if BX_ELTORITO_BOOT
    // if boot from cd, no signature check
    if (bootcd != 0)
        bootchk = 1;
#endif // BX_ELTORITO_BOOT
 
    if (read_word(bootseg,0) == read_word(bootseg,4)
      || (bootchk == 0 && read_word(bootseg,0x1fe) != 0xaa55))
    {
        print_boot_failure(bootcd, bootlan, bootdrv, 0, lastdrive);
        return 0x00000000;
    }
Тогда зачем мы её добавляем?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2023, 07:52

Считывание Boot сектора DOS
Подскажите, пожалуйста. Необходимо считать boot сектор dos и определить какой по счету сектор, с которого начинается корневой директорий....

Загрузка (Boot) c загрузочного сектора виндовса
Вместо загрузки с жесткого диска ( такая опция пропала в boot), операционная система грузится с загрузочного сектора windows. Проблема в...

Как проверить размер файла, сравнить его с тем, что лежит на хостинге и, если не совпадает размер, докачать его?
Добрый день, не так давно я начал изучать C# и хотелось бы узнать, как проверить размер обычного файла, сравнить его с тем что лежит на...

Размер сектора на различных НЖМД
Здравствуйте. Суть вопроса заключается в следующем. Имеется оригинальный НЖМД с размером сектора 512 (емкость 250 ГБ), и НЖМД с размером...

Размер кулера не совпадает
День добрый. Решил прикупить себе кулер на системный блок. Снял размер - 92мм. Пошёл в магазин, купил zm f2 fdb sf...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru