мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| asm:lesson4 [06/10/2010 19:50] – arabusov | asm:lesson4 [19/10/2010 20:00] (текущий) – ybezrukov | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== Урок 4 ====== | ||
| + | |||
| + | |||
| + | ===== Процедуры и оператор CALL ===== | ||
| + | |||
| + | Типичный синтаксис процедуры: | ||
| + | < | ||
| + | |||
| + | NAME PROC FAR | ||
| + | . | ||
| + | . | ||
| + | NAME ENDP | ||
| + | </ | ||
| + | Операнд FAR информирует систему о том, что данный адрес явля | ||
| + | ется точкой входа для выполнения, | ||
| + | ет конец процедуры. Кодовый сегмент, | ||
| + | любое | ||
| + | PROC и ENDP. Типичная организация многопроцедурной программы | ||
| + | приведена на рис. 7.3. | ||
| + | Обратите внимание на следующие особенности: | ||
| + | |||
| + | * директивы PROC по меткам | ||
| + | для указания того, | ||
| + | этот операнд опущен, | ||
| + | принимает тип NEAR. | ||
| + | * Каждая | ||
| + | * Команда RET всегда | ||
| + | Использование процедур дает | ||
| + | для команды CALL могут иметь значения, | ||
| + | Технически управление | ||
| + | |||
| + | ===== Прерывания ===== | ||
| Для обработки событий, | Для обработки событий, | ||
| Кроме асинхронных событий прерывание может быть вызвано из программы командой | Кроме асинхронных событий прерывание может быть вызвано из программы командой | ||
| - | int //номер_прерывания// | + | int |
| - | + | где номер_прерывания - число от нуля до 255 (в компьютере IBM PC возможны лишь 256 различных процедур обработки прерываний). Каждому номеру сопоставляется адрес обработчика прерывания и внешнее событие, | |
| + | В MS-DOS прерывания используются для выполнения системных функций. Для того, чтоюы вызвать функцию DOS, нужно заполнить регистры общего назначения и выполнить команду int 21h. Подробна каждая функция описана в справочниках. Вот один из них: | ||
| http:// | http:// | ||