Прерывания

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Прерывания

Сообщение SLIM » 02.06.2011 (Чт) 16:32

Вашпе не силен в asm-е.
Вопрос простой. Чем отличаются прерывания BIOS от прерываний DOS?
21H - это прерывание BIOS?
В двух словах если можно.
Пишите жизнь на чистовик.....переписать не удастся.....

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: Прерывания

Сообщение Twister » 02.06.2011 (Чт) 17:02

В двух словах:
Прерывания БИОС'а обслуживаются БИОС'ом. Прерывания DOS'а обслуживаются DOS'ом.
Считай что в ДОС'е прерывания выполняют ту же функцию, что WinAPI в винде.

Вектор прерывания 21H может обслуживаться и тем, и другим. Но в твоём контексте это DOS.
А я все практикую лечение травами...

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Прерывания

Сообщение SLIM » 02.06.2011 (Чт) 17:07

Это то понятно.
21h - это прерывание DOS как я понимаю?
Правда что прерывания до 20h - это прерывания BIOS?
Пишите жизнь на чистовик.....переписать не удастся.....

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: Прерывания

Сообщение Twister » 02.06.2011 (Чт) 17:21

А я все практикую лечение травами...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Прерывания

Сообщение Хакер » 02.06.2011 (Чт) 17:22

SLIM писал(а):Вашпе не силен в asm-е.
Вопрос простой. Чем отличаются прерывания BIOS от прерываний DOS?
21H - это прерывание BIOS?


Ох. int 21h — это всё равно что call, только адрес указывается не явно, а берётся из 21h-ой ячейки специальной таблицы. Кто записал свой адрес в таблицу, того будет прерывание. Запишет SLIM-OS, будет прерыванием SLIM-OS-а, а не DOS-а.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Прерывания

Сообщение Хакер » 02.06.2011 (Чт) 17:23

Twister писал(а):http://www.codenet.ru/progr/dos/

А это просто сборник ошибок.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: Прерывания

Сообщение Twister » 02.06.2011 (Чт) 17:25

А это просто сборник ошибок.
Да просто привел первое, что наглядно демонстрировало диапазоны прерываний. По-хорошему нужно идти и смотреть сюда.

* Хотя явных ошибок я не заметил. Ткнёшь?
А я все практикую лечение травами...

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Прерывания

Сообщение SLIM » 02.06.2011 (Чт) 22:33

Хакер писал(а):Ох. int 21h — это всё равно что call, только адрес указывается не явно, а берётся из 21h-ой ячейки специальной таблицы. Кто записал свой адрес в таблицу, того будет прерывание. Запишет SLIM-OS, будет прерыванием SLIM-OS-а, а не DOS-а.

Гуд.
Существует какой-то стандарт записи в эту таблицу? Например сначала идут такие-то прерывания, потом другие? И где эта таблица располагается?
Последний раз редактировалось SLIM 02.06.2011 (Чт) 22:44, всего редактировалось 1 раз.
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Прерывания

Сообщение Хакер » 02.06.2011 (Чт) 22:39

SLIM писал(а):Существует какой-то стандарт записи в эту таблицу.

Для каждой архитектуры это документ, определяющий архитектуру. Вообще, программный вызов прерывания — это только полдела и вообще не главное. Основная мысль в том, что аппаратное событие (вроде нажатия на клавиатуру) вызывает прерывания.

SLIM писал(а):И где эта таблица располагается?

В памяти. Расположение и формат зависит от режима, в котором работает процессор.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Прерывания

Сообщение SLIM » 02.06.2011 (Чт) 22:46

Хакер писал(а):В памяти. Расположение и формат зависит от режима, в котором работает процессор.

А конкретней? Располагается в памяти для общего пользования в единственном экземпляре?
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Прерывания

Сообщение Хакер » 02.06.2011 (Чт) 22:52

SLIM писал(а):А конкретней? Располагается в памяти для общего пользования в единственном экземпляре?

Зависит от режима. В реальном режиме — в самом начале памяти (начало по адресу 0000:0000), для общего пользования, да, в единственном экземпляре, да. В защищённом — надо уточнять контекст и смысл вопросов.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30

    TopList