MODUS PENGALAMATAN MEMORY 8088 1. Pengalamatan Memory
Pengalamatan Memory adalah penempatan
alamat pada ruang memory pada suatu sistem komputer. Adapun gambar ruang memory bila memory adalah 1 megabyte adalah sebagai berikut : 00000 00001 00002 00003 00004 . FFFF9 FFFFA FFFFB FFFFC FFFFD FFFFE FFFFF Gambar 1. Ruang Memory 1 Mega Byte Dari gambar diatas merupakan penggambaran dari pengamatan ruangan memory dengan modus pengalamatan mutlak dengan kemampuan 20 bit. Mikroprosesor 8088 merupakan mikroprosesor 16 bit yang hanya menggunakan 16 saluran address dan 8 saluran data secara multiplexer. Sedangkan saluran address yang lainnya tersedia ada 4 yang khusus untuk menunjukkan segment memory dimana tiap segment dapat menjangkau 64 Kb. Register – register pada mikroprosesor 8088 adalah register 16 bit dimana masing – masing hanya menampung 4 digit hexadesimal dari 0000H sampai FFFFH. Untuk mencatat address memori maka dipergunakan Segment Register yang berisi 16 bit dihitung dari kiri dimana isinya disebut dengan segment dan Offset Register yang berisi 16 bit dihitung dari kanan dimana isinya disebut dengan offset. Cara pengalamatan memory yang dilakukan dalam sistem komputer biasa disebut dengan relative address. Contoh pengalamatan memori secara relative address dan alamat mutlak dalam komposisi bit : • A123:099A Komposisi Bit 1010 0001 0010 0011 0000 Segment Komposisi Bit 0000 1001 1001 1010 ± Offset
yang biasa mengisi bagian kiri dari register dan memiliki kapasitas 64 Kb (65536 byte). Segment register terdiri dari : • Register CS ( Code Segment ) Register ini berfungsi untuk menunjukkan segment program berada , pasangan dari register ini adalah register IP. •Register DS ( Data Segment ) Untuk menunjukkan segment dari segment data,mempunyai pasangan dengan register DX (DS=DX) •Register SS (Stack Segment ) Menunjukkan segment dari segment stack Penyimpanan data dan alamat sementara pada program utama mengerjakan subroutine/prosedur , dll. Mempunyai pasangan dengan register SP (SS=SP) • Register ES ( Extra Segment ) Pada dasarnya register ini tidak memiliki tugas pokok, tetapi register ini berguna untuk pemrograman pada saat melakukan operasi ke segment lain. 3. Pointer Register
Register ini umumnya bertugas menyimpan offset
dari relative address. Pointer register terdiri dari :
• Register IP ( Instruction Pointer )
Register ini memiliki fungsi untuk menunjukkan baris perintah program, dimana pada saat pertama kali program dijalankan register ini akan langsung menunjuk pada awal program. • Register SP ( Stack Pointer ) Register ini pada saat program pertama kali dijalankan akan menunjuk pada byte terakhir dari stack. Merupakan pasangan dari register SS yang digunakan pada operasi stack.
• Register BP ( Base Pointer )
Register ini memiliki fungsi yang hampir sama dengan register BX, perbadaannya adalah BX menulis dan membaca dengan segment DS sedang BP dengan segment SS. Register ini berfunsi pula untuk komunikasi antar bahasa pemrograman seperti PASCAL dengan Assembler dan Bahasa C dengan Assembler. 4.Index Register
Register ini terdiri dari register DI ( Destination
Index ) dan SI ( Source Index ) ,dimana keduanya biasa digunakan untuk operasi string dan untuk membaca/menulis ke/dari memori sama halnya dengan BX dan BP. e.Flag Register
Register ini merupakan suatu kombinasi register
16 bit, dimana komposisi bitnya dapat mengecek apakah suatu berfungsi atau tidak. Interrupt Flag berfungsi untuk mengecek apakah pada saat operasi interrupt sedang aktif atau tidak. Carry Flag berfungsi untuk mengecek apakah pada saat operasi terjadi kesalahan atau tidak. Sign Flag untuk menunjukkan apakah suatu bilangan bertanda atau tidak, dan sebagainya. Tabel Kejadian Flag Register Bit Nama Kondisi Keterangan
0 Carry Flag ( CF ) 0 Operasi aritmatik atau logik tidak terjadi carry
1 Operasi aritmatik atau logik terjadi carry 1 Kosong - Tidak digunakan 2 Parity Flag ( PF ) 0 Parity odd untuk tiap 8 bit data 1 Parity even untuk tiap 8 bit data 3 Kosong - Tidak digunakan 4 Auxiliary Cary ( AF ) 0 Adisi/subtraksi non carry ke bit 4 AL atau AH 1 Adisi/subtraksi ada carry ke bit 4 AL atau AH 5 Kosong - Tidak digunakan 6 Zero Flag ( ZF ) 0 Hasil operasi aritmatik atau logik tidak 0 1 Operasi aritmatik atau logik menghasilkan 0 7 Sign Flag ( SF ) 0 Hasil operasi aritmatik atau logic plus 1 Hasil operasi aritmatik atau logic minus 8 Trap Flag ( TF ) 0 Exekusi program berjalan biasa 1 Exekusi program single step
9 Interrupt Flag ( IF ) 0 Disable interrupt atau 8088 tidak peka terhadap interupsi
1 Enable interrupt atau 8088 peka terhadap interrupsi
10 Direction Flag ( DF ) 0 Manandai auto increment bagi register SI dan DI jika
dilakukan operasi string
1 Manandai auto increment bagi register SI dan DI jika
dilakukan operasi string
11 Overflow Flag ( OF ) 0 Tidak terjadi overflow pada aritmatik bilangan biner
bertanda
1 Terjadi overflow pada aritmatik bilangan biner bertanda
SOAL-SOAL 1. Cara penempatan alamat pada ruang memori pada suatu sistem komputer disebut : a. Pengalamatan memory c. Pemetaan memory b. Peletakan memori d. Penulisan memory
2. Cara pengisian suatu register dimulai dari sebelah kiri
disebut : a. Offset c. Left b. Segment d. Right 2. Cara pengisian suatu register dimulai dari sebelah kiri disebut : a. Offset c. Left b. Segment d. Right
3. Kapasitas suatu segment dari ruang memori :
a. 32 Kb c. 64 Kb b. 32 byte d. 64 byte 3. Kapasitas suatu segment dari ruang memori : a. 32 Kb c. 64 Kb b. 32 byte d. 64 byte
4. Register yang berfungsi sebagai penyimpan data dan
alamat sementara pada program utama saat mengerjakan prosedur : a. CS c. DS b. ES d. SS 4. Register yang berfungsi sebagai penyimpan data dan alamat sementara pada program utama saat mengerjakan prosedur : a. CS c. DS b. ES d. SS
5. Register yang digunakan untuk komunikasi antar
bahasa pemrograman pada sistem komputer : a. BP c. IP b. SP d. SP 5. Register yang digunakan untuk komunikasi antar bahasa pemrograman pada sistem komputer : a. BP c. IP b. SP d. SP
1. Cara penempatan alamat pada ruang memori pada
suatu sistem komputer disebut : a. Pengalamatan memory b. Pemetaan memory c. Peletakan memori d. Penulisan memory