русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Процедура MsDos


Дата добавления: 2015-06-12; просмотров: 540; Нарушение авторских прав


Процедура MsDos (VAR R: Registers) реализует частный случай вызова Intr( N, R ) для N = 33 (21Н). Эта процедура вызывает и выполняет одну из функций DOS прерывания с номером 21Н. Каждая функция имеет свой набор входных значений регистров в {373}

USES DOS; {Печать экрана на принтере, как при нажатии Shift+PrtScr} PROCEDURE PrintScreen; VAR R : Registers; BEGIN Intr( $05, R ) { вызов системного прерывания } END; BEGIN Write( 'Нажмите ENTER для запуска печати экрана ' ); ReadLn; PrintScreen; END.

Рис. 16.13

записи R типа Registers. Обычно в R.AH должен содержаться номер функции, в R.AL и следующих — параметры для вызова. После выполнения процедуры MsDos регистр R.AL содержит, как правило, код завершения операции (0, если все в порядке) и возвращаемые величины в других регистрах. Пример использования MsDos — определение множества букв, обозначающих доступные в ПЭВМ диски (рис. 16.14). Для работы примера требуется MS-DOS версий 3.0 и старше.

USES DOS; { АНАЛИЗ НАЛИЧИЯ ДИСКОВОДОВ В ПЭВМ } TYPE DrivesSetType = Set of 'A'..'Z'; { множество букв } { Процедура возвращает множество букв дисков в ПЭВМ } PROCEDURE TestDrives( VAR Drives : DrivesSetType ); VAR R : Registers; { переменная-регистры } i : Byte; { параметр цикла } ch : Char; { буква очередного диска } BEGIN ch := Pred('A'); { символ перед 'A' } Drives := []; { стартовое значение набора } for i:=1 to 26 do begin { от диска A: до... } ch:=Succ( ch ); { буква рассматриваемого диска } R.AH := $44; { номер функции MS-DOS } R.AL := $08; { загрузка параметра в AL }

Рис. 16.14 {374}

R.BL := i; { загрузка номера диска в BL } MsDos( R ); { вызов функции номер 44Н } if R.AX <= 1 { если АХ>1, то диска нет } then Drives := Drives + [ch] end {for} END; VAR { ПРИМЕР ВЫЗОВА } с : Char; { параметр цикла } HD : DrivesSetType; { множество дисков } BEGIN TestDrives( HD ); { анализ дисков } for c:='A' to 'Z' do if с in HD then WriteLn(c, ':' ); ReadLn { пауза до нажатия клавиши ввода } END.

Рис. 16.14 (окончание)





<== предыдущая лекция | следующая лекция ==>
Чтение и перестановка адресов подпрограмм прерываний | Организация субпроцессов и резидентных программ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.363 сек.