2014-09-24 3 views
0

교육용으로 자체 기본 커널을 개발하려고합니다. 내가 인텔 80386 읽기 및 인터럽트 0에 대한 읽기 : - 제로 예외로 나누십시오. 거기에서intel 80386은 어디에서 레지스터를 저장합니까?

, 그것은 기록 하였다 : - CS 및 EIP의

저장된 명령 포인터 저장된 내용이 예외를 생성 한 명령에 포인트를 등록한다.

제 질문은이 레지스터가 저장된 위치입니다. 어떻게 이러한 레지스터에 액세스 할 수 있습니까?

+0

스택에 놓입니다. –

+0

그래, 고맙지 만 스택 순서대로 순서는 어떨까? –

답변

3

인터럽트는 스택에서 EFLAGS, CS 및 EIP 레지스터의 현재 내용을 (순서대로) 푸시합니다. 일부 예외의 경우 CPU는 EIP 다음에 오류 코드를 푸시하지만 0으로 나누기를 누르십시오.

자신 만의 커널을 개발한다면 Intel Software Developer Manual을 살펴 봐야합니다. 인터럽트 및 예외 (실제 버전에서는 6.4)에 대한 장이 있으며 여기에는 밀어 넣을 때의 설명이 포함되어 있습니다.

관련 문제