TUGAS
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
Contoh register
pengisian nama,npm,dan lain-lain:
Tidak ada komentar:
Posting Komentar