CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
int86
int86
Функция Генерирует программное прерывание процессора 8086.
Синтаксис #include <dos.h>
int int86(int intr_num, union REGS *inregs,
union REGS *outregs);
Файл, содержащий dos.h
прототип
Описание Функция генерирует программное прерывание
микропроцессора 8086, причем номер прерывания
определяется аргументом intr_num. Перед
выполнением прерывания, функция копируют значения
регистров из объединения inregs в сами регистры.
После возврата из прерывания, функция копируют
текущие значения регистров в параметр outregs, а
состояние флага системного переноса в поле x.cflag
параметра outregs, а содержимое регистра флагов в
поле x.flags. Если флаг переноса установлен, это
обычно означает что произошла ошибка.
Примечание: параметры inregs и outregs могут
указывать на одну и туже структуру.
Возвращаемое Функция int86 возвращает значение регистра AX после
значение завершения прерывания. Если флажок переноса
установлен (outregs-->x.cflag!=0), то есть
произошла ошибка, данная функция присваивает
глобальной переменной _doserrno код ошибки.
Переносимость Функция уникальна семейства микропроцессоров 8086.
Пример:
#include <dos.h>
#include<conio.h>
#include<stdio.h>
#define VIDEO 0x10
void movetoxy(int x, int y)
{
union REGS regs;
regs.h.ah = 2; /* установить позицию курсора */
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* страница 0 */
int86(VIDEO, ®s, ®s);
}
int main(void)
{
clrscr();
movetoxy(35,10);
printf("Привет\n");
return 0;
}
