Anda di halaman 1dari 7

Dasar Mikroprosesor 8088

Mikroprosesor 8088 memiliki karakteristik sebagai berikut:

1. 8-bit Data Bus Interface (D0 sampai D7), 8 jalur Data Bus eksternal.
2. 16-Bit Internal Architecture, internal Data Bus 16 jalur.
3. Direct Addressing memory sampai 1 Mbyte, Address Bus A0 sampai A9.
4. Memiliki Register masing-masing 16 bit.

Register merupakan tempat penyimpanan data sementara. Berdasarkan fungsinya


register dibedakan menjadi:

• Register Data

Register Data, terdiri dari 16 bit data yang dapat diakses dalam format 2X8
bit. Berikut ini sejumlah register data:

1. AX (Accumulator), terdiri dari AH dan AL.


2. BX (Base), terdiri dari BH dan BL.
3. CX (Counter), terdiri dari CH dan CL.
4. DX (Data), terdiri dari DH dan DL.

• Register Alamat

Register Alamat memiliki lebar 16 bit, diantaranya:

1. CS (Code Segment), menyimpan alamat segment dari program.


2. DS (Data Segment), menyimpan alamat segment dari data.
3. SS (Stack Segment), menyimpan alamat segment dari stack.
4. IP (Instruction Pointer), menyimpan alamat offset program.
5. Index Register, terdiri dari Base Index (BI), Source Index (SI), dan Destination
Index (DI).
6. Pointer Register yakni Base Pointer (BP).
7. SP( Stack Pointer), menyimpan alamat offset dari stack.
8. BX (Base), terdiri dari BH dan BL.

• Register Status

Register Status (Flag), berfungsi menyimpan status dari suatu operasi.


• Register Instruksi

Register Instruksi berfungsi menyimpan instruksi yang akan dikerjakan oleh


CPU.

Mikroprosesor 8088 memiliki dua mode kerja yakni:

1. Mode Maksimum.
2. Mode Minimum.

ARSITEKTUR MIKROPROSESOR 8088

Arsitektur pada uP 8086,8088, dan beberapa versi diatasnya hingga pentium pro
sangat mirip. Pemahaman tentang arsitektur ini penting untuk mengetahui cara programming
processor. Dalam pemprograman uP tidak terpisahkan dari register, yakni sebuah memori
sementara milik uP. Terdapat register yang memang visible, yakni dapat dialamati oleh uP.
Namun terdapat juga yang unvisible, terutama pada versi 80286 dan setelahnya, untuk
melakukan operasi pada protected mode. Adapun susunan dari register yang dapat dialamati
adalah:
Seperti terlihat pada gambar, model pemprograman yang ada adala 8, 16, 32 bit. Pada
model 8 bit, terdapat register AH, AL, BH, BL, CH, CL, DH, DL. Kemudian pada model 16
bit terdapat AX, BX, CX, DX, SP, BP, DI, SI, IP, FLAGS, CS, DS, ES, SS, FS, dan GS.
Untuk 32 bit, EAX, EBX, ECX, EDX, hingga EFLAGS. Model tersebut dibagi menjadi dua
type, general purpose register dan special purpose register.

1. General Purpose Register

EAX, jika dalam model 32 bit adalah EAX, dalam mode 16 bit adalah AX,
dan 8 bit untuk AL atau AH. Digunakan untuk menyimpan hasil aritmatika, dan
lokasi alamat offset dan memory.

 EBX, menyimpan lokasi alamat offset memory sistem dan memory data.
 ECX, digunakan untuk melakukan penghitungan.mengalamati memory data.
 EDX, menyimpan bagian dari hasil pembagian atau perkalian, mengalamati
memory data.
 EBP, base pointer, menunjuk lokasi memory pada saat transfer data memory.
 EDI, mengalamati data string tujuan untuk instruksi yang berhubungan dengan
string.
 ESI, mengalamati data string sumber untuk instruksi yang berhubungan
dengan string.
2. Special Purpose Register

EIP, menunjuk pada instruksi selanjutnya pada memory yang telah


dialokasikan menjadi code segment.

 ESP, mengalamati bagian memory yang digunakan sebagai stack.


 EFLAGS, mengindikasikan kondisi uP dan hasil berbagai operasi.

Struktur dari FLAGS register sama untuk versi 8086 hingga pentium Pro.
Adapun masing-masing fungsi dari FLAG adalah:

1. CF, carry flag, untuk menyimpan hasil simpanan atau pinjaman pada
operasi tambah dan kurang.
2. Parity, mengindikasikan 0 atau 1. Pengecekan parity sekarang lebih
banyak digunakan pada komunikasi data.
3. ACF, mengindikasikan parity namun hanya pada bit 3 dan 4.
4. ZF, mengindikasikan hasil aritmatika apakah 0 atau tidak. jika nilainuya 0,
maka ZF=1 dan sebaliknya.
5. SF, sebagai tanda apakah sebuah integer bertanda atau tidak. jika signed,
SF=1; dan sebaliknya.
6. TrapF, enable/disable fitur debugging.
7. IF, enable/disable pin input INTR.
8. DF, setting direction dari register. dapat increment atau decrement.
disetting dengan bantuan instruksi STD, dan CLD.
9. Overflow, mengindikasikan telah terjadi overflow pada operasi tambah
atau kurang. para operasi unsigned number, biasanya overfloaw tidak
diperhatikan.
10. I/OPL, set level I/O privilege. paling tinggi adalah 00 dan terendah 11.
Privilege paling tinggi tidak akan halangan dalam eksekusi dan sebaliknya.
11. NT, diset ketika software melakukan perintah nested, yakni mengerjakan
perintah lain dalam suatu perintah.
12. RS,control resume dari perintah setelah perintah berikutnya dikerjakan.
13. VM, set virtual mode yang memungkian bekerjanya beberapa DOS.
Alignment Check, tersetting apabila word atau double word tidak
teralamati dengan benar.

• Segment Register

Jika segment ini dihubungkan pada memory, maka dapat menghasilkan alamat
memory tertentu. Fungsi yang sebenarnya dari sebuah segment register, berbeda pada
real atau protected mode. Adapun secara general fungsi dari segment register adalah
sebagai berikut:

1. Code Segment, code segment menyimpan program yang digunakan uP.


dalam real mode alokasinya 64Kb namun pada protected mode lebih luas
lagi, dan merujuk pada descriptor awal dan akhir alamat yang dalam
register yang dapat digunakan.
2. Data Segment, letak sebagian besar data. pada 8086-80286 adalah 64K
sedangkan pada 80386 sebesar4Gbytes.
3. Extra Segment, segment data tambahan untuk menyimpan tujuan pada
instruksi string.
4. Stack Segment, mendefinisikan area pada memory yang dapat digunakan
pada stack.
5. FS dan GS, adalah segment register yang hanya ada mulai 80386, 80486,
pentium dan pentium pro. dapat diakses oleh program sebagai register
tambahan.

• Real Mode Addressing

Real mode hanya menggunakan 1Mbyte memory internal. Ini ada pada sistem
8086 dan 88. PCDOS dan MSDOS selalu bekerja pada real mode.

• Segment Dan Offset

Segment + Offet digunakan untuk mengalamati memory pada RAM. Segment,


mendefinisikan alamat awal dari memory. Offset address, alamat offset yang memilih
antara range 64Kbytes memory segment. segment address otomatis akan ditambahkan
0h pada belakannya, kmudian ditambahkan offset address. Alamat ini menunjuk data
pada RAM.

Sistem pengalamatan memory didapat dari gambar diatas. Pada 80286 alamat
offset menjadi lebih panjang dengan tambahan 64K minus 16K. Biasanya digunakan
sebagai pengalamatan memory tambahan.
• Segment Default Dan Offset Register

Segment dapat dikombinasikan dengan berbagai register lain untuk melakukan


suatu fungsi. Misal code segment + instruction pointer digunakan untuk merujuk pada
instruksi yang selanjutnyadikerjakan. beberapa kombinasi dari segment:

Contoh kombinasi CS:IP, misal CS dimulai dengan alamat 4000H, dengan IP:
0001H. Maka kombinasinya adalah 40001H. kombinasi lain, adlah SS dan SP/BP.
Alamat yang ditentukan dari kombinasi ini akan merujuk pada bagian memory yang
digunakan sebagai stack.

8086-80286 memiliki 4 segment. sementara pada 80386 memiliki 6 segment.


sebuah program dapat memiliki 4 segment atau lebih.

Sementara itu, stack segment disimpan dalam dalam TPA,tepatnya diatas


semua driver dan program.

• Mikroprosesor 8088 Dan 8086


Mikroprosesor 8086 dan 8088 merupakan perluasan dari seri mikroprosesor
8080 dari Intel. Terdapat sejumlah perubahan dalam 8086/8088, yang paling jelas
ialah komputasi dapat dilaksanakan dengan memakai data 16 bit, sedangkan dalam
8080 dilaksanakan dengan memakai data 8 bit. Selain itu, terdapat sejumlah
keuntungan antara lain instruksi perkalian dan pembagian, antrian instruksi untuk
memperoleh kecepatan yang lebih tinggi, kemampuan untuk mengalamati sejuta byte
memori, register yang lebih umum, dan banyak lagi modus instruksi dan
pengalamatan. Pin keluaran untuk 8086 dan 8088 sebanyak 40 pin (untuk lebih
jelasnya, bisa dilihat gambar 5 di bawah).

Anda mungkin juga menyukai