Справочник прерываний dos


Справочник прерываний dos Скачать

Этот префикс предназначен для использования в многопроцессорных многозадачных системах для обеспечения исключительного доступа к памяти данного процесса (и данного процессора) на время проверки или модификации некоторой ячейки памяти. Для компьютеров, произведённых IBM, устанавливалась версия под названием PC DOS. В стек текущей программы заносится содержимое регистра флагов, сегментного регистра CS и указателя команд IP, после чего в регистры IP и CS передается содержимое двух слов из вектора прерывания с номером n (расположенных по адресам 0:n*4 и 0:n*4+2). Они сравнивают по одному элементу каждой строки, фактически осуществляя вычитание второго операнда из первого и устанавливая в соответствии с результатом вычитания флаги CF, PF, AF, ZF, SF и OF. Не трудно догадаться, что завершение программы — это тоже функция DOS с номером 4Ch. Таким образом, операцию сравнения можно условно изобразить следующим образом:.

В IBM PC-совместимых компьютерах обработку некоторых прерываний осуществляют подпрограммы BIOS, хранящиеся в ПЗУ, и прерывание служит интерфейсом для доступа к сервису, предоставляемому BIOS. В Windows для этого применяется механизм отложенного вызова процедур. Команда aprl сравнивает селектор с образцом, содержащим максимально допустимый уровень привилегий (обычно используется селектор CS) и устанавливает проверяемое значение в соответствии с меньшим из двух уровней привилегий. Для вывода строки используется системная функция DOS. Обращение к функциям DOS осуществляется с помощью команды int 21h. Команда не воздействует на флаги, однако она загружает в регистр флагов из стека его исходное содержимое, которое было там сохранено процессором в процессе обслуживания прерывания. Утилитой ReWrite записываешь на дискету, иначе в UltraISO создаешь образ жесткого диска или дискеты помещаешь свой бинарный файл в этот образ, затем помечаешь его загрузочным и с помощью утилиты FlashBoot записываешь бинарик на флешку ну или с помощью той же UltaISO. Ряд команд требует для своего выполнения специальных условий, обычно отсутствующих в приложениях MS-DOS.

Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Команда требует двух операндов, причем первый операнд должен быть ячейкой памяти, а второй — регистром. В дальнейшем разработка MS-DOS и PC DOS велась Microsoft и IBM совместно до 1993 года, когда были выпущены два раздельных релиза — 6. Масштаб внесенных изменений подчеркивает и тот факт, что больша́я часть поздних программ, в том числе, для последних версий MS-DOS имеет в требованиях строчку «DOS 2. Если требуется, чтобы после возврата из обработчика программного прерывания командой iret какие-либо флаги процессора были установлены требуемым образом (весьма распространенный прием), их установку надо выполнить в копии флагов в стеке. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF. Например, доступ к основному множеству функций MS-DOS осуществляется исполнением инструкции Int 21h (при этом номер функции и её аргументы передаются в регистрах). Впоследствии IBM лицензировала MS-DOS и выпустила её в августе 1981 года под наименованием PC DOS 1. В связи с развитием архитектуры IBM PC/XT появилась расширенная, а затем в AT и дополнительная память, которую было возможно использовать в компонентах ОС и программах с помощью механизмов EMS, XMS, HMA, UMA/UMB, которые обеспечиваются BIOS расширенной памяти и драйверами DOS — менеджерами памяти от Microsoft (HIMEM и EMM386) или сторонними менеджерами (например, QEMM). Первый (16-битовое непосредственное значение) определяет число байтов, выделяемых в стеке для локальных переменных. Команда IDIV выполняет деление целого числа со знаком, находящегося в регистрах АХ (в случае деления на байт) или DX:AX (в случае деления на слово), на операнд-источник (целое число со знаком).