| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Описание функций C (Си) / C++ - intdosx
Описание функций C (Си) / C++ - intdosx #include int intdosx(intno,inregs,outregs,segregs); union REGS *inregs; значение регистров при вызове union REGS *outregs; значение регистров при возврате struct SREGS *segregs; значение сегментов при вызове Описание. Функция intdosx осуществляет выполнение системного вызова DOS, который определен значением регистра, объявленным в inregs, и возвращает результат системного вызова в outregs. В отличии от функции intdos, функция intdosx принимает значения регистров сег- мента в segregs, позволяя программам, которые используют сегменты данных большой модели или far-указатели, определить, какой сег- мент или указатель должен быть использован на протяжении систем- ного вызова. Аргументы inregs и outregs являются объединениями типа REGS.Аргумент segregs является структурой типа SREGS. Эти типы объявлены в include-файле . Для активизации системно- го вызова функция intdosx выполняет команду INT 21H. Перед выпол- нением команды функция копирует содержимое inregs и segregs в со- ответствующие регистры. В segregs используются только значения регистров DS и ES. После возврата команды INT intdosx копирует текущее значение регистра в outregs и перезаписывает DS. Она также копирует статус переносимого флага системы в поле cflag, размещенное в outregs. Если это поле является ненулевым, флаг устанавливается посредством системного вызова и указывает на условие ошибки. Область действия функции intdosx расширяется и на область действия системных вызовов DOS, которые берут аргумент в регистре ES или значение регистра DS, отличное от умалчиваемого сегмента данных. Возвращаемое значение. После завершения системного вызова функция intdosx возвра- щает значение регистра AX. Если поле cflag в outregs является не- нулевым, возникает ошибка и _doserrno также устанавливает соот- ветствующий код ошибки. См.также bdos, intdos, segread, FP_SEG. Замечание! Значения сегмента для аргумента segreg могут быть получены либо при использовании функции segread, либо макро FP_SEG. Пример: #include union REGS inregs, outregs; struct SREGS segregs; char far *dir = "/test/bin"; /*следующий оператор заменяет текущий рабочий директорий вызовом шеснадцатеричной функции DOS 36 */ inregs.h.ah=0x3b; /* измененный директорий */ inregs.x.dx=FP_OFF(dir); /* имя файла offset*/ segregs.ds=FP_SEG(dir); /* имя файла сегмента */ intdosx(&inregs,&outregs,&segregs); Рубрика: Функции С++
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|