Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 03.08.2019
Сообщений: 8
1
MASM

Чтение сектора с MBR (int13h AH=02h) возвращает пустой буфер

21.12.2019, 23:23. Показов 6610. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте Народ!!! Недавно начал изучать MASM, столкнулся проблемой. Не могу считать в буфер данные с HDD диска, а именно загрузочный сектор, с помощью int13h функция mov AH,02h . В буфере пусто. Установлена win7 32x. Использую DOSBox.
Подскажите пожалуйста, спросить больше негде. Никто из моих знакомых совершенно не знаком с программированием.


Пример программы:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CSEG segment
org 100h
 
_Start:
 
jmp Init   ;читаю загрузочный сектор MBR
 
Buffer db 512 dup (?) ;задаем место для буфера
 
Init:
 
mov ah,02h  ;номер dos-функции чтения секторов hdd
mov al,01h ;число считываемых секторов
mov ch,00   ;номер цилиндра
mov cl,01h   ;номер начального сектора
mov dh,00   ;номер головки
mov dl,80h   ; hdd диск 80-FFh (???)
mov bx,offset Buffer
int 13h   
int 20h
 
CSEG ends
end _Start
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2019, 23:23
Ответы с готовыми решениями:

Правильно задать буфер для ввода строки (02h)
Объясните пожалуйста подробно почему объявление буфера имеет именно такой вид buff db 255,?,255...

Victoria 5. отключил MBR OFF, после повторного включения MBR ON и перегрузки остается MBR OFF. В системе - unlocated
Приветствую Вас :) Такая беда: - работаю с идешкой PHPStorm. После одной запары стала...

Откуда берется код "родного" MBR из нулевого сектора, если туда записан другой загрузчик
Без всяких разделов, на виртуалке все работает без проблем. Даже купила для экспериментов HDD IDE...

Узнать пустой ли буфер
Здравствуйте, как определить пустой ли буфер? Заранее благодарен.

21
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
30.12.2019, 23:24 21
Лучший ответ Сообщение было отмечено VovaCH как решение

Решение

Author24 — интернет-сервис помощи студентам
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
попробуйте работать из виртуальной машины, а не из эмулятора.
Без разницы, что используется (если это Win 7-32), ОСь к харду не пускает(см выше).

Добавлено через 20 минут
Цитата Сообщение от VovaCH Посмотреть сообщение
Предполагаю
В защищенном режиме ОСь практически копирует BIOS : перенося работу с портами HDD в "себя"( иммено на этом строится работа всей ОСи при работе с внешними устройствами) в кольцо "0", при этом блокируя любую попытку с "3" кольца использовать некоторые команды.
2
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
31.12.2019, 11:30 22
Лучший ответ Сообщение было отмечено VovaCH как решение

Решение

Мы же не знаем, что нужно топикстартеру - для лабы вывести хоть какой-то корректный дамп или он желает в настоящей Windows что-то сделать с MBR.

Для лабы я и советую настоящее железо или виртуальную машину взамен эмулятора DOSBox.

Для доступа из Windows совет дал
Цитата Сообщение от Argogo Посмотреть сообщение
Если очень хочется прочитать MBR из-под Windows, то использовать придётся WinAPI (CreateFileA/ReadFile с именем "\\.\PhysicalDrive0",0 для первого жесткого диска в системе, подробности в описании функции).
1
31.12.2019, 11:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.12.2019, 11:30
Помогаю со студенческими работами здесь

Чтение mbr и gpt
Есть программа (не моя) которая вроде-как читает и то и то у какого-то файла. Я хочу читать mbr и...

Непонятность с ServerSocket: пустой буфер
Привет ! Есть такой кусочек кода /простой http server/: m_newSock = m_srvSock.accept(); ...

Чтение MBR и вывод информации о диске
Всем привет! Есть задача, как делать - хз) Написать программу на языке С, которая, используя...

Чтение mbr диска - Сдвиг на 1 байт
вобщем имеется образ жестака от виртуалки сконвертированный в бинарь. пытаюсь прочитать его mbr,...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru