Araş. Gör. Abdulkerim ŞENOĞLU Araş. Gör. Mehmet AYAN Araş. Gör İbrahim Kök. BM 310 Mikroişlemciler Dersi Laboratuvarı (LAB2)



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

b) Aritmetik İşlem Komutları

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

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

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

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

MTM 305 MĠKROĠġLEMCĠLER

BÖL-1B. Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

ENF-106 C Programlama Dili Ders İçeriği. Grafik fonksiyonları C Programlama Dili Ders Notları Dr. Oğuz ÜSTÜN

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

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 LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

MTM 305 MİKROİŞLEMCİLER

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

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

80x86 MICROPROCESSOR Instructions

MTM 305 MİKROİŞLEMCİLER

Yapı ve Fonksiyon. Structure and Function. Modern bilgisayarlar milyonlarca elektronik bileşen içermektedirler.

Mikrobilgisayar Mimarisi ve Programlama

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

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

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

DERS SEÇME KOMUTLARI

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

4 ab sayısı 26 ile tam bölünebildiğine göre, kalanı 0 dır.

Assembly. Programlama Dili. T e m m u z

C Operatörler. Öğr. Gör. M. Ozan AKI. Rev 1.0

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

Ö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

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

6. x ve y birer tam sayıdır. 7. a, b, c doğal sayılar olmak üzere, 8. a, b, c doğal sayılar olmak üzere, 9. x, y ve z birer tam sayı olmak üzere,

PAS oyununda, kırmızı (birinci oyuncu) ve beyaz (ikinci oyuncu) şeklinde adlandırılan 2 oyuncu vardır. Oyun şu şekilde oynanır:

Örnek...6 : Yandaki bölme işleminde A ve n birer doğal sayıdır. A nın alabileceği en küçük ve en bü yük değerleri bulunu z.

DERS 11 PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI İÇERİK. Alt Program Çevrim Tabloları Program Sayıcı ( Program Counter PC )

CISC Complex Instruction Set Computers

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BİR SAYININ ÖZÜ VE DÖRT İŞLEM

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

ŞEFKAT KOLEJİ İMFO SINIF MATEMATİK SORULARI

ÖRNEK 2: A) K L M B) (K L) \ M C) (M L) \ K D) (K M ) \ (K L M)

1.Temel Kavramlar 2. ÆÍlemler

B02.8 Bölüm Değerlendirmeleri ve Özet

[ 1 i 6 2i. [ a b. Örnek...3 : Örnek...4 : Örnek...5 : Örnek...6 : i sanal sayı birimi olmak üzere, i. Örnek...1 : =?


İ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

KILAVUZ SORU ÇÖZÜMLERİ Matematik

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

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

a) 6x6x6x6 b) 13x13x13 c) 9x9x9x9x9x9x9 tane küp olması için kaç tane daha küpe ihtiyaç vardır?

0 dan matematik. Bora Arslantürk. çalışma kitabı

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

Davranışçı Yaklaşımda Öğrenme Kuramları

MTM 305 MĠKROĠġLEMCĠLER

Test Geliştirme. Testin Amacı. Ölçülecek Özelliğin Belirlenmesi Yrd. Doç. Dr. Çetin ERDOĞAN

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

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 22 Nisan Matematik Soruları ve Çözümleri

. İLKOKULU 2/ A SINIFI MATEMATİK DERSİ ÜNİTELENDİRİLMİŞ YILLIK BEP PLANI

for döngüsü while döngüsü Döngüler MATLAB

OBEB - OKEK Test OKEK( 14, 20) kaçtır? 1. OBEB(16, 20, 48) kaçtır? 7. OBEB, 2. OBEB(56, 140, 280) kaçtır? 3. OKEK(10, 15, 25) kaçtır?

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

BİREYSELLEŞTİRİLMİŞ EĞİTİM PROGRAMI KISA DÖNEMLİ AMAÇLAR (ünite-konu amaçları)

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

ıfırdan büyük olan rasyonel sayılara pozitif rasyonel sayılar, sıfırdan küçük rasyonel sayılar da negatif rasyonel sayılar denir.

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

PROGRAMLANAB L R DENETLEY C LER DERS 07

Açılış Sekansı ve /proc Dosya Sistemi. Bilgisayar Mühendisliği. 20 Şubat 2013

Aritmetiksel Komutlar

ALES / İLKBAHAR 2008 DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

4.2. SAYISAL MANTIK SEVİYELERİ VE DALGA FORMLARI

CSD-OS İşletim Sistemi Projesi - Fonksiyon Açıklama Standardı

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

KAZANIMLAR, ETKİNLİK ÖRNEKLERİ VE AÇIKLAMALAR I. DÖNEM

R-2R LADDER SWITCHES 8-BIT DAC SUCCESSIVE APPROXIMATION REGISTER 3-STATE BUFFERS

TEMEL KAVRAMLAR MATEMAT K. 6. a ve b birer do al say r. a 2 b 2 = 19 oldu una göre, a + 2b toplam kaçt r? (YANIT: 28)

uzman yaklaşımı Branş Analizi öğretim teknolojileri ve materyal tasarımı Dr. Levent VEZNEDAROĞLU

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

C/C++ DERS KONULARI. Kaynaklar 1. C Programlama dili, Kemal Yarcı 2. C/C++, Gürcan Banger 3. C ve Siz, Fatih Ekici

Vektör Uzayları ÜNİTE. Amaçlar. İçindekiler. Yazar Öğr.Grv.Dr.Nevin ORHUN

Alıştırma Toleransı -TERMİNOLOJİ

Bölüm 4 Veri Aktarma Komutları

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

Cebir Notları. Bağıntı. 1. (9 x-3, 2) = (27, 3 y ) olduğuna göre x + y toplamı kaçtır? 2. (x 2 y 2, 2) = (8, x y) olduğuna göre x y çarpımı kaçtır?

DERS 1. ki De i kenli Do rusal Denklem Sistemleri ve Matrisler

MedDATA SAĞLIK NET KURULUMU

ö ö ö İ İ Ş Ş ö ö ö ö ö Ç ö Ö ö

AND Komutu. and hedef, kaynak

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

SAYILAR - I 01. Doğal Sayılar ve Tam Sayılar Basamak Kavramı ve Taban Aritmetiği

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

ğ ğ ğ ç ç ç ğ ç ğ ğ ç ğ ğ ç ğ ç ğ ğ ğ ç ğ İ ğ ç ğ ğ ç ç ğ İ ğ ğ İ ç ğ ç ç ç ğ ç ç ğ ğ ğ ğ İ ğ İ ğ İ ğ İ İ ğ ç ç ç ğ ç ğ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

Öğrenci Seçme Sınavı (Öss) / 14 Haziran Matematik I Soruları ve Çözümleri E) 6 ). 6 5 = 25 6 =

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


Transkript:

BM 310 Mikroişlemciler Dersi Laboratuvarı (LAB2) 1ÖN ÇALIŞMA SORUSU Mutlu sayı; bir pozitif tamsayının rakamlarının karesi alınıp topladığımızda ve bu işlemi bir kaç kere gerçekleştirdiğimizde bu kare toplamları 1'e eşit oluyorsa o sayı mutludur Mutlu sayıya örnek olarak;, sayımız 7 olsun 7 (7²=49) 49 (4²+9²=97) 97 (9²+7²=130) 130 (1²+3²=10) 10 1 7 sayısı mutlu bir sayıdır 139 mutludur çünkü 139 sayısının rakamları 1,3 ve 9 ile başlıyoruz 1² + 3² + 9² = 91, 91 sayısının rakamları 9 ve 1 ile devam ediyoruz 9² + 1² = 82, 82 sayısının rakamları 8 ve 2 ile devam ediyoruz 8² + 2² = 68, 68 sayısının rakamları 6 ve 8 ile devam ediyoruz 6² + 8² = 100, 100 sayısınının rakamları 1,0 ve 0 ile devam ediyoruz 1² + 0² + 0² = 1 son bulduğumuz cevap 1 olduğu için 139 mutlu sayıdır 4 (4²=16) 16 (1²+6²=37) 37 (3²+7²=58) 58 (5²+8²=89) 89 (8²+9²=145) 145 (1²+4²+5²=42) 42 (4²+2²=20) 20 4 4 sayısı mutsuz bir sayıdır SORU: 200 den küçük kaç tane mutlu sayı olduğunu bulan programı emu 8086 da yazın 2ÖN ÇALIŞMA 21 PUSH, POP KOMUTLARI 22 BAYRAK YAZMAÇLARI 23 DENETİM AKTARMA BUYRUKLARI 24 CMP KOMUTU

21 STACK: PUSHING ve POPPING OPERASYONLARI Yığın(Stack) nedir ve neden ihtiyaç duyulur? SS (yığın segmenti) ve SP (stack pointer) yığına erişmek için bellekte yüklü olması gerekir CPU daki her register (Segment register ve SP hariç) yığına saklanabilir veya yığından yüklenebilir Sınırlı sayıda yazmaç olduğu için CPU bu depolama alanlarına ihtiyacı duyar Yığına İTME(Pushing) yapma Yığında CPU yazmaçlarına saklama işlemi PUSH olarak adlandırılır Örn: SP(STACK POINTER)=1236, AX=24B6, DI=85C2, ve DX=5F93, Aşağıdaki komutlar çalıştığında yığının durumu nasıl olur? PUSH AX PUSH DI PUSH DX Cevap: SS:1230 93 SS:1231 5 F SS:1232 C 2 C 2 SS:1233 85 85 SS ; 1234 SS ; 1235 SS:1236 B 6 24 B 6 24 B 6 24 START Sonra Sonra Sonra PUSH AX PUSH DI PUSH DX SP=1236 SP=1234 SP=1232 SP=1230 Not:8086 da alt bayt küçük adreste saklanır Yığına ÇEKME(Popping) yapma Yığında CPU yazmaçlarından yükleme işlemi POP olarak adlandırılır Ex: SP=18FA, Aşağıdaki komutlar çalıştığında yığının durumu nasıl olur? POP CX POP DX POP BX Cevap:

SS:18FA SS:18FB SS:18FC SS:18FD SS ; 18 FE SS ; 18 FF SS:1900 23 14 6 B 2 C 91 F 6 6 B 2 C 91 F 6 9 1 F 6 S START After After After POP CX POP DX POP BX SP=18FA SP=18FC SP=18FE SP=1900 CX=1423 DX=2C6B BX=F691 22 BAYRAK YAZMAÇLARI CF, the Carry Flag: Toplama ve çıkarma işleminde taşma bitini tutar PF, the Parity Flag: Odd Parity(Tekt eşlik) için 0, Even Parity(Çift eşlik) için 1 AF, the Auxiliary Carry Flag: BCD toplama ve çıkarma işleminde kullanılır ZF, the Zero Flag: Aritmetik ve mantık işleminin sonucu sıfır olduğunu(z=1 için) belirtir Diğer durumda (Z=0) işlem sonucu sıfırdan farklıdır SF, the Sign Flag: Aritmetik ve mantık işleminin sonucunun işaretini tutar (S=1 negatif, S=0 pozitif) TF, the Trap Flag: Mikroişlemcinin debug modunda çalışmasını(t=1) sağlar IF, Interrupt Enable Flag: Interupt biti INTR giriş pinini kontrol eder DF, the Direction Flag: DI, SI registerlarının artma veya azalma modunda olmasını denetler(di=1 için registerlar azalır, 0 için artar) OF, the Overflow Flag: Taşmayı gösterir 23 DENETİM AKTARMA BUYRUKLARI FAR ve NEAR : (given CS:IP) NEAR: Mevcut code segmentinin içerisindeki atlamalarda kullanılır IP değişir FAR: Mevcut code segmentinin dışarısına atlamalarda kullanılır Hem CS hem de IP değişir Koşullu Atlamalar Koşullu atlama, belirli bir koşul gerçekleştiğinde kontrol(program sayacı) istenilen yere atlar JC (jump if carry) [CF is checked], JNZ (jump if not zero) [ZF is checked]

Mnemonic Condition Tested Jump if JA/JNBE (CF=0) and (ZF=0) above/not below nor equal JAE/JNB CF=0 above or equal/not below JB/JNAE CF=1 below/not above nor equal JBE/JNA (CF or ZF)=1 below or equal/not above JC CF=1 carry JE/JZ ZF=1 equal/zero JG/JNLE ((SF xor OF) or ZF) = 0 greater/not less nor equal JGE/JNL ((SF xor OF) = 0 greater or equal/not less JL/JNGE ((SF xor OF) = 1 less/not greater nor equal JLE/JNG ((SF xor OF) or ZF) = 1 less or equal/not greater JNC CF=0 not carry JNE/JNZ ZF=0 not equal/not zero JNO OF=0 not overflow JNP/JPO PF=0 not parity/parity odd JNS SF=0 not sign JO OF=1 overflow JP/JPE PF=1 parity/parity equal JS SF=1 sign Not: above ve below işaretsiz sayılarda ; greater and less işaretli sayılarda kullanılır Kısa Atlamalar Tüm koşullu atlamalar kısa atlamadır Kısa atlamada hedefteki adres belleğin 128 - +127 değerleri arasında olmalıdır Koşullu atlama 2 baytlık bir komuttur: İlk baytı J koşulunun işlem kodudur(opcode) İkinci baytıda 00 ile FF arasında alabileceği değerdir Bir geriye doğru atlamada ikinci bayt öteleme değerinin 2 ye tümleyenidir Koşulsuz Atlama JMP label program akışının koşulsuz olarak hedef etikete geçtiği atlamadır Aşağıdaki gibi gösterimleri vardır 1 KISA ATLAMA, JMP SHORT label formatıyla gösterilir Hedef adres o anki mevcut IP nin - 128 ile +127 aralığında olabilir 2 YAKIN ATLAMA, JMP label Mevcut Code Segmentin içinde atlar Aynı kısa atlama gibi ama farkı hedef adres o anki mevcut IP nin +32767 ile 32768 aralığında olabilir 3 UZAK ATLAMA, JMP FAR PTR label formatıyla gösterilir Burada hem Code segment değeri hem de IP değeri değişir CALL STATEMENTS CALL Etiket Etiket: #Mevcut adresi yığına atar(push) ve Etiket e atar

Ret #Ret komutu geldiğinde yığına atılan adresi yığıntan çeker ve o adrese gider Not: Etiketten sonra herhangi bir PUSH veya POP işlemi yaparsak yığın değişeceği için ret komutu geldiğinde program yanlış adrese geri dönecektir 24 CMP KOMUTU CMP operand1 - operand2 Sonuçlar yazılmaz sadece sonuca göre bayrak yazmaçları değişir(of, SF, ZF, AF, PF, CF) Örnek MOV AL, 5 MOV BL, 5 CMP AL, BL ; AL-BL=0 olduğu için, ZF = 1 olacak(o zaman eşittir) RET 3 ÇALIŞMA SORUSU Soru: 100'den küçük 3'e ve da 2'e tam bölünebilen doğal sayıların toplamını bulan ve bu toplamı DX yazmacına yazan program yazın