Direct Addressing (Pengalamatan Langsung)
Penjelasan :
Suatu proses penyalinan data pada register dan suatu alamat efektif (Effective Address, Alamat ini disimpan pada byte berikut setelah opcode instruksi). Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Kelebihan :
Field alamat berisi efektif address sebuah operand
Kekurangan :
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
Contoh :
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator.
Penjelasan :
Suatu proses penyalinan data pada register dan suatu alamat efektif (Effective Address, Alamat ini disimpan pada byte berikut setelah opcode instruksi). Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Kelebihan :
Field alamat berisi efektif address sebuah operand
Kekurangan :
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
Contoh :
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator.
Indirect Addressing (Pengalamatan tak langsung)
Penjelasan :
Merupakan mode pengalamatan tak langsung. Field alamat mengacu pada alamat word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang atau untuk mentransfer DATA/byte/word antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register. Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV A, @R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke akumulator. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM internal.
Kelebihan :
Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kekurangan :
Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
Contoh :
ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator.
Immediate Addressing (Pengalamatan Segera)
Penjelasan :
Suatu proses penyalinan data yang berukuran byte atau word langsung ke dalam register tujuan. Data yang dimaksud di sini adalah suatu nilai atau bilangan tertentu atau bisa juga berupa sebuah konstanta (didefinisikan dengan instruksi EQU). Data segera merupakan data konstan, sedangkan data yang dipindahkan dari register adalah data berubah (variable). Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A, #20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Keuntungan :
- Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
Kekurangan :
· Ukuran bilangan dibatasi oleh ukuran field
Contoh :
ADD 7 ; tambahkan 7 pada akumulator
0 comments: