Что такое прерывания в ассемблере?







+3 +/-
Профиль пользователя Ananias Спросил: Ananias  (рейтинг 26979) Категория: образование

Ответов: 1

1 +/-

Прерываниями называются подпрограммы компьютера, написанные в машинных кодах и вызывающиеся двумя путями:

1 Если совершено какое-то действие, которое должно как-то обработаться системой (проанализироваться). Например нажатие на кнопку клавиатуры или мыши, движение мыши, переполнение при делении на ноль, перегрев и так далее. Такие прерывания обычно по-английски обозначаются как Intr. Поэтому они и называются прерываниями, так как при совершении определённого действия, их вызывающего, действие работы программ, выполняющихся в данный момент прерывается и происходит переход на адрес, где находится подпрограмма прерывания. В определённых ячейках памяти находятся указатели, в которых записан адрес, куда нужно перейти в случае прерывания. Процессор извлекает оттуда адрес и переходит на него, как бы входя в подпрограмму. После завершения обработки прерывания, процессор выходит из неё посредством команды ret (от слова return - возвращение) и возобновляет (продолжает) выполнение программы, которая была прервана.

2 Можно искусственно (программно) вызвать выполнение прерывания с помощью команды Int. Например в 16-разрядных процессорах командой Int 10h можно было войти в подпрограммы, где можно было выводить тексты и графику на экран, а командой Int 21h вызвать функции системы Ms-Dos (работа с файлами, экраном, com-портами и клавиатурой). Сейчас используются 32 и 64 разрядные процессоры. Там всё несколько иначе, поэтому программировать нужно по-другому (лучше вообще не заморачиваться над прерываниями, а использовать профессиональные языки программирования, например Visual Studio, Borland C++ Builder, Delphi или Java).

Ответил на вопрос: Griddle  

Похожие вопросы

Спросил
1 Отв.
Кому нравится программировать на Ассемблере?
Ответ: Мне нравилось в детстве программировать в кодах PDP-11 (у меня был УКНЦ). Прямо из пультового терминала восьмиричными цифрами -- коды в голове -- помнить ... Читать далее...
Автор вопроса: Dominate, в категории | | | | |
Спросил Dominate
3 Отв.
Как написать программу дешифратора на ассемблере для микроконтроллера?
Ответ: Сам я в дешифровании не разбираюсь (может потому, что нет в этом нужды, поэтому и не изучал усиленно, а посмотрев в книге бегло, особо не разобрался), ... Читать далее...
Автор вопроса: Cosmetic, в категории | | | |