바이오스 인터럽트 호출 ()은 도스용 프로그램과, 부트 로더와 같은 일부 기타 소프트웨어가 IBM PC 호환기종의 컴퓨터에 위치한 바이오스의 기능을 불러내는데 이용하는 방식이다. 일부 운영 체제 또한 초기 시동 단계에서 바이오스를 이용하여 하드웨어 자원을 탐지하고 초기화할 수 있다. 인터럽트는 INT x86 어셈블리어 명령을 이용하여 호출할 수 있다. 이를테면 바이오스 인터럽트 0x10을 이용하여 문자열을 화면에 출력하려면 다음의 x86 어셈블리어 명령을 실행하면 된다 mov ah, 0x0e mov al, ! int 0x10 일반적인 바이오스 인터럽트 목록은 아래와 같다. 일부 바이오스(특히 오래된 것들)는 아래의 모든 인터럽트 클래스를 갖추고 있지는 않다. 인터럽트 벡터 설명 00h CPU 0으로 나누기를 시도한 뒤 또는 몫이 떨어지지 않을 때 실행된다 01h CPU 추적 플래그가 설정되어 있는 동안 모든 명령을 마친 후 실행된다 02h CPU 메모리 오류 등을 위해 POST 등이 사용하는 NMI(Non-maskable interrupt) 03h CPU 가장 낮은 비예비 인터럽트. 디버깅에 예외적으로 사용되며 INT 03 핸들러는 늘 디버깅 프로그램이 추가함 04h CPU 숫자 오버플로. 오버플로 플래그가 설정될 때 INTO 명령에 의해 발생. 05h Shift-Print screen이 눌릴 때 실행. (BOUND 함수가 바운드 실패를 감지할 때에도 발생) 06h CPU 정의되지 않은 Opcode (잘못된 함수) 예외가 발생할 때 호출함. 일반적으로 운영 체제가 설치. 07h CPU 부동 소수점 함수를 실행하고 수치 보조 프로세서의 이용이 불가능할 때 호출함 08h IRQ0 시스템 타이밍 구성 요소가 추가함; PIT에 의해 초당 18.2번(55 ms) 호출함 09h IRQ1 모든 키가 눌리고 뗐을 때 호출함 (키가 눌리고 있는 동안도 포함) 0Bh IRQ3 필요시 직렬 포트 2, 4 (COM2/4)가 호출함 0Ch IRQ4 필요시 직렬 포트 1, 3 (COM1/3)이 호출함 0Dh IRQ5 필요시 하드 디스크 컨트롤러 (PC/XT) 또는 2차 병렬 포트 LPT2 (AT)가 호출함 0Eh IRQ6 필요시 플로피 디스크 컨트롤러가 호출함 0Fh IRQ7 필요시 1차 병렬 포트 LPT1 (프린터)가 호출함 10h 비디오 서비스 AH 설명 00h 비디오 모드 설정 01h 커서 모양 설정 02h 커서 위치 설정 03h 커서 위치 및 모양 가져오기 04h 라이트 펜 위치 가져오기 05h 디스플레이 페이지 설정 06h 지우기/스크롤 스크린 업 07h 지우기/스크롤 스크린 다운 08h 문자열 및 커서 특성 읽기 09h 문자열 및 커서 특성 쓰기 0Ah 커서 문자열 쓰기 0Bh 커서 테두리 설정 0Ch 그래픽 픽셀 쓰기 0Dh 그래픽 픽셀 읽기 0Eh TTY 모드에서 문자열 쓰기 0Fh 비디오 모드 가져오기 10h 팔레트 레지스터 설정 (EGA, VGA, SVGA) 11h 문자 발생기 (EGA, VGA, SVGA) 12h 함수 대안 선택 (EGA, VGA, SVGA) 13h 문자열 쓰기 1Ah 디스플레이 결합 코드 가져오기 또는 설정 (VGA, SVGA) 1Bh 기능 정보 가져오기 (VGA, SVGA) 1Ch 비디오 상태 저장 또는 복원 (VGA, SVGA) 4Fh VESA 바이오스 확장 함수 (SVGA) 11h 장비 목록 반환 12h 기본 메모리 크기 반환 13h 낮은 수준의 디스크 서비스 AH 설명 00h 디스크 드라이브 초기화 01h 드라이브 상태 검사 02h 섹터 읽기 03h 섹터 쓰기 04h 섹터 유효 여부 확인 05h 트랙 포맷 08h 드라이브 변수 가져오기 09h 고정 드라이브 변수 초기화 0Ch 지정된 트랙으로 찾기 0Dh 고정 디스크 컨트롤러 초기화 15h 드라이브 종류 가져오기 16h 플로피 드라이브 미디어 변경 상태 가져오기 17h 디스크 종류 설정 18h 플로피 드라이브 미디어 종류 설정 41h 확장 디스크 드라이브 (EDO) 설치 검사 42h 섹터 확장 읽기 43h 섹터 확장 쓰기 44h 섹터 확장 유효 여부 확인 45h 드라이브 잠금/잠금 해제 46h 미디어 꺼내기 47h 확장 찾기 48h 드라이브 변수 확장 가져오기 49h 미디어 변경 상태 확장 가져오기 4Eh 하드웨어 구성 확장 설정 14h 직렬 포트 서비스 AH 설명 00h 직렬 포트 초기화 01h 문자열 전송 02h 문자열 수신 03h 상태 15h 기타 시스템 서비스 AH AL 설명 00h 카세트 드라이브 모터 켜기 01h 카세트 드라이브 모터 끄기 02h 카세트로부터 데이터 블록 읽기 03h 카세트에 데이터 블록 쓰기 4Fh 키보드 가로채기 83h 이벤트 대기 84h 조이스틱 읽기 85h Sysreq 키 호출 86h 대기 87h 블록 이동 88h 확장 메모리 크기 가져오기 89h 보호 모드로 전환 C0h 시스템 변수 가져오기 C1h 확장 바이오스 데이터 영역 세그먼트 가져오기 C2h 포인팅 장치 기능 C3h 감시 타이머 기능 - PS/2 시스템 전용 C4h 프로그래밍 가능한 옵션 선택 - MCA 버스 PS/2 시스템 전용 D8h EISA 시스템 기능 - EISA 버스 시스템 전용 E8h 01h 확장 메모리 크기 가져오기 (1994년 이후 더 새로운 기능). 64 Mb 이상의 메모리 크기에 대한 결과를 제공. E8h 20h 쿼리 시스템 주소 맵. 16h 키보드 서비스 AH 설명 00h 문자열 읽기 01h 입력 상태 읽기 02h 키보드 Shift 상태 읽기 05h 키보드 버퍼에 키 눌림 저장 10h 문자열 확장 읽기 11h 입력 상태 확장 읽기 12h 키보드 Shift 상태 확장 읽기 17h 프린터 서비스 AH 설명 00h 프린터에 문자열 인쇄 01h 프린터 초기화 02h 프린터 상태 검사 18h 카세트 BASIC 실행 실제 IBM 컴퓨터에는 시동 실패 이벤트의 해당 루틴이 해석, 실행을 목적으로 ROM에 BASIC이 포함되어 있다. (BIOS가 호출) 19h POST 이후 이 인터럽트는 운영 체제를 불러오기 위해 바이오스가 사용함 1Ah 실시간 시계 서비스 AH 설명 00h RTC 읽기 01h RTC 설정 02h RTC 시간 읽기 03h RTC 시간 설정 04h RTC 날짜 읽기 05h RTC 날짜 설정 06h RTC 알람 설정 07h RTC 알람 초기화 1Ah PCI 서비스 - PCI 2.0 이상을 지원하는 BIOS가 추가 AX 설명 B101h PCI 설치 검사 B102h PCI 장치 찾기 B103h PCI 클래스 코드 찾기 B106h PCI 버스 관련 기능 B108h 구성 Byte 읽기 B109h 구성 Word 읽기 B10Ah 구성 Dword 읽기 B10Bh 구성 Byte 쓰기 B10Ch 구성 Word 쓰기 B10Dh 구성 Dword 쓰기 B10Eh IRQ 루틴 정보 가져오기 B10Fh PCI IRQ 설정 1Bh Ctrl-Break 핸들러 - Ctrl-Break가 눌릴 때 INT 09가 호출 1Ch 타이머 틱 핸들러 - INT 08가 호출 1Dh 호출되지 않음. VTP(비디오 변수 테이블) 포인터로서 비디오 모드의 데이터를 포함 1Eh 호출되지 않음. DPT (디스켓 변수 테이블) 포인터로서 디스켓 드라이브에 관한 다양한 정보 포함 1Fh 호출되지 않음. VGCT(비디오 그래픽 문자 테이블) 포인터로서 아스키 문자열 80h ~ FFh의 데이터 포함 41h 주소 포인터 FDPT = 고정 디스크 변수 테이블 (1차 하드 드라이브) 46h 주소 포인터 FDPT = 고정 디스크 변수 테이블 (2차 하드 드라이브) 4Ah 알람을 위해 RTC가 호출 70h IRQ8 RTC가 호출 74h IRQ12 마우스가 호출 75h IRQ13 산술 보조 프로세서가 호출 76h IRQ14 1차 IDE 컨트롤러가 호출 77h IRQ15 2차 IDE 컨트롤러가 호출 MS-DOS 시스템에서 IO.SYS는 플로피 디스크 변경 감지, 포맷 호출 추적, DMA 바운더리 오류 정정, 최초의 호출 이전 모델 코드 0xFC와 더불어 IBM의 ROM BIOS "01/10/84" 관련 문제 우회를 위해 INT 13을 훅 처리한다. 도스 인터럽트 호출 랄프 브라운의 인터럽트 리스트 The x86 Interrupt List (a.k.a. RBIL, Ralf Brown s Interrupt List) Embedded BIOS User’s Manual PhoenixBIOS 4.0 User s Manual HTML version of Ralf Brown Interrupt List IBM Personal System/2 and Personal Computer BIOS Interface Technical Reference , IBM, 1988, System BIOS for IBM PCs, Compatibles, and EISA Computers , Phoenix Technologies, 1991, Programmer s Guide to the AMIBIOS , American Megatrends, 1993, The Programmer s PC Sourcebook by Thom Hogan, Microsoft Press, 1991 분류:바이오스 분류:인터럽트