Setelah debut best seller buku saya “Belajar Mikrokontroler AT89C51/52/55, Edisi 2” beberapa tahun belakangan ini, banyak yang menanyakan tentang bagaimana melakukan simulasi sedemikian hingga bisa digunakan untuk belajar pemrograman MIkrokontroler AT89, khususnya dalam bahasa Assembly.
Caranya mudah saja, dan hal ini sudah saya sebutkan atau jelaskan dalam buku saya tersebut, yaitu menggunakan TS Control Emulator. Dimana mengunduhnya? Gampang saja, silahkan mengundung program M-IDE Studio MCS-51 disini, yang terbaru sudah dilengkapi (integrasi) dengan TS Control Emulator.
Setelah Anda lakukan instalasi, jalankan program M-IDE tersebut, sebagai contoh tuliskan program assembly pada Gambar 1, yaitu sebuah program yang digunakan untuk membersihkan RAM (dengan memberikan 0xFF pada tiap-tiap lokasi RAM).
Gambar 1
Penjelasan program
Program diawali dengan memulai awal program di alamat 0x00 (baris 1), dilanjutkan dengan mendefinisikan konstanta START dengan nilai 0x30 sebagai awal alamat RAM (baris 2). Register R1 diisi dengan awal lokasi RAM yang akan dibersihkan atau di-clear yaitu sesuai konstanta START (baris 3), register R0 sebagai jumlah byte yang akan di-clear sebanyak 32 lokasi (baris 4). Akumulator diisi dengan data-data clear yaitu 0xFF (baris 5).
Baris 6-9 merupakan proses utama membersihkan RAM (dengan mengisi masing-masing lokasi RAM yang bersangkutan dengan 0xFF). Baris 7 digunakan untuk mengisi RAM dengan lokasi yang ditunjuk oleh register R1 dengan 0xFF (dari akumulator). Dilanjutkan dengan menaikkan isi R1 (ke lokasi RAM berikutnya, baris 8), kemudian diulang sebanyak 32 kali (baris 9).
Instruksi di baris 10 hanya untuk lompat ditempat.
Kompilasi dan Simulasi
Simpan program tersebut dan lakukan kompilasi (dengan menekan F9), jika tidak terjadi kesalahan lanjutkan untuk melakukan simulasi dengan cara klik pada bagian panah seperti pada Gambar 1 (Build and Sim), sehingga akan ditampilkan TS Control EWmulator, hasilnya ditunjukkan pada Gambar 2.
Gambar 2
Perhatikan tanda panah pada Gambar 2 tersebut. Itu adalah baris 3 pada program kita (Gambar 1). Programnya sendiri hingga alamat 0x000a.
Pada tahap ini, kita sudah bisa melakukan simulasi. Caranya? Gampang! Gunakan F11 (Step Into Next Instruction), sehingga sekarang yang aktif adalah instruksi berikutnya, perhatikan tanda-tanda panah di Gambar 3 (register R1 sudah berubah dari 00 menjadi 30).
Gambar 3
Demikian seterusnya Anda lakukan F11 lagi untuk instruksi berikutnya, sambil Anda perhatikan perubahan yang terjadi pada register yang terkait. Perhatikan rangkaian Gambar 4 sampai dengan Gambar 9.
Gambar 4
Gambar 5
Gambar 6
Gambar 7
Gambar 8
Gambar 9
Demikian seterusnya, silahkan Anda F11 sendiri hingga ke-32 lokasi RAM mulai alamat 0x30 akan terisi 0xFF semua, perhatikan Gambar 10.
Gambar 10
Semoga bermanfaat.