Bilgisayar Donanım ve Sistem Yazılımı

Slides:



Advertisements
Benzer bir sunumlar
X86 Assembly Programlama Dilinde
Advertisements

HTML e GİRİŞ Temel HTML etiketleri.
ŞAHİN AKDAĞ.
Ülke, Şehİr ve bÖlge tanimlamasi
Programming 8086 – Kısım II Program Akışı ve Döngüler
Öğr.Gör. Dr. Şirin KARADENİZ
TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ
Ders Adı: Bilgisayar Donanımına Giriş
SQL de Değişken Tanımlama
Programlamanın Yapı Taşları
Tek Tablo İçinde Sorgulamalar
EVRE 1 BLOK 1 Uygulamalı Bilgisayar Eğitimi Öğr. Gör. A. Murat ERGİN E.Ü.T.F. Biyoistatistik ve Tıbbi Bilişim A.D.
Temel HTML Eğitimi Erman Yükseltürk.
BUYRUK İşlem kodu İşlemci yazacı veri
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
Bölüm 2 – XML Belgeleri Oluşturmak
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
NESNE TABANLI PROGRAMLAMA -METOTLAR-
PROGRAM GELİŞTİRME 1.HAFTA.
Temel Bilgisayar Yapısı ve Devreleri
PROGRAMLAMA VE ASSEMBLY DİLİ
BİLGİSAYARIN MİMARİSİ, TEMEL BİLEŞENLERİ VE ÇALIŞMA MANTIĞI
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
FONKSİYONLAR.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Bilgisayarda Ofis Programları
AŞAĞIDA BELİRTİLEN LİNK ADRESLERİNDEN BİRİNE GİRİŞ YAPILMALI.
Listeleme Etiketleri.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
İNTERNET PROGRAMCILIĞI I
8086 Programlama – Kısım III Prosedürler
TEMEL SAYFA YAPISI İŞLEMLERİ
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
KELİME İŞLEMCİ PROGRAMI
Yrd. Doç. Dr. Murat Olcay Özcan
İnsan Kaynakları Bilgi Sistemleri
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Ders 2 Algoritma İfade Şekilleri
Amaçlar Assembly dilinin genel özelliklerini tanımak
KURTKÖY TİCARET MESLEK LİSESİ EĞİTİM ÖĞRETİM YILI
WORD KULLANIMI Sayfaya sütun ve satırların oluşturduğu hücrelerden oluşan bir tablo eklememizi sağlar. TABLO EKLEMEK.
Mikrobilgisayar Tasarım Yapıları
C Programlama Dili Bilgisayar Mühendisliği.
Bellek Yönetimi(Memory management)
Bilgisayar Donanım ve Sistem Yazılımı
8086 Programlama – Kısım IV Stack’ler, Makro’lar
Bilgisayar Donanım ve Sistem Yazılımı
8086 Programlama – Kısım III Prosedürler
Mikroişlemciler Adresleme Modları.
Bilgisayar Donanım ve Sistem Yazılımı
BİLGİ SAYAR.
Bilgisayar Donanım ve Sistem Yazılımı
Bilgisayar Donanım ve Sistem Yazılımı
Problem Çözme Yaklaşımları
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
MİKROİŞLEMCİLER VE MİKROBİLGİSAYARLAR
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
NİŞANTAŞI ÜNİVERSİTESİ
Tasarım: Ali Topal.
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Bilgisayar Donanım ve Sistem Yazılımı Aslı Eyecioğlu Özmutlu aozmutlu@bartin.edu.tr

Pomodoro Tekniği (Pomodoro Technique) Francesco Cirillo tarafından ortaya atılan, zaman planlamasını ön planda tutan bir çalışma tekniği. Work Smarter, not Harder ! Daha çok çalışma, daha zekice çalış ! https://cirillocompany.de/

Assembly Kod yapısı ve yazımı Operand Alanı Talimatlar

Assembly Kod Yazımı Program formatı Komutlar ve talimatlardan meydana gelen assembly dilinde yazılmış kaynak kodlarının her bir satırında dört ayrı alan tanımlanabilir. Bunlar: Etiket alanı, Komut alanı, Operand alanı, Açıklama alanıdır.

Assembly Kod Yazımı Operand alanı Operand alanı, işlemciye işlenecek verinin nerede olduğunu söyleyen bir kısımdır. Tek başına bir anlam ifade etmezler. ADD AX,BX CMP AX,BX MOV CX,00

Assembly Kod Yazımı (devam) Operand Alanı ADD AX , BX İki bölümlü operand alanındaki ilk bölüme hedef operandın bulunduğu yer, i̇kinci bölüme kaynak operandın bulunduğu yer denir. Bu iki bölüm virgülle ayrılır. Hedef Operand Kaynak Operand

Assembly Kod Yazımı (devam) Operand Alanı Kaynak operand doğrudan bir veri kaydedici, bellek adresi yada o adresi gösteren bir kaydedici olabilir. Hedef operand bir kaydedici veya bellek adresi olabilir. Sağ taraftaki operanddan sol taraftaki operanda bir aktarım olduğundan sağdaki operandın değeri değişmez, AYNI kalır fakat hedefteki kaydedici yada adres içeriği kaybolur.

Assembly Kod Yazımı (devam) Operand Alanı Bu alanla komut alanı arasında bir veya iki karakterlik boşluk olması yeterlidir. Fazla veya az olması assembler açısından olumsuzluk yaratabilir.

Assembly Kod Yazımı (devam) Talimatlar Komut alanında iki tip hareket ifadesi kullanılmaktadır. Bunlar, komut (instruction) ve talimatlardır (direktif). İkiside emir kelimesini ifade eder, fakat komutlar mikroişlemci, talimatlar ise assembler için kullanılır.

Assembly Kod Yazımı (devam) Talimatlar Talimatlar, segmentlerin ve alt yordam gibi prosedürlerin kurulumunda, sembollerin tanımı, geçici saklama yapmak için kullanılır. Programda kullanılan komutların tümü amaç kodları üretirken talimatlar üretmezler.

Assembly Kod Yazımı (devam) Talimatlar Talimatlar, komutların belli bir kurallar düzeninde sarılarak i̇şlemciye iletilmek üzere verilmesidir. Assembler talimatları süzdükten sonra komutları belirtilen düzende işlemciye ulaştırmak üzere belli bir düzene sokar.

Assembly Kod Yazımı (devam) Talimatlar Talimatlar 6 ana kategoriye ayrılır: Listeleme talimatları Veri talimatları Segment talimatları Makro talimatları Şartlı talimatlar Diğer talimatlar

Assembly Kod Yazımı (devam) Listeleme talimatları Assemble edilmiş bir programda, sayfa formatı program başlığı ve alt başlıklar gibi tanımlar yazım formatını belirler. Page ve Title talimatları sayfa yapısını ve program başlığını oluşturur. Page 60,120 ; sayfa 60 satır ve 120 sütundan oluşmaktadır Title SnfOrt ; sınıf ortalamasının hesaplanması

Assembly Kod Yazımı (devam) Listeleme talimatları Satır ve sütün sayısı assembly dilinde yazılı programın yazdırılmasında bir sayfanın enini ve boyunu belirler. Normal bir A4 kağıdı için bu oran 60 satıra 80 karakterdir. Page talimatının default değeri (eğer bu talimat yazılmazsa) 50,80'dir Bu sayılar sisteme bağlı yazıcının ve dolayısıyla kullanılan kağıdın standardına bağlıdır. Geniş kağıtta geniş format, dar kağıtta ise dar format seçilir.

Assembly Kod Yazımı (devam) Listeleme talimatları Title talimatıyla programın genel olarak ne yaptığı, her listenin ikinci satırına yazdırılır. Title'den sonra program disk yada diskette hangi adla saklanıyorsa o yazılmalı ve hemen yanınada genel açıklama yapılmalıdır. Başlıklar 60 karaktere kadar yazılabilir. Altbaşlıklar'da gerekli olduğunda subttl olarak üçüncü satırda yazdırılabilir.

Assembly Kod Yazımı (devam) Veri talimatları Veri talimatları kendi aralarında 5 gruba ayrılır. Bunlar: Segment ya da prosüdür tanımlamaları Sembol tanımlamaları Veri tanımlamaları Harici (external) referanslar Assembly kontrol tanımlamaları

Assembly Kod Yazımı (devam) Segment talimatları Bu talimat ile segmentin başlangıcını ve sonunu tanımlarız. Her segmentin açılması bir anlamlı adla başlar ve aynı adla kapanır. Bir programda birden fazla segment tanımlaması yapılabilir. Segment Formatı Etiket İşlem Operand Açıklama İsim SEGMENT . ENDS Parametreler (Seçimlik) ; Segmentin başlangıcı Segmentin Sonu

Assembly Kod Yazımı (devam) Segment talimatları Bir programda bir veya birden fazla segment alanı tanımlanabilir. 4 adet segment alanı vardır.Bunlar, kod segment ile komutların yerleştirildiği, data segment ile verilerin depolandığı, ekstra segment ile sonuçların yazıldığı ve yığın segmenti ile verilerin geçici bir süre atıldığı bellek alanını ifade eder.

Assembly Kod Yazımı (devam) Segment talimatları Her segment’de align, combine ve class olmak üzere üç yardımcı operand mevcuttur. 

Assembly Kod Yazımı (devam) Align Parametresi Program kodlarının belleğe yüklenmesini belli bir düzen içerisinde gerçekleştirir. Bu yerleşim çeşitleri; byte(bir byte’lık yerleşim, word(iki byte’lık yerleşim), doubleword(dört byte’lık yerleşim) ve para(16 byte’lık yerleşim, paragraf) şeklindedir. SEG1 SEGMENT WORD ; Segment 1 SEG1 ENDS

Assembly Kod Yazımı (devam) Align Parametresi Program içerisinde bu parametre kullanılmadığı zaman(default) “para” parametresi olarak 16 byte’lık yerleşim gerçekleşir.

Assembly Kod Yazımı (devam) Combine Parametresi Aynı adla tanımlanmış segmentlerin birbirleri ile arasındaki bağı (koordine eder) kurar. Parametreler ise; public, stack, common, memory ve AT operandlarıdır.

Assembly Kod Yazımı (devam) Combine Parametresi KOD SEGMENT Public ‘code’ MOV AX,25 MOV TOP,AX KOD ENDS VERİ SEGMENT Public ‘data’ TOP DB ? VERİ ENDS MOV CX,AX CIK DB ? RET MOV CIK, CX

Assembly Kod Yazımı (devam) Class Parametresi Segmentin depolanacağı bellek bölümünü belirler. KOD SEGMENT Para Public ‘Code’ VERİ SEGMENT Para Public ‘Data’ STOK SEGMENT Para Public ‘Stack’

Assembly Kod Yazımı (devam) Diğer Talimatlar PROC Talimatı Assume Talimatı END Talimatı

Assembly Kod Yazımı (devam) PROC Talimatı Özel bir amaçla yazılmış program parçalarına prosedür denir. Genel bir program içerisinde birisi ana prosedür olmak üzere birden çok prosedür bulunabilir. Prosedürler içerisinden prosedürler çağrılabilir. Alt prosedürler genelde ana prosedür içerisinden CALL komutu yardımı ile çağrılır.

Assembly Kod Yazımı (devam) PROC Talimatı Açılan her prosedür açıldığı adla birlikte kapatılır. Bunu kullanan komut ise ENDP’dir. Prosedür çağrılarının aynı segmentte mi yada başka bir segmentte mi olduğunu ifade eden FAR ve NEAR operandları mevcuttur. Segment dışı çağrılar için FAR operandı segment içi çağrılar için ise NEAR operandı kullanılır.

Assembly Kod Yazımı (devam) PROC Talimatı Prosedürlerle yazılmış bir programın programcıya sağladığı faydalar şunlardır: Tekrarlı komut yazımından kazanç sağlar. Ortak prosedürler kullanılarak komut sayısı azaltılır. Daha iyi bir program analizi sağlar. Program hataları açık bir şekilde görülür. Prosedürlerin düzeltilmesi kolaylaşır. PROCADI PROC Far/Near (ifadeler) PROCADI ENDP

Assembly Kod Yazımı (devam) ASSUME Talimatı Assume talimatı hangi segment kaydedicilerini kullanacağını tanımlar. Kullanım şekli aşağıdaki gibidir: Segment kaydedicileri CS, DS, SS ve ES’dir. Yukarıdaki kullanım şeklinde segment_kaydedicisi yerine bu dördünden biri yazılır. Segment_adı ise kullanıcı tarafından belirlenir. Bir segmente atanan segment kaydedicisi, program içerisinde daha sonraları istenildiğinde yeni bir assume ile değiştirlebilir. ASSUME Segment Kaydedicisi: Segment Adı [, ........]

Assembly Kod Yazımı (devam) END Talimatı End talimatı başlatılan işlemin sonlandırılması anlamındadır. Yanına gelen takılar ile işlevdeki hareketi sonlandırır. ENDS ile segment sonu, ENDP ile prosedür sonu, Takısız END hali ile programın sona erdiğini ifade eder.

Teşekkürler Sorular? Aslı Eyecioğlu Özmutlu aozmutlu@bartin.edu.tr