Daftar Register Mikroprosesor Zilog Z8
Ada
tiga grup register di dalam CPU :
Grup pertama terdiri atas set
salinan/penggandaan register 8-bit: satu set prinsipal dan satu set alternatif
(yang ditunjukkan oleh ‘ (petik tunggal) seperti A’).
Grup kedua set terdiri dari register
Akumalator, register Flag, dan enam register serba-guna. Transfer data antara
set register salinan tersebut dipenuhi dengan instruksi “Exchange”. Hasilnya
tanggapan yang lebih cepat untuk interupsi dan implementasi efisien, mudah dari
teknik pemrograman serba guna sebagai pemrosesan data nampak-tersembunyi
(background-foreground). Set register kedua terdiri atas enam register dengan
fungsi-fungsi khusus. Register-register tersebut adalah I (register interupsi),
R (register refresh), IX dan IY (register indeks), SP (Stack Pointer) dan PC
(Program Counter).
Grup ketiga terdiri atas dua flip-flop
status interupsi ditambah satu pasang flip-flop yang membantu dalam
indentifikasi mode interupsi di waktu tertentu.
Tabel 1 memperlihatkan
informasi register-register tersebut.
Tabel
1
Pada
dasarnya register-register CPU Z80 terbagi ke dalam dua jenis, yaitu:
1. Register serba-guna (GPR:
General-purpose Registers)
ü
Register
Akumulator. Register ini sangat penting peranannya dalam pengolahan data oleh
ALU. Berbagai operasi logika dan aritmatika menggunakan register ini untuk
menyimpan salah satu operan dan menyimpan hasil operasi yang telah dilakukan
oleh ALU.
ü
Register
Bendera (flag). Register ini merupakan status dari berbagai hasil operasi yang
dilakukan ALU. Operasi logika dan aritmatika yang dilakukan oleh ALU akan
mempengaruhi sebagian atau seluruh flag-flag yang ada dalam register flag ini.
Register flag ini terdiri atas:
·
S
: bendera tanda (sign flag) yang menyatakan hasil operasi aritmatika. Bidang
ini akan bernilai 1 jika MSB (most significant byte) bernilai 1.
·
Z
: bendera nol (zero flag). Bidang ini menyatakan hasil dari operasi yang
dilakukan ALU apakah menghasilkan nol atau tidak. Bidang ini bernilai 1 jika
hasil operasi ALU sama dengan nol.
·
H
: Bendera Pengambilan setengah (half-carry). Bendera ini bernilai 1 jika
operasi penambahan atau pengurangan menghasilkan sebuah pengambilan ke dalam,
atau meminjam dari bit 4 akumulator.
·
P/V
: Bendera paritas atau oberflow. Paritas (P) dan overflow berbagi bendera yang
sama. Operasi logika mengakibatkan bendera ini dengan paritas hasil sementara
operasi aritmatika mempengaruhi bendera ini dengan overflow dari hasil. Jika
P/V memegang paritas: P/V = 1 jika hasil operasi adalah genap; P/V = 0 jika
hasilnya ganjil. Jika P/V memegang overflow, P/V = 1 jika hasil operasi mengeluarkan
sebuah overflow; jika P/V tidak memegang overflow, P/V sama dengan 0.
·
N
: Bendera Tambah/Kurang (Add/Subtract). Nilai bendera ini sama dengan 1 jika
operasi sebelumnya adalah pengurangan (subtract).
·
C
: Bendera Pengambilan/Sambungan (carry/link). Bendera ini bernilai 1 jika
operasi menghasilkan pengambilan (carry) dari MSB operand atau hasil.
ü
Register
Serba-guna lainnya (B, C, D, E, H, L).
2. Register fungsi khusus (SFR:
Special Function Registers)
ü
Program
Counter (PC), register ini perfungsi sebagai pencacah alamat instruksi
selanjutnya yang akan diambil dari memori.
ü
Stack
Pointer (SP), register ini menyimpan alamat atas (top) dari stack. Stack
berfungsi sebagai penyimpanan dalam memori yang sifatnya sementara bagi
nilai-nilai (value) dari register-register CPU ketika register tersebut akan
dipakai. Stack digunakan dengan perintah Push dan Pop.
ü
Register
Indeks (IX dan IY), register ini digunakan untuk pengalamatan terindeks.
ü
Register
Interupsi (I), register ini menyimpan alamat memori untuk vektor interupsi.
ü
Register
Refresh (R)
ü
Flip-flop
Status Interupsi (IFF) dan Mode Interupsi (IMF).
Komentar
Posting Komentar