Beberapa saat yang lalu saya sempat mencoba sebuah kompiler MikroC dari mikroelektronika yang betul-betul hebat, karena hasil kompilasinya yang berupa ASM dan LST bisa saya lihat langsung. Dan kabar baiknya adalah, saya bisa membandingkan antara program C yang saya buat dan hasil kompilasi ASM/LST yang dihasilkan.
Sebagai kasus yang sangat unik dan membuat saya ketawa terbahak-bahak setelah menyaksikan hasil kompilasi ASM-nya adalah masalah aritmetika yang melibatkan operasi penjumlahan, pengurangan, pembagian dan sisa pembagian (modulus). Okey, agar Anda tidak bingung dibutuhkan syarat minimal tahu bahasa C dan bahasa ASM untuk MCS-51 untuk memahami listing-listing program berikut ini.
Yang pertama, adalah listing program C sebagai berikut (saya capture langsung dari editor mikroc-nya):
Terlihat dengan jelas bahwa saya menuliskan 4 (empat) macam operasi aritmetika terhadap register R5 dan R7: penjumlahan, pengurangan, pembagian dan modulus yang masing-masing menempati baris 4, 5, 6 dan 7. Okey that’s all, lantas saya lakukan kompilasi. Kira-kira menurut Anda hasil ASM-nya bagaimana? Apakah nantinya kompiler akan membuat sederetan instruksi untuk melakukan penjumlahan, pengurangan, pembagian dan modulus? Atau bagaimana? Ya, langsung saja Anda lihat hasil kompilasi berikut dan silahkan berikan komentar Anda.
Bagaimana? Saya bisa tertawa terbahak-bahak melihat hasil kompilasi ini.
Ini adalah sebagian kecil dari rancangan buku saya terbaru… nantikan terbitnya, pasti heboh! Insya Alloh
Tags: at89, mikroc, Mikrokontroler
May 12th, 2009 at 4:12 pm
masih bingung..
Kok operasinya langsung dikerjakan disitu ya?
May 13th, 2009 at 6:38 am
@Andi:
Gak usah mas Andi, kompiler yang langsung melakukan perhitungannya karena algoritma yang digunkan mikroC seharusnya melakukan optimasi…
May 13th, 2009 at 5:09 pm
saya masih bingung pak,…
Lalu dengan listing seperti itu hasil kompilasi yang baik seharusnya gimana?
May 14th, 2009 at 10:11 am
@johan:
itu sudah merupakan hasil kompilasi yang terbaik buat MikroC, sehingga tinggal kita buat programnya seharusnya menjadi lebih efisien…
May 18th, 2009 at 9:50 pm
itu bagian dari optimasi kompiler
kompiler mengingat nilai dari r5 dan r6 yang belom diubah
malah seharusnya r7 kaga perlu diulang karena nilai dari hasil + - dan * kaga pernah digunakan cukup move r7, 3
May 27th, 2009 at 9:15 am
Saya tunggu bukunya pak.
May 29th, 2009 at 9:49 am
mudah2an bukunya bener2 fresh dan sedikit lebih beda dari yang lain, soalnya kalau saya perhatikan kebanyakan berbagai buku tentang mikrokontroler yang sudah sudah beredar sekarang cenderung sama dari segi aplikasinya atau objeknya itu2 saja…
Wasalam,
dari yang pernah beli buku hasil karya Pak Agfi
June 9th, 2009 at 1:41 am
seppp…
Begitulah gunanya C, semua perintah dikerjakan di C, selanjutnya tinggal mengisi nilai register di assembler..
baru ngeh saya pak, biasanya males liat ASM dari C soalnya pasti banyak menggunakan variabel yang tak guna L.O.L
June 22nd, 2009 at 2:25 pm
pak tolong bahas dong software ladder micro dari jonathan westhues http://cq.cx/ladder.pl. atau di link ini http://www.ziddu.com/download/.....o.exe.html
makasih pak, soalnya masih lagi belajar nih.
May 16th, 2010 at 1:09 am
emang MCS-51 dioptimasi untuk bahasa C y…???? bknnya mcs-51 emang harus pk assembly. kl AVR y g’pp pk bahasa C.
July 20th, 2010 at 9:32 am
@sponx
MCS-51 bisa pake “Keil C51″ compiler untuk bahasa C, cuma sintaksnya agak beda dibanding AVR seperti klo CVAVR kan PORTB, PORTB.0 s/d PORTB.7, klo di Keil C51 jadinya P2, P2_0 s/d P2_7.
Sayangnya Keil nggak free..
March 17th, 2012 at 3:30 pm
pak, bukunya dijual di toko buku online juga ya?
April 6th, 2018 at 1:26 pm
ternyata bisa seperti ini ya
April 10th, 2018 at 11:47 pm
terima aksih pak sangat membantu tugas saya
May 16th, 2018 at 2:43 pm
thank you for sharing it’s so helpful
December 13th, 2018 at 1:22 pm
terimakasih sangat membantu
January 29th, 2019 at 6:08 pm
You have shared a very informative post which I was searching for a long time. https://goodwifinames.website/ Thanks for helping us to improve our knowledge of your precious information.
April 23rd, 2020 at 5:26 pm
Get all the answers at one place regarding mywifiext Setup and confriguration from the globally famous wifiext technical support experts. visit : https://my-wifiextnet.net/192-168-1-250/