IBM PC 인터럽트 테이블: 두 판 사이의 차이

도스박물관
둘러보기로 이동검색으로 이동
새 문서: = IBM PC / DOS 인터럽트 테이블 = IBM PC 계열에서 인터럽트는 CPU 예외, 하드웨어 IRQ, BIOS/DOS 서비스 호출이 같은 인터럽트 벡터 테이블 안에서 함께 사용된다. Intel은 CPU 내부 예외 처리를 위해 00h부터 20h까지를 정의하였다. 하지만 초기 IBM PC BIOS와 DOS는 00h부터 1Fh까지의 일부 번호를 자체 용도로 사용했기 때문에, 80286/80386 이후에는 Intel CPU 예외 정의와 IBM PC BIOS/DOS 인터...
 
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
9번째 줄: 9번째 줄:
== Intel 정의 CPU 예외 테이블 ==
== Intel 정의 CPU 예외 테이블 ==


{|
{| class="wikitable"
! 인터럽트
! 인터럽트
! 기능
! 기능
67번째 줄: 67번째 줄:
== IBM PC 하드웨어 인터럽트 테이블 ==
== IBM PC 하드웨어 인터럽트 테이블 ==


{|
{| class="wikitable"
! IRQ
! IRQ
! 인터럽트
! 인터럽트
83번째 줄: 83번째 줄:
| 0Ah
| 0Ah
| 보조 8259 PIC 또는 EGA/VGA 수직 귀선
| 보조 8259 PIC 또는 EGA/VGA 수직 귀선
|-
| IRQ3
| 0Bh
| COM2 또는 COM4 서비스 요청, MCA PS/2에서는 COM3-COM8
|-
| IRQ4
| 0Ch
| COM1 또는 COM3 서비스 요청
|-
| IRQ5
| 0Dh
| 고정 디스크 또는 LPT2 데이터 요청
|-
| IRQ6
| 0Eh
| 플로피 디스크 서비스 요청
|-
| IRQ7
| 0Fh
| LPT1 데이터 요청, IBM 모노크롬 환경에서는 신뢰성이 낮을 수 있음
|-
|-
| IRQ8
| IRQ8
| 70h
| 70h
| 실시간 시계, AT/XT286/PS50 이상
| 실시간 시계
|-
|-
| IRQ9
| IRQ9
| 71h
| 71h
| IRQ2에서 소프트웨어적으로 재지정됨, AT/XT286/PS50 이상
| IRQ2에서 소프트웨어적으로 재지정됨
|-
|-
| IRQ10
| IRQ10
| 72h
| 72h
| 예약, AT/XT286/PS50 이상
| 예약
|-
|-
| IRQ11
| IRQ11
| 73h
| 73h
| 예약, AT/XT286/PS50 이상
| 예약
|-
|-
| IRQ12
| IRQ12
| 74h
| 74h
| 마우스 인터럽트, PS50 이상
| PS/2
|-
|-
| IRQ13
| IRQ13
| 75h
| 75h
| 수치 보조 프로세서 오류, AT/XT286/PS50 이상
| 수치 보조 프로세서
|-
|-
| IRQ14
| IRQ14
| 76h
| 76h
| 고정 디스크 컨트롤러
| 고정 디스크 컨트롤러 #1
|-
|-
| IRQ15
| IRQ15
| 77h
| 77h
| 예약, AT/XT286/PS50 이상
| 고정 디스크 컨트롤러 #2
|-
| IRQ3
| 0Bh
| COM2 또는 COM4 서비스 요청, MCA PS/2에서는 COM3-COM8
|-
| IRQ4
| 0Ch
| COM1 또는 COM3 서비스 요청
|-
| IRQ5
| 0Dh
| 고정 디스크 또는 LPT2 데이터 요청
|-
| IRQ6
| 0Eh
| 플로피 디스크 서비스 요청
|-
| IRQ7
| 0Fh
| LPT1 데이터 요청, IBM 모노크롬 환경에서는 신뢰성이 낮을 수 있음
|}
|}


== System BIOS/DOS에서 구현된 인터럽트 테이블 ==
== System BIOS/DOS에서 구현된 인터럽트 테이블 ==


{|
{| class="wikitable"
! INT
! INT
! 소속
! 소속
535번째 줄: 535번째 줄:
== CPU 예외와 IBM PC 인터럽트 충돌 예 ==
== CPU 예외와 IBM PC 인터럽트 충돌 예 ==


{|
{| class="wikitable"
! 인터럽트
! 인터럽트
! Intel CPU 예외
! Intel CPU 예외

2026년 6월 17일 (수) 04:32 기준 최신판

IBM PC / DOS 인터럽트 테이블

IBM PC 계열에서 인터럽트는 CPU 예외, 하드웨어 IRQ, BIOS/DOS 서비스 호출이 같은 인터럽트 벡터 테이블 안에서 함께 사용된다.

Intel은 CPU 내부 예외 처리를 위해 00h부터 20h까지를 정의하였다. 하지만 초기 IBM PC BIOS와 DOS는 00h부터 1Fh까지의 일부 번호를 자체 용도로 사용했기 때문에, 80286/80386 이후에는 Intel CPU 예외 정의와 IBM PC BIOS/DOS 인터럽트 정의가 겹치는 부분이 생겼다.

Intel 정의 CPU 예외 테이블

인터럽트 기능
00h 0으로 나누기
01h 단일 스텝
02h 마스크 불가능 인터럽트, NMI
03h 중단점
04h 오버플로 트랩
05h BOUND 범위 초과, 80186/80286/80386
06h 잘못된 명령어, 80186/80286/80386
07h 수치 보조 프로세서 사용 불가, 80286/80386
08h 이중 고장 예외, 80286/80386
09h 수치 보조 프로세서 세그먼트 초과, 80286/80386
0Ah 잘못된 작업 상태 세그먼트, 80286/80386
0Bh 세그먼트 없음, 80286/80386
0Ch 스택 예외, 80286/80386
0Dh 일반 보호 예외, 80286/80386
0Eh 페이지 오류, 80286/80386
0Fh 예약
10h 수치 보조 프로세서 오류, 80286/80386

IBM PC 하드웨어 인터럽트 테이블

IRQ 인터럽트 기능
IRQ0 08h 시스템 타이머, 약 55ms 간격, 초당 약 18.2회
IRQ1 09h 키보드 서비스 요청
IRQ2 0Ah 보조 8259 PIC 또는 EGA/VGA 수직 귀선
IRQ3 0Bh COM2 또는 COM4 서비스 요청, MCA PS/2에서는 COM3-COM8
IRQ4 0Ch COM1 또는 COM3 서비스 요청
IRQ5 0Dh 고정 디스크 또는 LPT2 데이터 요청
IRQ6 0Eh 플로피 디스크 서비스 요청
IRQ7 0Fh LPT1 데이터 요청, IBM 모노크롬 환경에서는 신뢰성이 낮을 수 있음
IRQ8 70h 실시간 시계
IRQ9 71h IRQ2에서 소프트웨어적으로 재지정됨
IRQ10 72h 예약
IRQ11 73h 예약
IRQ12 74h PS/2
IRQ13 75h 수치 보조 프로세서
IRQ14 76h 고정 디스크 컨트롤러 #1
IRQ15 77h 고정 디스크 컨트롤러 #2

System BIOS/DOS에서 구현된 인터럽트 테이블

INT 소속 기능
00h CPU 0으로 나누기
01h CPU 단일 스텝
02h CPU 마스크 불가능 인터럽트
03h CPU 중단점
04h CPU 오버플로 트랩
05h BIOS 화면 인쇄
06h CPU 잘못된 명령어, 80186/80286/80386
07h CPU 수치 보조 프로세서 사용 불가, 80286/80386
08h IRQ0 시스템 타이머, 약 55ms 간격, 초당 약 18.21590회
09h IRQ1 키보드 서비스 요청
0Ah IRQ2 보조 8259 PIC 또는 EGA/VGA 수직 귀선
0Bh IRQ3 COM2 서비스 요청, PS/2 MCA에서는 COM3-COM8
0Ch IRQ4 COM1 서비스 요청
0Dh IRQ5 고정 디스크 또는 LPT2 데이터 요청
0Eh IRQ6 플로피 디스크 서비스 요청
0Fh IRQ7 LPT1 데이터 요청, IBM 모노크롬 환경에서는 신뢰성이 낮을 수 있음
10h BIOS 비디오 서비스
11h BIOS 장비 구성 확인
12h BIOS 메모리 크기 확인
13h BIOS 디스크 입출력 서비스
14h BIOS 직렬 통신 서비스
15h BIOS 시스템 서비스, 카세트 서비스
16h BIOS 키보드 서비스
17h BIOS 병렬 프린터 서비스
18h BIOS ROM BASIC 로더
19h BIOS 부트스트랩 로더
1Ah BIOS 시각 서비스
1Bh BIOS 사용자 정의 Ctrl-Break 처리기
1Ch BIOS 사용자 정의 클럭 틱 처리기
1Dh BIOS 6845 비디오 파라미터 포인터
1Eh BIOS 디스켓 파라미터 포인터, 기본 테이블
1Fh BIOS 그래픽 문자 테이블
20h DOS 일반 프로그램 종료
21h DOS DOS 함수 호출 서비스
22h DOS 종료 주소
23h DOS Ctrl-Break 종료 주소
24h DOS 치명적 오류 처리기
25h DOS 절대 디스크 읽기
26h DOS 절대 디스크 쓰기
27h DOS 종료 후 상주
28h DOS DOS 유휴 루프, DOS가 유휴 상태일 때 호출
29h DOS 고속 TTY 콘솔 입출력
2Ah DOS 임계 구역 및 NETBIOS
2Bh DOS 내부용, DOS 2.0-5.0에서는 단순 IRET
2Ch DOS 내부용, DOS 2.0-5.0에서는 단순 IRET
2Dh DOS 내부용, DOS 2.0-5.0에서는 단순 IRET
2Eh DOS 기본 명령 인터프리터에서 명령 실행
2Fh DOS 멀티플렉서
30h-31h CP/M CP/M용 원거리 점프 벡터, 실제 인터럽트는 아님
31h DPMI DOS 보호 모드 인터페이스, DOS 확장기에서 사용
32h 예약
33h 마우스 지원
34h-3Eh Microsoft/Borland 부동소수점 에뮬레이션
3Fh 오버레이 관리자
40h BIOS 하드디스크
41h BIOS 고정 디스크 0 파라미터 포인터
42h BIOS 재배치된 비디오 처리기, EGA/VGA/PS
43h BIOS 사용자 폰트 테이블, EGA/VGA/PS
44h BIOS 처음 128개 그래픽 문자, NetWare에서도 사용
45h BIOS BIOS 예약
46h BIOS 고정 디스크 1 파라미터 포인터
47h BIOS BIOS 예약
48h BIOS PCjr 무선 키보드 변환
49h BIOS PCjr 비키보드 스캔코드 변환 테이블
4Ah BIOS 사용자 알람, AT/Convertible/PS/2
4Bh-4Fh BIOS 예약
50h BIOS PS/2 타이머 주기 알람
51h-58h BIOS 예약
59h BIOS GSS 컴퓨터 그래픽스 인터페이스
5Ah BIOS 클러스터 어댑터 BIOS 진입점
5Bh BIOS 클러스터 어댑터 부트
5Ch NETBIOS NETBIOS 인터페이스, TOPS 인터페이스
5Dh-5Fh BIOS BIOS 예약
60h-67h 사용자 소프트웨어 인터럽트용 예약
67h EMS LIM/EMS 사양
68h APPC
69h-6Bh IBM IBM 예약
6Ch DOS / BIOS DOS 3.2 실시간 시계 갱신 / 시스템 재개 벡터
6Dh-6Fh 예약
70h IRQ8 실시간 시계, AT/XT286/PS50 이상
71h IRQ9 IRQ2에서 소프트웨어적으로 재지정됨, AT/XT286/PS50 이상
72h IRQ10 예약, AT/XT286/PS50 이상
73h IRQ11 예약, AT/XT286/PS50 이상
74h IRQ12 마우스 인터럽트, PS50 이상
75h IRQ13 수치 보조 프로세서 NMI 오류, AT/XT286/PS50 이상
76h IRQ14 고정 디스크 컨트롤러
77h IRQ15 예약, AT/XT286/PS50 이상
78h-79h 미사용
80h-85h ROM BASIC ROM BASIC
86h-F0h DOS BASIC 인터프리터용 예약
86h NETBIOS 재배치된 NETBIOS INT 18h
E0h CP/M CP/M-86 함수 호출
F1h-FFh IBM IBM 예약
FEh-FFh 286 시스템에서 VDISK를 사용해 보호 모드에서 복귀할 때 파괴될 수 있음

주석

  • Intel은 내부 CPU 예외 처리를 위해 00h부터 20h까지를 정의하였다.
  • IBM은 00h부터 1Fh까지의 인터럽트를 BIOS, DOS, 하드웨어 IRQ 용도로 사용하였다.
  • 이 때문에 일부 번호는 Intel CPU 예외와 IBM PC BIOS/DOS 인터럽트 의미가 겹친다.
  • 일반 인터럽트는 FLAGS와 다음 명령의 CS:IP를 스택에 저장한다.
  • CPU 예외 인터럽트는 대체로 문제를 일으킨 명령의 CS:IP를 스택에 저장한다.
  • 8086/8088의 나눗셈 예외는 예외적으로 나눗셈 명령 다음 위치로 복귀할 수 있다.
  • 인터럽트 루틴에 진입하면 인터럽트는 비활성화된다.
  • 필요한 경우 사용자 코드에서 인터럽트를 다시 활성화하거나 IRET로 복귀한다.
  • DOS 3.2 이후 하드웨어 IRQ 인터럽트는 DOS를 통해 재벡터링되어 표준 스택 프레임을 제공할 수 있다.

CPU 예외와 IBM PC 인터럽트 충돌 예

인터럽트 Intel CPU 예외 IBM PC / BIOS / IRQ 용도
05h BOUND 범위 초과 화면 인쇄
08h 이중 고장 IRQ0 시스템 타이머
09h 수치 보조 프로세서 세그먼트 초과 IRQ1 키보드
0Dh 일반 보호 예외 IRQ5 / LPT2 / 고정 디스크
0Eh 페이지 오류 IRQ6 플로피 디스크

관련 항목