Oke gaan kali ini ane mau ngebahas jenis-jenis REGISTER dan Fungsinya
Disimak yah gan !!!
Disimak yah gan !!!
Cek it Out

Mikroprosesor 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:
1.
General Purpose Register
2.
Pointer dan Index Register
3.
Register Segment
4.
Flag Register
1. General Purpose Register
§ Accumulator Register AX
Fungsi:
Sebagai akumulator dan berhubungan dengan jenis-jenis operasi khusus seperti
Aritmetika, In/Out, Shift,Logic, Rotate, dan operasi desimal berkode biner.
§ Base Register BX
Fungsi:
Sebagai register base untuk mereferensi alamat memori. Operasi yang dapat
dilakukan adalah Rotate, Logic, Shift, dan Aritmetika.
§ Counter Register CX
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.
§ Data Register DX
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
§ Register SP (Stack Pointer, 16 bit)
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.
§ Register BP (Base Pointer, 16 bit)
Fungsi:
Sebagai penunjuk base dalam stack yang disediakan untuk penyimpanan data. BP
juga digunakan si dengan bahasa pemrograman misalnya Assembler dan C.
§ Register SI dan DI (Source Index dan Destination
index, 16 bit)
Fungsi:
Menyimpan nilai-nilai offset dalam segment data memori pada saat bersangkutan.
§ Register IP (Instruction Pointer, 16 bit)
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)
§ Register CS (Code Segment)
Fungsi:
Mencatat segment dari kode program atau instruksi, register CS berpasangan
dengan register IP (Instruction Pointer) dalam format CS:IP.
§ Register DS (Data Segment)
Fungsi:
Menyimpan alamat dari segment dimana data terletak.
§ Register SS (Stack Segment)
Fungsi:
Menyimpan alamat segment memori yang dipergunakan sebagai stack.
§ Register ES (Extra Segment)
Fungsi:
Menyimpan alamat segment tambahan, misalnya alamat display, alamat sistem
operasi, dan sebagainya.
4.
Register Flag
Mikroprosesor
8086/8088 mempunyai Status Flag 1 bit dan 4 Kontrol Flag yang dikonfigurasikan
dalam register 16 bit. Status Flag terdiri dari:
§ CF (Carry Flag)
Tugas:
Dimana sebuah carry out atau borrow, jika hasilnya adalah bit tertinggi (nilai
1).
§ PF (Parity Flag)
Tugas: Menset (nilai 1), jika instruksi
menghasilkan sebuah angka genap (even parity).
§ AF (Auxiliary Flag)
Tugas:
Digunakan oleh instruksi pegaturan desimal.
§ ZF(Zero Flag)
Tugas:
Menset (nilai 1), jika hasil instruksi adalah 0.
§ SF (Sign Flag)
Tugas:
Menset (nilai 1), jika hasilnya adalah negatif dan bernilai 0 jika positif.
Kontrol Flag terdiri dari:
§ OF (Overflow Flag)
Tugas:
Menunjukkan sebuah operasi yang tidak benar yaitu merubah hasil daripada tanda
bit..
§ IF (Interrupt Enable Flag)
Tugas:
Jika diset (nilai 1) dapat melakukan operasi interupsi dan sebaliknya bila bernilai
0, maka interupsi
tidak
dapat dilakukan.
§ DF (Direction Flag)
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.