Pemrograman MC6805

MAIN PAGE

KONSEP MIKROKONTROLER
Pendahuluan
Sistem Input
Sistem Output
CPU
Clock dan Memori
Program Komputer
Sistem Mikrokontroler

MEMORI & I/O PARALEL
Pendahuluan
Jenis-jenis Memori
I/O Tipe Memori
Register Kontrol
Peta Memori

ARSITEKTUR KOMPUTER
Pendahuluan
Register-register CPU
Reset

PEMROGRAMAN MC6805
Pendahuluan
Alamat IMEDIATE
Alamat INHERENT
Alamat EXTENDED
Alamat DIRECT
Alamat INDEXED
Alamat RELATIVE
Assembler Directives
File Kode Objek
Rangkuman Instruksi

PERIPERAL ON-CHIP
Port Serial
ADC
EEPROM
Timer
COP

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
ORG $0200
DATA FCB $35,$89,$67
ADD_DATA FDB START
TEMPA RMB 1
TEMPX RMB 1

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.

gb51.gif (1391 bytes)

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 (1’s complement) dari jumlah semua byte dalam record S untuk mem-verify bahwa data sudah benar dan komplit.

| IMEDIATE | INHERENT | EXTENDED | DIRECT | INDEXED | RELATIVE |
| Assembler Directives | File Kode Objek | Rangkuman Set Instruksi |


Contact me at: hsutanto@milis.stts.edu

Copyright (c) Hermawan Sutanto
Written in January 1998
Copying content must have permission from me !

Visit Our Sponsor
adClix Sponsorship Information