Register Mikroprosesor Z80


Register Mikroprosesor Z80

Daftar Register Mikroprosesor Zilog Z80

1 Nu Nganiley


          Susunan register Mikroprosesor Zilog Z80

         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’). 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:
  • 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).
  • 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).

Tidak ada komentar:

Posting Komentar