PENGERTIAN
REGISTER
Register tidak dapat dilepaskan dari mikroprosessor,
sebab pada mikroprosessor terdapat register yang berfungsi untuk menyimpan
sementara hasil dari tahapan operasi arithmetika dan logika pada
mikroprosessor. Register dalam bahasa rakitan menggunakan real mode memory yang
sesuai dengan mikroprosessor Intel generasi 8088 s/d Pentium.
Register yang terdapat pada mikroprosessor Intel
terdiri dari :
- General purpose register (register serbaguna)
- Pointer register (register pointer)
- Index register (register indeks)
- Segment register (register segment)
- Flag register (register status).
Semua register di atas lebarnya 32 bit, kecuali
register segment (CS, DS, ES, SS, FS dan GS) hanya 16 bit. Register 32 bit
dapat digunakan sebagai register 16 bit, kecuali register General purpose
register dapat dibagi menjadi 8 bit (AL,AH, BL, BH, CL, CH, DL dan DH) yang
berasal dari 16 bit (AX, BX, CX, DX). Register 32 bit diberi kode di depan
register dengan E misalnya: EAX, EBX, ECX dan EDX.
Macam-macam
Jenis dan Fungsi Register
Berikut ini
jenis dan fungsi dari masing-masing Register yaitu :
1.
General
Purpose Register (Register Serbaguna)
Register untuk keperluan umum yang terdiri atas :
a.
Register AX
(Accumulator register)
berfungsi
sebagai tempat Sementara hasil suatu operasi arithmetika atau logika
(AL, AH, AX dan EAX)
-
Memasukkan
nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi
(register AH).
-
Menyimpan
bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB)
dari hasil perkalian (register DX-AX dan EDX-EAX).
-
Menyimpan
setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan
hasil bagi (AL, AX, EAX).
b. Register BX
(Base Register)
Base
register adalah register untuk menyimpan alamat offset data yang terletak di
memori (BL, BH, BX dan EBX)
c.
Register CX
(Counter Register)
Counter
register adalah register serbaguna yang berfungsi sebagai:
-
Pencacah
untuk operasi loop (CX dan ECX)
-
Pencacah
untuk operasi shift dan rotate (CL)
-
Pencacah
(counter) untuk operasi string (CX)
d.
Register DX
(Data register)
Data
register adalah register serbaguna yang berfungsi sebagai :
-
Penyimpan
hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).
-
Penyimpan
hasil pembagian (DX-AX dan EDX-EAX)
-
Penyimpan
data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.
2. Pointer
Register
Register ini
untuk menunjukkan alamat sebuah data di lokasi memori, dipakai saat operasi
perpindahan data (dari/ke memori), operasi stack (PUSH/POP) dan penunjukkan
alamat suatu instruksi. Berikut adalah macam-macam pointer register: SP (Stack
Pointer) dan ESP, BP (Base Pointer) dan IP (Instruction Pointer).
3. Index
Register
Sama dengan
pointer register, sering digunakan untuk menunjukkan alamat sebuah data di
lokasi memori pada operasi string. Macam-macam register Index adalah : SI
(Source Index), DI (Destination Index).
4. Segment
Register
Segment
register membentuk alamat memori untuk data. Pada operasi real mode suatu
segment register akan berbeda dengan segment register pada operasi protected
mode. Yang termasuk ke dalam segment register antara lain :
Code segment
-> untuk menunjukkan alamt instruksi berikutnya.
-
Data segment
-> untuk menunjukkan alamat data pada transfer register
-
Extra
segment -> register tambahan untuk operasi string
-
Stack
segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur
(CALL) dan mengarah ke program utama (RET).
- FS dan GS
register -> register tambahan u/ segmen memori yang besar.
5. Flag
Register
Berfungsi
untuk menunjukkan status (keadaan) sesaat dari mikroprosessor.
Bit-bit pada
flag akan mengalami perubahan, tergantung proses yang baru saja berlangsung.
Adapun kode bit yaitu sebagai berikut :
·
C (carry)
-> 1=ada carry out 0= tdk ada carry out
·
P (Parity)
-> 1=paritas genap 0= paritas ganjil
·
A
(auxxiliary carry) -> 1=ada carry 0=tdk ada carry
·
Z (zero)
-> 1=hasilnya nol 0=hasilnya bukan nol
·
S (sign)
-> 1=hasilnya negatif 0=hasilnya positif
·
T (trap)
-> bila diset 1 dimungkinkan melakukan debugging.
·
I
(interrupt) -> 1= pin INTR enable 0=pin INTR disable
·
D
(direction) -> 1=cacahan turun 0=cacahan naik
·
(Overflow)
-> menunjukkan adanya kelebihan kapasitas atau tidak
·
IOPL
(input-output privalege level) -> untuk protected mode
·
NT (nested
task) -> indikasi dari penggabungan dengan operasi lain.
·
RF (resume)
-> untuk debugging
·
VF (Virtual
mode) -> untuk operasi virtual pada protected mode
·
AC
(alignment check) -> untuk data word dialamati ke memori
|
·
Register
merupakan tempat menyimpan data sementara yang berada dalam CPU.
·
Register
terdiri atas 5 bagian yaitu : General Purpose Register, Pointer Register,
Index Register, Segment Register, Flag Register.
·
Fungsi
setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh
pembuat mikroprosesor.
|
Tidak ada komentar:
Posting Komentar