STRUKTUR REGISTER SET MIKROPROSESOR

Preview:

DESCRIPTION

STRUKTUR REGISTER SET MIKROPROSESOR. PENGERTIAN REGISTER. Dalam pemrograman dengan bahasa Assembly, mau tidak mau anda harus berhubungan dengan apa yang dinamakan sebagai Register. - PowerPoint PPT Presentation

Citation preview

STRUKTUR

REGISTER SET

MIKROPROSESOR

PENGERTIAN REGISTERDalam pemrograman dengan bahasa Assembly,

mau tidak mau anda harus berhubungan dengan apa yang dinamakan sebagai Register.

Register merupakan sebagian memori dari mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi.

Dalam melakukan pekerjaannya mikroprosesor selalu menggunakan register-register sebagai perantaranya, jadi register dapat diibaratkan sebagai kaki dan tangannya mikroprosesor.

• Sistem komputer 8086 mempunyai bus alamat 20 bit, tetapi ukuran register - termasuk register alamat (memory address register) – yang dimilikinya hanya 16 bit, lantas bagaimana cara mengatasinya.

• Cara pemberian alamat 20 bit dilakukan menggunakan 2 komponen alamat: segmen dan offset, yang masing-masing berukuran 16 bit. BIU akan menggeser ke kiri nilai segmen sebanyak 4 bit (mengalikan dengan 16), kemudian menambahkan offset untuk memperoleh alamat fisik memori yang dikirimkan melalui bus alamat.

PENGALAMATAN segmen:offset

• Untuk lebih jelasnya, diberi contoh untuk memberi alamat fisik $38AB4, segmen dapat diisi dengan angka $348A, dan offset diisi dengan angka $4214, lihat Gambar I-4. Cara penulisan kombinasi segmen dan offset adalah:

segmen:offset

JENIS-JENIS REGISTER• Register yang digunakan oleh mikroprosesor

dibagi menjadi 5 bagian dengan tugasnya yang berbeda-beda pula, yaitu :

1.Segmen Register2.Pointer dan Index Register3.General Purpose Register4.Index Pointer Register5.Flags Register

1. Segmen Register.Register yang termasuk dalam kelompok ini terdiri

atas register CS, DS, ES dan SS yang masing-masingnya merupakan register 16 bit. Register-register dalam kelompok ini secara umum digunakan untuk menunjukkan alamat dari suatu segmen.

Register CS(Code Segment) digunakan untuk menunjukkan tempat dari segmen yang sedang aktif, sedangkan

register SS(Stack Segment) menunjukkan letak dari segmen yang digunakan oleh stack.

Register DS(Data Segment) biasanya digunakan untuk menunjukkan tempat segmen, dimana data-data pada program disimpan.

Register ES(Extra Segment), sesuai dengan namanya adalah suatu register bonus yang tidak mempunyai suatu tugas khusus.

Register ES ini biasanya digunakan untuk menunjukkan suatu alamat di memory, misalkan alamat memory video.

Pada prosesor 80386 terdapat tambahan register segment 16 bit, yaitu FS<Extra Segment> dan GS<Extra Segment>.

2. Pointer dan Index RegisterRegister yang termasuk dalam kelompok ini

adalah register SP, BP, SI dan DI yang masing-masing terdiri atas 16 bit, digunakan sebagai penunjuk atau pointer terhadap suatu lokasi di memory.

Register SP(Stack Pointer) yang berpasangan dengan register segment SS (SS:SP) digunakan untuk mununjukkan alamat dari stack, sedangkan

register BP(BasePointer)yang berpasangan dengan register SS(SS:BP) mencatat suatu alamat di memory tempat data.

Register SI(Source Index) dan register DI(Destination Index) biasanya digunakan sebagai offset (masing-masing berpasangan dengan ES dan DS) yang menunjuk ke suatu variabel/data untuk operasi string (larik data).

Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu ESP, EBP, ESI dan EDI.

3. General Purpose Register.Register yang termasuk dalam kelompok ini adalah

register AX,BX,CX dan DX yang masing-masing terdiri atas 16 bit.

Register- register ini mempunyai suatu ciri khas, yaitu dapat dipisah menjadi 2 bagian dimana masing-masing bagian terdiri atas 8 bit, Akhiran H menunjukkanHigh sedangkan akhiran L menunjukkan Low.- AX === AH & AL- BX === BH & BL- CX === CH & CL- DX === DH & DL

• Register AX, secara khusus digunakan pada operasi aritmatika dan untuk menyimpan hasil operasi, sehingga disebut akumulator.

• Register BX, biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.

• Register CX, digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.

• Register DX, digunakan untuk menampung sisa hasil pembagian 16 bit. – BX dan DX biasanya digunakan sebagai offset dari alamat

data di memori (dengan segmen DS).

• Padaprosesor 80386 terdapat tambahan register 32 bit, yaitu EAX,EBX,ECX dan EDX.

4. Index Pointer Register

• Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat memory tempat dari intruksi(perintah) selanjutnya yang akan dieksekusi.

• Register IP juga merupakan register 16 bit.

• Pada prosesor 80386 digunakan register EIP yang merupakan register 32 bit.

5. Flags Register.• Sesuai dengan namanya Flags(Bendera), register register flip-flop

16 bit ini menunjukkan kondisi dari suatu keadaan< ya atau tidak >. yang dihasilkan oleh eksekusi suatu operasi oleh EU.

• flag juga mengatur beberapa operasi tertentu.

• Sebanyak 6 buah flag merupakan flag kondisi yang menunjukkan keadaan setelah eksekusi suatu instruksi, yaitu: Carry Flag (CF), Parity Flag (PF), Auxiliary Carry Flag (AF), Zero Flag (ZF), Sign Flag (SF), dan Overflow Flag (OF).

• Sedangkan, 3 buah flag sisanya berupa flag kontrol yang mengendalikan operasi tertentu, yaitu: Single Step Trap Flag (TF), Interrupt Flag (IF), dan String Direction Flag (DF).

1) CF akan diset (bernilai 1) jika sebuah operasi menghasilkan simpanan (carry) melebihi bit terpenting (most significat bit, MSB, atau bit 15), dan sebaliknya direset (bernilai 0) apabila tidak ada simpanan.

2) PF diset jika suatu operasi memberikan hasil dengan parity genap, dan direset jika hasilnya berparity ganjil.

3) AF mirip dengan CF, namun diset oleh operasi BCD (binary coded decimal).

4) ZF diset jika suatu operasi menghasilkan nol. 5) SF merupakan nilai MSB hasil operasinya, yang

menunjukkan tanda; diset jika hasil bertanda negatif dan direset jika hasil bertanda positif.

6) OF diset jika hasil operasi melebihi tempat yang disediakan.

• Flag kondisi akan digunakan oleh perintah tertentu untuk menentukan pencabangan atau lompatan.

• Sedangkan flag kontrol dapat diatur dengan perintah tertentu.

1)Jika TF diset bernilai 1, maka mikroprosesor akan bekerja langkah demi langkah, sehingga dapat digunakan untuk mencek jalannya suatu program.

2)IF digunakan untuk mengatur apakah kerja mikroprosesor dapat diinterupsi atau tidak.

3)DF digunakan untuk menentukan arah operasi string.

SELESAI... Brooo