Saya telah melihat program seperti bootloader yang membuat interupsi seperti int 10, int 13, dan seterusnya. Jelas sekali entri-entri ini tidak selalu ada, jadi apakah BIOS memuatnya? Jika ya, interupsi manakah yang dimuat oleh BIOS? Selain itu, apakah boleh menimpa entri ini? Omong-omong, semua ini adalah Intel x86.
Apakah BIOS secara otomatis memuat tabel interupsi?
Jawaban (1)
Ya, BIOS memuat tabel Interupsinya sendiri ketika sistem di-boot, lebih spesifik, hanya ketika berada dalam mode nyata, yang disebut IVT (Tabel vektor interupsi). Itu dilokalisasi di KB pertama memori RAM.
Sekarang pertanyaan Anda interupsi mana yang dimuat oleh BIOS? baik itu sepenuhnya tergantung pada pabrikan BIOS, Ketika konsep interupsi BIOS pertama kali diperkenalkan. Banyak produsen memutuskan untuk menerapkan 1000-an Panggilan BIOS. Tetapi hanya sedikit dari mereka yang menjadi standar dan disertakan di semua BIOS. Beberapa di antaranya tercantum di bawah ini
0x10 --> Video
0x13 --> Disk
0x14 --> Serial Port
0x16 --> Keyboard
Referensi: http://en.wikipedia.org/wiki/BIOS_interrupt_call#Interrupt_table
IDT dalam mode Terlindungi adalah bagian dari IVT yang memberi tahu CPU di mana letak ISR di RAM. Menimpa IVT dalam mode nyata tidak masalah sampai Anda mengarahkannya ke lokasi yang benar, jika tidak maka akan menghasilkan kesalahan rangkap tiga dan mengatur ulang CPU.