Belajar Assembly

Senin, 08 November 2010

Bahasa Assembly (Assembler) adalah merupakan salah satu dari sekian banyak bahasa pemrograman yang tergolong dalam Bahasa Pemrogaman Tingkat Rendah (Low Level Language) dan setingkat diatas bahasa mesin (Machine Language). Bahasa assembly mempunyai keunggulan yang tidak mungkin diikuti oleh bahasa tingkat apapun dalam hal kecepatan, ukuran file yang kecil serta kemudahan dalam manipulasi sistem computer. Bahasa assembly tidak seperti bahasa tingkat tinggi (High Level Language) yang biasanya memiliki IDE - Integrated Development Environment, bahasa assembly dapat diketikkan dalam berbagai macam editor teks, misalnya Notepad, WordPad, dan editor teks lainnya. Perlu diingat bahwa ekstensi dari program assembly haruslah .ASM. Setelah program assembly diketikkan dan disimpan dengan ekstensi .ASM, maka program tersebut harus dikompilasi menjadi Object File berekstensi .OBJ, dan kemudian harus dilink menjadi executable file (.EXE/.COM), executable file inilah yang baru dapat dijalankan. Untuk mengcompile source file, misalnya file programku.ASM menjadi file object dengan extensi .OBJ bisa anda gunakan file TASM.exe atau dapat juga menggunakan NASM.exe
Bahasa Assembler

            Bahasa Pemrograman yang mempunyai kedudukan diantara tingkat tinggi dan bahsa tingkat rendah yang mengunakan kode Mnemonic untuk mengganti kode biner, sehingga memudahkan penulisan program.Kode Mnemonic ini harus diterjemahkan terlebih dahulu menjadi bahasa mesin baru bisa dijalankan dengan bantuan Compiler seperti compiler TASM (Turbo Assmbler) kemudian Tlink (Turbo Linker). Bahasa Assembler dapat dibuat dengan editor biasa pada komputer seperti NodePad pada Windows atau Edit pada DOS.
Setiap prosesor mempunyai konstruksi yang berlainan, sehingga bahasa assembler untuk setiap prosessor berlainan pula, yang sama hanya pola dasar dan cara penulisan programnya.
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Assembler adalah sebuah program komputer untuk menterjemahkan Bahasa Assembly -- intinya, sebuah representasi menmonic dari bahasa mesin — menjadi kode objek. Sebuah assembler silang (lihat kompilator silang) memproduksi kode untuk satu jenis prosesor, tetapi dapat dijalankan di prosesor lain.
Selain menterjemahkan instruksi assembly mnemonic menjadi opcode, assembler juga menyediakan kemampuan untuk menggunakan nama simbolik untuk lokasi memori (menghindari penghitungan rumit dan pembaruan alamat secara manual ketika sebuah program diubah sedikit), dan fasilitas makro untuk melakukan penggantian textual — biasanya digunakan untuk menggantikan suatu urutan instruksi yang pendek untuk dijalankan perbaris dan bukan dalam sebuah subrutin.
Assembler jauh lebih mudah ditulis daripada kompilator untuk bahasa tingkat-tinggi, dan telah tersedia sejak 1950-an. Assembler modern, terutama untuk arsitektur berdasarkan RISC, seperti arsitektur MIPS, Sun SPARC, dan HP PA-RISC, mengoptimalkan penjadwalan instruksi untuk menggunakan pipeline CPU secara efisien.
Daftar Instruksi Bahasa Assembly MCS-51
Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU)

Pemrograman AT89S51 bahasa Assembly


Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program.

Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi
Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis
BAHASA ASSEMBLY MCS-51 Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program yaitu:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler)
Klik disini untuk melihat daftar Assembly Directiv
Untuk mempelajari bahasa assembler, harus memahami konsep bilangan,
karena berhubungan dalam pengaksesan ke port atau mengetahui pengkodean
ASCII.
Sistem Bilangan adalah kumpulan angka yang membentuk suatu sistem
peredaran tertentu.
Jenis bilangan :
1. Sistem Bilangan Biner
2. Sistem Bilangan Oktaf
3. Sistem Bilangan Desimal
4. Sistem Bilangan Hexadesimal
PENGGUNAAN SOFTWARE
Software untuk membantu memprogram mikrokontroler MCS-51 sudah banyak tersedia. Untuk mempermudah maka dapat dipilih software yang merupakan Integrated Development Environment (IDE) yaitu software yang merupakan editor sekaligus compiler. Bahkan juga ada yang sekaligus debugger dan simulator. Salah satunya yang digunakan pada training di PRASIMAX adalah Read51.
Berikut beberapa cara penggunaan software.
1. User dapat membuat program sistem single file maupun proyek (beberapa file). Klik menu File lalu pilih New File.
2. Ketik program di window editing. Software menyediakan syntax highlighting otomatis, sehingga tiap assembly directive akan diberi warna ungu dan tiap instuksi akan diberi warna biru.
3. User dapat langsung mengcompile program dengan sekali klik icon Build (F9). Ketika ada kesalahan maka user dapat langsung ditunjukkan letak dan jenis kesalahan.
4. User dapat melakukan simulasi software untuk melihat hasil kerja program. Klik IDE mode (F2).
5. User dapat melakukan debugging, bahkan melihat hasil eksekusi per step (per baris) terhadap kondisi-kondisi register dan memori di mikrokontroler. Klik Step Into (F8).

0 komentar: