Учись программированию на C++ Builder бесплатно!

Функция


Генерирует программное прерывание процессора 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, &regs, &regs);
}

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

Поиск по сайту