Bismillah...

Register

Register

Register adalah sekumpulan sel biner yang dipakai untuk menyimpan informasi yang disajikan dalam kode-kode biner.

Jenis-jenis register dan fungsinya :
1.    General purpose register yang terbagi atas empat register dan dalam register general purpose terbagi atas high dan low yang masing-masing menangani register 8 bit. Dengan penjelasannya sebagai berikut :

a)    Register AX (accumulator register)
register AX adalah biasanya berfungsi sebagai register yang menangani proses aritmatik atau proses pertambahan, pengurangan, perkalian, dan pembagian. Tapi bisa menyimpan data sementara maupun sebagai tempat transit data. Register AX terbagi atas high dan low yaitu :
 -    register AH (8bit) sebagai register high sering dipakai sebagai service number pada interrupt
 -    register AL (8bit) sebagai register low merupakan tempat transit data.

b)    Register BX (base register)
register BX biasanya berfungsi sebagai register basis untuk mereferensikan lokasi memori atau lebih tepatnya menunjukan lokasi memori. Yang dapat pula mengambil atau menulis langsung dari atau ke memori. Register BX terbagi atas high dan low yaitu :
 -    registerBH (8bit) sebagai register high
 -   register BL (8bit) sebagai register low

c)    Register CX (counter register)
register CX biasanya berfungsi sebagai counter atau digunakan jika nanti ada melakukan berapa banyak kita melakukan looping atau pengulangan. Atau lebih tepatnya menentukan banyaknya looping atau pengulangan. CX terbagi atas high dan low yaitu :
 -     register CH (8bit) sebagai register high
 -     register CL (8bit) sebagai register low
d)    Register DX (data register)
register DX biasanya berfungsi sebagai penampung isi hasil pembagian 16 bit. Merupakan pula register offset dari DS. Register DX juga menunjukkan nomor port pada operasi port. Register ini juga merupakan register offset atau menyimpan alamat data. Register DX juga terbagi atas high dan low yaitu :
 - register DH (8bit) sebagai register high
 - register DL (8bit) sebagai register low
2.    Segment register adalah suatu register yang menunjukan alamat segment-segment yang mempunyai kekhususan, yang terbagi atas empat register juga yaitu :
a)    Register CS (code segment register)
register CS fungsinya untuk menunjukkan segment suatu program berada. Pasangan dari register CS adalah register IP
b)    Register Ds (data segment register)
register DS fungsinya menunjukkan segment data dimana data-data program disimpan. Sedangkan pasangan dari register ds adalah register DX.
c)    Register SS (stack segment register)
register SS fungsinya adalah menunjukkan segment stack dimana letak dari address stack. Yang berpasangan dengan register SP.
d)    Register ES (extra segment register)
register ES tidak mempunyai tugas khusus, tapi register ini berguna untuk pemrograman untuk melakukan operasi ke segment lain yang tak terletak diregister CS, SS dan DS.
3.    Pointer register adalah rergister yang mempunyai tugas khusus untuk menunjukan alamat offset, yang terbagi atas tiga register yaitu :
a)    Register IP (instruction pointer)
register IP fungsinya menunjukkan offset dari alamat program. Yang berpasangan dengan register CS
b)    Register SP (stack pointer)
register SP fungsinya mencatat alamat stack dan menunjukkan offset dari alamat stack, yang berpasangan dengan register SS
c)    Register BP (base pointer)
fungsi dari register BP adalah untuk membaca dan menulis dengan segment SS (stack pointer)
4.    Index register yang terbagi atas dua register yaitu :
a)    Register SI (source index register)
register SI merupakan register yang mencatat alamat memori yang isi memorinya akan digunakan. Register SI sebagai sumber pembacaan memori.
b)    Register DI (destination index register)
register DI seperti SI juga membaca alamat memori untuk tempat tujuan penulisan data di memori.
5.    Flag register merupakan suatu pemberi tanda setiap operasi contohnya jika kita sedang menjalankan interupt maka IF akan hidup atau jika sedang menjalankan debugger maka IF akan hidup. Macam-macam dari flag register adalah OF (oferflow flag), DF (direction flag), IF (intterupt flag), TF (trap flag), SF (sign flag), ZF (zero flag), dan CF (carry flag).