P. 1
Addresing Mode Pada Microprocessor IBM-PC 8088

Addresing Mode Pada Microprocessor IBM-PC 8088

|Views: 400|Likes:
Published by raras_talas
Tugas saat kuliah...
Tugas saat kuliah...

More info:

Published by: raras_talas on Sep 28, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/09/2014

pdf

text

original

Tugas Individu Arsitektur dan Organisasi Komputer Nama : Raras Wirasto Addresing Mode pada Microprocessor IBM-PC 8088

Immediate Addressing Mode Pada immediate addressing mode data berada mengikuti opcode(Operation Code). Ex: Mov AL,35H B0 35 Contoh instruksi diatas memerintahkan untuk mengisi akumulator AL dengan nilai 35H. Pada immediate addressing mode ini perintah dapat melibatkan 8 bit data atau pun 16 bit data.Contoh diatas adalah 8 bit data,sedangkan untuk 16 bit data contohnya adalah sbb: Ex: Mov SI,1234H BE 34 12 Instruksi tersebut akan memindahkan 16 bit 1234H ke index register SI. Telihat pada perintah immediate ini dua byte 34 12 disimpan dalam memori berupa low-order terlebih dahulu. Addressing Mode Postbyte Sebagian besar instruksi immediate melibatkan register 8088, tetapi sebenarnya sangat memungkinkan untuk melakukan perintah ke lokasi memori secara langsung.Sebagai contoh Opcode C6 yaitu memiliki perintah: Mov b r/m,imm Pada kasus tersebut, 8 bit immediate byte dipindahkan secara langsung ke suatu memori yang didefinisikan oleh r/m.Arti dari r/m ini dijelaskan oleh Opcode byte yand disebut Addressing Mode Postbyte. Ex: Add BL.19H Add b r/m,imm Pada perintah add ini hanya melibatkan satu opcode yaitu 80 diikuti Postbyte. Pada perintah ini hanya melibatkan register saja maka postbyte 8 bit terdiri dari : mod[2bit]reg[3bit]r/m[3bit] : 11 000 011 yaitu C3H. sehingga memilik Opcobe sbb; 80 C3 19 Add BL,19H

Semua penjelasan opcode dapat dilihat pada IBM-PC 8088 User’s Manual/Handbook.

Register Addressing

Pada Register Addressing data yang ada ditemukan hanya pada register saja.Sebagai contoh: Dec CL Arti dari Opcode diatas adalah mengurangi satu nilai dari isi register CL. Contoh itu adalah single operand instruction. Register Addressing dapat juga melibatkan dua operands. Contoh : Mov AX,SI Memindahkan isi dari register SI ke register AX. Perintah register addressing mode dapat melibatkan perpindahan data dari satu register ke register lain. Direct Addressing Mode Direct Addressing Mode mengguankan dua byte operand yang dapat merepresentasikan alamat offset. Alamat offset ini dikombinasikan dengan nilai yang ada pada data segment register (DS) untuk membentuk alamat sebenarnya dari data. Ex : Mov BX,[2345H] Perintah tersebut memindahkan isi alamat memori offset 2345h ke dalam register BX.Alamat offset ini digunakan untuk menetukan alamat sebenarnya pada memori dengan cara menggabungkannya dengan data yang ada pada data segment(DS) register. Sebagai contoh diatas,asumsi DS bernilai 0200,maka alamat realnya adalah 2000 + 2345 yaitu 4345.Data berada pada alamat 04345 untuk lower byte dan 04346 untuk high bytenya.Hal ini Karena pada 8088 IBM-PC menggunakan konvensi little endian. Register Indirect Addressing Index register SI dan DI serta base register BX dapat digunakan untuk menunjuk lokasi alamat memori, alamat sebenarnya diperoleh dengan menggabungkan data yang berada pada data segment (DS) register. Ex: Mov AX,[SI] Jika register index SI berisi data 1234 maka perintah tersebut akan mengisikan register AX dengan nilai/data yang berada pada alamat yang ditunjukan oleh gabungan data dalam SI dan DS.Sebagai perumpamaan jika DS bernilai 0200 maka alamat sebenarnya adalah 03234. Sehingga Low addressnya adalah 03234 dan high addressnya 03235.Apabila alamat 03234 berisi FEh dan alamat 03235 berisi 17h maka data pada AX akan berisi 17FEh.

Indexed addressing

Pada 8088 terdapat addressing mode yang memudahkan untuk mengakses data berupa array. Index addressing mode ini menggunakan register SI dan DI sebagai offset alamat awal array yang digabungkan dengan disp8 atau disp16 serta data pada data segment (DS). Ex : Mov AH,[SI]+1234h Pada imstruksi tersebut menggunkan disp16,diasumsikan SI berisi 2000 dan DS bernilai 02000 maka diperoleh alamat yang dimaksud ialah 05234.Sehingga akan mengisikan data pada alamat 05234 ke AH. Based addressing Kadang kala akan lebih mudah menggunakan nilai dari register sebagai alamat dasar dari array dan menggunakan displacement seperti disp8 atau disp16 sebagai index dari array.Hal inilah yang dikatakan sebagai base addressing. Ex: Mov AL,BX+10h Perintah diatas menggunakan BX sebagai base address dan 10h merupakan disp8 yang dipakai sebagai index untuk array-nya.Hal ini berlawanan dengan Indexed addressing yang menggunakan register SI sebagai index dari array. Indexed Plus Based Addressing Sangat memungkinkan menggunakan SI dan DI sebagai index variable terhadap bases array.Pada bentuk ini maka alamat digunakan BX+SI dan BX+DI,sebagai tambahan data digunakan juga disp8 atau disp16.Konsep ini memudahkan dalam menyimpan data seakan-akan dalam bentuk table yang terdiri dari record dan kolom. Ex: Mov AH,[BP+SI+29] Mov AH,[SI+29+BP] Mov AH,[SI][BP]+29 Ketiga instruksi diatas memiliki arti yang sama, urutan register tidak pengaruh. Dalam hal ini yang menjadi base addressnya adalah BP, penggubahan disp8 (29) sebagai index dari array,sedangkan SI digunakan untuk perubahan “kolom” dalam satu record(base address+index) . Daftar Pustaka: Notes developed by David Tarnoff solely for use by students in his sections of CSCI 2150

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->