Merupakan bagian terpenting dalam komputer untuk menyimpan data dan program.
Dalam microprosesor 8088 terdapat 16 saluran alamat (address) dan 8 saluran data secara multiplex. Saluran alamat lainnya yang tersedia ada 4, khusus untuk menunjuk segmen memori, dimana tiap segment menjangkau memori sebesar 64 kliobyte. Sehingga dari 16 saluran alamat dapat menggarap isi memori hingga 1 megabyte dan bekerja dengan data 16 bit.
Ukuran memori 1 kilobyte = 1024 byte, 1 megabyte = 1024 x 1024 byte = 1.048.576 byte. Maka alamat memori dari 0 sampai 1 megabyte memerlukan penulisan dengan 5 digit angka hexadesimal dari 00000H sampai FFFFFH.
Sebagai contoh : Memori di PC XT 640 kilobyte terdiri dari alamat 00600H sampai alamat A0000H.RAM dan ROM merupakan komponen IC yang dapat menyimpan data dan program yang dapat dialamati terdiri dari jalur alamat (address) dan jalur data. RAM dapat menulis dan membaca data, sedangkan ROM hanya membaca saja.
Kombinasi saluran/jalur data berupa 8 bit atau 16 bit yang dinyatakan dalam bilangan hexadesimal. Sedangkan jalur alamat (address) memiliki pola yang sama dengan jalur data memakai bilangan hexadesimal. Sekarang telah berkembang memori dengan jumlah saluran 32 bit dan 64 bit.
Tempat menyimpan data ukuran 1 byte di RAM dan ROM harus diberi nomor urut agar mudah diidentifikasi berupa alamat memori (memori address). Jika ada data berupa 5AH disalurkan melalui jalur data ke memori dengan alamat memori 0F2B4H, maka berarti di lokasi memori nomor 0F2B4H terdapat data 5AH.
Memori dengan jalur alamat yang banyak akan memiliki kapasitas simpan yang dinyatakan dalam byte, kilobyte, megabyte atau gigabyte.
Memori berkapasitas 64 KB berarti memiliki kemampuan merekam 64 x 1024 byte data. Suatu media penyimpan berupa Hard disk 10 M berarti memiliki kapasitas rekam 10 x 1024 x 1024 byte.
Istilah dalam memori yang sangat lazim dan sering ditemui dalam setiap pemrograman bahasa rakitan adalah :
Ø Bit adalah singkatan dari binary digit
Ø Byte adalah 8 bit
Ø Word adalah 2 byte
Pembagian memori
Diantara register dalam CPU untuk mencatat alamat memori yang dipergunakan terdapat segment register digabung dengan offset register yang mengatur pembagian memori. Offset register dapat berupa register lain yang bukan segment register dengan aturan pasangan :
SSSS : OOOO
S = digit hexadesimal pada segment register O
O = digit hexadesimal pada offset register
Satu segment memori berukuran 64 kilobyte terbagi atas beberapa segment offset yang dapat dialamati oleh offset register. Sedangkan memori (RAM & ROM) pada PC dapat terdiri dari beberapa/banyak segment memori tergantung kapasitas memori pada PC tersebut.
Pengalamatan Memori
Merupakan suatu cara untuk mencatat atau menunjuk alamat memori sesuai aturan pasangan SSSS : OOOO artinya penulisan alamat memori menuruti aturan bahwa bobot digit terendah pada Segment Register adalah 16 pangkat 1 dan bobot tertinggi 16 pangkat 4. Sedangkan pada Offset Register bobot digit terendah adalah 16 pangkat 0 dan bobot digit tertinggi 16 pangkat 3.
Contoh:
Misalkan: SSSS dipilih 1234H
OOOO dipilih DCBAH
Maka pengalamatan memori dapat dinyatakan 1234:DCBA.
Angka alamat absolutnya dapat dihitung dari :
12340
0DCBA +
1FFFA
Cara penulisan alamat memori 1234:DCBA memberi alamat absolute 1FFFAH.
Penunjukan alamat memori oleh mikroprosesor dilakukan oleh register BX.
Jika kita ingin menaruh data dengan pencatatan alamat memori memakai segment register BX dan offset register DS. Pencatatan alamat dinyatakan dengan rumus DS:BX
Contoh: 0100 : 0234 artinya DS mencatat 0100H, BX mencatat 0234H
Alamat memori 0000 : 0234 dapat dinyatakan dengan :
DS:BX+DI yaitu DS berisi 0000, BX diisi 0200H dan DI diisi 0034H
Penulisan BX+DI disebut offset address terhadap segment address.
· Memori pada dasarnya dapat menyimpan data dan program yang bersifat sementara..
· Memori memiliki jalur data dan jalur alamat (address) agar dapat diidentifikasi oleh microprosessor pada saat sedang membaca data dan program.
· Memori memiliki kapasitas dalam satuan byte, kilobyte, megabyte, gigabyte dll.
· Pengalamatan memori diatur berdasarkan pembagian segment dan offset.
· Satu byte data dimemori memiliki satu alamat offset.
· Penunjukkan alamat memori dilakukan oleh CPU dengan memanfaatkan register BX.
· Pencatatan alamat memori dapat ditulis dengan DS:BX atau DS:BX+DI