Segmentasi 8088


Microprocessor harus dapat mengakses alamat paling rendah hingga paling tinggi. Alamat tersebut disimpan pada register alamat. Secara fisik microprocessor 8088 memiliki 20 jalur alamat (A0 hingga A19) untuk menyediakan informasi alamat selebar 20 bit. Namun, lebar register alamat hanya 16 bit. Sehingga untuk mengatasi masalah ini, Intel menggunakan dua buah register untuk pengalamatan. Satu register menangani pengalamatan segment (suatu area seluas 16 bit atau 64 kB) dan satu lagi menangani pengalamatan offset (menentukan byte mana yang akan diakses) pada microprocessor 8088.
Microprocessor 8088 menyediakan empat buah segment untuk menjalankan program yakni sebagai berikut.

Program Segment (CS:IP)
Code Segment (CS) menyimpan alamat segment dari program sebesar 64 kB. Instruction Pointer (IP) menyimpan alamat offset dari program yang akan menentukan instruksi mana dari 64 kB tersebut yang akan dieksekusi.

Data Segment (DS:BX)
Data Segment (DS) menyimpan alamat segment dari data sebesar 64 kB. Base Register (BX) menyimpan alamat offset dari data yang menentukan data mana dari 64 kB tersebut yang akan diakses.

Segment Stack (SS:SP)
Stack Segment (SS) menyimpan alamat segment stack sebesar 64 kB. Stack Pointer (SP) menyimpan (PUSH) alamat offset dari tumpukkan (stack) paling atas yang menentukan tumpukkan yang akan diambil (POP) dari stack 64 kB.

Extra Segment
Extra Segment (ES) menyimpan alamat segment 64 kB sebagai tambahan lokasi penyimpanan bila Data Segment tidak mencukupi.

Lihat juga mengenai pengertian arsitektur organisasi komputer.