Presentation is loading. Please wait.

Presentation is loading. Please wait.

제 장 학습내용 C 언어에서의 인터럽트 사용 레지스터를 위한 자료구조 인터럽트를 수행하기 위한 명령어

Similar presentations


Presentation on theme: "제 장 학습내용 C 언어에서의 인터럽트 사용 레지스터를 위한 자료구조 인터럽트를 수행하기 위한 명령어"— Presentation transcript:

1 제 8.3.2 장 학습내용 C 언어에서의 인터럽트 사용 레지스터를 위한 자료구조 인터럽트를 수행하기 위한 명령어
인터럽트 호출명령 예

2 인터럽트를 사용하기 전에 DOS.H * Turbo-C 와 MS-C 의 header file * 인터럽트 호출에 필요
* #include 명령을 이용

3 자료구조 WORDREGS * 16비트 레지스터를 접근 BYTEREGS * 8비트 레지스터를 접근 SEGREGS
* 세그먼트 레지스터를 이용

4 레지스터 구조체(1) struct WORDREGS {
unsigned int ax, bx, cx, dx, si, di, cflag, flag; }; struct BYTEREGS { unsigned char al, ah, bl, bh, cl, ch, dl, dh;

5 레지스터 구조체(2) union REGS { struct WORDREGS x; struct BYTEREGS h; };
sturct SREGS { unsigned int es; unsigned int cs; unsigned int ss; unsigned int ds;

6 변수 선언 선언 * union REGS reg; * struct SREGS segreg; 선언 후 * 구조체 변수와 같이 이용

7 인터럽트 명령어(1) int int86 ( int intno, union REGS *inregs, union REGS *outregs ); int int86x ( int intno, union REGS *inregs, union REGS *outregs, struct SREGS *segregs );

8 인터럽트 명령어(2) int intdos ( union REGS *inregs, union REGS *outregs );
int intdosx ( union REGS *inregs, union REGS *outregs, struct SREGS *segregs );

9 명령어 변수 intno -> 인터럽트 번호 inregs -> 인터럽트 호출에 필요한 레지스터의 데이터 값
outregs -> 인터럽트 호출한 결과에 대한 레지스터의 값 segregs -> 세그먼트 주소값

10 C 언어 속의 인터럽트 #include <stdio.h> #include <dos.h>
union REGS reg; main() { static char mesg1[] = “I like Computer\r\n$”; mesg2[] = “Do you like Computer?$”;

11 C 언어 속의 인터럽트 reg.x.dx = (int)mesg1; reg.h.ah = 9;
int86(0x21, &reg, &reg); reg.x.dx = (int)mesg2; intdos(&reg, &reg); } I like Computer do you like computer?

12 제 8.3.2 장 요약 레지스터를 위한 자료구조가 header file 로 정의 됨 변수 선언 후에 인터럽트 프로그램 사용
인터럽트 명령어 * int86 * int86x * intdos * intdosx


Download ppt "제 장 학습내용 C 언어에서의 인터럽트 사용 레지스터를 위한 자료구조 인터럽트를 수행하기 위한 명령어"

Similar presentations


Ads by Google