Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
49 / 33 / 9
Регистрация: 27.12.2017
Сообщений: 1,398
1

програмные прерывания

17.08.2019, 19:09. Показов 2298. Ответов 25
Метки нет (Все метки)

Как вызвать программное прерывание? Читаю книгу по системному программированию и в ней сейчас "прохожу тему" системных вызовов и там есть описание как они вызываются и обрабатываются ,так вот
Если программе нужно сделать системный вызов то она вызывает программное прерывание int со значением 0x80 ,далее вызывается обработчик прерываний ,для 0x80 обработчик системных вызовов и далее уже обрабатывается вызов.
Каким образом вызывается(или создается) программное прерывание?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2019, 19:09
Ответы с готовыми решениями:

Програмные требования
Допустим я создал в MS Visual Studio 2012 проект, зарелизил .exe, какие системные требовани будут у...

програмные файлы, что делать?
при после компиляции программы, если удалить папку debug, то прога не запускается, выдает ошибку,...

Как запустить програмные файлы
Со стороны, понимаю, вопрос кажется детским. Тем более, что если человек спрашивающий считает себя...

прерывания
можно ли создать такую программу, которая вообще никак не будет реагировать на прерывания? на...

25
49 / 33 / 9
Регистрация: 27.12.2017
Сообщений: 1,398
18.08.2019, 15:59  [ТС] 21
Renji, этот момент я понял,есть обработчик прерываний который выбирает что где и как включить,а как сам обработчик включается,как функция(или как ее назвать) int работает?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

2718 / 1883 / 558
Регистрация: 05.06.2014
Сообщений: 5,489
18.08.2019, 16:04 22
Цитата Сообщение от ReYalp Посмотреть сообщение
Renji, этот момент я понял,есть обработчик прерываний который выбирает что где и как включить,а как сам обработчик включается,как функция(или как ее назвать) int работает?
Читает из таблицы прерываний дескриптор шлюза и следует закодированным в нем инструкциям. Все одной процессорной командой. Это CISC архитектура, здесь нормально что на одной команде висит достаточно сложный алгоритм. Если вам нужна точная последовательность действий, это уже надо в доках на процессор смотреть.
1
49 / 33 / 9
Регистрация: 27.12.2017
Сообщений: 1,398
18.08.2019, 16:08  [ТС] 23
Renji, я думал команды в ассемблере что-то вроде "одичночных" команд,одна команда - одно действие,ладно,спасибо
0
2718 / 1883 / 558
Регистрация: 05.06.2014
Сообщений: 5,489
18.08.2019, 16:10 24
Цитата Сообщение от ReYalp Посмотреть сообщение
Renji, я думал команды в ассемблере что-то вроде "одичночных" команд,одна команда - одно действие,ладно,спасибо
А это уже RISC архитектура.
0
49 / 33 / 9
Регистрация: 27.12.2017
Сообщений: 1,398
18.08.2019, 16:17  [ТС] 25
Renji, а вообще, если эта команда реализована на ассемблере, то её значит можно и реализовать на С++? Только насколько я понимаю разработчикам компилятора это не нужно?
0
2718 / 1883 / 558
Регистрация: 05.06.2014
Сообщений: 5,489
18.08.2019, 16:50 26
Цитата Сообщение от ReYalp Посмотреть сообщение
Renji, а вообще, если эта команда реализована на ассемблере, то её значит можно и реализовать на С++?
Можно через ассемблерные вставки. Но будет не переносимо даже с компилятора на компилятор, так как никаких стандартов на эти вставки нет. Обычно для вызова системных функций все же используют стандартный API с сишным интерфейсом.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2019, 16:50

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Прерывания asm
Не могу использовать прерывания(int) в встроенном ассемблере. Вылезает ошибка доступа. Помогите...

Таблица векторов прерывания
Здравствуйте, на одном сайте видел следующую запись: static void (* near const _vect)(void)...

Условие прерывания цикла
Из-за чего происходит(условие прерывания) выход из цикла? Мои предположения что пока b не равно...

Механизм прерывания ввода
Ребят, передо мной стоит задание написать функцию, которая принимает в качестве аргумента...


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

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

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