BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register Register adalah sekelompok unsur memori sebagai satu kesatuan tempat memproses data dalam berbagai bentuk operasi. Jenis-jenis register 8088 General Purpose register + A X ++ B X ++ C X + ++ D X + +------+-----++------+-----++------+-----++------+------+ | AH | AL | | BH | BL | | CH | CL | | DH | DL | Gambar 1. General purpose Register a. Accumulator(AX) Register yang berhubungan dengan operasi aritmatika , logika, shift dan rotate b. Base Register (BX) Register untuk pengalamatan berbasis, mereferensikam alamat memori.
c. Counter Register (CX) Sebagai counter register terhadap instruksi LOOP. Cacahan naik jika direction flag 0 dan cacahan turun jika direction flag 1. d. Data Register (DX) Sebagai pencatat alamat port 8 bit dan 16 bit dan operasi lintas data 2. Pointer dan Index Register a. Stack Pointer Register(SP) Mencatat alamat stack, memori yang dikhususkan untuk menyimpan isi register pada instruksi PUSH dan POP b. Base Pointer Register(BP) Menyimpan alamat data yang disimpan di stack jika data tersebut akan di kerjakan c. Indeks Register Source Indeks(SI) dan Destination Indeks(DI) menyimpan nilai-nilai offset dalam segmen data memori d. Instruction Pointer Register (IP) Register utama yang menunjukkan baris perintah program 3. Segmen Register a. Code Segmen Register (CS) Mencatat alamat segmen memori tempat kode operasi suatu program
Gambar 2. Model perangkat lunak mikroprosesor 8088(Singh, , h:14) b. Data Segmen Register (DS) Mencatat alamat memori tempat menyimpan data yang digunakan c. Stack Segmen Register (SS) Mencatat alamat segmen yang digunakan menjadi stack d. Extra Segmen Register (ES) Mencatat alamat segmen memori bagi data yang terletak di CS, DS dan SS
4. Register pelengkap (Flag) 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 +---+---+------+-------+----+-----+----+----+----+----+---+----+---+----+---+----+ | │ | INT | IOPL | OF | DF | IF | TF | SF | ZF | | AF | | PF | | CF | Gambar 4.4. Susunan Flags Register a. Tanda akibat operasi aritmatika dan logika - Carry flag Jika ada carry atau borrow CF = 1 , jk tdk ada CF = 0 - Parity flag Jumlah bit 1, genap(parity even), PF = 1 Jumlah bit 1, ganjil(parity odd) , PF = 0 - Auxiliary flag Instruksi pengaturan desimal dengan carry, AF = 1 Instruksi pengaturan desimal tanpa carry, AF = 0 - Zero Flag Jika hasil operasi = 0 maka ZF = 1 Jika hasil operasi tidak sama dgn 0 maka ZF = 0 - Sign flag Bit tanda hasil ops. aritmatika positif, SF = 0 Bit tanda hasil ops. Aritmatika negatif, SF = 1
b. Tanda yg berkaitan khusus dg kerja prosesor - Trap flag, jalannya program normal TF = 0. Program dijalankan per instruksi TF = 1 - Interrupt flag, di-set jk melakkan interupsi - Direction flag,di-set jk pd operasi string reg SI & DI melakukan increment, jk decrement DF = 0 - Overflow flag, OF = 1 jk hasil dari suatu operasi tidak benar NT <Nested Task>. Digunakan pada prosesor 80286 dan 80386 untuk menjaga jalannya interupsi yang terjadi secara beruntun. -IOPL <I/O Protection level>. Flag ini terdiri atas 2 bit dan digunakan pada prosesor 80286 dan 80386 untuk mode proteksi. Adapun susunan dari masing-masing flag didalam flags register dapat anda lihat pada ambar 3. Pada prosesor 80286 dan 80386 keatas terdapat beberapa tambahan pada flags register, yaitu : PE <Protection Enable>. Digunakan untuk mengaktifkan mode proteksi. flag ini akan bernilai 1 pada mode proteksi dan 0 pada mode real.