Assalamu’alaikum Wr. Wb.
Puji syukur saya ucapkan atas
kehadirat Allah SWT, karena denganrahmat dan karunia-Nya kami masih diberi
kesempatan untuk menyelesaikan makalah ini. Tidak lupa saya ucapkan kepada
dosen pembimbing yang telah memberikan dukungan dalam menyelesaikan makalah ini.
Kami menyadari bahwa dalam penulisan makalah ini masih banyak kekurangan,
oleh sebab itu kami sangat mengharapkan kritik dan saran yangmembangun. Dan
semoga dengan selesainya makalah ini dapat bermanfaat bagipembaca. Amin..
Wassalamu’alaikum
Wr. Wb.
BAB I
PENDAHULUAN
1. Latar Belakang
Dalam
pengembangan program sistem,baik minimum atau maksimum dengan memakai sistem
bahasa assembly selalui diketahui kendala dalam pengamatan dan pelacakan
kesalahan. Kesalahan yang tidak terdeteksi dalam proses compiling tersebut
hanya dapat diamati apabila grm dalankan pada sistem hadwere target.
Kesulitan tersebut banyak dijumpai
pada program mikroprose
;bdsor
68000 famil, yang digunakan sebagai chip mikroprosesor dari Macintosh computer. Apabila hardwere target
atau sistem target tersebut tidak tersedia, maka dibutuhkan simulator yamg
mampu mensimulasikan prosesor 68000 tersebut.4=u74
2. Rumusan Masalah
1.
General Register
mikroprosesor
2.
Register
3.
General Purpose Register
4.
Segment Register
5.
Flags Register
6.
Pointer dan Index register
7.
Index Pointer Register
3.
Tujuan
Tujuan dari pembuatan makalah
ini adalah agar mahasiswa dapat mengerti dan memahami tentang register
mikroprosesor.Makalah in juga
bertujuan untuk memenuhi tugas mata kuliah bhs assembly.
BAB II
PEMBAHASAN
General Register mikroprosesor
General
Register mikroprosesor
Arsitektur internal mikroprosesor Intel 8088 dibagi menjadi
dua bagian, yaitu: BIU (Bus Interface Unit). BIU berfungsi untuk menjalankan
operasi bus seperti menjemput instruksi, membaca data dan menulis ke memori,
menerima input dan mengeluarkan output ke unit periferal. Sedangkan EU
(Execution Unit). EU berfungsi untuk menterjemahkan dan menjalankan instruksi.
Bagian yang tergabung dalam EU adalah seperti ALU, general purpose register,
flags register dan temporary register.
Secara
umum Mikroprosesor 8088 mempunyai 4 kelompok register internal yaitu:
Ø
Register
penunjuk instruksi (indeks pointer register)
Ø
Register
data (general purpose register)
Ø
Register
segment (segment register) Serta Flag register
Register
Register merupakan sebagian memory yang merupakan tempat
penyimpanan sementara dari mikroprosesor yang dapat diakses dengan kecepatan
yang sangat tinggi. Dalam melakukan pekerjaannya mikroprosesor selalu
menggunakan register-register[1]
sebagai perantaranya. Register yang digunakan oleh mikroprosesor 8088 dibagi
lima bagian dengan tugas yang berbeda-beda.
1. General Purpose Register
Yaitu register AX, BX, CX dan DX yang masing-masing terdiri
dari 16-bit. Register-register 16-bit dari kelompok ini mempunyai suatu ciri
khas yaitu dapat dipisahkan menjadi 2 bagian di mana masing-masing bagian
terdiri dari 8-bit. Secara umum register-register dari kelompok ini dapat
digunakan untuk berbagai keperluans, walaupun demikian ada pula penggunaan
khusus dari masing-masing register ini yaitu:[2]
v
Register
AX, secara khusus digunakan pada operasi aritmatika terutama dalam operasi
pembagian dan pengurangan.
v
Register
BX, biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.
v
Register
CX, biasanya digunakan secara khusus pada operasi looping di mana register ini
menentukan berapa banyaknya looping yang akan terjadi.
v
Register
DX, register ini adalah satu-satunya register yang dapat mencatat lokasi I/O
untuk transfer data ke dan dari lokasi I/O disamping tugas ini register DX
dipakai untuk proses perkalian dan pembagian 16 bit.
2. Segment Register
Register yang termasuk dalam kelompok ini terdiri atas
register CS, DS, ES dan SS yang masing-masing merupakan register 16-bit.
Register-register dalam kelompok ini secara umum digunakan untuk menunjukkan
alamat dari suatu segmen.
v
Register
CS (Code Segment) yaitu digunakan untuk menunujukkan tempat dari segment yang
sedang aktif.
v
Register
SS (Stack Segment) yaitu menunjukkan letak dari segmen yang digunakan oleh
stack.
v
Register
DS (Data Segment) biasanya digunakan untuk menunjukkan tempat dari segmen di
mana data-data pada program disimpan. Umumnya isi dari program ini tidak perlu
diubah kecuali pada program residen.
v
Register
ES (Extra Segment), sesuai dengan namanya adalah suatu register bonus yang
tidak mempunyai suatu tugas khusus. Register ini biasanya digunakan untuk
menunjuk suatu alamat di memori.
3. Flags Register
Flag-flag yang terdapat pada mikroprosesor 8088 adalah :
v
OverFlow
Flag (OF), jika terjadi OverFlow pada operasi aritmatika, bit ini akan bernilai
1.[3]
v
Carry
Flag (CF) diset atau direset oleh operasi aritmatika. Statusnya diuji
oleh instruksi program. Seperti mikroprosesor pada umumnya overflow dari
penambahan 16-bit akan membuat CF menjadi set.
v
Zero
Flag (ZF) akan set bila hasil suatu instruksi tertentu adalah nol
dan akan clear bila hasilnya tidak sama dengan nol.
v
Sign
Flag (SF) adalah set pada kondisi MSB akumulator sesuai eksekusi
instruksi aritmatika atau logika. Instruksi ini adalah menggunakan MSB dari
data untuk menyatakan tanda dari bilangan yang ada dalam akumulator.
v
AuxiliaryFlag
(AF), menunjukkan sebuah overflow atau carry out. Flag ini biasanya
digunakan pada aritmatika BCD.
v
Parity
Flag (PF), digunakan untuk menunjukkan paritas bilangan. Bit ini akan
bernilai 1 bila bilangan yang dihasilkan merupakan bilangan genap.
v
Direction
Flag (DF), digunakan pada operasi string untuk menunjukkan arah proses.
v
Interrup
Enable Flag (IF), CPU akan mengabaikan interupsi yang terjadi bila bit
ini 0.Trap Flag (TF), digunakan terutama untuk debugging dengan operasi,
dengan operasi step by step.
4. Pointer dan Index register
Register yang termasuk dalam kelompok ini adalah register
SP, BP, SI dan DI yang masing masing terdiri atas 16 bit. Register-register
dalam kelompok ini secara umum digunakan sebagai penunjuk atau pointer terhadap
suatu lokasi memory.Register SP (Stack Pointer) yang berpasangan dengan
register segment SS (SS:SP) digunakan untuk menunjukkan alamat dari stack, sedangkan
register BP (Base Pointer) 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 pada operasi string dengan mengakses
secara langsung pada alamat di memory yang ditunjukkan oleh kedua register ini.[4]
5. Index Pointer Register
Register Penunjuk instruksi merupakan register 16 bit yang
berfungsi untuk menunjukkan lokasi instruksi berikutnya yang akan dijalankan.
Register IP ini berpasangan dengan CS (code segment) dimana penulisannya adalah
sebagai berikut [CS : IP]. Jadi lokasi alamat yang ditunjuk bergantung pada
code segment yang terdapat pada segment register
0 komentar:
Posting Komentar