Mikroprosesor 8086/8088 memiliki 4 register yang masing-masingnya terdiri dari 16 bit, ditambah 9 register flag. Tiga set yang menyediakan tempat register adalah General Purpose Register, Pointer dan Index Register, dan Segment Register. 4 Jenis kelompok register tersebut sebagai berikut: Show
2. Pointer dan Index Register 3. Register Segment 4. Flag Register 1. General Purpose Register Fungsi: Sebagai akumulator dan berhubungan dengan jenis-jenis operasi khusus seperti Aritmetika, In/Out, Shift,Logic, Rotate, dan operasi desimal berkode biner. Fungsi: Sebagai register base untuk mereferensi alamat memori. Operasi yang dapat dilakukan adalah Rotate, Logic, Shift, dan Aritmetika. Fungsi: Sebagai pencacah implisit dengan instruksi tertentu, misalnya terhadap perintah Loop dan operasi string. Counter naik jika direction flag bernilai 0, dan counter turun jika direction flag bernilai 1. Fungsi: Menyimpan alamat port I/O selama operasi I/O tertentu, baik alamat port 8 bit maupun 16 bit. Digunakan juga dalam operasi perkalian dan pembagian. 2. Pointer dan Index Register
Fungsi: Digunakan untuk operasi stack seperti menyimpan alamat return saat memanggil subroutine. SP merupakan register yang secara implisit digunakan oleh perintah PUSH dan POP yaitu menyimpan dan mengambil kembali dari stack.
Fungsi: Sebagai penunjuk base dalam stack yang disediakan untuk penyimpanan data. BP juga digunakan si dengan bahasa pemrograman misalnya Assembler dan C.
Fungsi: Menyimpan nilai-nilai offset dalam segment data memori pada saat bersangkutan.
Fungsi: Register yang berpasangan dengan CS sebagai register utama untuk menunjukkan baris perintah program. Pada saat program dijalankan, IP akan langsung menunjuk pada awal program. Code Segment dan Instruction Pointer berfungsi sebagai program counter ditulis dengan format CS:IP. Secara umum, kode mesin diletakkan di Code Segment, semua data diletakkan di Data Segment, dan operasi PUSH dan POP dilakukan di Stack Segment. 3. Register Segment (16 bit)
Fungsi: Mencatat segment dari kode program atau instruksi, register CS berpasangan dengan register IP (Instruction Pointer) dalam format CS:IP.
Fungsi: Menyimpan alamat dari segment dimana data terletak.
Fungsi: Menyimpan alamat segment memori yang dipergunakan sebagai stack.
Fungsi: Menyimpan alamat segment tambahan, misalnya alamat display, alamat sistem operasi, dan sebagainya.
Mikroprosesor 8086/8088 mempunyai Status Flag 1 bit dan 4 Kontrol Flag yang dikonfigurasikan dalam register 16 bit. Status Flag terdiri dari: Tugas: Dimana sebuah carry out atau borrow, jika hasilnya adalah bit tertinggi (nilai 1). Tugas: Menset (nilai 1), jika instruksi menghasilkan sebuah angka genap (even parity).Tugas: Digunakan oleh instruksi pegaturan desimal. Tugas: Menset (nilai 1), jika hasil instruksi adalah 0. Tugas: Menset (nilai 1), jika hasilnya adalah negatif dan bernilai 0 jika positif. Kontrol Flag terdiri dari: Tugas: Menunjukkan sebuah operasi yang tidak benar yaitu merubah hasil daripada tanda bit..
Tugas: Jika diset (nilai 1) dapat melakukan operasi interupsi dan sebaliknya bila bernilai 0, maka interupsi tidak dapat dilakukan. Tugas: Mengontrol arah dari operasi string. Jika DF=1, maka register SI dan DI nilainya menurun (decrement); jika DF=0, maka register DI dan SI nilai menaik (increment). Register ini digunakan untuk instruksi-instruksi MOVS, MOVSB, MOVSW, CMPS, CMPSB, dan CMPSW. Tugas: Ditempatkan dalam single step mode untuk keperluan debug. Page 2
Adalah.Co.Id – Register adalah sebuah tempat penampungan sementara untuk data-data yang akan diolah oleh prosesor, dan dibentuk oleh 16 titik elektronis di dalam chip mikroprosessor itu sendiri. Dengan lokasi penyimpanan data sementara ini, pemrosesan dapat dilakukan jauh lebih cepat daripada jika data harus diambil langsung dari lokasi penyimpanan. Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan atau instruksi yang sedang diproses. Memori ini bersifat sementara dan biasanya digunakan untuk menyimpan data selama pemrosesan atau data untuk diproses lebih lanjut. Demikian pula, register ini dapat dibandingkan dengan memori otak dengan secara manual memproses data sehingga otak dapat dibandingkan dengan memori yang mengandung CPU, pengontrol yang mengontrol semua aktivitas fisik dan memiliki ruang untuk perhitungan dan perbandingan logis. Register juga bisa disebut variasi bahasa berdasarkan ranahnya (domain). Dengan kata lain, register merupakan variasi bahasa yang digunakan berdasarkan bidang penggunaan, gaya, tingkat keformalan, dan media penggunaannya, misalnya bahasa dalam bidang olahraga, sosial media, televisi, jurnalistik, radio, dan lain sebagainya. Register AdalahRegister antara satu bidang dan lainnya karena itu memiliki ekspresi kata yang kontras (Chaer, 1995: 90). Bahasa komentator radio dan sepak bola tentu sangat berbeda. Ada konsep tertentu yang hanya di satu bidang dan tidak di bidang lain. Selain istilah, ada juga intonasi nada yang berbeda. Misalnya, jangkar register di televisi dengan komentator sepak bola. Register-register untuk Komunikasi dengan Unit-unit Diluar CPU1. MAR (Memory Address Register)Digunakan untuk menyatakan alamat lokasi operand dalam memori yang akan dibaca atau ditulis oleh CPU 2. MBR / MDR (Memory Buffer atau Data Register)Merupakan tempat penyimpanan (sementara) data yang baru saja dibaca atau data yang akan dituliskan ke memori 3. PC (Program Counter)Digunakan untuk menyatakan alamat lokasi instruksi yang akan dibaca oleh CPU dari memori. Jenis-jenis Register1. Register DataDigunakan untuk menyimpan angka-angka dalam bilangan bulat (integer) 2. Register AlamatDigunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori 3. Register General PurposeDigunakan untuk menyimpan angka dan alamat secara sekaligus 4. Register Floating PointDigunakan untuk mnyimpan angka-angka bilangan titik mengambang (floating point) 5. Register Konstanta (constant register)Digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read – only) 6. Register VektorDigunakan untuk menyimpan hasil pemprosesan vektor yang dilakukan oleh prosesor SIMD) 7. Register Special PurposeDigunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status 8. Register yang Spesifik Terhadap Model Mesin (mechine specific register)Digunakan untuk menyimpan data internal prosesor atau pengaturan yang berkaitan dengan prosesor itu sendiri. General Purpose Register (Scratch Pad Register / Memori Serbaguna)General purpose register merupakan register yang memiliki kapasitas penyimpanan sebesar 16 bit yang kemudian dibagi lagi menjadi register low dan register high, yang masing-masing bagiannya memiliki kapasitas penyimpanan sebesar 8 bit. Dalam general purpose register, terdapat 4 bagian register lagi, yang memiliki fungsi yang berbeda, yaitu: 1. Register AX (AH + AL) / Accumulator RegisterRegister AX adalah register untuk menyimpan dan membaca data yang terkait dengan operasi aritmatika termasuk perkalian, pembagian, penambahan dan pengurangan (KABATAKU). Karena setiap register tujuan umum memiliki register tinggi dan rendah, register rendah adalah AL dan AH tinggi untuk register AX. 2. Register BX (BH + BL) / Base RegisterRegister BX adalah salah satu dari dua mode pengalamatan basis register yang memungkinkan data ditulis atau diambil langsung dari atau ke memori. Secara umum, register BX bertindak sebagai lokasi untuk menyimpan alamat offset data dalam memori. 3. Register CX (CH + CL) / Counter RegisterRegister CX adalah memori di mana jumlah lompatan yang dibuat oleh mikroprosesor disimpan dalam loop. Secara umum, ada beberapa fungsi register CX, yaitu:
4. Register DX (DH + DL) / Data RegisterRegister DX adalah register serbaguna dengan beberapa fungsi utama yang berguna untuk mendukung register AX, termasuk dukungan untuk register AX ketika melakukan operasi aritmatika, terutama untuk operasi penggandaan dan pembagian 16 atau 32 bit data, dan Menyimpan data heksadesimal dalam Kode ASCII dalam register DL, yang ditampilkan pada layar monitor dan juga menyimpan dan menampilkan nomor port dalam mode port. Segment RegisterSegment register merupakan register yang berfungsi untuk membuat alamat memori untuk data yang akan disimpan kedalam register, sehingga mudah dalam pencarian dan pengaksesan data. Dalam mode operasi nyata, register segmen berada dalam posisi pengoperasian mode perlindungan, sehingga data yang akan disimpan benar-benar terlindungi. Ada 4 bagian lebih kecil di register segmen, masing-masing memiliki fungsi yang berbeda, yaitu:
Pointer RegisterPointer register merupakan register yang berfungsi sebagai memori penyimpanan offset dari suatu relative address. Register pointer dapat menunjukkan alamat data di lokasi memori dan digunakan saat mentransfer data ke dan dari memori, operasi penumpukan menjadi PUSH atau POP, dan alamat perintah pada mikroprosesor. Ada tiga jenis register pointer:
Index register merupakan register yang berfungsi untuk melakukan operasi (membaca dan menulis) string. Terdapat dua register dalam index register, yaitu Source (lokasi sumber) Index dan Destination (tujuan) Index. Flag RegisterFlag register berfungsi sebagai penanda yang menunjukkan status atau keadaan dari suatu mikroprosessor. Bit-bit data pada flag yang berfungsi sebagai penanda status, akan mengalami perubahan tergantung kepada proses yang sedang berlangsung. Adapun nilai dan kode dari bit pada flag register yaitu :
Sekian artikel tentang Register ini semoga bisa memberi manfaat bagi kita semua, Terimakasih. Baca Juga Artikel Lainnya >>> |