5 Register

15

description

pert5

Transcript of 5 Register

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 adalah sebagian memori dari mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi.

REGISTER

AH AL

BH BL

CH CL

DH DL

SP

BP

IP

DI

SI

FLAGS

CS

DS

ES

SS

FS

GS

accumulatorbase

counter

data

stack pointer

base pointer

instruction pointerdestination index

source index

Flags Register

code segment

data segment

extra segment

stack segment

General purpose register

Pointer register

Index register

Segment register

REGISTER-REGISTER PADA 8086

Catatan:Pada prosesor 80386-80486 terdapat tambahan register 32 bit yaitu : EAX, EBX, ECX dan EDX

hanya ada pada 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 pada 8086

Accumulator Register

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 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.

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)

GENERAL PURPOSE REGISTER

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

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)

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.

Data Register

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)

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.

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 POP2. Menyimpan alamat instruksi berikutnya ketika

memanggil suatu prosedur (CALL) dan mengarahkan kembali Control Unit ketika prosedur yang dipanggil telah selesai dieksekusi (RET).

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.

POINTER REGISTER

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 IndexBiasanya digunakan pada operasi string untuk mengakses alamat suatu data di dalam memori secara langsung.Destination IndexSama 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 RegisterCode segment register berpasangan dengan register IP berfungsi untuk menunjukkan alamat instruksi berikutnya.

Data Segment RegisterData segment register berpasangan dengan register-register lainnya berfungsi untuk menunjukkan alamat data pada operasi pemindahan data.

Extra Segment Register

Extra segment register merupakan register segment tambahan yang digunakan pada operasi-operasi string.

Stack Segment RegisterBerpasangan 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)

SEGMENT REGISTER

FLAG REGISTER

Flag register berfungsi untuk menunjukkan status (keadaan) sesaat dari mikroprosesor.

GambarFlag Register 8086

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

Keterangan Flag Register