int86

Функция Генерирует программное прерывание процессора 8086.

Синтаксис #include

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

#include

#include

#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, &regs, &regs); }

int main(void) { clrscr(); movetoxy(35,10); printf("Привет\n"); return 0; }