Upload
ori-bridges
View
64
Download
1
Embed Size (px)
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