8086 Mikroişlemcisi Komut Seti



Benzer belgeler
8086 Mikroişlemcisi Komut Seti

MTM 305 MĠKROĠġLEMCĠLER

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

Aritmetiksel Komutlar

İŞLEMCİ DURUM KAYDEDİCİSİ (PROCESSOR STATUS REGISTER)

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR

b) Aritmetik İşlem Komutları

MTM 305 MĠKROĠġLEMCĠLER

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

80x86 MICROPROCESSOR Instructions

KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

Mikrobilgisayar Mimarisi ve Programlama

MTM 305 MĠKROĠġLEMCĠLER

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Prepared By IcEN. >> IcEN. Bu makalemizde 80x86 gerçek mod komutlar inceleyece iz.

BM-311 Bilgisayar Mimarisi

Her bir kapının girişine sinyal verilmesi zamanı ile çıkışın alınması zamanı arasında çok kısa da olsa fark bulunmaktadır -> kapı gecikmesi

BM-311 Bilgisayar Mimarisi

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

K uark projesi. Temel Özellikler :

1. Bölüm Sayı Sistemleri

Java da İşleçler, Ders #3 (4 Kasım 2009)

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

JZ TEST3 (7/3) 1 makine çevrimi süresi

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

80X86 SEMBOLİK MAKİNA DİLİ

BIL 362 Mikroilemciler Dersi Arasınav Cevapları 3 Temmuz 2007

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

1 NEDEN SEMBOLİK MAKİNA DİLİ ÖĞRENİLMELİDİR? MİKROİŞLEMCİLERİN ÇALIŞMA BİÇİMLERİ TİPİK BİR RAM İN YAPISI

Bildiğiniz gibi programları oluşturan kodlar ve veriler hafızaya yüklendikten sonra işlemci tarafından satırsatır icra edilirler.

Mikrobilgisayar Mimarisi ve Programlama

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

MTM 305 MĠKROĠġLEMCĠLER

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

İşlem Buyrukları MİKROİŞLEMCİ SİSTEMLERİ. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

MİKROİŞLEMCİ MİMARİLERİ

DENEY III RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar

MTM 305 MİKROİŞLEMCİLER

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

C-Serisi PLC İleri Seviye Eğitim

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Mikroişlemcilerde Aritmetik

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

MANTIK DEVRELERİ HALL, 2002) (SAYISAL TASARIM, ÇEVİRİ, LITERATUR YAYINCILIK) DIGITAL DESIGN PRICIPLES & PRACTICES (3. EDITION, PRENTICE HALL, 2001)

MTM 305 MĠKROĠġLEMCĠLER

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

Assembly. Programlama Dili. T e m m u z

2. SAYI SİSTEMLERİ 2. SAYI SİSTEMLERİ

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

Bahar Dönemi BIL382 Mikroişlemcili Sistem Lab. Vize Sınavı,

Assembly Programlama Dili T e m m u z

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

Çok sayıda adım motoru tasarımı olmasına rağmen, bu motorlar iki değişik temel tür altında toplanabilir: değişken relüktanslı veya hibrid yapılı.

KASIRGA 4. GELİŞME RAPORU

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

DSP DONANIMI. Pek çok DSP için temel elemanlar aşağıdaki gibidir.

2. SAYI SİSTEMLERİ VE KODLAR

Konular MİKROİŞLEMCİ SİSTEMLERİ. Giriş. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Öncesi Kuşak

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

Bilg.Mimarisi-I 4.HAFTA VERI AKTARIMI VE ISLEME. Bilgisayar buyrukları 3 kategoride sınıflandırılabilir.

BIL 362 Mikroilemciler Dersi Final Sınavı Cevapları

ÖZET. Lojiksel ve Hiziksel Hafıza. x86 byte düzeni nın Fiziksel Hafıza Yapısı. Ders 3. Temeller

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

DENEY II RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

MİKROİŞLEMCİ LABORATUARI UYGULAMA ÖRNEKLERİ

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

DELTA PLC DE ZAMANLAYICILAR

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

ÖNEMLİ AÇIKLAMA: Bu derslerdeki sunumların kısa bir özetini göstermek için hazırlanmıştır. Burada türkçeleştirilmemiş olan kısımlar sorulmayacak

(5 soru seçerek cevaplandırınız. Seçilen soru numaralarını yukarıdaki çizelgede işaretleyiniz) Sınav süresi 100 dakikadır. Başarılar dileriz.

SAUEEE.ORG. Önce C 00 Sonrası C 00

BÖLÜM 3 OPERAT A ÖRLER

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

1.BÖLÜM 1.SAYI SİSTEMLERİ

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

(m+2) +5<0. 7/m+3 + EŞİTSİZLİKLER A. TANIM

Komutların Yürütülmesi

Mikroişlemciler. Öğr. Gör. Kürşat Mustafa KARAOĞLAN Güz

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Transkript:

8086 Mikroişlemcisi Komut Seti

SUB ve SBB komutları: SUB (Subtract) yani çıkartma SBB ise borç ile çıkart (SuBtract with Borrow) anlamına gelir. Her iki çıkartma işlemi bir çıkartma sonucu üretmenin yanında bayrak kaydedicisinin C bitinide etkilerler. Bu komutların genel kullanım formatları aşağıdaki gibidir; sub reg, reg sub reg, mem sub mem, reg sub reg, immediate data sub mem, immediate data

Bu komutların ne yaptığını örnekler ile daha iyi anlayabiliriz; MOV AX, 0Ah MOV BX, 04h SUB AX, BX Yukarıdaki komutlar ile işlemci 0Ah-04h işlemini yapar ve 6 sonucunu AX kaydedicisinin yani hedef kaydedicide saklar. Bu işlemde büyük değerden küçük değer çıkartıldığından C bitinin durumunda bir değişiklik olmaz.

MOV AX, 04h MOV BX, 0Ah SUB AX, BX Yukarıdaki komutlar işlenince 04h-0Ah işlemi yapılır ve 2 byte lık AX kaydedicisinin içinde FFFAh sonucu görülür. Bu işlemde ayrıca C biti set edilir ve C=1 olur. Programcı C nin bu durumunu göz önünde bulundurmalıdır. Çünkü sonucu işaretsiz bir tamsayı gibi değerlendirirse yanılır. Böyle bir sonuç elde edildiğinde sonucun tümleyeni alını ve 1 eklenir.

1111 1111 1111 1010 ; FFFAh ın binary karşılığı 0000 0000 0000 0101 ; tümleyeni 0000 0000 0000 0110 ; 1 fazlası yani 6 Ayrıca bu sonuç incelenirken, kaydedicideki FFFAh değerinin 15. biti 1 olduğundan sonuç negatif olarak değerlendirilmeli ve yukarıdaki işlem yapılarak sonucun gerçek değeri hesaplanınca; -6 değerine ulaşılır.

SUB komutunun kullanımını SUB hedef, kaynak şeklinde genellersek; hedef = hedef - kaynak; SBB komutu ise; hedef = hedef - kaynak - C işlemlerini yapar. Çıkartma komutları toplama komutlarında da olduğu gibi bayrak kaydedicisinin, Z, S,A, P ve C bitini etkilerler. Tabi ki bu etkilenen bayraklar yapılan işleme göre programcı tarafından değerlendirilmelidir.

Çıkartma Aslında Toplamadır! 3-4 aslında 3 + (-4) değil midir? Bu tür basit bilgileri unutmamak bazen sizin işinizi kolaylaştırabilir. Aşağıdaki örneği inceleyelim. x = x - y -z işlemini yapmak için; MOV AX, X SUB AX, Y ; x-y işlemi yapılıyor, sonucu AX e yükleniyor. SUB AX, Z ; x - y - z işlemi yapılmış oluyor MOV X, AX ; sonuç x e yüklenerek x = x -y - z işlemi yapılmış oluyor.

Fakat bu işlem aslında x = x - (y + z) değilmidir? MOV AX, Y ADD AX, Z ; y - z işlemi yapılır SUB X, AX ; x - y - z işlemi yapılıp sonuç x e yüklenir. DEC komutu: Decrement yani azalt anlamına gelir. hedef operandını 1 eksiltir, başka bir deyişle -1 ekler. Kullanım formatları aşağıdaki gibidir. DEC reg DEC mem DEC reg16

C biti hariç çıkartma komutların etkilediği bayrakları etkileyen bir komuttur. INC komutu gibi genelde döngülerde her iterasyondan sonra sayacı azaltmak için kullanılır. CMP komutu: SUB komutu ile aynı işi yapar fakat çıkarma işleminin sonucunu herhangi bir kaydediciye yüklemez. Bu komut genelde şartlı dallanma komutlarından önce bayrakları etkilemek için kullanılır. CMP nin anlamı "compare" yani karşılaştır demektir. Bakın neleri karşılaştırabiliyoruz;

genel kullanım formatları, cmp reg, reg cmp reg, mem cmp mem, reg cmp reg, immediate data cmp mem, immediate data cmp eax/ax/al, immediate data Bu komut A, C, O, P, S ve Z bayraklarını etkiler. Programcı etkilenen bu bayrakları göreceli olarak yorumlayabilir, Şöyle ki;

A, ara elde biti yani işlem yapılırken 3. bite gelindiğinde eldenin olup olmadığı hakkında bilgi verir ve P işlem sonucundaki değeri binary olarak düşündüğümüzde 1 ler tekmi yoksa çift mi durumunu gösterir. A ve P bayraklarından ziyade programcılar Z, C, O ve S bitlerinin durumları ile ilgilenirler. Bu bayrakları değerlendirirken de işlemlerin işaretli yada işaretsiz sayılar ile yapıldığının bilinmesi büyük önem taşır.

1- Z bayrağı sayılar ister işaretli ister işaretsiz olsun eşitlik yada eşit olmama durumunu gösterir. mov ax,5 mov bx,5 CMP ax,bx ; Z=1 yani operandlar eşit. 2- C bayrağı işaretsiz sayılarda; C=1 ise 2. operand 1.operand dan büyük demektir. C=0 ise 1. operand büyüktür. C bayrağının işaretli sayılarda bize verdiği sonuçların bir anlamı yoktur.

3- S ve O bayrakları işaretsiz sayılarda anlamsız olurken işaretli sayılarda 2 değişik durumu gösterirler. Bunlar; a) S=0, O=1 veya S=1, O=0 ise 2. operand 1. operand tan küçüktür. b) S=0, O=0 veya S=1, O=1 ise 1. operand 2. operand tan büyüktür.

Şartlı Dallanma Komutları: İngilizce karşılığı Conditional Jump Instructions dır. Bu tür komutlar işlendikten sonra program ya normal akışına yani komutları satır-satır işlemeye devam eder ya da normal akışından sapıp başka bir adresteki komutu işler. Karar alma mekanizmaları bu komutlar ile yapıldığından çok önemli komutlardır.

Şartlı dallanma komutlarının ilk harfi J ile başlar ve takip eden 1,2 yada 3 harf şartı gösterir. Bu tür komutları bundan sonra JXXX komutları olarak kullanacağım. JXXX komutlarının da CMP komutları gibi işaretli ve işaretsiz değerler için farklı anlamları vardır.