Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

intdos

intdos


Функция            Интерфейс с функциями DOS.

Синтаксис          #include <dos.h>
                   int intdos(union REGS *inregs,
                               union REGS *outregs);

Файл, содержащий   dos.h
прототип

Описание           Функция генерирует прерывание DOS 0x21 для запуска
                   заданной   функции   DOS.    Значение    параметра
                   inregs->h.al определяет функцию DOS.

                   После возврата  из  прерывания,  функция  копируют
                   текущие  значения регистров в параметр outregs,  а
                   состояние флага системного переноса в поле x.cflag
                   параметра outregs.  Если флаг переноса установлен,
                   это означает что произошла ошибка.

                   Примечание: параметры  inregs  и   outregs   могут
                   указывать на одну и туже структуру.


Возвращаемое       После завершения вызова подпрограммы DOS, функция
значение           intdos возвращает значение регистра AX. Если
                   флажок переноса   установлен    (outregs-->x.cflag
                   !=0),  что  означает ошибку,  переменная _doserrno
                   получает в качестве значения код ошибки.

Переносимость      Функция уникальна для DOS.

Смотрите также     bdos, bdosptr, geninterrupt, int86, int86x,
                   intdosx, intr

Пример:
      #include <stdio.h>
      #include <dos.h>
      /* удаление файла. При успешном завершении возвращает 0, иначе
         ненулевое значение */
      int delete_file(char near *filename)
      {
         union REGS regs;
         int ret;
         regs.h.ah = 0x41; /* удаление файла  */
         regs.x.dx = (unsigned) filename;
         ret = intdos(&regs, &regs);
         /* if carry flag is set, there was an error */
         return(regs.x.cflag ? ret : 0);
      }
      int main(void)
      {
         int err;
         err = delete_file("NOTEXIST.$$$");
         printf("Able to delete NOTEXIST.$$$: %s\n",
                 (!err) ? "YES" : "NO");

     }

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог