Interrupt регулируя с ч
Ч иногда вызван ассемблером высокого уровня потому что он может вызвать по-разному interrupts использующ некоторые из своих некоторых определенных функций. Некоторые важные функции следующим образом:
- int86: Invokes interrupts MS-DOS.
- int86x: Invokes interrupt MS-DOS с значениями регистра этапа.
- intdos: invokes обслуживание MS-DOS использующ регистры за исключением DX и AL
- intdosx: invokes обслуживание MS-DOS с значениями регистра этапа.
- segread: Читает регистры этапа
Мы обсудим эти функции in detail. Первым делом из мы обсуждаем некоторые предопределенные структуру и соединения част или обязательно использовали с этими функциями.
Структура SREGS
Эта структура была определена в dos.h и будет структурой регистров этапа переданных к и заполненных внутри функциями, int86x, intdosx и segread. Объявление структуры следующим образом:
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
Соединение REGS
REGS будет соединением 2 структур. Соединение REGS было определенным dos.h и оно использовано для того чтобы пройти информацию to and from функции, int86, int86x, intdos и intdosx. Объявление соединения следующим образом:
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
Структуры BYTEREGS и WORDREGS
Структуры BYTEREGES и WORDREGS были определены в dos.h и эти использованы для хранить регистры байта и слова. Структура WORGREGS позволяет потребителю достигнуть регистров C P U как шестнадцатиразрядные количества где структура BYTEREGES дает доступ к индивидуальным 8ым-разрядн регистрам.
Структура BITEREGS объявлена следующим образом:
struct BYTEREGS {
unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;
};
И структура WORDREGS объявлена следующим образом:
struct WORDREGS {
unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag, flags;
};
|