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.
|
Terimakasih udah share ilmunya,. ini sangat bermanfaat
BalasHapusok...
BalasHapusThanks
BalasHapus