pemrograman mikroprosesor/mikrokontroler · contoh:basic, fortran. mikroprosesor 8 ... suatu...
TRANSCRIPT
Mikroprosesor 2
Program & Instruksi
• Program: sekumpulan instruksi ygberurutan yg diberikan kepada MPU/MCU
• Instruksi: operasi yg diperintahkan kepadaMPU/MCU utk dilakukan
• Instruksi dievaluasi dan dieksekusi secaraberurutan mulai dari atas kebawah(kecuali pd kondisi khusus)
Mikroprosesor 5
Terminologi• Mnemonics: Kode 3 atau 4 huruf yg
mendeskripsikan fungsi suatu operasi/instruksi• Operation Code:Kode biner(1 byte) yg diberikan
kepada MPU/MCU utk melakukan suatu operasitertentu
• Operand:Data yg dioperasikan oleh suatuinstruksi, merupakan pelengkap suatuinstruksi(0, 1 atau 2 byte)
• Machine Language: Kode biner/hexadecimal ygdipakai MPU/MCU sbg perwujudan suatuprogram
Mikroprosesor 7
Terminologi
• Assembly Language: Kumpulan instruksiyg ditulis dlm bentuk mnemonic
• Assembly Language disebut juga low level language karena kedekatannya denganmachine code/machine language
• High level language:instruksi yg ditulisdengan sesuatu yg menyerupai bahasamanusia, memiliki sintaks serupa denganstruktur kalimat. Contoh:BASIC, FORTRAN
Mikroprosesor 8
Terminologi
• Mid Level language:instruksi yg ditulisdengan sesuatu yg terletak di antara high level & low level language. Contoh : C, C++, FORTH
• High&Mid level language relatifportable(dapat dikompilasi dan dijalankanpada hardware yg berbeda dengan sedikitpenyesuaian)
• Low level language cenderung lebih kecildan lebih cepat eksekusinya
Mikroprosesor 10
Terminologi
• Source Program/Source Code: Program yg ditulis dlmAssembly Language atau bahasa pemrograman yg lain
• Hand Assembly: Proses konversi setiap instruksi dlmsuatu source program dari mnemonics menjadi op codes& machine code yg bersesuaian dilakukan secaramanual
• Assembler: Suatu aplikasi(software) yg mampumelakukan proses konversi setiap instruksi dlm suatusource program dari mnemonics menjadi op codes& machine code yg bersesuaian
• Kompiler/crossassembler : Suatu aplikasi(software) ygmampu melakukan proses konversi setiap instruksi dlmsuatu source program dari bahasa program yang lainmenjadi assembly codes (mnemonics) atau op codes& machine code yg bersesuaian
Mikroprosesor 11
Terminologi
• Linking : Proses penggabungan library functions kode program yang lain menjadisuatu hasil kompilasi yang utuh
• Locating: proses menetapkan memory program (code memory) untuk setiapinstruksi yang ada di dalam program ygdikompilasi
Mikroprosesor 17
Konsep Pemrograman• Loop:suatu perulangan instruksi atau
sekuen/rangkaian instruksi tertentu• Label:suatu kata/kode yg
menyatakan/mewakili suatu alamat• Komentar: suatu kata/kalimat yg
digunakan sbg penjelasan dr program(tdkdiproses oleh assembler/compiler)
• Flow-Chart:representasi grafis dr algoritmayg dinyatakan dlm blok fungsional dangaris yg menunjukkan progress drprogram
Mikroprosesor 18
Look-Up Tables
• Look-up table:adalah suatu tabel 1 dimensi yg berisi dua kelompok angka ygbersesuaian dari sisi ke sisi
• Look-Up table bisa berisi:– Codes
– Equations– Messages
Mikroprosesor 19
Bagian-Flowchart• Start/End
• Proses
• Input/Output
• Decision/Keputusan
• Subrutin
Mikroprosesor 21
Contoh Struktur Dasar Flow-chart
• Sequence
• Branch Proses B
A True?
Proses C
Yes
No
Proses A
Proses B
Mikroprosesor 27
AVR dan bahasa C• AVR dikembangkan secara khusus untuk dapat
diprogram menggunakan bahasa Assembly dan bahasaC
• Bahasa C adalah suatu general-purpose programming language yang dapat digunakan denganmikroprosesor/mikrokontroler apapun, sepanjangterdapat Kompilernya.
• Bahasa C menampilkan secara lebih mudah konsep ttgapa yg harus dilakukan oleh mikrokontroler(komputer) dengan teks yang bisa dibaca dengan mudah dan logis.
• Setelah menguasai bahasa C, secara umum kita dapatberpindah dari satu mikrokontroler ke yg lain denganlebih mudah, mampu menyusun program yg mudahdipahami & dikembangkan dgn lbh cepat.
Mikroprosesor 28
AVR dan bahasa C
• Secara umummenyusun program dalam High Level Language (BASIC atau C) lebihmudah dibandingmenggunakanbahasa assembly.
Mikroprosesor 29
AVR dan bahasa C
• Kompiler bahasa C untuk mikrokontrolerAVR– WinAVR
– IAR C– GCC AVR (GNU Compiler Collection)
– ICC AVR(Imagecraft C Compiler for AVR)– CodeVision AVR
Mikroprosesor 30
Dasar-dasar bahasa C
• Bentuk paling sederhana suatu program dalam bahasa C
void main()
{
while(1) //do forever
;
}
Mikroprosesor 31
Dasar-dasar bahasa C
• Bentuk lebih lengkap#include <stdio.h>
void main()
{
printf(“HELLO WORD”);
while(1) //do forever
;
}
Mikroprosesor 32
Struktur Program C• Struktur Penulisan Program dlm bahasa C
secara umum terdiri dari :– Preprocessor
– Deklarasi Konstanta global atau variabel– Fungsi atau Prosedur
– Program Utama
• Ada kalanya dapat dilakukanPemrograman secara sederhana yaitudilakukan dengan menuliskan program utamanya saja
Mikroprosesor 33
Preprocessor• Preprocessor
– Digunakan untuk menyertakan teks dari file lain,misalnya header file yg berisi library yang akandigunakan dalam pemrograman, dengan # include file (*.hex),
– Digunakan untuk mendefinisikan macro, dengan#define
– Contoh: # include <mega8535.h># include <stdio.h># include <math.h>#define PULSE PORTC.0#define OUT 1
Mikroprosesor 34
Konstanta&Variabel• Deklarasi Konstanta&Variabel
– Berisi tentang nama konstanta & variabel, tipedata yg digunakan serta nilai awalnya(jikaada)
– Penulisan konstanta mengikuti aturan sbb:• Integer ditulis dengan format desimal biasa• Biner dengan awalan 0b (misal:0b10100011)• Heksadesimal dengan awalan 0x (misal: 0xff)• Unsigned Integer dengan akhiran U (misal: 1000U)• Long Integer dengan akhiran L (misal:99L)• Floating point dengan akhiran F(misal: 1.234F)
Mikroprosesor 36
Program• Untuk kemudahan dalam menyusun &
membaca suatu program terdapat:– Komentar
– Identifier– Fungsi
– Prosedur
Mikroprosesor 37
Komentar• Komentar tidak akan dikompilasi oleh
kompiler, keberadaan komentar hanyaberguna bagi kita(programmer) untukmembantu mengingat kembali kegunaansuatu program atau bagian programContoh :
// line comment/* block comment */ /* this is another
block comment*/
Mikroprosesor 38
Identifier• Identifier adalah suatu nama yg dapat
diberikan pada suatu variabel, fungsi, label atau obyek lainnya.
• Suatu identifier dapat berisi huruf (A...Z, a...z) dan angka (0...9), ataupun tandaunderscore character (_).
• Suatu identifier harus dimulai dengansuatu huruf atau underscore.
• Bersifat Case sensitif , variable1 tidaksama dengan Variable1.
• Identifiers memiliki panjang 64 characters
Mikroprosesor 39
Reserved Keywords• Ada beberapa kata yg tidak boleh digunakan
untuk identifier, di antaranya :breakbitbool_Boolcasecharconstcontinuedefaultdefined
Mikroprosesor 40
Flow Control
• Flow Control adalah bagian program ygdigunakan untuk mengatur/mengendalikanjalannya aliran program
• Dengan adanya flow control maka:– Dapat dibentuk suatu percabangan
– Dapat dibentuk suatu perulangan
• Flow control ini ada yg bersyarat(conditional) dan tidak bersyarat(unconditional)
Mikroprosesor 41
CodevisionAVRDecision and structures• IF-THEN• IF-THEN-ELSE• SWITCH-CASE-BREAK• SWITCH-CASE-DEFAULT• FOR• WHILE• DO-WHILE• BREAK• CONTINUE• GOTO-LABEL
Mikroprosesor 42
IF-THEN• Bentuk Umumif (kondisi) {
Pernyataan;
};
Contohif (a<0x50) {
PORTD=0xFF;
};
IF
Proses
(Pernyataan)
Ya
Tidak
Mikroprosesor 43
IF-THEN-ELSE• Bentuk Umumif (kondisi a) {
pernyataan a;
}
else {
pernyataan b;
};
IF
Proses a
(Pernyataan a)
Proses b
(Pernyataan b)
Ya
Tidak
Mikroprosesor 44
SWITCH-CASE• Bentuk Umumswitch (ekspresi) {
case konstanta1:penyataan1;
break;
case konstanta2:penyataan2;
break;
case konstantaN:penyataanN;
break;};
Mikroprosesor 45
SWITCH-CASE-DEFAULT• Bentuk Umumswitch (ekspresi) {
case konstanta1:
penyataan1;
break;
case konstanta2:
penyataan2;
break;
case konstantaN:
penyataanN;
break;
default:
pernyataanD;
};
K1
Proses 1
(Pernyataan 1)
K2
Proses 2
(Pernyataan 2)
K3
Proses 3
(Pernyataan 3)
Kn
Proses n
(Pernyataan n)
Default
Mikroprosesor 46
FOR• Bentuk Umumfor
(mulai;kondisi;penambahan/pengurangan) {
pernyataan1;penyataan2;
};
• Contoha=1;for (i=1;i<50;i++) {a=a*2;b=a-2;
};
Uji Proses
Mulai
Ya
Tidak
Mikroprosesor 47
WHILE• Bentuk Umumwhile (kondisi) {
pernyataan1;
Pernyataan2;
};
Uji ProsesYa
Tidak
Mikroprosesor 48
DO-WHILE• Bentuk Umumdo {
pernyataan1;
pernyataan2;
}
while (kondisi);
Uji
Proses
Ya
Tidak
Mikroprosesor 49
Flow Control lainnya
• BREAKDigunakan untuk menghentikan ataumengeluarkan dari suatu blok program
• CONTINUEDigunakan untuk melakukan kembaliproses perulangan dari awal
• GOTO-LABELDigunakan untuk melakukan loncatan kelabel yg sesuai.
Mikroprosesor 50
Flow Control lainnya
• Super Loop (perulangan terus menerustanpa syarat)
while (1) {
pernyataan1;
Pernyataan2;
};
Mikroprosesor 51
OPERATOR dalam C
• Operator adalah suatusimbol yang menyatakan suatu operasi tertentu.
• Dalam bahasa C ada 3 kelompok– Unary, operator yg beroperasi pada satu
operand– Binary, Operator yg beroperasi pada dua
operand
– Ternary, Operator yg memerlukan tiga ataulebih operand
Mikroprosesor 56
Prosedur• Prosedur adalah suatu kumpulan instruksi
untuk mengerjakan suatu keperluantertentu tanpa mengembalikan suatu nilai
void nama_prosedur(par 1,..,par N) {
Pernyataan-pernyataan;
}
Mikroprosesor 57
Fungsi• Fungsi adalah kumpulan instruksi untuk
mengerjakan suatu keperluan tertentu denganhasil akhir pengembalian nilai dari keperluantersebut.
Type data nama_fungsi (par1,..parN)
{
Pernyataan-pernyataan;
return variabel_hasil;
}
Mikroprosesor 58
Fungsi
• Fungsi untuk menghitung luas persegipanjang
Luas=panjang x lebar
Int luas ( int panjang, int lebar)
{
luas=panjang*lebar;
return luas;
}
Mikroprosesor 59
CodeVision AVR• CodevisionAVR adalah C COMPILER under
Windows untuk keluarga mikrokontroler AVR. • Dapat dijalankan pada Windows 98, Me, NT 4,
2000, XP dan Vista • Merupakan software tool yg bersifat IDE,
Integrated Development Environment, sehinggaterdapat fasilitas editor, assembler/kompiler,simulator dan emulator serta programmer
• Secara umum mengikuti kaidah bahasapemrograman bahasa C
• Hasil Kompilasi kompatibel dengan USB Programmer AVR910, Kanda System, dsbnya
Mikroprosesor 61
CodewizardAVRTerdapat Fasilitas Codewizard yg dapat kita
gunakan untuk kemudahan membuatprogram
• Setting jenis chip dan kristal yg digunakan• Mengakomodasi fitur-fitur AVR• Konfigurasi pada program dilakukan
secara otomatis• Pengguna tinggal melanjutkan/melengkapi
program sesuai dengan aplikasi yg dibuat
Mikroprosesor 62
CodewizardAVR• Tentukan Chip&Crystal yg
digunakan• Konfigurasi I/O• Setting Interupt• Setting Timer/Counter• Setting LCD• Setting I2C,SPI,1Wire• Setting USART,ADC,
Analog Comparator• Tab fitur yg muncul
mengikuti type chip ygdigunakan
Mikroprosesor 65
CodeVision AVR
• Muncul dialog box bantuanCodeWizard
• Pilih Yes, aturcodewizard sesuaikebutuhan, laluGenerate, save&exit
Mikroprosesor 66
CodevisionAVR IDE
• Anda akan diminta menyimpan(save) tigajenis file yaitu:*.c,*.prj,*.cwp
Mikroprosesor 67
CodevisionAVR IDE
• Lengkapilah program anda melalui editor yg ada pada CodeVision AVR, anda akanmelakukan perubahan pada file *.c
• Setelah selesai editing program, aturproject agar sesuai dengan jenis aplikasiyg dibuat , type data yg dipergunakan(pada Codevision type data yg bisadigunakan terbatas)
Mikroprosesor 69
CodevisionAVR IDE
• Atur pada tab After Build, agar secaraotomatis setelahselesai kompilasidan anda dapatlangsungmendownload kechip mikrokontroler(aktifkan pilihanProgram the Chip)
Mikroprosesor 70
CodevisionAVR IDE• Untuk memperoleh suatu executable program
dibutuhkan langkah berikut:1. Mengkompilasi Program dlm bahasa C yg dari
suatu project, menggunakan CodeVisionAVR C Compiler, dan menghasilkan file object ygdibutuhkan oleh linker
2. Melakukan Linking file object files yg dihasilkanpada tahap kompilasi dan menghasilkan satu file assembler source file
3. Melakukan Assembling terhadap assembler source file, menggunakan Atmel AVR assembler AVRASM2.
Mikroprosesor 71
CodevisionAVR IDE• Terhadap suatu Project terdapat tiga
aktifitas yg terkait dengan proseskompilasi– Compile, hanya melakukan proses 1– Build, melakukan proses 1,2 dan 3 namun
hanya terhadap bagian/modul program ygtelah diubah dari sebelumnya
– Build All, melakukan proses 1,2 dan 3 terhadap semua bagian/modul program darisuatu project
Mikroprosesor 72
CodevisionAVR IDE
• Build membutuhkan waktu yg lebih singkatdibanding dengan Build All
• Build All lebih terjamin• Untuk lebih amannya pilih saja Build All
Mikroprosesor 73
CodevisionAVR IDE
• Muncul Informasitentang hasilkompilasi
• Jika tidak terdapaterror maka andadapat langsungmendownloaddengan memilihtombol Program the Chip
Mikroprosesor 77
Sistem Minimal
• Sebenarnya mikrokontroler AVR memungkinkan untuk beroperasi dengantidak menggunakan crystal, yg digunakanadalah internal osilator AVR
• Konfigurasi yg harus dibuat hanya koneksipada Vcc dan ground serta AVcc danAGND
• Harus dilakukan pengubahan pada fuse bit yg mengatur pilihan sumber clock (setting dilakukan pada programmer)
Mikroprosesor 84
Programmer
• Contoh Programmer lain– AVRdude-SP12 (http://xs4all.nl/~sbolt/e-
index.html)– TwinAVR (www.rowalt.de/mc/)
Mikroprosesor 85
Bootloader• Bootloader :aplikasi pada mikrokontroler
yang memungkinkan untuk memprogramulang program utama pada mikrokontrolertersebut.
• Bootloader memungkinkan pengubahanprogram pada mikrokontroler dilakukanmelalui komunikasi serial tanpamembutuhkan programmer yang berupahardware khusus.
Mikroprosesor 87
EVBU• Terdiri dari:
– M68HC11(seri E9)– MC68HC68 (Real Time Clock)– RS232 Communication– Expanded Devices (EPROM/EEPROM, RAM dan PPI
8255)
Mikroprosesor 88
BUFFALO
• Bit User Fast Friendly Aid To Logical Operations
• Program Monitor, suatu program ygmenyediakan suatu lingkungan kerja ygterkontrol di mana sistem (M68HC11) dapat beroperasi
• Dilengkapi User Interface (UI) agar pengguna dapat mengakses memory, menjalankan program aplikasi danmemonitor fungsi dan kerja M68HC11
Mikroprosesor 89
BUFFALO• Bersama dengan EVBU, memungkinkan
– On-line assembler (Memasukkan program secaralangsung ke memory)
– Program Download (Program yg telah dibuat dandiassembly secara eksternal dapat dimasukkan kedalam memory)
– Debugging/trace (menjalankan program secara step atau instruksi per instruksi agar pengguna bisamengamati jalannya program dan isi dari register danmemory M68HC11)
• BUFFALO sudah ada di dalam M68HC11 sejakdari Pabrik (di dalam ROM),namun bisa dinonaktifkan
Mikroprosesor 90
Konfigurasi• Untuk menggunakan
EVBU dan BUFFALO dibutuhkan :– PC dengan program yg
dbutuhkan(Programmer’s Notepad & AxIDE atauHyperterminal atauProComm dan AS11, Q Editor)
– EVBU dan Power Supplynya
– Kabel serial
HOST COMPUTER
EVBU 68HC11
POWERSUPPLY
COM1COM2
RS 232
Mikroprosesor 91
Assembler Directives• ORG (Originate)
Directive yang digunakan untuk mengeset lokasi Program Counter dari assembler. Assembler akan menterjemahkan statemenprogram ke dalam kode instruksi mesin dan data pada lokasimemori yang ditunjukkan oleh ORG ini dan kemudian Program Counter akan menunjukkan lokasi memori berikutnya. Setiapprogram setidaknya mempunyai satu ORG untuk menentukanalamat awal program dalam memori. Program yang lengkapmemiliki ORG kedua yang menentukan alamat vektor reset danvektor interrupt.
• EQU (Equate)Directive yang digunakan untuk mengasosiasikan nilai biner dengansuatu label. Nilai ini bisa 8 bit maupun 16 bit. Directive ini tidakmembentuk kode objek apa pun. Dalam proses assembly, assembler harus selalu melihat daftar referensi di mana diamenyimpan nilai biner ekuivalen untuk setiap label. Jika ada label yang muncul dalam program, assembler akan melihat padareferensi untuk mendapatkan nilai biner ekuivalennya.
Mikroprosesor 92
Assembler Directives• FCB (Form Constant Byte) memiliki argumen
berupa label atau angka, yang dipisahkandengan koma, yang dapat dikonversikanmenjadi data-data byte tunggal. Setiap byte yang dispesifikasikan dalam directive FCB menghasilkan sebuah byte kode mesin dalamfile objek. Karena itu FCB digunakan untukmendefinisikan suatu konstanta dalam suatuprogram
• FDB (Form Double Byte) memiliki argumenberupa label atau angka, yang dipisahkandengan koma, yang dapat dikonversikanmenjadi data 16 bit.
Mikroprosesor 93
Assembler Directives• FCC (Form Constant Character)
digunakan untuk mengisi suatu memoridengan suatu karakter dlm kode ASCII
• RMB (Reserve Memory Byte) digunakanuntuk mengeset suatu spasi dalam RAM untuk tempat variabel program.
• FILL digunakan untuk mengisi sejumlahmemori dengan suatu konstanta
• BSZ (Block Store Zeros) & ZMB (Zero Memory Byte) digunakan untuk mengisisejumlah memori dengan nol
Mikroprosesor 94
Assembler Directives• Contoh penggunaan directive dalam
assembler adalah:
PORTA EQU$00ORG $0200
DATA FCB $35,$89,$67ADD_DATA FDB STARTTEMPA RMB 1TEMPX RMB 1
Mikroprosesor 95
Simbol KhususInformasi yang disediakan dalam listing program menggunakanbeberapa simbol untuk menentukan tipe dari numerik yang digunakan. Simbol khusus ini adalah:
• Tanpa simbol mengindikasikan numerik desimal. Angka ini akanditerjemahkan menjadi nilai biner sebelum disimpan dalam memoridan digunakan oleh CPU.
• Simbol $ mengindikasikan numerik heksadesimal, seperti $24 adalah 24 dalam heksadesimal yang bernilai sama dengan 36 desimal.
• Simbol @ mengindikasikan numerik oktal, seperti @10 bernilaisama dengan 8 desimal.
• Simbol % mengindikasikan numerik biner, seperti %000100 bernilaisama dengan 8 desimal.
• Simbol ‘ (apostrof) mengindikasikan karakter ASCII tunggal. • Simbol # mengindikasikan operand langsung (immediate) dan
angka ditemui langsung dalam lokasi memori yang mengikuti kodeoperasi. Beberapa macam simbol dan ekspresi dapat mengikutisimbol # ini.
Mikroprosesor 96
File Kode Objek• 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, sedangkanyang diinginkan oleh komputer untuk dimuat ke memori adalah yang disebut denganobject code file (file kode objek). Untuk mikrokontroler Motorola, bentuk umum darifile kode objek adalah S-record file. Assembler dapat digunakan untuk menghasilkanlisting file maupun file kode objek ini.
• Suatu file S-record adalah file teks ASCII yang dapat dilihat dengan program tekseditor atau pengolah kata biasa. Setiap baris dari file ini adalah sebuah record. Setiaprecord 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 inginmenggunakan file ini. S1 adalah data record utama. Dan suatu record S9 digunakanuntuk menandai akhir dari file S-record. Gambar di bawah menunjukkan sintaks dariS1-record.
• Semua angka di dalam file S-record ditulis dalam format heksadesimal. Field length(panjang) adalah jumlah pasangan digit heksadesimal di dalam record tanpatermasuk field type dan length. Field address (alamat) adalah alamat 16-bit di manabyte data pertama akan disimpan di dalam memori. Setiap pasangan dari digit heksadesimal di dalam field object code data adalah kode mesin yang mewakili suatuharga 8-bit yang akan disimpan dalam suatu lokasi di memori. Field checksumadalah harga 8-bit yang mewakili komplemen (1’s complement) dari jumlah semuabyte dalam record S untuk mem-verify bahwa data sudah benar dan komplit.
Mikroprosesor 97
Addressing Mode• Immediate:
Dalam mode pengalamatan ini, operand ditempatkan pada lokasialamat setelah opcode. Jumlah byte yang dibuthkan tergantungpada ukuran memori atau register yang dioperasikan. Contoh :LDAA #23LDAB #%01000110
• ExtendedAlamat efektif operand disimpan pada dua byte setelah opcode, satu byte untuk high-order dan satu byte untuk low-order. Instruksiyang menggunakan mode pengalamatan ini membutuhkan tiga atauempat byte. Satu atau dua byte untuk opcode dan dua byte untukoperand. Contoh :LDAA $1023STAA $10FF
Mikroprosesor 98
Addressing Mode• Direct
Alamat operand low-order byte ditempatkan sesudah opcode. Alamat operand high-order byte adalah $00. Mode pengelamatn inihemat memori dan waktu eksekusi karena hanya membutuhkansatu byte untuk alamat operand.Contoh :LDAA $20LDAA $30
• InherentPada mode pengalamatan inherent semua informasi yang dibutuhkan untuk melaksanakan instruksi terdapat dalam opcodesehingga tidak memerlukan operand. Contoh :INCAINCBINXINY
Mikroprosesor 99
Addressing Mode• Indexed
Alamat efektif ditentukan dengan menjumlahkan ofsetalamt 8 bit pada instruksi dengan isi register index (IX atau IY). Contoh :LDX #$1000LDAA $20,XADDA $30,X
• RelativeMode pengalamatan relatif hanya digunakan padainstruksi percabangan(branch). Jika kondisipercabangan benar maka alamat ofset 8 bit yang terdapat pada instruksi ditambahkan dengan isi Program Counter untuk membentuk alamat efektif percabangan.
Mikroprosesor 103
Referensi• Ken Stiffler, 1996, Design with Microprocessor
for Mechanical Engineers, McGraw Hill,hal 44-85
• John Crisp, 2004, Introduction to Microprocessors & Microcontrollers, NewnesPublishing
• Technician’s Guide to M68HC11 Microcontroller
• Dhananjay V. G., 2001, Programming & Customizing the AVR Microcontroller, McGraw Hill
• www.freescale.com• www.microchip.com