Assembling dan Menjalankan Program MCS-51

| | Tidak ada komentar
Bentuk dasar dari program bahasa assembly telah dibahas pada artikel sebelumnya, pertanyaan berikutnya adalah: Bagaimana itu dibuat, dirakit, dan siap untuk dijalankan? Langkah-langkah untuk membuat program bahasa assembly yang siap untuk dijalankan akan diuraikan sebagai berikut:

Diagram langkah-langkah membuat sebuah program
Diagram langkah-langkah membuat sebuah program
  1. Pertama kita harus menggunakan sebuah editor untuk mengetik program. Banyak program editor atau pemrosesan kata yang tersedia untuk digunakan dalam membuat dan/atau mengedit sebuah program. Editor yang banyak digunakan adalah program MS-DOS EDIT (atau Notepad pada Windows), dimana tersedia dalam semua sistem operasi microsoft. Perlu diperhatikan bahwa editor harus mampu menghasilkan file ASCII. Bagi kebanyakan assembler, nama file biasanya mengikuti konvesi DOS, namun file sumber memiliki ekstensi "asm" atau "src" tergantuk dari assembler yang anda gunakan. Periksa assembler anda untuk konvesi ini. Ekstensi "asm" pada file sumber digunakan oleh assembler untuk langkah berikutnya. Ada beberapa editor yang dirancang khusus untuk menulis program bahasa assembly 8051, salah satunya adalah MIDE-51 keluaran OpCUBE. Editor ini menurut saya sudah cukup baik karena telah dilengkapi oleh syntax highlighter yang dapat memudahkan kita dalam menulis sebuah program.
  2. File sumber "asm" yang berisi kode program yang dibuat pada langkah pertama kemudian  diserahkan ke assembler 8051. Assembler akan mengubah instruksi-intruksi dalam file tersebut kedalam kode mesin. Assembler akan menghasilkan file objek dan file list. Ekstensi untuk file objek adalah "obj", sedangkan ekstensi untuk file list adalah "lst". Sebagai pilihan, anda dapat menggunakan program assembler ASEM-51 buatan W.W.Heinz atau ASM51 buatan intel.
  3. Assembler memerlukan langkah ketiga yang disebut linking. Program link mengambil satu atau lebih file objek dan akan menghasilkan file objek absolut dengan ekstensi "abs". Umumnya file abs ini digunakan untuk latihan, jika kita memiliki program monitor.
  4. Selanjutnya, file "abs" dimasukkan ke dalam program yang disebut "OH" (konverter dari objek ke hex), dimana akan menghasilkan sebuah file berekstensi "hex" yang siap untuk di-burn ke dalam ROM. Program ini terdapat pada semua assembler 8051. Program assembler yang berbasiskan windows dimasa sekarang telah menggabungkan langkah 2 sampai 4 menjadi satu langkah saja.

Lebih Jauh Tentang File "asm" dan "obj"

File "asm" dapat disebut juga sebagai file source (sumber), dan untuk alasan inilah beberapa assembler juga mendukung extensi "src". Periksa assembler 8051 anda untuk melihat ekstensi yang dibutuhkan. Seperti yang disebutkan sebelumnya, file ini dibuat dengan editor seperti DOS EDIT, Windows Notepad, atau editor lainnnya. Assembler 8051 mengubah file asm intruksi bahasa assembly tersebut ke bahasa mesin dan menghasilkan file obj (object). Selain membuat file objek, assembler juga menghasilkan file lst (file list).

File List "lst"

File Lst (List) adalah tambahan, namun bagaimanapun juga file tersebut sangat penting karena file tersebut mendaftar setiap opcode yang telah dibuat oleh assembler, termasuk alamat-alamatnya, dan termasuk pemberitahuan jika ada kesalahan dalam penulisan program. Beberapa Assembler tidak otomatis mebuatkan file lst tersebut untuk kita, dan membutuhkan perintah tambahan dalam DOS Command Promt saat menjalankan assembler yang bersangkutan. Namun untuk program assembler ASM51 buatan Intel atau ASEM-51 buatan W.W.Heinz sudah otomatis membuatkan file lst ini. File tersebut sangat penting bagi programer untuk melihat setiap baris syntax yang dituliskan apa sudah benar atau tidak. Termasuk dapat melihat alamat setiap opcode dengan jelas. Dibawah ini merupakan contoh file lst dari sebuah program.
0000               ORG   0H       ;Mulai program di alamat 0
0000  7D25         MOV   R5,#25H  ;Isikan 25H ke dalam R5
0002  7F34         MOV   R7,#34H  ;Isikan 34H ke dalam R7
0004  7400         MOV   A,#0     ;Isikan 0 ke dalam A
0006  2D           ADD   A,R5     ;Jumlahkan isi R5 dengan A (A=A+R5)
0007  2F           ADD   A,R7     ;Jumlahkan isi R7 dengan A (A=A+R7)
0008  2412         ADD   A,#12KH  ;Jumlahkan A dengan 12H (A=A+12H)
000A  80FE  HERE:  SJMP  HERE     ;Program berputar disini
000C               END            ;Akhir dari file sumber

Sumber:
1. Mazidi, Muhammad Ali., The 8051 Microcontroller and Embedded Systems - Using Assembly and C.

Tidak ada komentar

Posting Komentar