Fungsi Register Mikroprosesor 8088

Sebelum mengenal fungsi dari register-register yang ada pada mikroprosesor 8088, sebenarnya apa itu register? Fungsi utama dari register itu sendiri apa sih? dan mengapa register-register pada mikroprosesor 8088 memiliki banyak jenis dengan fungsi yang berbeda-beda?

Register merupakan memori khusus yang ada di dalam mikroprosesor. Register di desain untuk menampung data dan dapat diakses dengan prosesor tanpa input output. Register-register tersebut memiliki empat belas register dan keseluruhannya dapat dibagi dalam lima jenis, yaitu : Register Segment, Register Data, Register Pointer, Register Index dan General Purpose Register.

1) General Purpose Register : register 16 bit yang terdiri dari AX, BX, CX dan DX. Dari setiap register dapat dialamatkan tersendiri untuk operasi byte.

2) Segmen Register : Register yang terdiri dari 16 bit dan berfungsi untuk mengambil instruksi dan menyimpan alamat segmennya.

3) Register Index : Terdiri dari 2 register 16 bit, yaitu DI (Destination Index) dan register SI (Source Index).Register Index digunakan untuk nilai-nilai offset dalam segment data memori, biasanya digunakan untuk instruksi string.

4) Register Pointer : Digunakan untuk menyimpan alamat dari instruksi berikutnya yang akan dieksekusi dan menunjukkan alamat sebuah data di lokasi memori. Register ini menangani 16 bit yang biasanya mengakses memori operand. Jadi lokasi alamat yang ditunjuk bergantung pada code segment yang terdapat pada segment register.

5) Flag Register : Register 16 bit yang difungsikan untuk menunjukkan status sesaat dari mikroprosesor atau hasil-hasil operasi aritmatika. Bit-bit pada flag register akan mengalami perubahan, tergantung proses yang baru saja dijalankan.

MACAM-MACAM REGISTER DAN FUNGSINYA :

1. General Purpose Register :

  • Akumulator Register (AX) : berfungsi sebagai akumulator yang berhubungan dengan jenis operasi khusus seperti aritmatika, IN, OUT, shift, logic, rotate dan operasi desimal berkode biner.

    • Base Register (BX): Digunakan sebagai register base yang mereferensikan alamat memori yang dituju. Base Register terbagi atas dua bagian yaitu BH dan BL yang masing-masing 8 bit. Operasi yang dapat dilakukan base register seperti rotate, aritmatika, shift dan logic.

    • Counter Register (CX) : Digunakan sebagai pencacah implisit dengan instruksi tertentu, misalnya terhadap perintah LOOP dan operasi string. Counter Register terbagi atas dua bagian yaitu CH dan CL yang masing-masing 8 bit.

    • Data Register (DX) : Digunakan sebagai penyimpan alamat port I/O selama operasi input dan output tertentu, baik alamat port 8 bit maupun alamat port 16 bit. Digunakan juga dalam operasi-operasi perkalian untuk menyimpan sebagian dari hasil kali 32 bit. Register ini dipisahkan menjadi DH dan DL yang masing-masing 8 bit.

    • 2) Segmen Register :

    • CS (Code Segment) : Digunakan untuk mencatat segment dari kode instruksi.

    • DS (Data Segment) : Digunakan untuk menunjukkan alamat data operasi pemindahan data dari segment letak data.

    • SS (Stack Segment): Digunakan menyimpan alamat instruksi berikutnya dan mengarahkan kembali eksekusi ke program utama.

    • ES (Extra Segment): Digunakan untuk menyimpan alamat segment tambahan sesuai yang diinginkan oleh pemrogram.

    • 3) Register Index :

    • DI ( Destinaton Index ) : Sebagai penunjuk dan penyimpan data. Destination Index menjalankan secara langsung instruksi atau perintah yang menunjukkan alamat di memory register berupa operasi string. Operasi string yang dipakai untuk menunjuk ke byte atau word dalam bentuk source string.

    • SI ( Source Index ) : Sebagai penunjuk dan penyimpan data. Source Index menjalankan secara langsung instruksi atau perintah yang menunjukkan alamat di memory register berupa operasi string. Operasi string yang dipakai untuk menunjuk ke byte atau word dalam bentuk string.

    • 4) Register Pointer :

    • SP (Stack Pointer) : Digunakan untuk menyimpan alamat instruksi berikutnya ketika memanggil suatu prosedur dan mengarahkan kembali control unit ketika prosedur yang dipanggil tersebut telah selesai dieksekusi.

    • BP (Base Pointer) : Digunakan untuk menunjukkan alamat sebuah data di suatu lokasi memori.

    • IP (Instruction Pointer) : Berfungsi menentukan alamat offset tempat tersimpannya kode instruksi berikutnya yang akan dilaksanakan oleh prosesor. IP merupakan register utama untuk menunjukkan baris perintah program. Pada saat pertama program dijalankan, IP akan langsung menunjuk pada awal program.

Leave a Reply

Your email address will not be published. Required fields are marked *