Anda di halaman 1dari 15

REGISTER

Register adalah Media penyimpan internal CPU yang


digunakan saat proses pengolahan data yang bersifat
sementara.
Register-register yang terdapat pada
mikroprosesor, antara lain :
• General purpose register (register serbaguna)
• Pointer register (register pointer)
• Index register (register indeks)
• Segment register (register segmen)
• Flag register (register status)
REGISTER-REGISTER PADA 8086
AH AL accumulator
BH BL base General purpose register
Catatan:
CH CL counter Pada prosesor 80386-80486 terdapat tambahan
DH DL data register 32 bit yaitu : EAX, EBX, ECX dan EDX

SP stack pointer
BP base pointer Pointer register
IP instruction pointer
DI destination index
SI source index Index register
FLAGS
Flags Register

CS code segment
DS data segment
ES
extra segment
SS Segment register
stack segment
FS
hanya ada pada
GS prosesor 32 bit
Accumulator Register
AX
AH AL

Base Register
BX
BH BL

Counter Register
CX
CH CL

Data Register
DX
DH DL
GENERAL PURPOSE REGISTER

General purpose register adalah register yang dipakai


untuk keperluan-keperluan umum pemograman.

General purpose register terdiri dari : register 32 bit (EAX,


EBX, ECX, EDX), register 16 bit (AX, BX, CX, DX) dan
register 8 bit (AH, AL, BH, BL, CH, CL, DH, DL)

Accumulator Register
Accumulator register atau register AX (16 bit), dapat dipisah
menjadi register AH (8 bit) dan AL (8 bit). Accumulator
register adalah tempat berlangsungnya sebagian besar
operasi aritmatika dan logika.
GENERAL PURPOSE REGISTER

FUNGSI DARI REGISTER ACCUMULATOR :


• Tempat penyimpanan sementara hasil suatu operasi
aritmatika atau logika (register AL, AH, AX dan EAX)
• Tempat memasukkan nomor layanan interupsi untuk
keperluan pemesanan sebuah layanan interupsi (register
AH)
• Tempat menyimpan bilangan yang dikalikan (register AL,
AX, EAX) dan setengah bagian terkecil (least significant
part) dari hasil suatu perkalian (register DX-AX dan EDX-
EAX)
• Tempat menyimpan setengah bagian terkecil (least
significant part) sebuah bilangan yang akan dibagi
(register DX-AX dan EDX-EAX) dan hasil bagi dari suatu
pembagian (register AL, AX, EAX)
Base Register
Base register atau register BX (16 bit) dapat dipisah menjadi register BH
(8 bit) dan register BL (8 bit).

Base register adalah register serbaguna yang berfungsi sebagai tempat


menyimpan alamat offset data yang terletak di memori (register BL,
BH, BX, dan EBX). Selain itu, base register juga dapat dioperasikan
untuk aritmatika dan logika.

Counter Register
Counter register atau register CX (16 bit) dapat dipisah menjadi register
CH (8 bit) dan register CL (8 bit).
Counter register memiliki sifat khusus sebagai penghitung terhadap
perintah LOOP dan perintah block transfer yang termasuk operasi
string.
Fungsi dari counter register, antara lain :
1. Pencacah utama untuk operasi loop/kalang (register CX dan ECX)
2. Pencacah untuk operasi shift dan rotate (register CL)
3. Pencacah (counter) untuk operasi string (CX)
Data Register
Data register atau register DX (16 bit) dapat dipisah menjadi register DH
(8 bit) dan register DL (8 bit). Data register memiliki sifat khusus sebagai
pencatat address port, baik address port 8 bit maupun address port 16
bit.

Data register berfungsi sebagai :


1. Tempat menyimpan setengah bagian terbesar (most significant
part) hasil suatu perkalian bilangan 16 bit (register DX-AX) dan 32
bit (register EDX-EAX)
2. Tempat menyimpan setengah bagian terbesar (most significant
part) suatu bilangan yang akan dikenai operasi pembagian (register
DX-AX dan EDX-EAX), serta sisa suatu pembagian (register DX
dan EDX)
POINTER REGISTER
• Pointer register sering digunakan untuk menunjukkan alamat sebuah
data di lokasi memori. Penunjukkan alamat ini biasanya dibutuhkan
saat operasi perpindahan data (dari atau ke memori), operasi stack
(PUSH dan POP), dan penunjukkan alamat suatu instruksi yang
akan dieksekusi.
• Selain itu, pointer register juga dapat berfungsi sebagai sebuah general
purpose register.
• Pointer register terdiri dari : SP (16 bit), BP (16 bit) dan IP (16 bit).

Stack Pointer Register


Berpasangan dengan register SS, ditulis “SS:SP”. Berfungsi untuk :
1. Menunjukkan alamat stack memory pada operasi PUSH dan POP
2. Menyimpan alamat instruksi berikutnya ketika memanggil suatu
prosedur (CALL) dan mengarahkan kembali Control Unit ketika
prosedur yang dipanggil telah selesai dieksekusi (RET).
POINTER REGISTER
Base Pointer Register
Berpasangan dengan register ES, ditulis “ES:BP”.
Base pointer register berfungsi untuk menunjukkan alamat
sebuah data di suatu lokasi memori.

Instruction Pointer Register (IP)


Berpasangan dengan register CS, ditulis “CS:IP”, berfungsi
untuk menunjukkan alamat instruksi berikutnya.
INDEX REGISTER
Index register lebih sering digunakan untuk menunjukkan alamat
sebuah data di lokasi memori pada operasi-operasi string. Secara
khusus, index register dipakai untuk menunjuk alamat suatu data
berindeks di dalam memori.

Index register juga dapat digunakan sebagai general purpose register.

Index register terdiri dari : SI (16 bit) dan DI (16 bit)

Source Index
Biasanya digunakan pada operasi string untuk mengakses alamat suatu
data di dalam memori secara langsung.

Destination Index
Sama seperti source index, digunakan pada operasi string untuk
mengakses alamat suatu data di dalam memori secara langsung.
SEGMENT REGISTER
Segment register (bersama dengan register-register tertentu) membentuk
alamat memori bagi suatu data.
Segmen register terdiri dari : code segment register (CS), data segment
register (DS), extra segment register (ES) dan stack segment register (SS)
yang semuanya adalah register 16 bit.

Code Segment Register


Code segment register berpasangan dengan register IP berfungsi untuk
menunjukkan alamat instruksi berikutnya.

Data Segment Register


Data segment register berpasangan dengan register-register lainnya
berfungsi untuk menunjukkan alamat data pada operasi pemindahan
data.
SEGMENT REGISTER
Extra Segment Register
Extra segment register merupakan register segment tambahan yang
digunakan pada operasi-operasi string.

Stack Segment Register


Berpasangan dengan register SP, stack segment register berfungsi untuk :

1. Menunjukkan alamat stack memory pada operasi PUSH dan POP


2. Menyimpan alamat instruksi berikutnya ketika memanggil suatu
prosedur (CALL) dan mengarahkan kembali ke program utama
(RET)
FLAG REGISTER
Flag register berfungsi untuk menunjukkan status (keadaan) sesaat dari
mikroprosesor.

Gambar
Flag Register 8086
Keterangan Flag Register
Jenis flag Keterangan
Carry Bernilai 1 apabila terjadi peminjaman pada proses
pengurangan atau carry pada proses penjumlahan
Parity Bernilai 1 jika jumlah bit 1 genap dan bernilai 0 jika
jumlah bit 1 ganjil
Auxiliary Bernilai 1 jika terjadi peminjaman terhadap most
significant part
Zero Bernilai 1 jika hasilnya adalah nol, dan bernilai 0 jika
hasilnya bukan nol
Sign Bernilai 1 jika hasilnya merupakan bilangan negatif
Trace Bernilai 1 jika program didebug per langkah
Interrupt Bernilai 1 jika interrupt dijalankan
Direction Bernilai 1 jika arahnya menurun, bernilai 0 jika
arahnya menaik
Overflow Bernilai 1 jika MSB bernilai 1
Latihan Soal...
1. Sebutkan register-register yang berada pada
mikroprosesor...
2. Sebutkan register-register yang berada pada CPU...
3. Jelaskan apa yang dimaksud dengan register
Accumulator, Base, Counter dan Data...
4. Sebutkan berapa bit yang terdapat pada register
dibawah ini...
a. AX = ... bit
b. AH = ... bit
c. AL = ... bit
d. EAX = ... Bit
5. Jelaskan apa yang dimaksud pointer register
beserta contohnya...
6. Jelaskan fungsi index register..
7. Sebutkan dan Jelaskan apa saja yang terdapat
pada flag register...

Anda mungkin juga menyukai