Pemrograman MC6805 |
|||||||
MAIN PAGE KONSEP MIKROKONTROLER MEMORI & I/O
PARALEL ARSITEKTUR
KOMPUTER PEMROGRAMAN
MC6805 PERIPERAL
ON-CHIP |
Assembler
Directives ORG (Originate) adalah directive yang digunakan untuk mengeset lokasi PC dari assembler. Assembler akan menterjemahkan statemen program ke dalam kode instruksi mesin dan data pada lokasi memori yang ditunjukkan oleh ORG ini dan kemudian PC akan menunjukkan lokasi memori berikutnya. Setiap program setidaknya mempunyai satu ORG untuk menentukan alamat awal program dalam memori. Program yang lengkap memiliki ORG kedua yang menentukan alamat vektor reset dan vektor interrupt. EQU (Equate) adalah directive yang digunakan untuk mengasosiasikan nilai biner dengan suatu label. Nilai ini bisa 8 bit maupun 16 bit. Directive ini tidak membentuk kode objek apa pun. Dalam proses assembly, assembler harus selalu melihat daftar referensi di mana dia menyimpan nilai biner ekuivalen untuk setiap label. Jika ada label yang muncul dalam program, assembler akan melihat pada referensi untuk mendapatkan nilai biner ekuivalennya. FCB (Form Constant Byte) memiliki argumen berupa label atau angka, yang dipisahkan dengan koma, yang dapat dikonversikan menjadi data-data byte tunggal. Setiap byte yang dispesifikasikan dalam directive FCB menghasilkan sebuah byte kode mesin dalam file objek. Karena itu FCB digunakan untuk mendefinisikan suatu konstanta dalam suatu program. FDB (Form Double Byte) memiliki argumen berupa label atau angka, yang dipisahkan dengan koma, yang dapat dikonversikan menjadi data 16 bit. Setiap argumen yang dispesifikasikan dalam directive FDB, membangkitkan dua byte kode mesin dalam file objek. RMB (Reserve Memory Byte) digunakan untuk mengeset suatu spasi dalam RAM untuk tempat variabel program. Directive RMB ini tidak menghasilkan kode objek. Contoh program yang menggunakan directive dalam assembler adalah: PORTA EQU $00 File Kode Objek Telah dipelajari bahwa komputer meminta program dalam bentuk nilai 8-bit di dalam memori. Sejauh ini, program yang ditulis terlihat sebagai tulisan manusia, sedangkan yang diinginkan oleh komputer untuk dimuat ke memori adalah yang disebut dengan object code file (file kode objek). Untuk mikrokontroler Motorola, bentuk umum dari file kode objek adalah S-record file. Assembler dapat digunakan untuk menghasilkan listing file maupun file kode objek ini. Suatu file S-record adalah file teks ASCII yang dapat dilihat dengan program teks editor atau pengolah kata biasa. Setiap baris dari file ini adalah sebuah record. Setiap record dimulai dengan huruf kapital S dan diikuti oleh angka-angka kode dari 0 sampai 9. Angka-angka kode yang penting adalah S0, S1, dan S9. S0 adalah header record opsional yang berisi nama dari file untuk kepentingan pemakai yang ingin menggunakan file ini. S1 adalah data record utama. Dan suatu record S9 digunakan untuk menandai akhir dari file S-record. Gambar di bawah menunjukkan sintaks dari S1-record. Semua angka di dalam file S-record ditulis dalam format heksadesimal. Field length (panjang) adalah jumlah pasangan digit heksadesimal di dalam record tanpa termasuk field type dan length. Field address (alamat) adalah alamat 16-bit di mana byte data pertama akan disimpan di dalam memori. Setiap pasangan dari digit heksadesimal di dalam field object code data adalah kode mesin yang mewakili suatu harga 8-bit yang akan disimpan dalam suatu lokasi di memori. Field checksum adalah harga 8-bit yang mewakili komplemen (1s complement) dari jumlah semua byte dalam record S untuk mem-verify bahwa data sudah benar dan komplit. | IMEDIATE | INHERENT | EXTENDED | DIRECT
| INDEXED | RELATIVE |
Copyright (c) Hermawan Sutanto |