MODE PENGALAMATAN

Mode pengalamatan didefinisikan dalam sebuah arsitektur set instruksi yang diberikan untuk menentukan bagaimana instruksi bahasa mesin dalam arsitektur yang mengidentifikasi operan dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori efektif operand dengan menggunakan informasi yang dimiliki dalam register dan / atau konstanta yang terkandung dalam instruksi mesin atau tempat lain

Pada arsitektur 8086/88 memori = 1 MB artinya terdapat sejumlah 1 M = 220 = 1024 sel memori 8 bit dengan alamat = 0 s/d (220 – 1) = 00000 H s/d FFFFF H, Dalam arsitektur 8086/88 hanya terdapat register-register 16 bit yang hanya mampu mengalamati memori dari 0 s/d (216-1), Oleh karena itu digunakan metode pengalamatan dengan dua register yaitu segment register dan offset register sehingga akan didapatkan pengalamatan 220

 

Metode pengalamatan dengan dua register ini disebut dengan pengalamatan relatif (relative address), Contoh :

Segment          :           Offset

A123               :           099Ah

Komposisi Bit :           1010 0001 0010 0011 0000

0000 1001 1001 1010

1010 0001 1011 1100 1010 = A1BCA h

8088 mempunyai sekitar 24 addressing mode → dikelompok menjadi 7, yaitu :

Register Addressing

  • Immediate Addressing (pengcopyan variabel angka secara langsung)
  • Direct Addressing (pengcopyan variabel dari suatu register atau simbol)
  • Register Indirect Addressing (mengakses suatu variabel yang banyak dengan mengambil alamat efektifnya)
  • Base Relative Addressing (mengakses suatu tabel dengan mengambil alamat efektifnya)
  • Direct Indexed Addressing (mirip  dengan  base  addressing,  perbedaannya  hanya  penggunaan  register  yang dipakai untuk perhitungan alamat  efektif. Pada indexed addressing dipakai register-register index  yaitu SI dan DI)
  • dan Base Indexed Addressing (merupakan  gabungan  antara  base  addressing  dan  indexed  addressing.  Mode  pengalamatan  ini sering digunakan untuk menangani array dua dimensi).

ORGANISASI MEMORI

Pada arsitektur 8086/88 terdapat peta memori sbb :

Alamat Fisik

Keterangan

00000 – 0007F

BIOS Interrupt Vektor

00080 – 003FF

DOS Interrupt Vektor

00400 – 004FF

BIOS Data Area

00500 – 005FF

DOS & BASIC Data Area

00600 – 9CFFF

RAM Working Space

A0000 – A3FFF

Cadangan

A4000 – AFFFF

Monochrome Adapter

B0000 – B1000X

Monochrome  Buffer

B1001 – B7FFF

Color/Graphics Adapter

B8000 – BBFFF

BC000 – BFFFF

C0000 – C7FFF

Ekspansi Memory

C8000 – C3FFF

Harddisk

CC000 – F3FFF

Cadangan

F4000 – F5FFF

User ROM (8 K)

F6000 – FDFFF

ROM BASIC (32 K)

FE000 – FFFFF

ROM BIOS (8 K)

  • Register dan Immediate Addressing
    • Register Add.: Operand disimpan/diambil dari register

MOV AX,CX ; copy 16 bit isi CX (count regs) ke AX (acc. regs)

  • Immediate Add.: source operand dapat berbentuk konstanta  8/16 bit; Konstanta ini terdapat dalam instruksi.

MOV CX,500

MOV CL,-30 ; simpan –30 ke reg. AL

K EQU 1024 ; source operand dapat berbentuk simbol yg didefine dgn EQU

Keterangan

  • 8 bit signed number: 127(7H) s/d –128(80H)
  • 16 bit signed number: 32767(7FFFH) s/d –32768(8000H)
  • Max 8 bit unsigned #: 255 (0FFH)
  • Max 16 bit unsigned #: 65535 (0FFFFH)
  1. Direct Addressing
  • Kelebihan
    • Field alamat berisi efektif address sebuah operand
    • Teknik ini banyak digunakan pada komputer lama dan komputer ecil
    • Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
  • Kelemahan
    • Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word

Contoh : MOV AX, TABLE ; load isi lokasi memori Table ke AX

  1. Register Indirect Addressing

Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung Keterbatasan field alamat  diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak

Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung

Contoh :

Offset: effectives address (EA)jarak letak operand, dalam byte terhitung dari awal segment

Address memory = offset + isi DS digeser dgn 0000

MOV AX,[BX] ; load isi memory yang ditunjuk BX ke AX

  1. Base Relative Addressing
  • EA dihitung: Displacement + isi BX atau BP

BX cocok dipakai jika data yang hendak diakses terdapat di beberapa lokasi memori (terpisah)

MOV AX,[BX]+4 ;Load isi field record yang terdapat di byte ke 5 dan 6, ;dimana awal address record di BX ke AX

  1. Direct Indexed Addressing

EA = Displacement + Index Reg DI atau SI

  • DI atau SI cocok untuk akses elemen dalam Tabel
  • Displacement ke awal TABLE
  • Index reg: ke elemen di dalam Tabel

MOV DI,4

MOV AX,TABLE[DI];Load elemen ke3 ke AX TABLE adalah Tabel 1 Byte

  1. Base Indexed Addressing

Cocok untuk akses “two dimensional array”

EA = Base regs + Index regs + Displ.

Contoh:

MOV AX,[BX+2+DI];operand dapat ditulis

MOV AX,[DI+BX+2];dlm [ ],urutan sembarang

MOV AX,[BX+2][DI];displacement dpt digabung

MOV AX,[BX][DI+2];dgn salah satu register

Sumber: http://srini.staff.gunadarma.ac.id/Downloads/files/27432/Mode+Pengalamatan.pdf

http://elearning.amikom.ac.id/index.php/download/materi/190000007-ST094-17/2009/11/20091117_Mode%20Pengalamatan.ppt

http://nur-akhwan.blogspot.com/2011/12/pemrograman-bahasa-rakitan-mode.html

Posted on November 2, 2013, in Uncategorized. Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: