C로 취급하는 개입중단
C는 때때로 어떤의 그것의 몇몇 정의하기 기능을 사용하여 다른 개입중단을 부르기 수 있기 때문에 고도 어셈블리 언어이라고 칭한다. 몇몇 중요한 기능은 다음과 같이 이다:
- int86: MS-DOS 개입중단을 빈다.
- int86x: 세그먼트 기록기 가치를 가진 MS-DOS 개입중단을 빈다.
- intdos: DX와 알루미늄 이외에 기록기를 사용하여 MS-DOS 서비스를 빈다
- intdosx: 세그먼트 기록기 가치를 가진 MS-DOS 서비스를 빈다.
- segread: 세그먼트 기록기를 읽는다
우리는 이 기능을 상세히 토론할 것이다. 첫째로 모두의 빈번하게 이고 또는 이 기능과 함께 필요하게 사용한 우리는 몇몇 미리 정의한 구조를 및 조합을 토론한다.
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이고 기능, int86, int86x, intdos 및 intdosx 왔다 갔다 정보를 전하기 위하여 이용된다. 조합의 선언은 다음과 같이 이다:
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
BYTEREGS와 WORDREGS 구조
BYTEREGES와 WORDREGS 구조는 dos.h에서 정의되고 이들은 바이트와 낱말 기록기 저장을 위해 사용된다. WORGREGS 구조는 사용자가 BYTEREGES 구조가 개인적인 8 비트 기록기에 접근을 주는 16-비트 양으로 CPU의 기록기에 접근하는 것을 허용한다.
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;
};
|