Top Banner

of 21

Arsitektur Mikroprocessor 8088

Oct 30, 2015

Download

Documents

Smart Brain
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

BAB IIMIKROPROSESOR INTEL 8088

TujuanSetelah mempelajari bab ini, mahasiswa mampu:a.Memahami konfigurasi pin 8088b.Mengidentifikasi blokarsitektur internal 8088c.Menjelaskan fungsi register yang ada di 8088d.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 voltD0 D7: Data bus (8 informasi biner = 1 byte)ada 28= 256 kombinasi data (00H FFH)untuk kode ASCIIA0 A19: Address bus (20 informasi biner)ada 220= 1048576 kombinasi harga, berartiada 1048576 lokasi memori yg dpt dialamatiread: sinyal kontrol untuk membacawrite: sinyal kontrol untuk menulisclock: frekuensi kerjaP8088 (5 MHz atau 8 MHz)reset: menginisialisasi kembali semua isi registerALE: Address Latch Enable,menandakan bahwa pin 9 s.d pin 16 menyimpan informasi alamat

Kemampuan Bus1.Lebar dari bus data sering digunakan untuk mengklasifikasikanP.Contoh:P8088 adalah microprocessor 8-bit karena jumlah pin untuk bus datasebanyak 8 buah (D0D1D2D3D4D5D6D7: 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 saatA=0 dan A=1

b.P dengan 2 buah alamat (A0 dan A1) hanya dapat mengakses 4 blok memori yaitu pada saat

Jumlah jalur alamatTotal blok memoriKapasitas memori (1 blok memori = 1 byte)keterangan

121= 22 byte

222= 44 byte

16216= 6553665536 byte = 64 K bytei8080, Z80

20220= 10485761048576 byte = 1024 K byte = 1 M bytei8088

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.

RegisterPada 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 Datadigunakan untuk menyimpan data yg diperlukan untuk suatu operasi.Terdiri dari: AX (Accumulator), BX (Base), CX (Counter), DX (Data)

2. Register Alamatkarena 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 (DestinationIndex), 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)

4. Register Instruksidigunakan untuk menyimpan instruksi yang sedang dikerjakanCatatan: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 0000Hs.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).

AHAL

BHBL

CHCL

DHDL

Bagan dasarP Intel 8088

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

Instruction Decoderbertugas untuk menerjemahkan suatu instruksi dengan cara membandingkannya dengan tabel instruksi yang dimilikinya. Hasil dekoding diberikan keCU, dan CU akan membangkitkan sinyal-sinyal kontrol yang diperlukan untuk melaksanakan instruksi tersebut.

Registeradalah 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 Datamemiliki lebar 16 bit namun dapat diakses dalam format 2x8 bit:Accumulator : AX = AH+ALBase Register : BX = BH+BLCounter Register : CX = CH+CLData Register : DX = DH+DLRegister Alamatmemiliki lebar 16 bit :Code Segment : CS, menyimpan alamat segment dari programInstruction Pointer : IP, menyimpan alamat offset dari programData Segment : DS, menyimpan alamat segment dari dataIndex Register : BI (Base Index), SI (Source Index), DI (Destination Index),Pointer Register : BP (Base pointer),Stack Segment : SS, menyimpan alamat segment dari stackStack Pointer : SP, menyimpan alamat offset dari stackBase Register : BXRegister status(Flag) berfungsi untuk menyimpan status dari suatu operasiRegister instruksimenyimpan 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.

2.2 . Diagram Pewaktu Mikroprosesor8088Diagramwaktuyangmenunjukkansiklusbaca/tulisketikaterjadioperasiI/Odan Memoriolehmikroprosesor.Seluruhpenjelasantentangpena-penapadamikroprosesor 8088ini akan selalu mengacu pada diagrampewaktuan seperti pada gambarberikut.

Gambar 2-2. Diagram pewaktuanmikroprosesor8088PenapadaP8088adayangtidakdipengaruhiolehperubahanmodebaikmodemaksimumataupunmodeminimumdanadapulapenayangberfungsihanyapadasaat mode maksimumsaja.Penayangtidakdipengaruhiolehperubahanmodebaikmodemaksimumataupunmode minimum, diantaranya adalah :a.Busalamat ( AD0-AD7,A8-A15, danA16/S3-A19/S6).Mikroprosesor8088mempunyai20pinjaluralamatsehinggadapatmenjangkau 220(1MB)lokasimemori. Pena-penainihanyaberfungsipadasaatT1(lihatdiagram pewaktuan). Pada saat T2 sampai T4 ada sebagianpinyang berfungsisebagaidatadan jugasebagai status. Sedangkan A15-A8tetap memberikan bitalamatupper-halfmemory yang ada melaluisiklusbus.

b.Busdata ( AD0-AD7).Mikroprosesor8088mempunyaijalurdatasebanyak8pindanbisadigunakansecarabiderectional (duaarah).Pin-pininiberfungsisebagaijalurdatahanyapadasaatT2-T4.PadasaatT1berfungsisebagaijaluralamat.berisi8bitterkanandarialamat memoriatau nomor port I/Opadasaat ituALEaktif (logika1)atauberisikandataketikaALEtidakaktif (logika0).

c.A19/S6-A16/S3Bit busstatus/alamatdimultipleksuntukmemberikansinyalalamatA19-A16danjugastatusS6-S3.BitstatusS6selaluberadadalamlogika0,bitS5mengindikasikan kondisi bit flag IF,dari S4 serta S3memperlihatkansegmenmanayangdiaksesselama siklusbussaatini.LihatTabel2.1untuktabelkebenarandariS4danS3,Keduabit statusdapatdigunakanuntukmengalamati4bankmemori1Mbyteterpisahdengan melakukandekodeterhadapnya sebagai All dan A20.d.Kontrol baca(RD).Sinyaliniaktifrendah.Jikapenainiberlogic0berartimikroprosesorsedang melaksanakanpembacaandatadarimemoriatauI/O.SinyaliniaktifdipertengahanT2 dan kembalitidakaktif (logika 1)padasaat pertengahan T4.

e.Clock (CLK).Yaitumasukansinyalclockyangdiberikandariluaruntukmensinkronkansegala kegiatanpadaMiroprosesor.Miroprosesor8088dapatbekerjapadafrekuensiclock 4,77MHzatau8MHzuntukversiturbo.Sinyalpewaktuanharusmemunyaisiklustugas 33%(tinggiuntuksepertigaperiodeclocking,danrendahuntuksisanya)supaya memberikan pewaktuan internal yang sesuai untuk 8086/8088.

f.Kontrolwaktutunggu (READY).SinyalREADYinidisampelpadasisinaikT2.JikasinyalREADYiniberlogic0 berartiakandisisipkanTW/TwaitantaraT3danT4.Haliniterusdiulangisampaisinyal READYdiberilogika1.Sinyalinibiasanyadigunakanjikaadahardwarelainyang memilikikecepatanyanglebihlambatdarikecepatanmikroprosesorketikasedang bekerjadalam keadaannormal.

g.Reset sistem(RESET).Sinyaliniaktiftinggi.Bilalogika1diberikanpadapenaini,mikroprosesorakan menghentikansegalakegiatanyang sedangterjadi saat itu. Semua registerakan dibuat 0 kecualiregister codesegment dibuat FFFF0H

h.Interupsi (INTR dan NMI).INTRdanNMI(NonMaskableInterrupt)adalahpermintaaninterupsiyangdapat dipanggilsecarahardware.SinyalINTRmerupakansinyalaktiftinggi,sedangkanNMI dapat aktif menggunakan triggersisinaikdari sinyalclock.INTRtidakakanberfungsijika interupsiflagdikosongkan(menggunakaninstruksiCLI),sedangkanNMItidakdapat dihalangi dengan instruksi CLI.

i.Kontroltunggu test (TEST).UntukmengaktifkansinyalTEST,digunakaninstruksiWAIT.Jikapininiberlogic1 ketikamikroprosesorsedangmenjalankaninstruksiWAITdariprogramnya,CPUakan beradapadakeadaanidlemode,artinyamikroprosesortidakmelakukankegiatan apa-apasebelumpininiberlogic0.Jikapininiberlogic0kembali,makapelaksanaan instruksiakan dilanjutkan.

j.Status (A16/S3-A19/S6).Sinyalstatusdigunakanuntukmendeteksisuatukeadaan-keadaanatau operasi-operasi yang sedang berlangsung, diantaranyapengambilaninstruksi,membacamemori, menulis memori, danoperasi-operasiyang lain.Sinyalinidikeluarkanpadasaat keadaanT2-T4. Definisi dari status S4 danS3seperti tabel 2.1 adalah :Tabel 2.1 Kebenaran S3 dan S4S4...S4Yang dijangkau saat terjadi siklus bus

0......0Extra Segment (ES)

0......1Stack Segment (SS)

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

1......1Data Segment (DS)

k.Catudaya ( VCC danGND).Mikroprosesor8088membutuhkanVcc=+5Vyangmasihbisabertoleransi sebesar 10% dari+5 V.Sinyalyangberfungsihanyapadamodeminimum(modemaksimumtidakdigunakan )adalah :a.Sinyal tulis (WR).Sinyaliniaktifrendah.Jikasinyaliniberlogika0,berartimikroprosesorsedang melaksanakanoperasipenulisandatakeunitmemoriatauI/O.Sinyaliniaktifpadasaat T2-T4.

b.Sinyal kontrolmemori dan I/O ( IO/M ).Jikapenainiberlogic0,berartisaatinipadasiklusbussedangberlangsung operasiinput/output.Jikapenainiberlogic1,berartisaatinipadasiklusbussedang berlangsungoperasi memori.

c.AddressLatchEnable (ALE).Sinyal ini digunakan sebagai penahanalamatyang barumasukdalamsuatuproses siklusmesin.Sinyalinidapatdigunakanuntukdimultipleksdenganalamat,data,dan status. Sinyal ini mengeluarkanlogic 1 pada saat clockT1.

d.Pengirimandan penerimaan data( DT/R ).Jikasinyaliniberlogic1 makaarahdataadalahdarimikroprosesormenujukeluar (memori/input-output).Jikasinyaliniberlogic0makaarahdatadariluarmenuju mikroprosesor

e.Data Enable (DEN ).Sinyalinibiasanyadigunakanuntukmeng"on"kanbuffer(latch)yangdihubungkan kebus data.

f.InterruptAcknowledge( INTA ).Sinyalinisecarakhususdigunakansebagaitanggapanterhadapsuatuinstruksi INTR.

g.HoldRequest ( HOLD)Bilalogika1diberikanpadapenaHOLD,Pakanmenghentikankegiatandan melepasbusyangberhubungandenganunitmemoridanI/O,sehinggahalini memberikan kesempatanbagiproseslain untuk mengambilalihsistem.

h. Hold Acknowledge (HLDA)Sinyal ini digunakansebagaipengakuandariPbahwasinyalHOLDtelahditerima dan sistemdapat diambil alih oleh prosesor lain.

Tabel 2.2 Status siklus bus (8088) menggunakanIO/DT/Fungsi

000Acknowledge intrupsi

001Membaca memori

010Menulis memori

011Halt

100Mengambil opcode

101Membaca I/O

110Menulis I/O

111Pasif

Sinyal yang berfungsi hanya padasaat mode maksimum adalah:a. Statussiklusbus( S0, S1, S2 ).SinyalinimerupakankeluaranyangakandiberikanolehIClainyangberfungsi sebagaibus kontroller.

b.Kunci (LOCK).Sinyaliniakanmengeluarkanlogika0selamapelaksanaaninstruksiLOCK sehingga akan mencegah prosedurlainmenjangkausistem.

c.Statusantrian ( QS0, QS1).Sinyaliniakanmemberitahuinformasiapayangtelahdipindahkandaninformasi apa yang ada dalam antriansewaktu terjadisiklusclocksebelumnya.

d.Local Bus Control (RQ/GT1 dan RQ/GT0 ).Sinyal ini menggantikan fungsiHOLDdan HLDA pada mode minimum.

e.MN/MXPinmodusminimum/maksimummemilihoperasimodusminimumatau maksimumuntukmikroprosesor.Jikamodusminimumyangdipilih,pinMN/MXharus dikoneksikanlangsung ke +5,0 V.

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

Fungsi

000Acknowledge intrupsi

001Membaca I/O

010Menulis I/O

011Halt

100Mengambil opcode

101Membaca memori

110Menulis memori

111Pasif

Tabel 2.4 Bit- bit status antrianQS1QS0Fungsi

00Antrian kosong

01Byte pertama opcode

10Antrian kosong

11Byte berikutnya opcode

2.3Arsitektur Internal MikroprosesorIntel 8088Diagramblokarsitektur8088dapatdilihatpadaGambar2.3.Mikroprosesor8088 terbagiatas 2 unit,yaitu unitantarmukabus (businterfaceunit,BIU)danunitpengeksekusi (execution unit, EU).

UnitAntarmuka Bus(BIU)Unitinimerupakanbagianyang berhubunganlangsung denganpihakluar.BIUberfungsiuntukmengirimalamatkebusalamat,mengambil instruksi(fetch ) darimemori,membacadatadariportdanmemori,sertamenulisdatake port danmemori (menangani transferdata antara busdan unit eksekusi). BIU tersusunatas:

InstructionStreamByteQueue(ISBQ)BIUmem fetchinstruksidarimemori sebanyak-banyaknya4buahinstruksikedepan.Instruksiyangsudahdiambiliniditaruhdi ISBQyang berupa 4 buah registerfirst-in-first-out. BIU dapatmelakukanfetchingselagiEU menerjemahkandanmengeksekusiinstruksiyangtidakmembutuhkanpenggunaanbus (misalnyaoperasimatematismenggunakanregisterinternal).KetikaEUselesai melaksanakansuatuinstruksi,makadiatinggalmengambilperintahberikutnyadiISBQ, tanpaharusmengirimalamatkememoriuntukmengambilinstruksiberikutnya,Pada mikroprosesoryanglebihbaru,ukuranISBQtidakhanya4 bytetetapimencapai512byte. BIUberisi4buahregistersegmen16bit,yaitu:codesegment(CS),datasegment(DS), extra segment(ES), dan stacksegment(SS)..DariBIU ini,dihasilkanbusdatasebanyak 8bit.Untukmenjalankanfungsinya,BIUmemilikiregistersegment,registerkomunikasi internal,pointerinstruksi, antriankodeobjekinstruksi,busalamat,danbuskontrollogika. EU berfungsi untuk menterjemahkandan menjalankan instruksi.

Gambar 2.3 Arsitektur internal mikroprosesor 8088

Instruction Pointer(IP), adalahregister berisiinformasioffset yangbersama-samaCSmenunjukposisi dalammemori di mana instruksi berikutnya berada.

UnitEksekusi(EU)UnitinimemberitahuBIUdimanamengambilinstruksidan data, menerjemahkan kodeinstruksi, dan menjalankannya.EU tersusun atas:Dekoderinstruksiyangmengambilurut-urutaninstruksidariISBQkemudianmenerjemahkannya ke urutan aksi yang harus dikerjakan oleh EU.Sistemkontrol,merupakanrangkaianyangmengendalikankerjamikroprosesorberdasarkaninstruksiyang telah diterjemahkanoleh dekoderinstruksitadi.

ArithmeticLogicUnit(ALU),yaitubagiandarimikroprosesoryangdapatmelakukanoperasimatematis(misalnyaoperasipenjumlahan,pengurangan,perkalian, dan pembagian) dan logika (misalnya operasiAND, OR, XOR,geser, dan rotasi) 16 bit.

Mikroprosesor8088mempunyai4 kelompok registerinternalyaituregisterpenunjuk instruksi(indekspointerregister), registerdata (general purpose register), registersegment (segment register), serta flag register.RegisterPenunjukInstruksi (Indeks Pointer Register).RegisterPenunjukinstruksimerupakanregister16bityangberfungsiuntuk menunjukkanlokasiinstruksiberikutnyayangakandijalankan.RegisterIPiniberpasangan denganCS(codesegment)dimanapenulisannyaadalahsebagaiberikut[CS:IP].Jadi lokasialamatyangditunjukkantergantungpadacodesegmentyangterdapatpada segment register.RegisterData (General PurposeRegister).RegisterdatapadaP8088dibagimenjadi4kelompokregisteryangsemuanya berfungsiuntukpenyimpanandatasecarasementara.Keempatkelompokregisterini adalahregisterAX,BX,CX.danDX.RegisterAX,BX,CX,danDXmerupakanregister data16bit.Register-register16bitdarikelompokinimempunyaisuatucirikhas,yaitu dapatdipisahmenjadi2bagiandimanamasing-masingbagianterdiridari8bit,yaitu registerdata AH; AL (untuk AX), BH;BL (untukBX), CH;CL(untukCX),danDH;DL(untuk DX).AkhiranHmenunjukkanHighdanakhiranLmenunjukkanLow.Selainberfungsi sebagaipenyimpandata serba guna yang dapat digunakan secarabebasolehpemogram, register-registertersebut memilikijugafungsi-fungsilainnyasecarakhusus,yaitu:Register AXbiasanyadigunakanpadaoperasiaritmatika(perkaliandanpembagian),danoperasi I/O16bit.RegisterBXbiasanyadigunakanuntukmenunjukkansuatualamatoffsetdari suatusegment.RegisterCXbiasanyadigunakanuntukmenunjukkanbanyaknyalooping yangakanterjadi.RegisterDXbiasanyadigunakanuntukmenampungsisahasil pembagian 16bit sertapadaoperasi I/Osecaratidaklangsung.

RegisterPenunjukdan Register Indeks(Indeksand PointerRegister).Mikroprosesor8088mempunyaiduabuahregisterpenunjuk(registerSPdanBP) sertaduabuah registerindeks(registerSIdanDI).DatayangterdapatpadaSP(Stack Pointer)memungkinkanpemogramuntukmenjangkaulokasimemoridaristacksegment. Stackpointeryangberpasangandenganstacksegment(SS:SP)digunakanuntuk menunjukkanalamatdaristackRAM(RandomAccessMemory).StackRAMinibiasanya digunakan untuk menyimpan informasi yang berhubungandenganoperasistack, sepertiisi PC,alamatkembali(returnaddress)padainstruksiCALL,danakumulator.Penyimpanan informasipadastackRAMmenggunakansistemLIFO(LastInFirstOut),artinyadatayang terakhirdimasukkan (PUSH) merupakan data pertamayang akan diambil (POP). BP(Base Pointer)yang berpasangan dengan registerstacksegment(SS)digunakanuntukmencatat suatualamatdimemoritempatdata.SourceIndeks(SI)danDestinationIndeks(DI) biasanya digunakan pada operasistring dengan mengaksessecaralangsungpadaalamatdimemori yang ditunjukkan olehkedua registerini.

RegisterSegment(SegmentRegister).Mikroprosesor8088menghasilkan20bit alamat sehinggadapatmenjangkau1MB lokasimemori (220=1048576Byteataudisingkat1MB).NamunpadaP8088registeryangtersediahanya16bit(216=64KB),sehinggauntukmenjangkaualamat1MB,memoripadaP8088dibagimenjadi ruas-ruas64KB,sehinggasetiapsaathanya ada4 segment(ruas)yangdapataktif.Segment-segmentregisteriniadalah:CodeSegment(CS), DataSegment(DS),StackSegment(SS),danExtraSegment(ES). Codesegment digunakanuntukmenyimpanprogram.Datasegmentdigunakanuntukmenyimpandataprogram.Extrasegmentdigunakanuntukmenyimpansegmentdatatambahan.Stack segment digunakan nuntuk menyimpanalamatkembalinyainterupsidansubrutin.Keempat registerdiatasmenunjukkelokasi masing-masing segment. Karenaregister segment hanya terdiridari 16bit, sedangkan memori yang dapat dijangkau sebanyak20bit,makaunitBIU (BusInterfaceUnit)akanmenambah4bitlagipadaLSB.Sebagaicontoh,jikaregister ES=2721H,makaregisterakanmenunjukkelokasi27210H. Setiapsegmenthanyadapat menampung64KBlokasimemori,sehinggajikaCS=A000H,makalokasimemoriuntuk Code Segment dimulai dari A0000HsampaiAFFFFH (64 KB).Setiap kali catu dayadihidupkan, mikroprosesor beradadalam keadaansembarang dimanasemuaregisterberisidatayangtidakdapatdiramalkan.Halinimemungkinkan terjadinya pembacaan maupun penulisanlokasimemoriyang acakpula.Karenaitusemua registerPharusdibuat nolkecualiCodeSegmentregisterdibuatFFFF0H,sehinggaP akanmenjemputinstruksiyangberadapadaalamatfisikFFFF0H.Jadidengan memberikansinyalRESETketikapertamakalidihidupkan,Pakanselalumenjemput instruksipadalokasiFFFF0H. Setelahmenempatkansuatu instruksipadalokasitersebut,makainstruksiitumerupakaninstruksiyangpertamakalidijalankanketikaPdinyalakan atau ketikadiberisinyal RESET

Registerflag (bendera)RegisterflagMerupakanregisterflip-flop16bityangmenunjukkankondisiyang dihasilkansetelaheksekusisuatuoperasiolehEU.Selainituflagmengaturbeberapa operasitertentu.Terdapat9flagmasing-masing1bitdalamregisterflag8088,seperti terlihat pada gambar2-4.

Gambar 2.4. Formatregister flag padamikroprosesor8088

Sebanyak6buahflagmerupakanflagkondisiyangmenunjukkankeadaansetelah eksekusi suatu instruksi, yaitu:CarryFlag(CF),ParityFlag(PF), AuxiliaryCarryFlag(AF), ZeroFlag(ZF),SignFlag(SF),danOverflowFlag(OF).Sedangkan,3buahflagsisanya berupaflag kontrol yang mengendalikan operasitertentu,yaitu:SingleStepTrapFlag(TF),InterruptFlag (IF),dan String Direction Flag (DF).

Fungsi masing-masing registertersebut adalah:CF (Carry Flag)jikaberlogic1berartiterdapatcarryatauborrowpada MSB (Most Significant Bit)yangterjadiselamaoperasi aritmatika.Jikaberlogic0berartitidakterdapatcarry atauborrow.

PF (Parity Flag)jikaberlogic1berarti8bitterendahmenghasilkan paritasgenapdanjikamenghasilkanparitasganjilPF akanberlogic0

AF(Auxillary Carry Flag)jika berlogic1 berartiterdapat carrypadabit ke4 pada registerALdanbilatidakakanberlogic0.Registerini biasanyadigunakanpadaoperasiBCD,seperti perintah AAA.

ZF(ZeroFlag)ZF (Zero Flag), jikaberlogic1makaoperasiaritmatika menghasikansisa0,jikaberlogic1makatidakmenghasilkan 0

SF (Sign Flag)Jika digunakan bilangan bertanda bit iniakanbernilai1. SedangkanbilaSFberlogic0berartibilangan diperlakukansebagaibilangantidakbertanda. Bilanganbertandadibagimenjadibilanganpositif(+)danbilangannegatif(-).Padabilanganbertanda,bit terakhir(bit ke-16) diperlakukan sebagaitanda(+)atau tanda(-).Jikabitterakhirtersebutbernilai1berarti bilangantersebutnegatifdanjikabit terakhirbernilai0 berartibilangan tersebut positif

TF(TraceFlag)jikaberlogic1berartiberadapadakeadaansingle step. KeadaaninidigunakanpadaprogramDebug.

IF(Interrupt Flag)jika berlogic1 berartiMaskableInterruptRequest dapat dilakukan.Jikaberlogic0makapermintaaninterupsi tidakdapat dipenuhi olehCPU

OF(OverFlow Flag)jikaterjadiOverFlowpadaoperasiaritmatika,bitini akanbernilai1.DanjikatidakterjadiOverFlowpada operasiaritmatika, bit inibernilai0.

DF(Direction Flag)jika berlogic1 berartipadainstruksistringnilairegister akanditurunkansecaraotomatisdanjikaberlogic0maka akan dinaikkan secara otomatis

XTidak digunakan

PengalamatanMemori DenganSegment:OffsetMikroprosesor8088secarafisikmemiliki16bitsaluranalamatatau64KByte, mampumengakses8bitdatapadasatukaliaksestime.Tetapidapatdimungkinkan pengalamatanmenggunakansistem20bit. sehingga dapat dialamatkanbyte (=1MB)memori, dengankata lainmetodepengalamatan20bit yangdimasukkankedalamformat 16bit.Padametodepengalamatanmoderiilmembagiruangmemorikedalam segmen-segmendimanabesar1segmenadalah64KB(= 216 byte).Jadipadasegmen 0000hterdapat64KBdata,demikianpuladengansegmen0001hdanseterusnya. Caranyaadalahdenganmembagi-bagisetiapsegmenmenjadibagian-bagianyang disebutoffset.Dalamsatusegmenterdapat 216 offsetyangdiberinomordari0000h sampaiFFFFh. Nomoroffsetselaludiukurrelatifdariawalsuatusegmen.Segmen0000h berawal darilokasimemori0hingga65535(64KB).Segmen0001hberawaldarilokasi memori16(0010h)hingga65551(65535+16).Segmen0002hberawaldarilokasi32 hingga 65567. Demikian seterusnya.Alamat yangmenggunakansistemsegmen:offsetinidisebutsebagaialamatrelatif karenasifatoffsetyangrelatifterhadapsegmen.Sedangkanalamatmemoriyang sebenarnyadisebut alamat absolut.carapengkonversianalamatrelatifkeabsolutdapat dilakukan dengan menggesernilaisegmen4 bitkekiridankemudiandijumlahkandengan nilai offset. Atau yang lebih sederhana adalahdenganmengalikannilaisegmendengan 24 (=10h)dankemudiandijumlahkandengannilaioffset.selisihsegmenyangsatudenganyang berikutnya sebesar16(=10h).

Alamat relatif :1357h:2468h135702468+Alamat absolut :159D8h

Alamat RelatifSegmentOffesetAlamat Absolut

1357:24681000:02501357100024680250159D810250

Setiap register segment mempunyaiketentuan pasanganuntuk alamat offset, sepertiSegmentOffsetKegunaan

CSDSSSESIPBX, DI, SI, 8/16BitSP, BPDIAlamat intruksi yangDieksekusiAlamat dataAlamat StackAlamat String