Interrupção que segura com C
C é chamado às vezes uma elevação - língua de conjunto nivelada porque pode chamar as interrupções diferentes usando algumas de suas algumas funções definidas. Algumas funções importantes são como segue:
- int86: Invoca interrupções do MS-DOS.
- int86x: Invoca a interrupção do MS-DOS com valores do registo do segmento.
- intdos: invoca o serviço do MS-DOS usando registos à excepção de DX e de AL
- intdosx: invoca o serviço do MS-DOS com valores do registo do segmento.
- segread: Lê registos do segmento
Nós discutiremos estas funções em detalhe. Primeiramente de tudo nós discutimos algumas estrutura e uniões predefinidas que são freqüentemente ou se usaram necessariamente com estas funções.
Estrutura de SREGS
Esta estrutura foi definida em dos.h e é uma estrutura dos registos do segmento passados a e preenchidos pelas funções, int86x, intdosx e segread. A declaração da estrutura é como segue:
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
União de REGS
REGS é a união de duas estruturas. A união REGS foi dos.h definido e é usada passar a informação a e das funções, int86, int86x, intdos e intdosx. A declaração da união é como segue:
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
Estruturas de BYTEREGS e de WORDREGS
As estruturas de BYTEREGES e de WORDREGS foram definidas em dos.h e estes são usados armazenando registos do byte e da palavra. A estrutura de WORGREGS permite que o usuário alcance os registos do processador central como 16 quantidades do bocado onde a estrutura de BYTEREGES dá o acesso aos registos do bocado do indivíduo 8.
A estrutura de BITEREGS é declarada como segue:
struct BYTEREGS {
unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;
};
E a estrutura de WORDREGS é declarada como segue:
struct WORDREGS {
unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag, flags;
};
|