MTM 305 MĠKROĠġLEMCĠLER

Benzer belgeler
MTM 305 MĠKROĠġLEMCĠLER

Aritmetiksel Komutlar

MTM 305 MĠKROĠġLEMCĠLER

80x86 MICROPROCESSOR Instructions

MTM 305 MĠKROĠġLEMCĠLER

8086 Mikroişlemcisi Komut Seti

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

8086 Mikroişlemcisi Komut Seti

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

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

MTM 305 MĠKROĠġLEMCĠLER

b) Aritmetik İşlem Komutları

MTM 305 MİKROİŞLEMCİLER

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MİKROİŞLEMCİLER

MTM 305 MĠKROĠġLEMCĠLER

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

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

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

BIL 362 Mikroilemciler Dersi Final Sınavı Cevapları

İ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

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Mikrobilgisayar Mimarisi ve Programlama

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

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

Assembly. Programlama Dili. T e m m u z

Assembly Programlama Dili T e m m u z

KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

8086 dan core2 ya yazaç yapısını tanımak. Bayrak yazacının içeriğinde yer alan bayrakların görevlerini tanımlamak. Real mod çalışmada bellek

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

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

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

MTM 305 MİKROİŞLEMCİLER

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

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

C++ Operatörler (Operators)

16 bitlik işlemciler basit olarak 8 bitlik işlemciler gibi Kaydedici ALU Zamanlama/kontrol

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

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

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

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

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

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

Bölüm 4 Veri Aktarma Komutları

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

K uark projesi. Temel Özellikler :

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

POLİNOMLARIN TANIMI. ÖĞRENCİNİN ADI SOYADI: KONU: POLİNOMLAR NUMARASI: SINIFI:

Debug Komutları C:\>DEBUG - Çizgi işareti artık debug programının komut kabul etmeye hazır olduğunu belirtmektedir.

AND Komutu. and hedef, kaynak

BLM221 MANTIK DEVRELERİ

MTM 305 MİKROİŞLEMCİLER

Mikrobilgisayar Mimarisi ve Programlama

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

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

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

BM-311 Bilgisayar Mimarisi

MTM 305 MĠKROĠġLEMCĠLER

Ö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

6. Mikroişlemcili Geliştirme Sistemleri

BÖLÜM 6 Seri Port Đşlemleri

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

biçimindeki ifadelere iki değişkenli polinomlar denir. Bu polinomda aynı terimdeki değişkenlerin üsleri toplamından en büyük olanına polinomun dereces

Bileenler arasndaki iletiim ise iletiim yollar ad verilen kanallar yardm ile gerçekleir: 1 Veri Yollar 2 Adres Yollar 3 Kontrol Yollar

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

İKİ TABANLI SİSTEM TOPLAYICILARI (BINARY ADDERS)

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

CISC Complex Instruction Set Computers

CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION. Prof. Dr. Mehmet Akbaba CME 221 LOGİC CİRCUITS

Mikroçita. Mikroçita Rapor 2:

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ

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

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

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

BÖLÜM 2 SAYI SĐSTEMLERĐ (NUMBER SYSTEMS)

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

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

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

ASSEMBLY DİLİNDE PROGRAMLAMA

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.

Multiplication/division

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

10.Konu Tam sayıların inşası

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

BBM 341 Sistem Programlama

2. SAYI SİSTEMLERİ VE KODLAR

T.C. MİLLÎ EĞİTİM BAKANLIĞI UÇAK BAKIM MİKROİŞLEMCİLER 523EO0014

140. 2< a< 1 ise kesrinin değeri aşağıdakilerden hangisi olamaz? (3,7) a 1,9 2,4 2,7 3,2 3,7. a a c b ve c a a b c

TEOG. Sayma Sayıları ve Doğal Sayılar ÇÖZÜM ÖRNEK ÇÖZÜM ÖRNEK SAYI BASAMAKLARI VE SAYILARIN ÇÖZÜMLENMESİ 1. DOĞAL SAYILAR.

BILGISAYAR ARITMETIGI

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

Mikrobilgisayar Donanımı

Bölüm 7 Gelişmiş Fonksiyon Komutları

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

Basit Işık Kontrolü. 1. Bit, Byte, Word, Double Word kavramları:

Transkript:

KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ MTM 305 MĠKROĠġLEMCĠLER ArĢ. Gör. Emel SOYLU ArĢ. Gör. Kadriye ÖZ

Aritmetik İşlemler

Aritmetik iģlemler toplama, çıkartma, çarpma ve bölme iģlemlerini kapsamaktadır. Tüm aritmetik ve mantık komutları bayraklara etkilemektedir. Bu sayede aritmetik iģlem sonucunda bayrak kaydedicisine bakılarak, sonuç sıfır mı(sıfır-zero bayrağı), elde var mı(carry bayrağı) büyük mü, küçük mü gibi kontrollerde yapılabilmekte ve iģlem akıģı buna göre yönlendirilebilmektedir.

TOPLAMA ve ÇIKARMA İŞLEMİ X86 tabanlı iģlemcilerin kendi bünyesindeki elektronik kapıları kullanarak gerçekleģtirdiği aritmetik iģlemlerden toplamayla ilgili iki komut vardır. Bunlar sırası ile toplama ADD ve çıkarma SUB komutlarıdır. Elde iģleme dahil edilmek istenirse ADC ve SBB komutları kullanılır. ADD : Toplama(eldesiz) Addition ADC : Toplama(eldeli - Carry C) Add with carry SUB : Çıkarma(eldesiz) Subtraction SBB : Çıkarma(eldeli - Carry C) Subtract with borrow Elde bayrağı borç için kullanılır.

Genel Kulanımı ADD/SUB register, register Ör: ADD AL, BL ADD/SUB memory, register Ör: ADD [SI], BL ADD/SUB register, memory Ör: ADD AL, [BX] ADD/SUB register, immediate Ör: ADD CL,12 ADD/SUB memory, immediate Ör: ADD [SI], 25

Add ah,25h; Add ah,bh; Add al,[bx]; Add ax,alan; Add ax,[bx+4]; Add bos,al; ekle Adc dx,cx; Adc [bx],25; ah deki değere 25 sayısını ekle ah a bh deki değeri ekle bx in gösterdiği yerdeki veriyi al ye ekle alan adresindeki Word değerini ax e ekle adresten ax e ekle al deki değeri bos adlı adresteki değere cx deki değeri c(carry) ile birlikte dx e ekle 25+c yi bx in gösterdiği adresteki değere ekle

Örnek: mov ah,10 mov al,20 x db 85 add ah,al add ah,x mov ah,255 mov al,255 add ax,1 add ax,1 mov ah,255 mov al,255 adc ax,1 adc ax,1 mov ax,0 sub ax,1 sub ax,1 mov ax,0 sbb ax,1 sbb ax,1 hlt

SAYI1 DD 0123BC62H SAYI2 DD 0012553AH MOV EAX,SAYI1 ADD EAX,SAYI2 Yukarıda verilen son iki komutun yerine tek bir komut ADD SAYI1,SAYI2 yazılabilir mi?

Eğer EAX gibi 32 bitlik bir kaydedici kullanmadan 16 bit olarak toplamak istersek ne yapacağız. Bunun için sayıları 16 bit olarak tanımlamalıyız. Öncelikle sayıları 2 ye ayıracağız. Bu sayıların düģük sıralı ilk 16 bitlik kısmını (düģük değerli az önemli tarafı LSB Least Significant Bit/Byte) tarafını SAYI1LSB de, büyük sıralı 16 bitlik kısmını (en değerli En önemli tarafı LSB Most Significant Bit/Byte) SAYI1MSB de saklayalım. Ve iģlemi 2 adımda gerçekleģtirelim.

SAYI1LSB DW 0BC62H SAYI1MSB DW 0123H SAYI2LSB DW 553AH SAYI2MSB DW 0012H SONUCLSB DW? SONUCMSB DW? MOV AX,SAYI1LSB ADD AX, SAYI2LSB MOV SONUCLSB, AX MOV AX, SAYI1MSB ADC AX, SAYI2MSB MOV SONUCMSB, AX

GenelleĢtirilmiĢ bir toplama programı yazarsak Ģu Ģekilde olmalıdır. LEA Sı,SAYı1LSB LEA Dı,SAYı2LSB LEA BX,SONUCLSB CLC ; eldeyi sıfırla C=0 MOV CX,02 ; döngü sayısı 2 TEKRAR: MOV AX, [Sı] ADC AX, [Dı] MOV [BX],AX INC Sı INC SI INC Dı INC DI INC BX INC BX LOOP TEKRAR

ÇARPMA İŞLEMİ Bir çarpma iģleminde, iģlemci iki operand tanımı ister. Eğer bayt operandı tanımlanmıģ ise, iģlemci diğer operandın AL olduğunu varsayar. Eğer Word operandı kullanılıyorsa, AX varsayar. Bu komutla iģaretsiz sayılar için MUL, iģaretli sayılar için ise IMUL dur. MUL BH ; BH içeriğini AL ile çarp MUL ALAN ; bellek içeriğini AL ile çarp MUL DX ; DX içeriğini AX ile çarp IMUL BX ; iģaretli BX değerini AX ile çarp IMUL VERI ; iģaretli bellek verisini ALile çarp

Ġki Word değeri çarpıldığında, iģlemci daima 4 baytlık (32 bit) sonuç üretir. Sonucun önemli 16 bitlik kısmı(msb) DX de ve az önemli 16 bitlik kısmı (LSB) ise AX de tutulur. Burada DX, çarpma sonrasında oluģan geniģleme değerini tutar. Komut Çarpan değer Çarpılan Sonuç MUL CL Bayt (8 bit) AL AX MUL BX word (16 bit) AX DX:AX MUL EBX Double word(32 bit) EAX EDX:EAX

Örnekler SAYI1 DB 25 MOV AL,15 MUL SAYI1 ; Sonuç=AX=AL*SAYI1 MOV AX,15FAH MOV BX,21CEH MUL BX ; Sonuç=DX:AX=AX*BX

ÖRNEK: mov al,2 mov bl,3 mul bl mov ax,259 mov bx,300 mul bx mov bl,0 sub bl,3 mov al,2 imul bl mov ax,189 mov bx,0 sub bx,10 imul bx

BÖLME İŞLEMİ Bölme iģlemlerinde de iki komut kullanılır. ĠĢaretsiz sayılarda DIV, iģaretliler de ise IDIV kullanılır. Komut Bölen değer Bölünen değer Bölüm Kalan DIV CL Bayt (8 bit) AX AL AH DIV CX word (16 bit) DX:AX AX DX DIV EBX Double word(32 bit) EDX:EAX EAX EDX Bölünen (dividend) AX de iken, eğer kaynak operand bayt ise, bölüm (quotient) değeri AL ye dönerken, kalan (remainder) değer AH da tutulur. Bölünen DX ve AX çiftinde iken, eğer kaynak operand Word ise, bölüm değeri AX e dönerken, kalan değer DX de tutulur.

Div cx Div alan Idiv dh Idiv kon ;dx:ax deki değeri cx deki değere böl ;ah: al deki değeri alan daki değere böl ;ah:al deki değeri dh deki değere böl ;dx:ax deki değeri kon daki değere böl Örnek: MOV CL,12 MOV AX,45AEH DIV CL ; AL=Bölüm, AH=Kalan

ÖRNEK: MOV AX,11 MOV CL,2 DIV CL MOV AX,55 MOV CL,0 SUB CL,10 IDIV CL

Artırma Azaltma Komutları INC: Increment INC reg INC mem Tek iģlenenli bir komuttur ve iģlenenin değerini 1 artırmaktadır. INC AX INC WORD PTR[1002] INC SAYI DEC: Decrement DEC reg DEC mem Tek iģlenenli bir komuttur ve iģlenenin değerini 1 azaltmaktadır. DEC AX DEC WORD PTR[1002] DEC SAYI

Beni dinlediğiniz için teģekkür ederim.