Программирование на C и C++

Онлайн справочник программиста на C и C++

int86, int86x

int int86(int int_num, union REGS *in_regs, union REGS *out_regs)

int int86x(int int_num, union REGS *in_regs, union REGS *out_regs, struct SREGS *segregs)

Прототип: 
Описание: 

Эти функции не определены стандартом ANSI С.

Функция int86() используется для выполнения программного прерывания, заданного величи­ной intnum. Содержимое объединения in_regs копируется сначала в регистры процессора, а за­тем выполняется соответствующее прерывание.

По возвращении объединение out_regs содержит значения регистров центрального процессора в момент возврата из прерывания. Установка флага carry flag означает, что произошла ошибка. Возвращается значение регистра АХ.

Функция int86x() копирует значение segregs—>ds в регистр DS, а значение segregs—>es в регистр ES. Это позволяет программам, откомпилированным для большой модели данных, указывать, какие сегменты использовать во время прерывания.

REGS и SREGS определены в заголовочном файле dos.h.

Пример: