Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
reuto-sergej
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 48
1

Изменение таблицы векторов прерываний

27.05.2012, 13:50. Просмотров 1272. Ответов 13
Метки нет (Все метки)

можете скинуть статью об изменение таблицы векторов прерываний и о приоритетах прерываний в FASM. или расскажите. за ранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 13:50
Ответы с готовыми решениями:

Таблица векторов прерываний
Мне нужно вывести таблицу векторов прерываний на экран. Обращаюсь к вектору функцией 35h (mov...

Определить количество векторов прерываний проинициализировано адресами процедур обработки
Определить какое количество векторов прерываний проинициализировано адресами процедур обработки,...

Вывод таблицы векторов прерывания не используя int 21H
Нужно вывести на экран Ms DOs таблицу векторов прерывания НЕ используя int 21H! так что я...

Таблица векторов прерываний
Здравствуйте, задали курсач на тему, написать модуль ядра который выводит таблицу векторов...

Какие функции прерываний используются в обработчике прерываний от клавиатуры?
Под функциями же имеется ввиду int ..h?

13
programmisto
92 / 137 / 0
Регистрация: 15.04.2012
Сообщений: 1,032
27.05.2012, 13:54 2
reuto-sergej,
Вектора прерываний находятся в памяти по адресу 0000:0000 и вектор каждого прерывания занимает 4 байта. Вначале смещение, а потом сегмент. Перед изменением напрямую следует заблокировать прерывания, а после разрешить. При использовании Fn 35h это делает дося.
1
reuto-sergej
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 48
27.05.2012, 14:09  [ТС] 3
а приоритетах прирываний можете рассказать
0
programmisto
92 / 137 / 0
Регистрация: 15.04.2012
Сообщений: 1,032
27.05.2012, 14:20 4
Цитата Сообщение от reuto-sergej Посмотреть сообщение
а приоритетах прирываний можете рассказать
Нет, я не знаю про это. Может кто-нить другой ответит. Мне то же интересно.
0
27.05.2012, 14:20
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
27.05.2012, 16:02 5
У аппаратных прерываний с повышением IRQ уменьшается приоритет (наивысший у таймера, затем клава и т.д.) а у программных прерываний нет приоритета, какое камень встретил прерывание, такую ПОПу и включает.
1
Subrealist
149 / 46 / 3
Регистрация: 28.05.2012
Сообщений: 115
29.05.2012, 00:23 6
При желании приоритеты прерываний можно изменить.
Довольно подробная статья по теме
http://ru.osdev.wikia.com/wiki/Прогр...BD.D0.B8.D0.B9
И вот из книги Юрова с разобранным примером и небольшими экспериментами вокруг него:
http://www.piter-press.ru/attachment...047&at=exc&n=0
0
reuto-sergej
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 48
29.05.2012, 11:14  [ТС] 7
А как будет выглядеть изменение векторов прерывания для первого прерывания.что куда будет записываться
0
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
29.05.2012, 11:35 8
Цитата Сообщение от reuto-sergej Посмотреть сообщение
как будет выглядеть изменение векторов прерывания для первого прерывания
для int 1h?? а нафига он тебе?? ты отладчик пишешь??

Добавлено через 29 секунд
или ты про IRQ1??
0
reuto-sergej
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 48
29.05.2012, 11:40  [ТС] 9
Для IRQ 1
0
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
29.05.2012, 11:56 10
reuto-sergej, вот тут два резидентных обработчика клавы

Добавлено через 10 минут
reuto-sergej, если надо, могу написать обработчик IRQ1, который заменяет циклически пробел на цифры от 0 до 9...
0
reuto-sergej
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 48
29.05.2012, 12:10  [ТС] 11
Можно на словах объяснить как это происходит. Что и куда записывается
0
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
29.05.2012, 14:18 12
reuto-sergej, тут почитай
0
reuto-sergej
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 48
03.06.2012, 12:38  [ТС] 13
для прерывания int 1h как будет выглядеть. что куда записывается. и по каким адресам. помогите пожалуйста а то я лабораторную не сдам. меня препод вопросами закидал

Добавлено через 12 часов 38 минут
Цитата Сообщение от Fatal Error Посмотреть сообщение
для int 1h?? а нафига он тебе?? ты отладчик пишешь??

Добавлено через 29 секунд
или ты про IRQ1??
для int 1h. мне просто вопрос пепод задал
0
Anonimys
202 / 168 / 11
Регистрация: 30.05.2012
Сообщений: 703
03.06.2012, 12:47 14
Цитата Сообщение от reuto-sergej Посмотреть сообщение
для int 1h.
Итак, вот так скажешь:
Функция 25h, поэтому
Assembler
1
 mov ah,25h
Прерывание 1, поэтому
Assembler
1
mov al,1
Упрощаем:
Assembler
1
mov ax,2501h
Задаем адрес обрабочика:
Assembler
1
lea dx,Obrabotzic
В результате DSX указывает на обработчик прерывания.
И вызываем сервис ДОС:
Assembler
1
int 21h
Итак, весь код:
Assembler
1
2
3
mov ax,2501h
lea dx,Obrabotzic
int 21h
0
03.06.2012, 12:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 12:47

F030 - перенос таблицы векторов прерываний в SRAM
Решил запилить для F030 мелкий бутлоадер. В бутлоадере сделал переход на основное приложение, все...

Stm32f103c8 перенос векторов прерываний
Добрый день, написал самый обычный код в KEIL UVISION с миганием диода и установкой прерывания...

Где посмотреть таблицу векторов прерываний?
Доброго времени суток. Собственно, вопрос в заголовке темы - откуда брать таблицу? В datasheet'е не...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru