• Tidak ada hasil yang ditemukan

BAB II MIKROPROSESOR INTEL 8088

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II MIKROPROSESOR INTEL 8088"

Copied!
21
0
0

Teks penuh

(1)

BAB II

MIKROPROSESOR INTEL 8088

Tujuan

Setelah mempelajari bab ini, mahasiswa mampu: a. Memahami konfigurasi pin 8088

b. Mengidentifikasi blok arsitektur internal 8088 c. Menjelaskan fungsi register yang ada di 8088

d. Memahami instruksi-instruksi 8088 dan mengaplikasikan instruksi tersebut dalam bahasa asembler.

Mikroprosesor Intel 8088 adalah multipurpose mikroprosesor yang diimplementasikan dengan teknologi N-channel, depletion load, silicon gate (HMOS-II). Dipasarkan dengan format 40-pin CERDIP (Ceramic Dual Inline Package). Mikroprosesor ini termasuk keluarga

mikroprosesor 8 bit dan 16 bit. Mikroprosesor Intel 8088 kompatible secara langsung dengan software yang didesain untuk mikroprosesor 8086 dan 8080/8085, dan secara hardware juga kompatible dengan mikroprosesor 8080/8085, dan konfigurasi pin 8088 pada gambar 2.1. Keterangan

GND : ground (0 volt) Vcc : +5 volt

D0 – D7 : Data bus (8 informasi biner = 1 byte)

ada 28 = 256 kombinasi data (00H – FFH) untuk kode ASCII A0 – A19 : Address bus (20 informasi biner)

ada 220 = 1048576 kombinasi harga, berarti ada 1048576 lokasi memori yg dpt dialamati read : sinyal kontrol untuk membaca

write : sinyal kontrol untuk menulis

clock : frekuensi kerja μP8088 (5 MHz atau 8 MHz) reset : menginisialisasi kembali semua isi register ALE : Address Latch Enable,

(2)

Kemampuan Bus

1. Lebar dari bus data sering digunakan untuk mengklasifikasikan μP.

Contoh: μP8088 adalah microprocessor 8-bit karena jumlah pin untuk bus data sebanyak 8 buah (D0–D1–D2–D3–D4–D5–D6–D7 : pin no. 9 – 16).

2. Lebar dari bus alamat menyatakan jumlah maksimum blok memory yang dapat diakses oleh mikroprosesor.

a. μP dengan 1 buah alamat (A) hanya dapat mengakses 2 blok memori yaitu pada saat A=0 dan A=1

b. μP

(3)

Jumlah jalur alamat

Total blok memori

Kapasitas memori (1 blok memori = 1 byte)

keterangan

1 21 = 2 2 byte

2 22 = 4 4 byte

16 216 = 65536 65536 byte = 64 K byte i8080, Z80

20 220 = 1048576 1048576 byte = 1024 K byte = 1 M byte

i8088

Contoh: uP 8088 memiliki bus alamat dengan lebar 20 bit sehingga uP 8088 dapat mengakses memori berkapasitas maksimum 220 =1048576 blok memori atau 1 Mb. Sedangkan bus kontrol memiliki lebar 1 saluran untuk setiap fungsi.

Register

Pada bagan organisasi komputer, memori diletakkan terpisah dari mikroprosesor. Jika bagan tersebut diimplementasikan, uP harus mengakses memori setiap saat. Dan karena kecepatan memori jauh lebih lambat dari uP (sebagai contoh uP Pentium IV telah mencapai kecepatan 2 GHz sedangkan DDRAM maksimum hanya memiliki kecepatan 0.8 GHz), maka kecepatan kerja uP akan sangat dipengaruhi oleh kecepatan memori. Untuk mempercepat pemrosesan data di dalam mikroprosesor, selain CU dan ALU, mikroprosesor juga akan membutuhkan memori yg memiliki kecepatan sama dengan uP. Untuk melakukannya, memori tersebut harus

diimplementasikan didalam mikroprosesor. Memori ini disebut dengan register.

Jenis register berdasarkan informasi yg disimpannya dapat dibagi menjadi 4. 1. Register Data

digunakan untuk menyimpan data yg diperlukan untuk suatu operasi. Terdiri dari: AX (Accumulator), BX (Base), CX (Counter), DX (Data)

(4)

2. Register Alamat

karena jumlah register data sangat terbatas, maka sebagian besar data tetap diletakkan di memori. Untuk dapat mengaksesnya, uP membutuhkan alamat dari data tersebut yg disimpan oleh register alamat.

Terdiri dari: SP (Stack Pointer), BP (Base Pointer), SI (Source Index), DI (Destination Index), DS (Data Segment), ES (Extra Segment), SS (Stack Segment), CS (Code Segment), IP

(Instruction Pointer) dan BX (Base)

3. Register Status (Flags)

digunakan untuk menyimpan status dari hasil operasi yg menggunakan ALU. Terdiri dari: OF (Overflow Flag), DF, IF, TF, SF (Sign Flag), ZF (Zero Flag), AF, PF, CF (Carry Flag)

(5)

4. Register Instruksi

digunakan untuk menyimpan instruksi yang sedang dikerjakan Catatan:

Register BX selain dapat digunakan sebagai register data dapat juga digunakan sebagai register alamat Lebar semua register uP8088 adalah 16 bit = 2 byte. Sehingga setiap register dapat berharga 0000H s.d. FFFFHatau 216 = 65536 kombinasi harga. Setiap register akan diakses (dibaca/ditulis) dalam format 16 bit tersebut, kecuali register data dapat diakses dalam format 8 bit = 1 byte (AH, AL, BH, BL, CH, CL, DH, DL).

AH AL

BH BL

CH CL

DH DL

(6)

Elemen didalam mikroprosesor adalah :

CU (Control Unit) adalah manajer dari semua unit. CU mengatur keselarasan kerja setiap unit. Apa yang harus dilakukan oleh suatu unit, semuanya diketahui oleh CU dengan bantuan

microprogram yang ditanamkan padanya. Pengontrolan oleh CU dilakukan melalui Bus Kontrol (panah dari/ke Control Unit).

(7)

Instruction Decoder bertugas untuk menerjemahkan suatu instruksi dengan cara

membandingkannya dengan tabel instruksi yang dimilikinya. Hasil dekoding diberikan ke CU, dan CU akan membangkitkan sinyal-sinyal kontrol yang diperlukan untuk melaksanakan instruksi tersebut.

Register adalah memori khusus di dalam uP. Untuk mengidentifikasikannya, register memiliki nama khusus yang juga sekaligus mencerminkan fungsi register tersebut. Berdasarkan isinya, register dapat dibedakan menjadi :

Register Data memiliki lebar 16 bit namun dapat diakses dalam format 2x8 bit: Accumulator : AX = AH+AL

Base Register : BX = BH+BL Counter Register : CX = CH+CL Data Register : DX = DH+DL

Register Alamat memiliki lebar 16 bit :

Code Segment : CS, menyimpan alamat segment dari program Instruction Pointer : IP, menyimpan alamat offset dari program Data Segment : DS, menyimpan alamat segment dari data

Index Register : BI (Base Index), SI (Source Index), DI (Destination Index), Pointer Register : BP (Base pointer),

Stack Segment : SS, menyimpan alamat segment dari stack Stack Pointer : SP, menyimpan alamat offset dari stack Base Register : BX

Register status (Flag) berfungsi untuk menyimpan status dari suatu operasi

Register instruksi menyimpan instruksi yang akan dikerjakan oleh CPU (InstructionRegister) ALU (Arithmetic and Logic Unit) adalah mesin penghitung (kalkulator) dari CPU. CU akan menggunakan ALU jika instruksi yang dikerjakan membutuhkan perhitungan aritmetika (contoh: ADD, SUB) atau logika (contoh: AND, OR, XOR). Jika suatu instruksi aritmetika dan logika dieksekusi, maka hasil operasinya dapat mengubah salah satu bit di register status.

(8)

Diagram waktu yang menunjukkan siklus baca/ tulis ketika terjadi operasi I/O dan Memori oleh mikroprosesor. Seluruh penjelasan tentang pena-pena pada mikroprosesor 8088 ini akan selalu mengacu pada diagram pewaktuan seperti pada gambar berikut.

Gambar 2-2. Diagram pewaktuan mikroprosesor 8088

Pena pada µP 8088 ada yang tidak dipengaruhi oleh perubahan mode baik mode maksimum ataupun mode minimum dan ada pula pena yang berfungsi hanya pada saat mode maksimum saja.

Pena yang tidak dipengaruhi oleh perubahan mode baik mode maksimum ataupun mode minimum, diantaranya adalah :

a. Bus alamat ( AD0-AD7, A8-A15, dan A16/S3-A19/S6).

Mikroprosesor 8088 mempunyai 20 pin jalur alamat sehingga dapat menjangkau 220 ( 1 MB) lokasi memori. Pena-pena ini hanya berfungsi pada saat T1 (lihat diagram pewaktuan). Pada saat T2 sampai T4 ada sebagian pin yang berfungsi sebagai data dan juga sebagai status. Sedangkan A15-A8 tetap memberikan bit alamat upper-half memory yang ada melalui siklus bus.

b. Bus data ( AD0-AD7).

Mikroprosesor 8088 mempunyai jalur data sebanyak 8 pin dan bisa digunakansecara bi

derectional (dua arah). Pin-pin ini berfungsi sebagai jalur data hanya pada saat

T2-T4. Pada saat T1 berfungsi sebagai jalur alamat. berisi 8 bit terkanan dari alamat memori atau nomor port I/O pada saat itu ALE aktif

(9)

c. A19/S6-A16/S3

Bit bus status/alamat dimultipleks untuk memberikan sinyal alamat A19-A16 dan

juga status S6-S3. Bit status S6 selalu berada dalam logika 0, bit S5 mengindikasikan kondisi bit flag IF, dari S4 serta S3 memperlihatkan segmen mana yang diakses selama siklus bus saat ini. Lihat Tabel 2.1 untuk tabel kebenaran dari S4 dan S3, Kedua bit status dapat digunakan untuk mengalamati 4 bank memori 1M byte terpisah dengan melakukan dekode terhadapnya sebagai All dan A20.

d. Kontrol baca (RD).

Sinyal ini aktif rendah. Jika pena ini berlogic 0 berarti mikroprosesor sedang

melaksanakan pembacaan data dari memori atau I/O. Sinyal ini aktif dipertengahan T2 dan kembali tidak aktif ( logika 1) pada saat pertengahan T4.

e. Clock (CLK).

Yaitu masukan sinyal clock yang diberikan dari luar untuk mensinkronkan segala kegiatan pada Miroprosesor. Miroprosesor 8088 dapat bekerja pada frekuensi clock

4,77 MHz atau 8 MHz untuk versi turbo. Sinyal pewaktuan harus memunyai siklus tugas 33% (tinggi untuk sepertiga periode clocking, dan rendah untuk sisanya) supaya

memberikan pewaktuan internal yang sesuai untuk 8086/8088.

f. Kontrol waktu tunggu (READY).

Sinyal READY ini disampel pada sisi naik T2. Jika sinyal READY ini berlogic 0 berarti akan disisipkan TW/Twait antara T3 dan T4. Hal ini terus diulangi sampai sinyal READY diberi logika 1. Sinyal ini biasanya digunakan jika ada hardware lain yang memiliki kecepatan yang lebih lambat dari kecepatan mikroprosesor ketika sedang bekerja dalam keadaan normal.

g. Reset sistem (RESET).

Sinyal ini aktif tinggi. Bila logika 1 diberikan pada pena ini, mikroprosesor akan menghentikan segala kegiatan yang sedang terjadi saat itu. Semua register akan dibuat 0 kecuali register code segment dibuat FFFF0H

(10)

h. Interupsi (INTR dan NMI).

INTR dan NMI (Non Maskable Interrupt) adalah permintaan interupsi yang dapat dipanggil secara hardware. Sinyal INTR merupakan sinyal aktif tinggi, sedangkan NMI dapat aktif menggunakan trigger sisi naik dari sinyal clock. INTR tidak akan berfungsi jika interupsi flag dikosongkan (menggunakan instruksi CLI), sedangkan NMI tidak dapat dihalangi dengan instruksi CLI.

i. Kontrol tunggu test (TEST).

Untuk mengaktifkan sinyal TEST, digunakan instruksi WAIT. Jika pin ini berlogic 1 ketika mikroprosesor sedang menjalankan instruksi WAIT dari programnya, CPU akan berada pada keadaan idle mode, artinya mikroprosesor tidak melakukan kegiatan apa-apa sebelum pin ini berlogic 0. Jika pin ini berlogic 0 kembali, maka pelaksanaan instruksi akan dilanjutkan.

j. Status (A16/S3-A19/S6).

Sinyal status digunakan untuk mendeteksi suatu keadaan-keadaan atau operasi-operasi

yang sedang berlangsung, diantaranya pengambilan instruksi, membacamemori, menulis

memori, dan operasi-operasi yang lain. Sinyal ini dikeluarkan pada saat keadaan T2-T4. Definisi dari status S4 dan S3 seperti tabel 2.1 adalah :

Tabel 2.1 Kebenaran S3 dan S4

S4...S4 Yang dijangkau saat terjadi siklus bus 0...0 Extra Segment (ES)

0...1 Stack Segment (SS)

1...0 Code Segment (CS) atau tidak sama sekali 1...1 Data Segment (DS)

k. Catu daya ( VCC dan GND).

Mikroprosesor 8088 membutuhkan Vcc = +5 V yang masih bisa bertoleransi sebesar ± 10% dari +5

V.Sinyal yang berfungsi hanya pada mode minimum ( mode maksimum tidak digunakan

) adalah :

(11)

Sinyal ini aktif rendah. Jika sinyal ini berlogika 0, berarti mikroprosesor sedang melaksanakan operasi penulisan data ke unit memori atau I/O. Sinyal ini aktif pada saat T2-T4.

b. Sinyal kontrol memori dan I/O ( IO/M ).

Jika pena ini berlogic 0, berarti saat ini pada siklus bus sedang berlangsung operasi input/output. Jika pena ini berlogic 1, berarti saat ini pada siklus bus sedang berlangsung operasi memori.

c. Address Latch Enable (ALE).

Sinyal ini digunakan sebagai penahan alamat yang baru masuk dalam suatu proses siklus mesin. Sinyal ini dapat digunakan untuk dimultipleks dengan alamat, data, dan status. Sinyal ini mengeluarkan logic 1 pada saat clock T1.

d. Pengiriman dan penerimaan data ( DT/R ).

Jika sinyal ini berlogic 1 maka arah data adalah dari mikroprosesor menuju keluar (memori/ input-output). Jika sinyal ini berlogic 0 maka arah data dari luar menuju

mikroprosesor

e. Data Enable ( DEN ).

Sinyal ini biasanya digunakan untuk meng"on"kan buffer (latch) yang dihubungkan kebus data.

f. Interrupt Acknowledge ( INTA ).

Sinyal ini secara khusus digunakan sebagai tanggapan terhadap suatu instruksi INTR.

g. Hold Request ( HOLD)

Bila logika 1 diberikan pada pena HOLD, µP akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih sistem.

(12)

Sinyal ini digunakan sebagai pengakuan dari µP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain.

Tabel 2.2 Status siklus bus (8088) menggunakan

IO/ DT/ Fungsi 0 0 0 Acknowledge intrupsi 0 0 1 Membaca memori 0 1 0 Menulis memori 0 1 1 Halt 1 0 0 Mengambil opcode 1 0 1 Membaca I/O 1 1 0 Menulis I/O 1 1 1 Pasif

Sinyal yang berfungsi hanya pada saat mode maksimum adalah : a. Status siklus bus ( S0, S1, S2 ).

Sinyal ini merupakan keluaran yang akan diberikan oleh IC lain yang berfungsi sebagai bus kontroller .

b. Kunci ( LOCK ).

Sinyal ini akan mengeluarkan logika 0 selama pelaksanaan instruksi LOCK sehingga akan mencegah prosedur lain menjangkau sistem.

c. Status antrian ( QS0, QS1).

Sinyal ini akan memberitahu informasi apa yang telah dipindahkan dan informasi apa yang ada dalam antrian sewaktu terjadi siklus clock sebelumnya.

d. Local Bus Control ( RQ/ GT1 dan RQ/ GT0 ).

Sinyal ini menggantikan fungsi HOLD dan HLDA pada mode minimum.

(13)

Pin modus minimum/maksimum memilih operasi modus minimum atau maksimum untuk mikroprosesor. Jika modus minimum yang dipilih, pin MN/MX harus dikoneksikan langsung ke +5,0 V.

Tabel 2.3 Fungsi bus kontrol yang dihasilkan oleh kontroler bus 8288 menggunakan , dan .

Fungsi 0 0 0 Acknowledge intrupsi 0 0 1 Membaca I/O 0 1 0 Menulis I/O 0 1 1 Halt 1 0 0 Mengambil opcode 1 0 1 Membaca memori 1 1 0 Menulis memori 1 1 1 Pasif

Tabel 2.4 Bit- bit status antrian

QS1 QS0 Fungsi

0 0 Antrian kosong

0 1 Byte pertama opcode

1 0 Antrian kosong

1 1 Byte berikutnya opcode

2.3 Arsitektur Internal Mikroprosesor Intel 8088

Diagram blok arsitektur 8088 dapat dilihat pada Gambar 2.3. Mikroprosesor 8088 terbagi atas 2 unit, yaitu unit antarmuka bus (bus interface unit, BIU) dan unit pengeksekusi (execution unit, EU).

Unit Antarmuka Bus (BIU)

Unit ini merupakan bagian yang berhubungan langsung

dengan “pihak luar”.BIU berfungsi untuk mengirim alamat ke bus alamat, mengambil instruksi (fetch ) dari memori, membaca data dari port dan memori, serta menulis data ke port dan memori (menangani transfer data antara bus dan unit eksekusi). BIU tersusun atas:

(14)

Instruction Stream Byte Queue (ISBQ)

BIU mem fetch instruksi dari memori

sebanyak-banyaknya 4 buah instruksi ke depan. Instruksi yang sudah diambil ini ditaruh di

ISBQ yang berupa 4 buah register first-in-first-out. BIU dapat melakukan fetching selagi EU menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus (misalnya operasi matematis menggunakan register internal). Ketika EU selesai

melaksanakan suatu instruksi, maka dia tinggal mengambil perintah berikutnya di ISBQ, tanpa harus mengirim alamat ke memori untuk mengambil instruksi berikutnya, Pada mikroprosesor yang lebih baru, ukuran ISBQ tidak hanya 4 byte tetapi mencapai 512 byte. BIU berisi 4 buah register segmen 16 bit, yaitu: code segment (CS), data segment (DS), extra segment (ES), dan stack segment (SS). . Dari BIU ini, dihasilkan bus data sebanyak 8 bit. Untuk menjalankan fungsinya, BIU memiliki register segment, register komunikasi internal, pointer instruksi, antrian kode objek instruksi, bus alamat, dan bus kontrol logika. EU berfungsi untuk menterjemahkan dan menjalankan instruksi.

(15)

Gambar 2.3 Arsitektur internal mikroprosesor 8088

Instruction Pointer (IP) , adalah register berisi informasi offset yang

bersama-samaCS menunjuk posisi dalam memori di mana instruksi berikutnya berada.

Unit Eksekusi (EU)

Unit ini memberitahu BIU di mana mengambil instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya. EU tersusun atas:

Dekoder instruksi yang mengambil

urut-urutan instruksi dari ISBQ kemudianmenerjemahkannya ke urutan aksi yang harus dikerjakan

oleh EU.

Sistem kontrol , merupakan rangkaian yang mengendalikan kerja mikroprosesorberdasarkan

(16)

Arithmetic Logic Unit (ALU) , yaitu bagian dari mikroprosesor yang dapatmelakukan op erasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, dan pembagian) dan logika (misalnya operasi AND, OR, XOR, geser, dan rotasi) 16 bit.

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 Penunjuk Instruksi (Indeks 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 ditunjukkan tergantung pada code segment yang terdapat pada segment register.

Register Data (General Purpose Register).

Register data pada µP 8088 dibagi menjadi 4 kelompok register yang semuanya berfungsi untuk penyimpanan data secara sementara. Keempat kelompok register ini

adalah register AX, BX, CX. dan DX. Register AX, BX, CX, dan DX merupakan register data 16 bit. Register-register 16 bit dari kelompok ini mempunyai suatu ciri khas, yaitu dapat dipisah menjadi 2 bagian dimana masing-masing bagian terdiri dari 8 bit, yaitu register data AH; AL (untuk AX), BH; BL (untuk BX),

CH; CL (untuk CX), dan DH; DL (untuk

DX). Akhiran H menunjukkan High dan akhiran L menunjukkan Low. Selain berfungsi sebagai penyimpan data serba guna yang dapat digunakan secara bebas oleh pemogram, register-register tersebut memiliki juga fungsi-fungsi lainnya secara khusus, yaitu : Register AX biasanya digunakan pada operasi aritmatika (perkalian dan pembagian), dan operasi I/O 16 bit. Register BX biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segment. Register CX biasanya digunakan untuk menunjukkan banyaknya looping yang akan terjadi. Register DX biasanya digunakan untuk menampung sisa hasil pembagian 16 bit serta pada operasi I/O secara tidak langsung.

Register Penunjuk dan Register Indeks (Indeks and Pointer Register).

Mikroprosesor 8088 mempunyai dua buah register penunjuk (register SP dan BP) serta dua buah register indeks ( register SI dan DI). Data yang terdapat pada SP ( Stack

(17)

Pointer) memungkinkan pemogram untuk menjangkau lokasi memori dari stack segment. Stack pointer yang berpasangan dengan stack segment (SS : SP) digunakan untuk

menunjukkan alamat dari stack RAM (Random Access Memory). Stack RAM ini biasanya digunakan untuk menyimpan informasi yang berhubungan dengan operasi stack, seperti isi PC, alamat kembali (return address) pada instruksi CALL, dan akumulator. Penyimpanan informasi pada stack RAM menggunakan sistem LIFO (Last In First Out), artinya data yan g terakhir dimasukkan (PUSH) merupakan data pertama yang akan diambil (POP). BP (Base Pointer) yang berpasangan dengan register stack segment (SS) digunakan untuk mencatat suatu alamat dimemori tempat data. Source Indeks (SI) dan Destination Indeks (DI) biasanya digunakan pada operasi string dengan

mengakses secara langsung pada alamatdimemori yang ditunjukkan oleh kedua register ini .

Register Segment (Segment Register).

Mikroprosesor 8088 menghasilkan 20 bit alamat sehingga dapat menjangkau 1 MB lokasi memori

( 220 = 1048576 Byte atau disingkat 1 MB). Namun pada µP 8088 registeryang tersedia

hanya 16 bit ( 216 = 64 KB), sehingga untuk menjangkau alamat 1 MB,memori pada µP

8088 dibagi menjadi ruas-ruas 64 KB, sehingga setiap saat hanya ada 4

segment (ruas) yang dapat aktif. Segment-segment register ini adalah: Code Segment(CS),

Data Segment (DS), Stack Segment (SS), dan Extra Segment (ES). Code segment

digunakan untuk menyimpan program. Data segment digunakan untuk menyimpan dataprog

ram. Extra segment digunakan untuk menyimpan segment data tambahan. Stack segment digunakan nuntuk menyimpan alamat kembalinya interupsi dan subrutin. Keempat

register diatas menunjuk kelokasi masing-masing segment. Karena register segment hanya terdiri dari 16 bit, sedangkan memori yang dapat dijangkau sebanyak 20 bit, maka unit BIU ( Bus Interface Unit) akan menambah 4 bit lagi pada LSB. Sebagai contoh, jika register ES=2721H, maka register akan menunjuk kelokasi 27210H. Setiap segment hanya dapat menampung 64 KB lokasi memori, sehingga jika CS=A000H, maka lokasi memori untuk Code Segment dimulai dari A0000H sampai AFFFFH (64 KB).

Setiap kali catu daya dihidupkan, mikroprosesor berada dalam keadaan sembarang dimana semua register berisi data yang tidak dapat diramalkan. Hal ini memungkinkan terjadinya pembacaan maupun penulisan lokasi memori yang acak pula. Karena itu semua register µP harus dibuat nol kecuali Code Segment register dibuat FFFF0H, sehingga µP

(18)

akan menjemput instruksi yang berada pada alamat fisik FFFF0H. Jadi dengan

memberikan sinyal RESET ketika pertama kali dihidupkan, µP akan selalu menjemput instruksi pada lokasi FFFF0H. Setelah menempatkan suatu

instruksi pada lokasi tersebut,maka instruksi itu merupakan instruksi yang pertama kali dija

lankan ketika µP dinyalakan atau ketika diberi sinyal RESET

Register flag (bendera)

Register flag Merupakan register flip-flop 16 bit yang menunjukkan kondisi yang dihasilkan setelah eksekusi suatu operasi oleh EU. Selain itu flag mengatur beberapa operasi tertentu. Terdapat 9 flag masing-masing 1 bit dalam register flag 8088, seperti terlihat pada gambar 2-4.

(19)

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).

Fungsi masing-masing register tersebut adalah:

CF (Carry Flag)

jika berlogic 1 berarti terdapat carry atau borrow pada MSB (Most Significant Bit) yang terjadi selama operasi

aritmatika. Jika berlogic 0 berarti tidak terdapat carry atau borrow. PF (Parity

Flag)

jika berlogic 1 berarti 8 bit terendah menghasilkan

paritas genap dan jika menghasilkan paritas ganjil PF akan berlogic 0

AF (Auxillary Carry Flag)

jika berlogic 1 berarti terdapat carry pada bit ke 4 pada register AL dan bila tidak akan berlogic 0. Register ini biasanya digunakan pada operasi BCD, seperti perintah AAA.

ZF(Zero Flag) ZF (Zero Flag), jika berlogic 1 maka operasi aritmatika

menghasikan sisa 0, jika berlogic 1 maka tidak menghasilkan 0

SF (Sign Flag) Jika digunakan bilangan bertanda bit ini akan bernilai 1.

Sedangkan bila SF berlogic 0 berarti bilangan diperlakukan sebagai bilangan tidak bertanda.

Bilangan bertanda dibagi menjadi bilangan positif (+)dan bilangan negatif (-). Pada bilangan bertanda, bit terakhir (bit ke-16) diperlakukan

sebagai tanda (+) atau tanda(-). Jika bit terakhir tersebut bernilai 1 berarti bilangan tersebut negatif dan jika bit terakhir bernilai 0 berarti bilangan tersebut positif

(20)

) Keadaan ini digunakan pada program Debug. IF (Interrupt

Flag)

jika berlogic 1 berarti Maskable Interrupt Request dapat

dilakukan.Jika berlogic 0 maka permintaan interupsi tidak dapat dipenuhi oleh CPU

OF (Over Flow Flag)

jika terjadi Over Flow pada operasi aritmatika, bit ini

akan bernilai 1. Dan jika tidak terjadi Over Flow pada operasi aritmatika, bit ini bernilai 0.

DF (Direction Flag)

jika berlogic 1 berarti pada instruksi string nilai register

akan diturunkan secara otomatis dan jika berlogic 0 maka akan dinaikkan secara otomatis

X Tidak digunakan

Pengalamatan Memori Dengan Segment:Offset

Mikroprosesor 8088 secara fisik memiliki 16 bit saluran alamat atau 64 KByte, mampu mengakses 8 bit data pada satu kali akses time. Tetapi dapat dimungkinkan pengalamatan menggunakan sistem 20 bit. sehingga dapat dialamatkan byte

(=1 MB) memori, dengan kata lain metode pengalamatan 20 bit yang dimasukkan ke dalam format

16 bit. Pada metode pengalamatan mode riil membagi ruang memori ke dalam segmen-segmen di mana besar 1 segmen-segmen adalah 64 KB (= 216 byte). Jadi pada segmen-segmen

0000h terdapat 64 KB data, demikian pula dengan segmen 0001h dan seterusnya. Caranya adalah dengan membagi-bagi setiap segmen menjadi bagian-bagian yang disebut offset. Dalam satu segmen terdapat 216 offset yang diberi nomor dari 0000h sampai FFFFh. Nomor offset selalu diukur relatif dari awal suatu segmen. Segmen 0000h berawal dari lokasi memori 0 hingga 65535 ( 64 KB ). Segmen 0001h berawal dari lokasi memori 16 (0010h) hingga 65551 (65535 +16). Segmen 0002h berawal dari lokasi 32 hingga 65567. Demikian seterusnya.

Alamat yang menggunakan sistem segmen:offset ini disebut sebagai alamat relatif karena sifat offset yang relatif terhadap segmen. Sedangkan alamat memori yang

sebenarnya disebut alamat absolut. cara pengkonversian alamat relatif ke absolut dapat dilakukan dengan menggeser nilai segmen 4 bit ke kiri dan kemudian dijumlahkan dengan nilai offset. Atau yang lebih sederhana adalah dengan mengalikan nilai segmen dengan 24

(21)

(=10h) dan kemudian dijumlahkan dengan nilai offset. selisih segmen yang satu denganyan g berikutnya sebesar 16 (=10h). Alamat relatif : 1357h:2468h 13570 2468 + Alamat absolut : 159D8h

Alamat Relatif Segment Offeset Alamat Absolut

1357:2468 1000:0250 1357 1000 2468 0250 159D8 10250

Setiap register segment mempunyai ketentuan pasangan untuk alamat offset, seperti

Segment Offset Kegunaan

CS DS SS ES IP BX, DI, SI, 8/16 Bit SP, BP DI

Alamat intruksi yang Dieksekusi

Alamat data Alamat Stack Alamat String

Gambar

Tabel 2.2 Status siklus bus (8088) menggunakan
Diagram  blok  arsitektur  8088  dapat  dilihat  pada  Gambar  2.3.  Mikroprosesor  8088  terbagi atas 2 unit,  yaitu unit  antarmuka  bus (bus  interface  unit,  BIU)  dan  unit  pengeksekusi  (execution unit, EU).

Referensi

Dokumen terkait

Problematika evaluasi pembelajaran yang sering kali ditemukan misalnya dalam pelaksanaan UN (Ujian Nasional) masih banyak kritikan dalam pelaksanaannya seperti

Selanjutnya Sugiyono (2015:7) mengatakan bahwa Metode penelitian kuantitatif dapat diartikan sebagai metode penelitian yang berlandaskan pada filsafat positivisme,

Keberhasilan dalam mencapai tujuan dari pemberian terapi perilaku dengan pendekatan modifikasi perilaku untuk menurunkan frekuensi keluar masuk kelas saat pelajaran berlangsung

Kalimat ini telah dikatakan sebelumnya dan memiliki makna bahwa masyarakat luas menganggap bahwa para artis yang populer adalah orang yang beruntung dan memiliki makna

Dalam hal ini, penelitian verifikatif bertujuan untuk mengetahui hubungan antara lingkungan kerja non fisik terhadap kepuasan kerja pegawai struktural P4TK IPA.. Dilihat

INOKULASI FUNGI MIKORIZA ARBUSKULAR DAN PENAMBAHAN BAHAN ORGANIK PADA TANAH PASCA PENAMBANGAN GALIAN C TERHADAP PERTUMBUHAN DAN SERAPAN HARA P TANAMAN JAGUNG (Zea mays L.)",

Tingkat Suku Bunga Kredit selain dapat dikondisikan sebagai Opportunity Cost yang diambil oleh masyarakat untuk berinvestasi disektor riil dibandingkan untuk untuk menyimpan

Bahan yang digunakan dalam penelitian ini terdiri atas: (1) surat masuk yaitu surat yang pada umumnya datang dari Fakultas, kemudian diserahkan di Jurusan untuk ditindaklanjuti