Panduan Lengkap Interupsi BIOS pada Arsitektur x86 Real Mode

Daftar Lengkap Interupsi x86 BIOS

Berikut adalah daftar komprehensif dari seluruh interupsi yang tersedia pada sistem x86 dalam Real Mode, dikategorikan berdasarkan fungsi dan kepemilikannya.

Kategori 1: CPU Exceptions (INT 00h – 1Fh)

Interupsi ini dibangkitkan secara otomatis oleh prosesor saat terjadi kondisi khusus atau error.

InterruptNamaDeskripsi Singkat
INT 00hDivide by ZeroDibangkitkan saat pembagian dengan nol atau hasil pembagian overflow
INT 01hSingle Step (Debug)Digunakan untuk debugging, dipicu setiap instruksi jika TF flag set
INT 02hNon-Maskable Interrupt (NMI)Hardware interrupt kritikal yang tidak bisa di-disable
INT 03hBreakpointDigunakan debugger untuk set breakpoint (instruksi 1-byte)
INT 04hOverflowDipicu oleh instruksi INTO jika OF flag set
INT 05hBound Range ExceededDipicu instruksi BOUND saat index di luar batas
INT 06hInvalid OpcodeProsesor menemukan instruksi yang tidak valid
INT 07hCoprocessor Not AvailableFPU tidak tersedia saat instruksi FPU dieksekusi
INT 08hDouble FaultException terjadi saat menangani exception lain
INT 09hCoprocessor Segment OverrunReserved (tidak digunakan pada 386+)
INT 0AhInvalid TSSTask State Segment tidak valid (Protected Mode)
INT 0BhSegment Not PresentSegment yang diakses tidak ada di memori
INT 0ChStack Segment FaultStack operation melampaui batas stack segment
INT 0DhGeneral Protection FaultBerbagai pelanggaran proteksi (Protected Mode)
INT 0EhPage FaultHalaman memori yang diakses tidak ada (Paging)
INT 0FhReservedReserved oleh Intel
INT 10hx87 FPU ErrorError pada operasi floating point
INT 11hAlignment CheckData tidak aligned pada boundary (486+)
INT 12hMachine CheckHardware error terdeteksi (Pentium+)
INT 13hSIMD Floating PointError pada instruksi SSE/SSE2 (Pentium III+)
INT 14h-1FhReservedReserved oleh Intel untuk exception masa depan

Kategori 2: Hardware Interrupts – IRQ (INT 08h – 0Fh, dipetakan ulang di Protected Mode)

Interupsi hardware yang dibangkitkan oleh Programmable Interrupt Controller (PIC).

InterruptIRQDeviceDeskripsi
INT 08hIRQ 0System TimerTimer hardware, tick 18.2x per detik
INT 09hIRQ 1KeyboardKeystroke dari keyboard controller
INT 0AhIRQ 2Cascade (Slave PIC)Menghubungkan PIC kedua
INT 0BhIRQ 3Serial Port 2 (COM2/COM4)Data dari COM2 atau COM4
INT 0ChIRQ 4Serial Port 1 (COM1/COM3)Data dari COM1 atau COM3
INT 0DhIRQ 5Parallel Port 2 / Sound CardLPT2 atau sound card
INT 0EhIRQ 6Floppy Disk ControllerOperasi floppy disk selesai
INT 0FhIRQ 7Parallel Port 1LPT1 (printer)
INT 70hIRQ 8Real-Time ClockRTC alarm atau periodic interrupt
INT 71hIRQ 9Redirected IRQ2Software redirect dari IRQ2
INT 72hIRQ 10AvailableBiasanya untuk network card atau USB
INT 73hIRQ 11AvailableBiasanya untuk SCSI atau sound card
INT 74hIRQ 12PS/2 MouseData dari PS/2 mouse
INT 75hIRQ 13Math CoprocessorError dari FPU
INT 76hIRQ 14Primary IDEHard disk primary channel
INT 77hIRQ 15Secondary IDEHard disk secondary channel

Kategori 3: BIOS Services (INT 10h – 1Fh)

Layanan yang disediakan oleh BIOS untuk interaksi dengan hardware.

InterruptNama ServiceDeskripsi
INT 10hVideo ServicesKontrol kartu grafis, teks, dan mode video
INT 11hEquipment CheckMendapatkan daftar perangkat yang terpasang
INT 12hMemory SizeMendapatkan ukuran conventional memory (KB)
INT 13hDisk ServicesRead/write disk, floppy, dan hard drive
INT 14hSerial Port ServicesKomunikasi serial (COM ports)
INT 15hSystem ServicesBerbagai fungsi sistem dan extended memory
INT 16hKeyboard ServicesInput keyboard dan status
INT 17hPrinter ServicesKontrol parallel port printer
INT 18hExecute ROM BASICBoot ROM BASIC jika disk boot gagal
INT 19hBootstrap LoaderReboot sistem dari disk
INT 1AhTime & Date ServicesReal-Time Clock dan system timer
INT 1BhKeyboard BreakHandler untuk Ctrl+Break
INT 1ChUser Timer TickDipanggil setiap timer tick (hook untuk user)
INT 1DhVideo ParametersPointer ke tabel parameter video
INT 1EhDisk ParametersPointer ke tabel parameter disk
INT 1FhGraphics CharactersPointer ke tabel font grafis (karakter 80h-FFh)

Kategori 4: DOS Services (INT 20h – 2Fh)

Interupsi yang digunakan oleh DOS (jika sistem operasi DOS terinstall).

InterruptNamaDeskripsi
INT 20hProgram TerminateMengakhiri program DOS (deprecated)
INT 21hDOS ServicesLayanan utama DOS (file, I/O, memory, dll)
INT 22hTerminate AddressPointer ke alamat terminasi program
INT 23hCtrl-C HandlerHandler untuk Ctrl-C interrupt
INT 24hCritical Error HandlerHandler untuk error kritikal DOS
INT 25hAbsolute Disk ReadRead sector langsung (DOS)
INT 26hAbsolute Disk WriteWrite sector langsung (DOS)
INT 27hTerminate and Stay ResidentProgram tetap di memori setelah exit
INT 28hDOS IdleDOS idle loop hook
INT 29hFast Console OutputOutput karakter cepat ke console
INT 2AhNetwork ServicesDOS network functions
INT 2BhReservedReserved untuk DOS
INT 2ChReservedReserved untuk DOS
INT 2DhReservedReserved untuk DOS
INT 2EhExecute CommandEksekusi command.com command
INT 2FhMultiplex InterruptKomunikasi antar TSR dan DOS

Kategori 5: Application & Extended Services (INT 30h – FFh)

InterruptNamaDeskripsi
INT 30h-3FhReservedReserved untuk DOS dan aplikasi
INT 40hFloppy BIOSRelocated floppy disk handler
INT 41hHard Disk 0 ParametersPointer ke tabel parameter HD pertama
INT 46hHard Disk 1 ParametersPointer ke tabel parameter HD kedua
INT 4AhUser AlarmRTC alarm handler
INT 4BhVirtual DMA ServicesLayanan VDS untuk DMA
INT 5ChNetBIOSNetwork services (jika terinstall)
INT 60h-67hUser DefinedTersedia untuk program user
INT 67hEMS (Expanded Memory)Expanded Memory Manager services
INT 70h-77hIRQ 8-15Hardware interrupts (slave PIC)
INT 80h-FFhUser / ApplicationInterrupt untuk aplikasi dan OS