2012-05-01 2 views
0

나는 내 자신의 운영 체제를 작성 중이며 인터럽트 테이블을 수정하여 DOS와 같은 명령 프롬프트 응용 프로그램으로 특정 문자열 (인쇄 문자열 등)을 리디렉션하는 방법을 알아야합니다.인터럽트 테이블 수정

답변

5

가치가있는 점은 DOS에서 다른 삶과 같은 느낌을 보였지만 올바르게 기억한다면 인터럽트를 비활성화하고 인터럽트에서 원하는 항목에 대한 새 포인터를 쓰는 것뿐이었습니다. 테이블 (주소 0 : 0에서 시작)을 실행 한 다음 인터럽트를 다시 활성화합니다.

+0

포인터는 얼마나 넓습니까? 그리고 그 구조는 무엇입니까 –

+2

리얼 모드에서 인터럽트 항목은 4 바이트 값 (세그먼트, 오프셋 쌍)입니다. –

+0

완전성을 위해 : 인터럽트 벡터 테이블 (인텔 설명서에서 호출)은 기본적으로 주소 0에서 시작하지만 그 위치는'LIDT' 명령으로 변경할 수 있습니다. 이 명령은 원본 8086에서는 사용할 수 없지만 실제로는 문제가되지 않습니다. –