void intr(int intr_num, struct REGPACK *reg)
Прототип:
Описание:
Эта функция не определена стандартом ANSI С.
Функция intr() выполняет программное прерывание, заданное параметром intr_num. Она является альтернативой функции int86(), но не выполняет каких-то дополнительных функций.
Величины регистров в структуре, на которую указывает параметр reg, копируются в регистры процессора перед вызовом прерывания. После возврата из прерывания структура содержит значения регистров, установленные процедурой обработки прерывания. Структура REGPACK определена следующим образом:
struct REGPACK {
unsigned r_ax, r_bx, r_cx, r_dx;
unsigned r_bp, r_si, r_di, r_ds, r_es;
unsigned r_flags;
};
unsigned r_ax, r_bx, r_cx, r_dx;
unsigned r_bp, r_si, r_di, r_ds, r_es;
unsigned r_flags;
};
Любые регистры, не используемые прерыванием, игнорируются.
Пример:
Следующая программа выводит на экран, используя прерывание 5:
/* печать экрана */
#inciude <dos.h>
int main(void)
{
struct REGPACK r;
intr (5, &r);
return 0;
}
/* печать экрана */
#inciude <dos.h>
int main(void)
{
struct REGPACK r;
intr (5, &r);
return 0;
}