Selasa, April 29, 2014

Teknik inline assembly adalah teknik menuliskan kode-kode bahasa assembly diantara kode-kode bahasa pemrograman lainnya, seperti Pascal , C dan C++. Tidak semua kompilator memiliki kemampuan untuk meng-compile kode inline assembly, tetapi Borland C++ dan Turbo C/C++ memiliki kemampuan ini.
Cara menggunakan teknik inline assembly pada Borland C++ 5.02 adalah dengan menggunakan kata cadangan asm lalu diikuti kode program bahasa assembly dan diakhiri dengan tanda semicolon/titik koma (;). 
Berikut adalah contoh sintaks yang menggunakan kata kunci asm:


Kata kunci asm bisa juga diketikan sebagai blok pernyataan, contohnya seperti gambar di bawah ini: 



Di bawah ini adalah contoh program yang sama seperti contoh01.cpp untuk mencetak huruf A di layar monitor. Perbedaannya adalah fungsi int86 digantikan dengan kode-kode inline assembly, berikut contoh programnya dan simpan dengan nama file project contoh02.ide dan file kode program contoh002.cpp









*Filenya dapat di unduh  disini

Perhatikan baris 11 sampai baris 16! Instruksi mov ah, 0x09 artinya adalah instruksi tersebut di gunakan untuk menyimpan nilai 9 heksadesimal kedalam register AH. Fungsi tersebut juga berlaku untuk instruksi mov bh, 0x00 atau mov cl, 0x01. Dalam pemrograman bahasa assembly  opcodemov digunakan untuk memberikan nilai kedalam suatu operand.
Selanjutnya perhatikan baris 17. Pada baris ini instruksi int VIDEO_INT bukan mendeklarasikan  variabel  VIDEO_INT  dengan  tipe  data integer,  tetapi untuk menjalankan  interupsi yang nilainya disimpan dalam konstanta VIDEO_INT, yaitu 0x10 atau 10 heksadesimal. Dalam pemrograman bahasa assembly opcode int digunakan untuk menjalankan interupsi sesuai dengan nomor interupsinya sesudah kata kunci int.



Sekian pembahasan hari ini semoga bermanfaat yaa, sampai ketemu di pembahasan selanjutnya.....


nb : Apabila kamu belum mengerti tanyakan saja di kolom komentar..

2 komentar:

  1. assalamu'alaikum

    ka saya mau tanya. itu untuk "asm mov ah, = 0x9;"
    itu kenapa setiap setelah asm pasti pakai mov, dan kenapa setiap pemasukkan kode harus angkanya di kalikan 0?

    seprti 0x09; atau 0x5a?

    tolong jawabannya yah ka. ^_^

    terimakasih sebelumnya

    BalasHapus
  2. Thanks min, lebih gampang dicerna dibandingin baca modul.

    BalasHapus