Mode Pengalamatan Relatif

Assalamualaikum Teman :) kali ini kita akan memahami apa itu sih Mode Pengalamatan Relatif , mungkin ada dari kalian yang tugas harus membuat mode pengalamatan kan >_< yokai liat dan pelajari ya kawan 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) 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 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 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 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 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

Komentar

Posting Komentar

Postingan populer dari blog ini

INI ADALAH KEGIATAN 6 DARI PEMBLAJARAN P.WEB