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.