PENDAHULUAN
Latar Belakang
Pada saat ini, teknologi semakin berkembang dengan sangat cepat dan
semakin canggih. Perkembangan teknologi ini pastinya sangat berkaitan dengan
perkembangan teknologi komputer. Dimana teknologi komputer merupakan
pendukung bahkan penggerak kemajuan teknologi informasi pada zaman
sekarang ini. Dan tidak bisa dipungkiri bahwa ilmu elektronika sangat
berpengaruh kepada perkembangan Teknologi. Sebuah komputer mampu
mengendalikan sebuah rangkaian alat elektronika menggunakan sebuah chip IC
yang dapat diisi program dan logika yang disebut teknologi Mikroprosesor.
PEMBAHASAN
General Purpose Register terdiri dari emapt buah (4) register yang
mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register Low
dan High Bits yang masing-masing berkemampuan 8 bit.
AX (AH + AL) = Accumulator Register
Ukuran Register AX merupakan register aritmatik, karena register ini
selalu dipakai dalam operasi penambahan, pengurangan, perkalian dan
pembagian.
Setiap register general purpose mempunyai Register Low dan Register
High, maka untuk AX register low-nya adalah AL dan register high-nya
adalah AH. Register AH merupakan tempat menaruh nilai service
number untuk beberapa Interrupt tertentu.
BX (BH + BL) = Base Register
Register BX adalah salah satu dari dua register base Addressing Mode
yang dapat mengambil atau menulis langsung dari/ke memori.
CX (CH + CL) = Counter Register
Register CX merupakan suatu counter untuk meletakkan jumlah
lompatan pada Loop yang anda lakukan.
DX (DH + DL) = Data Register
Register DX mempunyai tiga tugas, yaitu:
o Membantu AX dalam proses perkalian dan pembagian, terutama
perkalian dan pembagian 16 bit.
o DX merupakan register offset dari DS
o DX bertugas menunjukkan nomor port pada operasi port
2. Segment Register
CS = Code Segment Register
Tugas register CS yang penting adalah menunjukkan segment program
berada. Pasangan register ini adalah register IP.
DS = Data Segment Register
Tugas register DS dan SS adalah menunjukkan segmen dari segment data
dan segment stack. Pasangan dari register DS adalah DX.
SS = Stack Segment Register
Sedangkan pasangan register SS adalah SP.
ES = Extra Segment Register
Register ini tidak mempunyai tugas, namun berguna untuk pemrograman
pada saat melakukan operasi ke segment lain.
3. Pointer Register
Pointer Register bertugas untuk menyimpan offset dari relative address.
IP = Instruction Pointer Register
Pasangan register IP adalah register CS yang merupakan register
terpenting untuk menunjukkan baris perintah program. Pada pertama
program dijalankan register ini akan langsung menunjuk pada awal
program.
SP = Stack Pointer Register
Pasangan register SP adalah register SS yang digunakan untuk operasi
stack. Pada saat program pertama dijalankan register ini akan menunjuk
pada byte terakhir stack.
BP = Base Pointer Register
Register BP mempunyai fungsi yang sama dengan register BX yaitu
dapat menulis dan membaca ke atau dari memori secara langsung.
Perbedaannya adalah BX menulis dan membaca dengan segment SS
(Stack Segment). Register BP digunakan juga dalam komunikasi anatara
bahasa komputer, seperti PASCAL dengan Assembler ataupun Turbo C
dengan Assembler.
4. Index Register
Index Register terdiri dari dua register yaitu register DI dan SI, dimana
kedua register ini merupakan register yang dipakai untuk melakukan
Operasi String. Kedua register ini sering digunakan untuk menulis dan
membaca ke atau dari memori seperti BX dan BP.
Flag Bits:
= Overflow Flag
D = Direction Flag
I = Interrupt Flag
T = Trap Flag
S = Sign Flag
Z = Zero Flag
A = Auxiliary Carry Flag
P = Parity Flag
C = Carry Flag
X = Reserved (kosong)
Flag register ini merupakan suatu komposisi register 16 bit dengan
ketentuan seperti gambar diatas, dimana komposisi bitnya dapat
mengecek apakah sesuatu berfungsi atau tidak.
Contoh:
Interrupt Flag mengecek apakah pada saat operasi Interupt sedang aktif
atau tidak, bila tidak aktif, Interrupt tidak akan dijalankan.
Carry Flag mengecek apakah pada saat operasi terjadi kesalahan atau
tidak. Sign Flag menunjukkan apakah suatu bilangan bertanda atau tidak
dan sebagainya.
2.5 Penggunaan register-register pada SIC
Register A: register yang digunakan untuk proses perhitungan
Register X: register yang digunakan untuk mode pengalamatan
berindex
Register PC: register yang menyimpan alamat instruksi berikutnya
Register L: register yang menyimpan alamat asal sebelum
melakukan subroutines
Register IR: register yang menyimpan instruksi yang sedang
dikerjakan
Register MBR: register yang digunakan untuk proses masukan atau
keluaran data dari memori
Register MAR: register yang menyimpan alamat memori untuk
proses pembacaan atau penulisan
Register SW: register yang berisi informasi status relative terhadap
instruksi sebelumnya
Register C: register yang membangkitkan signal waktu t0, t1, t2, t2,
t3
Register INT: register yang menentukan apakah signal interruo telah
diterima
Register F: register yang digunakan dalam proses ‘siklus fetch’
Register E: register khusus yang digunakan dalam proses ‘siklus
eksekusi’
Register S: register yang akan mengaktifkan register C