5 Register
-
Upload
eko-nopyanto -
Category
Documents
-
view
66 -
download
1
description
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