Dalam emu8086, interrupt dapat dipandang sebagai sejumlah function. Fuction ini memudahkan pemrograman, bahkan menulis kode untuk mencetak karakter. Dengan pemanggilan interrupt maka function tersebut akan menjalankan tugasnya. Selain itu ada juga interrupt yang berkerja dengan disk drive dan hardware lainnya. Pada saat melakukan pemanggilan suatu perintah hal itu dinamakan software interrupts. Interrupt juga dipicu oleh hardware lainnya, ini disebut hardware interrupts. Materi kali ini akan membahas pada software interrupts. Untuk membuat software interrupt ada suatu instruksi yaitu INT, dengan syntax: INT value.
Dimana value berupa angka antara 0 hingga 255 (atau 0 hingga 0FFh), pada umumnya menggunakan dalam hexadecimal. Setiap interrupt masih punya sub-function, sehingga keseluruhannya ada lebih dari 256 function. Untuk menentukan suatu sub-function register AH harus tentukan terlebih dahulu sebelum pemanggilan interrupt. Tiap interrupt mempunyai hingga 256 sub-function, jadi didapatkan 256 * 256 = 65536 function. Secara umum register AH yang digunakan, tetapi suatu saat register lain juga dipakai. Pada umumnya register lain digunakan untuk mengirim parameter dan data ke sub-function. Contoh berikut ini menggunakan INT 10h sub-function 0Eh untuk mencetak pesan "Hello!”. Fungsi ini menampilkan karakter di layar.
Procedure dan Macro
Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan lebih mudah. Proses pencarian kesalahan akan lebih mudah bila digunakan procedure.
Macro hampir sama dengan procedure, yang dapat membantu anda dalam membuat program yang besar. Dengan macro tidak perlu menggunakan perintah "CALL" dan juga bisa menggunakan parameter dengan mudah. Suatu ciri dari pemrograman bahasa tingkat tinggi. Macro relatif lebih mudah dibuat dibandingkan procedure.
Perbedaan Macro dan Procedure
Berikut ini adalah perbedaan antara procedure dengan macro.
- Procedure tidak memperpanjang program, karena hanya muncul sekali saja pada program
- Macro akan muncul pada program setiap terjadi pemanggilan terhadap macro, sehingga macro akan memperpanjang program
- Untuk menggunakan procedure anda harus memanggilnya dengan perintah CALL dan dalam procedure diakhiri dengan RET
- Macro bisa anda gunakan dengan memanggil langsung namanya dan pada macro tidak perlu diakhiri dengan RET
- Procedure akan memperlambat program, karena setiap pemanggilan terhadap procedure, komputer harus melakukan lompatan
- Macro tidak memperlambat program karena komputer tidak perlu melakukan lompatan
- Pada procedure tidak bisa menggunakan parameter secara langsung. Bila anda ingin menggunakan parameter bisa dengan melalui stack atau register
- Macro dengan mudah bisa menggunakan parameter, suatu ciri bahasa tingkat tinggi
- Macro relatif lebih mudah dibuat dan digunakan daripada procedure
Setelah melihat perbedaan-perbedaan tersebut, berikut tips kapan menggunakan procedure dan kapan menggunakan macro.
- Jika function tersebut jarang dipanggil, maka gunakanlah macro karena macro tidak memperlambat proses
- Jika function tersebut sering dipanggil, maka gunakanlah procedure karena tidak memperbesar program
- Jika function tersebut kecil, maka gunakanlah macro, karena pengaruh terhadap besarnya program hanya sedikit dan program akan lebih cepat
- Jika function tersebut besar, maka gunakanlah procedure, karena procedure tidak memperbesar program