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

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

8086 Mikroişlemcisi Komut Seti

MTM 305 MĠKROĠġLEMCĠLER

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

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

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

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

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

Komutların Yürütülmesi

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

MTM 305 MĠKROĠġLEMCĠLER

BM-311 Bilgisayar Mimarisi

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

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

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Embedded(Gömülü)Sistem Nedir?

BM-311 Bilgisayar Mimarisi

Mikrobilgisayar Sistemleri ve Assembler

BM-311 Bilgisayar Mimarisi

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

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

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

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

BM-311 Bilgisayar Mimarisi

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

İşletim Sistemleri (Operating Systems)

Mikrobilgisayar Mimarisi ve Programlama

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

BİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü

İşletim Sistemlerine Giriş

80x86 MICROPROCESSOR Instructions

Şekil. 64 Kelimelik Yığıtın Blok Şeması

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

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ı

MTM 305 MĠKROĠġLEMCĠLER

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

AND Komutu. and hedef, kaynak

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

BM-311 Bilgisayar Mimarisi

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

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

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

b) Aritmetik İşlem Komutları

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

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

Çalışma Açısından Bilgisayarlar

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Bilgisayarların Gelişimi

Assembly. Programlama Dili. T e m m u z

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

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Assembly Programlama Dili T e m m u z

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Mikroişlemciler ve Mikrodenetleyiciler

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

8. MİKROİŞLEMCİ MİMARİSİ

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

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

İ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

Bilgisayar Mimarisi ve Organizasyonu Giriş

B.Ç. / E.B. MİKROİŞLEMCİLER

TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011

MTM 305 MİKROİŞLEMCİLER

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

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

BLM1011 Bilgisayar Bilimlerine Giriş I

İ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Ş

K uark projesi. Temel Özellikler :

PIC16F877A nın Genel Özellikleri

Bölüm 4 Veri Aktarma Komutları

Mikrobilgisayar Donanımı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

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

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

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

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

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

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

Bilgisayar Mimarisi Nedir?

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

MTM 305 MİKROİŞLEMCİLER

8. MİKRO İŞLEMCİ VE MİKRODENETLEYİCİLER 1

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

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

Mikroçita. Mikroçita Rapor 2:

MTM 305 MİKROİŞLEMCİLER

Mikroişlemcili Sistemler ve Laboratuvarı

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

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

MTM 305 MĠKROĠġLEMCĠLER

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Transkript:

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

Günlük hesaplamalarımızda kullandığımız sistem onluk sayı sistemidir ve bu sistem 0,1,2,3,4,5,6,7,8 ve 9 rakamlarından oluşur. Diğer sayılar ise bu rakamlar kullanılarak elde edilir. Kullandığımız bilgisayar için (aslında tüm elektronik cihazlar için dersek daha iyi olur) durum böyle değildir. Bilgisayar binary sayı sistemi dediğimiz ikilik sayı sistemini kullanır ki bu sistemde sadece 0 ve 1 vardır. Bilgisayar için 0 ın anlamı yanlış ( FALSE ) ve 1 in anlamı ( TRUE) doğru dur. Buna karşın assembly programları yazılırken kullanılan sayı tabanı hexadecimal olarak bilinen on altılık sayı tabanıdır. Bu sistemde kullanılan ilk on rakam onluk sistemdeki ile aynı olup 0,1,...,9 rakamlarından oluşur. 10, 11, 12, 13, 14 ve 15 için sırasıyla A, B, C, D, E ve F harfleri kullanılır. On altılık sayılar gösterilirken sonlarına h veya H harfi konur. Assembly dili ile onaltılık sayı sisteminin kullanılmasının sebebi, bellek adresi gibi uzun rakamların ikilik sistem ile gösterilmesinin zorluğudur. Sayı tabanı büyüdükçe herhangi bir sayıyı göstermek için gereken basamağın sayısının azalacağı açıktır. Mesela 1BA5:010F gibi bir bellek bölgesinin adresini ikilik sistem ile göstermek isteseydik 0001101110100101:0000000100001111 şeklinde olacaktı ki bu hem akılda tutması hem de yazması zor bir sayı.

Bayt için değer aralığı 0-255 word için 0-65535 Negatif sayıları kullanmak istersek bu durumda bayt, word veya long için ayrılan bölgenin yarısı negatif diğer yarısı da pozitif sayılar için tahsis edilir. Yani bir baytın alabileceği değerler 128...-1 ve 0...127 arasında olur. Aynı şekilde word için bu değer 32.768...+32.767 arasında olur. Bir bayt, word yada long için en soldaki bite işaret biti denir. İşaretl sayımızın işaret bitinin değeri 0 ise sayı pozitif, 1 ise negatif olarak değerlendirilir. 0110 0101 1110 1100 pozitif bir sayı (word) 1000 1100 1010 0000 negatif sayı (bayt) Herhangi bir sayının negatifini bulmak için ikiye tümleyeni bulunur. Bu iş için 1) Sayı NOT işleminden geçirilir 2) Elde edilen sonuca 1 eklenir 13 sayısı için; +13 = 0000 1101 (bayt)

Bit dizgileri üzerinde yapılan bir diğer mantıksal işlemler de kaydırma (shift) ve döndürme (rotate) işlemleridir. Bu iki işlem kendi içlerinde sağa kaydırma (right shift), sola kaydırma (left shift) ve sağa döndürme (right rotate), sola döndürme (left rotate) olarak alt kategorilere ayrılabilir.

[X] ; X in içeriği ; (Veri transferini belirtir. Sol kısım hedef, Sağ kısım kaynak) [MAR][PC] ; PC nin içeriği MAR saklayıcısının içerisine aktarılır. Örn : [3][5] ; 5. konumun içeriği 3. konuma aktarılır. [PC][PC]+1 ; Program sayıcısının içeriğini 1 arttır. [M(x)] ; Belleğin x konumunun içeriği [M(20)]PC] ; Belleğin x konumunun içeriği PC nin içeriği ile yüklenir. [AX] 1026 ; Desimal 1026 AX e aktarılır. [AX] % 10000000010 ; % binary i ifade eder. [AX] $ 402 ; $ Hexadesimal i ifade eder. [M(20)] = 6 ; Belleğin 20 konumunun içeriği 6 ya eşit. [M(20)] 6 ; Belleğin 20 konumunun içerisine desimal 6 yerleştirilir. [M(20)] [M(6)] ; Belleğin 20 konumunun içerisine 6 nolu bellek konumunun içeriği yerleştirilir. [M(20)] Å[M(6)] +3 ; Belleğin 20 konumunun içeriği 6 nolu bellek konumunun içeriğine 3 eklenerek oluşturulur.

Mikroişlemciler (CPU- Central Processing Unit) kullanıldığı elektronik sistemlerin yönetimini ve yapılmak istenen işlerin yürütülmesini sağlar. Bellekte bulunan komutları belirli bir sistematik sıra ile işler. FETCH : Komutun bellekten alınması (Al-Getir), DECODE: İşlem kodunun çözülmesi, EXECUTE : İşlemin yerine getirilmesi, uygulama ve işlemi tamamlama (Comlete Process) gibi aşamaları gerektirir. Bazı komutlarda işlem sonucunun W ya da file register ine yazma süreci olarak düşünülmüştür, bazı komutlarda ise işlem tamamlama süreci yoktur

Bu elemanlar temel olarak ; 1. Giriş ( Input ) Birimi 2. Çıkış (Output ) Birimi 3. Bellek (Memory ) Birimi dir Bu üç birim CPU dışında olduğundan aralarındaki iletişimi veri yolu (Data Bus) ve adres yolu (Address Bus) ile Kontrol Hatları (Control Lines) denilen lojik iletim hatları sağlar.

1. Kelime Uzunluğu : Mikro işlemcinin her saat darbesinde işlem yapabileceği bit sayısına kelime uzunluğu denir. İşlenen veriler işlemcinin özelliğine göre 4-bit, 8-bit, 16- bit, 32-bit ve 64-bit uzunluğunda olabilir. Kelime uzunluğu veri yolu uzunluğuna eşittir. İşlemci, her saat darbesinde işleyebildiği kelime uzunlu ile tanımlanır. Intel 8086 işlemcisinin kelime uzunluğu 16-bit olduğu için 16-bitlik mikro işlemci denir. İşlemciler dört, sekiz, on altı, otuz iki ve altmış dört bit olarak sınıflandırılır

2. Komut İşleme Hızı: Mikro işlemcilerin çalışması için saat sinyallerine ihtiyaç vardır. İşlemci (CPU) her saat sinyalinde bir sonraki işlem basamağına geçer. İşlemcinin hızını incelerken saat frekansına ve komut çevrim sürelerine bakmak gerekir. Saat frekansı mikro işlemciye dışardan uygulanan ya da işlemcinin içinde bulunan osilatörün frekansıdır. Komut çevrim süresi ise herhangi bir komutun görevini tamamlayabilmesi için geçen süredir.

CPU tasarım teknolojisi Kelime uzunluğu İşlemci komut kümesi çeşidi Zamanlama ve kontrol düzeni Kesme altyordamlarının çeşitleri Bilgisayar belleğine ve giriş/çıkış aygıtlarına erişim hızı

3. Komut İşleme Hızı: Bir işlemcinin adresleme kapasitesi, adresleyebileceği veya doğrudan erişebileceği bellek alanının büyüklüğüdür. Bu büyüklük işlemcinin adres hattı sayısına bağlıdır. Bu hattın sayısı tasarlanacak sistemde kullanılabilecek bellek miktarını da belirlemektedir. Bir firmanın 6800, Zilog Z-80, Intel 8085 ve Mostek 6502 mikro işlemcileri 16 adres hattına sahiptir. 16-bitlik adres hattına sahip bir mikro işlemcinin adres büyüklüğü 216 ile 65536 olacaktır. Bu miktar yaklaşık 64 KB ile ifade edilir.

4. Komut İşleme Hızı: Bir programcının assembly diliyle program yazımı sırasında en çok ihtiyaç duyduğu geçici bellek hücreleri kaydedicilerdir. Mikro işlemcilerde kaydediciler, genel amaçlı kaydediciler ve özel amaçlı kaydediciler olmak üzere iki grupta toplanır. Tüm mikro işlemcilerde bu gruplara dâhil edebileceğimiz değişik görevler atanmış, farklı özellikte, sayıda kaydediciler bulunur. Bu kaydediciler 8, 16, 32 ve 64-bitlik olabilir. Kaydedicileri sayısının programcının işinin kolaylaştırmasının yanında programın daha sade ve anlaşılır olmasını da sağlar. Her mikro işlemcinin kendine has yapısı ve kaydedici isimler vardır. Herhangi bir mikro işlemciyi programlamaya başlamadan önce mutlaka bu kaydedicilerin isimlerinin ve ne tür işlevlere sahip olduklarının iyi bilinmesi gerekir.

Mikro denetleyiciler, mimarileri bellek organizasyonu referans alınarak 'Princeton / Von Neuman' ve 'Harvard mimarileri olmak üzere iki farklı gruba ayrılabilir.

Intel in X86 mimarisine dayalı işlemci serisinin ortaya çıktığı 70 li yıllarda, RAM lerin pahalı ve kısıtlı olması sebebiyle bu kaynakların tasarruflu bir şekilde kullanılarak yüksek seviyeli dillerin desteklenmesini savunan bazı tasarım mimarları bir araya gelerek CISC mimarisini geliştirmişlerdir. Bu mimari, programlanması kolay ve etkin bellek kullanımı sağlayan tasarım felsefesinin bir ürünüdür. Her ne kadar performans düşüklüğüne sahip olsa ve işlemciyi karmaşık hale getirse de yazılımı basitleştirmektedir. CISC mimarisinin karakteristik iki özelliğinden birisi, değişken uzunluktaki komutlar, diğeri ise karmaşık komutlardır. Değişken ve karmaşık uzunluktaki komutlar bellek tasarrufu sağlar. Karmaşık komutlar iki ya da daha fazla komutu tek bir komut haline getirdikleri için hem bellekten hem de programda yer alması gereken komut sayısından tasarruf sağlar. Karmaşık komut karmaşık mimariyi de beraberinde getirir. Mimarideki karmaşıklığın artması, işlemci performansında istenmeyen durumların ortaya çıkmasına sebep olur. Ancak programların yüklenmesinde ve çalıştırılmasındaki düşük bellek kullanımı bu sorunu ortadan kaldırabilir.

RISC ve CISC işlemciler birbirleri ile hız, komut işleme tekniği, kullanılan komut yapısı ve transistor sayılarına (donanım yapısına) göre karşılaştırılabilirler. Hız; İki işlemci mimarisi arasındaki hız farkı, kullanılan komut işleme teknikleri sonucu oluşur. CISC işlemcilerde 'kademeli komut işleme' tekniği kullanılırken, RISC işlemcilerde 'kanal komut işleme tekniği' (pipeline) kullanılır. CISC tekniği ile aynı anda tek bir komut işlenebildiği ve komutun, işlenmesi bitmeden yeni bir komut üzerinde çalışmaya başlanamaz. RISC tekniğinde ise, aynı anda çok sayıda komut işlenmektedir. Komutların birbirini takip etmesi nedeni ile her bir komut bir birim uzunluktadır ve her işlem adımında bir komuta ait işlemler bitirilir. RISC işlemciler, genellikle aynı saat frekansında çalışan CISC işlemcilere göre daha hızlıdır. Transistor sayısı; CISC işlemcilerde kullanılan transistor sayısı, RISC işlemcilere göre daha fazladır. Daha fazla sayıda transistor kullanılması, daha geniş alan gereksinimi ve daha fazla ısı ortaya çıkarır, oluşan daha fazla ısı nedeniyle soğutma ihtiyacı ortaya çıkar ve soğutma işlemi, ısı dağıtıcısı veya fanlar kullanılarak gerçekleştirilir. Tasarım; RISC işlemciler, CISC işlemcilere göre daha basit yapıda olduklarından daha kolay tasarlanırlar. Komut yapısı; RISC mimarisi, CİSC'in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. Sistemde güçlü komut eksikliği, ikinci bir yardımcı işlemci ya da ayrı bir 'pipeline bölümü yardımı ile giderilebilir. RISC mimaride aynı uzunlukta basit komutlar kullanılırken CISC mimaride karmaşık yapıda değişken uzunlukta komutlar kullanılır.

RISC mimarisinin yukarıdaki üstünlükleri yanında bazı mahsurları da bulunmaktadır. Sakıncalar olarak; daha fazla bellek kapasitesi gereksinimi ve güçlü komutlara sahip olunmaması sayılabilir. RISC mimarisi, CISC in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. Diğer bir deyişle, RISC mimarisinin sakıncası, CISC mimariye göre daha karmaşık yazılımlara gereksinim duymasıdır. Sistemde güçlü komut eksikliği, ikinci bir yardımcı işlemci yada ayrı bir pipeline bölümü yardımı ile giderilebilir. Yarı iletken teknolojisindeki gelişmeler, CISC sisteminin az bellek gereksinimi ve basit program yazılımı gibi üstünlüklerin öneminin kaybolması sonucunu ortaya çıkarmakta ve RISC mimarisine daha önem kazandırmaktadır. Bu karsılaştırma sonucunda, 'hangi mikro denetleyici mimarisi tercih edilmelidir?' sorusunun tam olarak tek bir cevabı yoktur. Bu sorunun cevabı, tasarımcının hangi kriterleri önemsediği ile ilgidir. Bu kriterler; yonga alanı ve esnekliktir. Daha hızlı çalıştıklarından dolayı günümüzde çoğu mikro denetleyici ve işlemciler RISC mimarisi kullanmaktadırlar. Bununla beraber her iki mimarinin özelliklerini de ta ş ıyan karma mimariler de söz konusudur.

İletişim hatları (iletim yolları), mikroişlemcilerden başlayarak bilgisayar devre bağlantılarını sağlayan iletkenlerdir. Bunlardan bir kısmı tek iletkenlerden oluşurken bir kısmı ise taraklı kablo veya baskı devre şeklindeki yan yana dizilmiş ve yalıtılmış çoklu iletkenlerden oluşmuştur. 1. Adres hatları (Adress Bus) 2. Bilgi hatları (Data Bus) 3. Kontrol hatları (Control Bus)

ALU mikroişlemcide aritmetik ve mantık işlemlerinin yapıldığı en önemli birimlerden birisidir. Aritmetik işlemler denilince başta toplama, çıkarma, çarpma, bölme, mantık işlemleri denilince AND,OR, EXOR ve NOT gibi işlemler akla gelir. Komutlarla birlikte bu işlemleri mantık kapılarının oluşturduğu toplayıcılar, çıkarıcılar ve kaydıran kaydediciler gerçekleştirirler. ALU da gerçekleşen bütün bu işlemler kontrol sinyalleri vasıtasıyla Zamanlama ve Kontrol Birimini gözetiminde eş zamanlı olarak yapılır.

Adres Hatları (Adress Bus): Adres hatları, mikroişlemci ile bellek (EPROM, RAM) ve giriş/çıkış (I/O) kapıları arasındaki iletişimin, hangi bellek gözü veya giriş/çıkış kapısı ile yapılacağının belirlenmesini sağlayan bağlantı yollarıdır. Adres yolu iletken sayısı, mikroişlemcinin adresleyebileceği bellek gözü veya giriş/çıkış kapısı sayısını belirler. Adresleyebilme kapasitesi özellikle bellek kapasitesini belirler. Adres yolu tek yönlü çalışır. Ancak son gelişmelerin ürünü olan mikroişlemcilerde iki yönlü de yaralanılmaya başlanmıştır. Adres yolu ileteceği adres numarasını program sayıcısından almaktadır.

Bilgi Hatları (Data Bus) : Bilgi hatları (veri yolları), gerek bilgisayarın giriş birimlerinden gelen ön bilgi ve komutların, gerekse işlemci içerisinde işlem görmekte olan ve işlem görmüş olan bilgilerin ve komutların iletildiği iletim yoludur. Bu nedenle veri yollarından iki yönlü çalışma için yaralanılır. İletken sayısı 4, 8, 16, 64 adet olabilmektedir. Mikroişlemcilerde, yukarıda da belirtildiği gibi genelde 7 li ASCII kodu kullanılmaktadır ve bunun için 8 iletkenli iletim yolu uygun bulunmaktadır. Eğer aynı anda çok karakter bitlerinin iletimi sağlanabilirse o oranda da bilgisayar çalışma hızı artmış olacaktır. Bu sebeple 8 in katları şeklindeki 16, 32, 6 bitlik veri yolları ve çalışma sistemleri geliştirilmiştir. He mikroişlemciyi dıştaki devrelere bağlayan veri yolları mikroişlemci içerisinde de devam etmektedir. Ayrıca mikroişlemci içerisinde yoğun biçimde bulunan veri yolları İÇ v DIŞ veri yolları olmak üzere ikiye ayrılır.

İç Bilgi Hatları : Mikroişlemci içerisinde bir ana bilgi hattı boydan boya uzanmakta ve devre birimlerine ait bilgi hatları da bu ana hatta bağlanmaktadır. Bu bilgi hatlarının çoğunluğu, bağlantılarında giriş ve çıkış olarak işlem yapmaktadır. Ancak Aritmetik İşlem Ünitesi (ALU) nde olduğu gibi bazı devrelerde de bir yönden gidip öbür yönden çıkmaktadır. 5 Prensip olarak bilgi hatları iki yönlü iletim yapan yollardır. Yalnızca komut kaydediciye gelen bilgi hattı tek yönlü olup bütün komutlar buraya gelerek kod çözücüde yorumlandıktan sonra, kontrol devresine ulaşmakta ve kontrol devresi buna göre belirli iletim yolarını kapayarak bilgisayarın çalışmasını yönlendirmektedir. Ana bilgi hattından devrelerin yararlanması sıra ile olmaktadır. Gelen bilgilerin hangi devreden ana bilgi hattına bilgi çıkışı yapabileceği, anahtar ve üç durumlu kapı devreleri tarafından belirlenmektedir. Bunların çalışmaları kontrol devreleri tarafından yönetilmektedir. Dış Bilgi Hatları : Dış bilgi hatları, mikroişlemci ile bellek ve giriş-çıkış (I/O) kapıları arasındaki veri ve komut iletimini sağlayan iletim hatlarıdır. Ayrıca çevre birimleri ile bilgisayar arasındaki bağlantıları sağlayan iletim hatları da dış bilgi hattının bir bölümünü oluşturur.

Kontrol Hatları (Control Bus) : Kontrol hatları, mikroişlemcinin kontrol devresinden çıkarak gerek mikroişlemci içerisindeki devrelere, gerekse de bilgisayar içerisindeki devrelere bir ağ gibi dağılır. Bilgisayar çevre birimlerinin işleme başlaması ve bitiminin sağlanması için kullanılır. Bütün bu sistemi çalışması, kontrol hatlarından iletilen saat (clock) darbeleri ile yönetildiğiiçin bunlarda iç ve dış olarak bir ayrıma gerek kalmamaktadır. Bir toplama, çıkarma veya kayma işleminin doğru yapılabilmesi için giriş sinyalleri sırasının doğru olması gerekir. Bu doğruluğu kontrol devres sağlamaktadır. Aynı şekilde bellek işlem görecek değerlerin alınması ve sonuç bilgilerinin belleğe depolanması da kontro sistemi aracılığı ile gerçekleşmektedir. Mikroişlemci iç devresindeki kontrol işlemi doğrudan gerçekleşmektedir. Yani kontrol yolu ile adres yolunun eş zamanlı çalışması gibi bir durum yoktur.

Mikroişlemcinin içinde işlem yaparken geçici olarak işlenecek veya işlenmiş bilgilerin kayıt edildikleri saklayıcılardır. Mikroişlemci içerisinde değişik işlemleri gerçekleştirmek için farklı kaydediciler bulunur. İşlem veya işlemler yapılırken bu kaydedicilere veri atılabilir, toplama, karşılaştırma ve kaydırma gibi bazı işlemler gerçekleştirilebilir. Register lar, CPU içerisinde bulunduklarından dolayı, hafıza bloğuna göre oldukça hızlıdırlar. Hafıza bloğuna erişim için sistem veri yollarının kullanılması gereklidir. Register daki verilerin ulagılması için çok çok küçük bir zaman dilimi yeterli olur. Bu sebeple, değişkenlerin, register larda tutulmasına çalışılmalıdır. Register grupları genellikle oldukça kısıtlıdır ve çoğu register ın önceden tanımlanmış görevleri bulunur. Bu nedende, kullanımları çok sınırlıdır. Ancak, yine de hesaplamalar için geçici hafıza birimi olarak kullanılmak için en ideal birimlerdir. Register Tipleri : 1. Genel Amaçlı Register lar 2. Segment Register ları 3. Index ve Pointer Register lar

Genel amaçlı kayıtçıların görevi, işlemcinin üzerinde çalıştığı verileri geçici olarak saklamaktır. Kaydedicilerle 8 bitlik işlem yapılacağı zaman düşük değerlikli kaydediciler için AL, BL, CL, DL, yüksek değerlikli kaydediciler için ise AH, BH, CH, DH gösterimleri kullanılmaktadır. 16 bitlik işlem yapılacağı zaman ise AX, BX, CX, DX gösterimleri kullanılır. AX, BX, CX ve DX kayıtçıları AH, BH, CH, DH ve AL, BL, CL, DL kayıtçılarının birleştirilmiş durumlarıdır.

AX - accumulator register akümülatör (AH / AL). BX - the base address register adres baglangıcı (BH / BL). CX - the count register sayma (CH / CL). DX - the data register veri (DH / DL). Yukarıdaki register ların tamamı 16-bitliktir. 4 genel amaçlı register (AX, BX, CX, DX), iki 8-bitlik register olarak kullanılabilir. Örneğin eğer AX=3A39h ise, bu durumda AH=3Ah ve AL=39h olur.8-bitlik register ları değigtirdiğiniz zaman, 16-bitlik register lar da değişmiş olur.

Akümülatörler (ACC ya da A olarak da tanımlanabilir), bilgisayarın aritmetik ve mantık işlemleri sırasında depo görevi yapan önemli bir kaydedicidir. Eğer kaydediciler bir sistemde sekreterya olara düşünülürse akümülatör bu sistemde baş sekrete olarak yerini alır. Ara değerlerin üzerinde tutulması, sisteme gelen verinin ilk alındığı yer, belleğe veya dış dünyaya gönderilecek verilerin tutulduğu yer olarak görev yapar. Bu yüzden, işlemcinin A kaydedicisin hedefleyen komutları çoktur. Bazı işlemcilerde B kaydedicisi de yardımcı akümülatör olarak kullanılır.

Yığın gösterici kaydedici (Stack Pointer Register - SP) : Alt programa sapma ve kesme işlemlerinde dönüş adreslerini tutar. Ana gösterici kaydedici (Base Pointer Register - BP) : Veri dizilerinin adreslerini tutmakta kullanılır. Kaynak indeks kaydedici (Source Index Register - SI) : Kaynak operandın adresini gösterir. Yazılım indeks kaydedici (Destination Index Register - DI) : Hedef operandın adresini gösterir.

RAM belleğin herhangi bir bölümü yığın olarak kullanılabilir. Yığın mikro işlemcinin kullandığı geçici bellek bölgesi olarak tanımlanır. Yığın işaretçisi, yığının adresini tutan özel amaçlı bir kaydedicidir. SP adres bilgisi göstereceği için 16-bit uzunluğundadır. Bu kaydediciye programın başında yığının başlangıç adresi otomatik olarak atanır. İşlemci tarafından yığının başlangıç adresi SP ye yüklendikten sonra artık belleğin bu bölgesi depo benzeri bir görev yürütür. Yığına veri girişi yapıldıkça yığın göstericisinin değeri de yapısına gore değişir adır.

Yığına her veri girişinde yığın göstericisinin değeri bir azalmakta, yığından her veri çekildiğin de ise yığın göstericisinin değeri otomatik olarak bir artmaktadır. Yığına gönderilen veri yığın göstericisinin işaret ettiği adresteki bellek hücresine yazılır. Yığından veri çekilirse yığın göstericisi bir önceki verinin adresine işaret edecek şekilde bir azalacaktır. Mikro işlemci işlediği ana programdan alt programa dallandığında veya bir kesme sinyali ile kesme hizmet programına dallandığında mevcu kaydedicilerin içeriklerini ve dönüş adresini saklayabilmekiçin otomatik olarak verileri ve adresleri yığına atar. Alt programdan veya kesme hizmet programından ana programa geri dönülmesi durumunda ana programda kaldığı yerin adresini ve kaydedicilerdeki verileri kaybetmemiş olur.

İndis Kaydedicileri : X ve Y olarak tanımlanan indis kaydedicilerinin temelde üç görevi vardır. Hesaplamlarda ara değerlerin geçici tutulmasında, program döngülerinde ve zamanlama uygulamalarında bir sayıcı olarak ve bellekte depolanmış bir diz verinin üzerinde bir indisçi olarak kullanılmaktadır. Bazı işlemcilerde sadece tek indisçi olabilir. Program Sayıcı (PC) : Mikro işlemcinin yürütmekte olduğu program komutlarının adres bilgisini tuttuğu özel amaçlı bir kaydedicidir. Bilindiği gibi bir programı oluşturan komutlar ve veriler normal bellekte saklıdır. Bilgisayarı çalışması sırasında hangi komutun hangi sırada kullanılacağını bilinmesi gerekir. Bu görevi program sayıcı (PC) yerine getirir. Program sayıcının bit genişliği adres yolu genişliği kadardır. Eğer işlemcinin 16-bit adres hattı var ise PC=16 bit işlemcinin 32-bit adres hattı var ise PC=32 bit büyüklüğünd olur.

Segment Kaydediciler 1 MB lık hafızaya sahip olan mikroişlemcinin hafıza alanı 64 KB lık segmentlere bölünür. Her bir segmentin adresi birbirinden farklıdır. Bölünmüş olan hafızadan elde edilen bu segmentlerin dört tanesi bir anda aktiftir. Aktif olan segmentler aşağıda verildiği gibidir. Code Segment(CS): Program kodlarının bulunduğu segmentin başlangıç adresini tutar. Genel amaçlı saklayıcılardan birinin tuttuğu ofset adresi ile birlikte verinin bulunduğu hücrenin gerçek adresini verir. Stack Segment (SS): Yığın için belirlenen bellek adresinin başlangıç adresini tutar. Data Segment (DS): Verilerin bulunduğu segmentin başlangıç adresini tutar. Extra Segment(ES): Veri kaydedilen diğer bir segmentin başlangıç adresini saklar. Bu segmentlerden ilk ikisi program parçacıklarını yeri geldiğinde kullanmak üzere yığın yapmak için son ikisi ise bilgi depolamak için kullanılır.

Segment register ları, genel amaçlı register ları ile birlikte çalıgarak hafızada herhangi bir bölgeyi işaretleyebilir. Örneğin, fiziksel adres 12345h (heksadesimal) işaretlenmesi isteniyor ise, DS =1230h ve SI = 0045h olmalıdır. CPU, segment register ı 10h ile çarpar ve genel amaçlı register da bulunan değeri de ilave eder. (1230h 10h + 45h = 12345h). 2 register tarafından oluşturulmuş olan adrese, effective address (efektif adres) ismi verilir. BX, SI ve DI register ları, DS ile birlikte çalışır; BP ve SP register ları ise SS ile birlikte çalışır.

Durum kaydedicisi 8-bitlik bir kaydedicidir. Bu kaydedicinin her bir biti ayrı ayrı anlam ifade eder. Mikro işlemci içinde veya dışardan yapılan herhangi aritmetiksel, mantıksal veya kesmelerle ilgili işlemlerin sonucuna göre bu bitler değer değiştirir. Bir işlem sonucunda bu bitlerin aldığı değere göre program yön bulur. Programcı bu bitlerde oluşacak değerlere göre programa yön verebilir. Aşağıdaki Şekil 6502 işlemcisine aittir.

Carry (elde bayrağı-c): Elde / borç bayrağıdır. 8-bitlik bir işlem sonucunda dokuzuncu bit ortaya çıkıyorsa elde var demektir. Bu durumda C bayrağı mantıksal 1 olur. Bu bayrak biti programcı tarafından kurulur ya da silinebilir (CLC, SEC). Ayrıca bazı komutlar tarafından test edilebilir (BCC, BCS). Zero (sıfır bayrağı-z): Sıfır bayrağı, aritmetik ve mantık işlemi sonucunda kaydedici içeriği sıfır ise Z = 1 e kurulur. Aksi durumda sıfırlanır (Z = 0). Interrupt disable (kesme yetkisizleştirme bayrağı-i): Mikro işlemci normal durumda komutları işlerken bir kesme (IRQ) geldiğinde bu kesme bu bayrak biti ile engellenebilir. Eğer bu bit komutlar (SEI) mantıksal 1 yapılırsa gelen kesmeler göz önüne alınmaz. Ancak bu bayrak mantıksal 0 olduğunda kesme dikkate alınır ve kesme hizmet yordamına dalınır. Yani bu bayrak biti, normal işleyiş sırasında bir kesme geldiğinde kabul edilip edilmeyeceğini belirler. Programcı bunu komutla yapar. NMI kesmesi bu bayrak için kullanılmaz. Decimal (ondalık bayrağı-d): Bu bayrak 1 olduğunda aritmetik işlemler BCD modunda yapılırken 0 olduğunda ikilik modta yapılır. Bu işlem eğitim ve uygulama açısında programcıya büyük kolaylıklar sağlar.

Overflow (taşma bayrağı-v): Bu bayrak aritmetik işlemlerde, eğer işlem +127 ile -128 aralığını geçiyorsa bir taşma meydana gelir ve V bayrağı 1 olur. Diğer yandan yine benzer işlemlerde eğer pozitif bir sayı ile negatif bir sayı üzerinde işlem yapılıyorsa ve sonuç pozitif çıkması gerekiyorken negatif çıktıysa bu bayrak 1 olur. Taşma bayrağı işaretli sayılarla işlem yapılırken devreye girer. Negative (negatif bayrağı-n): 8-bitlik bir işlemcide 7.bit MSB biti olarak bilinir. Eğer MSB biti bir işlem sonucunda 1 ise N bayrağı 1 e kurulur. Eğer MSB biti 0 ise kaydedicisideki değer pozitif demektir ki N bayrağı 0 olur. Bayraklardaki 4. bit B (Break) olarak tanımlanmış olup program durduğunda otomatik olarak1 olur. 5. bit ileride kullanılmak üzere boş (+5V) bırakılmıştır.farklı mikro işlemcilerde birbirine benzer bayraklar olmasına rağmen faklı bayraklarda olabilir

İşaret bayrağı (SF): Aritmetik işlem sonucu pozitif bir değer ise SF Lojik "0",aksi durumda Lojik "1" olur. Taşma bayrağı (OF): İşlem sırasında limit dışında bir sonuç oluşursa OF Lojik "1", tersi durumunda ise Lojik "0" olur. Trap bayrağı (TF): TF Lojik "1" olduğunda işlemci aynı anda sadece tek işlem yapabilir. Kesme bayrağı (IF): INT ucunda bir kesme olduğu, IF Lojik "1" olduğu zaman dikkate alınır. Yön bayrağı (DF): Hangi komutun işleneceği bu komutla belirlenir

CPU nun bir komutu yürütmeden önce, bu komutu bellekten getirmesi gerekir. Program Counter (PC), bellekte yürütülecek bir sonraki komutun adresini içerir. Komutun getirilmesi için PC nin içeriği Memory Address Register (MAR) e aktarılır. [MAR][PC] Ardından PC nin içeriği bir arttırılır. [PC] [PC+1] MAR, yazma çevrimi veya okuma çevrimi sırasından üzerinde işlem yapılacak bellek konumunun adresini barındırır. Bu aşamada MAR aynı zamanda, PC nin artımdan bir önceki içeriğini yansıtır.okuma çevrimi gerçekleştirildiğinde MAR ile belirlenmişolan bellek konumunun içeriği okunup içeriği MBR(Memory Buffer Register e) aktarılır. [MBR] [ M( [MAR] ) ]MBR okuma çevrimi sırasında bellekten okunan verilerin geçici olarak tutulduğu; yazma çevrimi sırasında da belleğe yazılacak verilerin geçici olarak tutulduğu bir saklayıcıdır. MBR nin içeriği daha sonra IR (Instruction Register) olarak adlandırılan saklayıcıya aktarılır.

Assembly programlama dili düşük seviyeli bir dil olup C, C++, Pascal, Basic gibi yüksek seviyeli programlama dillerine göre anlaşılması biraz daha zordur. Assembly dili ile program yazarken kullanılan bilgisayarın donanım özellikleri programcı için önemlidir. Yazılan kodlar çoğunlukla donanıma bağlı yazılır ki bu da programın taşınabilirliğini azaltan bir faktördür. Assembly dili ile program yazarken programcı doğrudan bilgisayarın işlemcisi ve hafızası ile uğraşır. Yani hafızadaki ( RAM deki ) ve işlemci gözlerindeki değerleri doğrudan değiştirme olanağı vardır. Yüksek seviyeli dillerdeki derleyicilerden farklı olarak, assembly kaynak dosyalarını çalışabilir dosya haline getirebilmek için assembler ve linker adı verilen programlar kullanılır. Aslında derleyiciler de bir tür assembler programıdır denebilir. Fakat derleyiciler, ekstra bir parametre kullanılmadığı taktirde, kaynak dosyasını önce gerekli Object dosyasına çeviriler daha sonra, bir hata ile karşılaşılmaz ise, elde edilen object dosyası linker yardımı ile çalışabilir dosya haline getirilir. Bilgisayarımızda çalıştırılan tüm programlar önce bilgisayarımızın RAM ine yüklenir. Daha sonra RAM üzerinde çalıştırma işlemi gerçekleştirilir. RAM e yüklenen bilgi programımızın makine dili karşılığından başka bir şey değildir. Makine dilinin kullanıcı tarafından anlaşılabilir şekline ise assembly dili demek pek yanlış olmaz.

Aslında assembly programlarının en önemli özellikleri boyutlarının yüksek seviyeli bir dil ile yazılan programlara nazaran çok küçük olması ve buna bağlı olarak çok daha hızlı çalışmalarıdır. Programların hızlı çalışmaların kodlarını sadeliğinden kaynaklanmaktadır. Faka günümüzde kullanılan yüksek hızlı işlemciler ve büyük kapasitelere sahip sabit diskler assembly programlarının bu özelliklerini önemsiz kılmaktadır.

Assembly dilinde program yazmak içi mikroişlemci iç yapısı bilinmesi gerekir. Assembly dili mikroişlemci tipine göre değişir. Bir mikroişlemci için yazılan bir program başka bir mikroişlemcide çalışmayabilir. Program taşınabilir platformdan bağımsız değildir. Assembly dilinde program yazmak yüksek seviyeli dillere göre daha zor ve zaman alıcıdır. Bilgisayar donanımı üzerinde daha iyi bir denetim sağlar. İşlemcinizin gücünü en iyi şekilde ortaya koyabilecek tek programlama dilidir. Küçük boyutlu bellekte az yer kaplayan programlar yazılabilir. Virüslerin yazımında kullanılırlar. Yazılan programlar daha hızlı çalışır. Çok hızlı çalıştıkları için işletim sistemlerinde kernel ve donanım sürücülerinin programlanmasında, hız gerektiren kritik uygulamalarda kullanılmaktadır. Herhangi bir programlama dili altında, o dilin kodları arasında kullanılabilir. İyi öğrenildiğinde diğer dillerde karşılaşılan büyük problemlerin assembly ile basit çözümleri olduğu görülür.

Assembly dilinde program yazmak için Windows altında yer alan note pad, word pad gibi herhangi bir text editör kullanılabilir. Text editör yardımı ile Assembly dilinde program yazılır. Yazılan program TASM veya MASM assembler çevirici programları yardımı ile.obj uzantılı olarak makine diline çevrilir. Bu halde elde edilen program işletim sisteminin anladıgı bir formatta değildir. TLINK bağlayıcı programı kullanılarak.exe veya.com uzantılı hale dönüştürülür. Bu haldeki program işletim sistemi üzerinde ismi yazılarak DOS ortamında çalıştırılabilir.

Yorumlar / Açıklamalar Açıklamalar program satırlarının baģına noktalı virgül konularak yapılır. Açıklama satırları assembler tarafından dikkate alınmaz. Program içinde daha detaylı bilgi vermek, kullanılan komutları izah etmek için kullanılır. Örnek: ; MOV ES,AX bu komut dikkat alınmaz ; AL ye SAYI1 değerini at

Etiketler Etiketler program içinde kullanılan özel kelimelerdir. Sonuna : konularak kelimenin etiket olduğu anlaşılır. Etiketlerden program akışını belirli bir noktaya yönlendirmek istediğimizde yararlanırız. Örnek: Son: Basla: JMP ANA Burada Son, Basla kelimeleri etikettir.

Veri tanımlama : Veri tanımlama talimatları DB, DW, DD,DF, DQ, DT ve DUP dur. DB (Define Byte): 1 Byte lık veri tanımlanır. DW (Define Word):2 Byte lık veri tanımlanır. DD (Define double word):: 4 Byte lık veri tanımlanır. DF (Define Far Word): 6 Byte lık veri tanımlanır. DQ (Define Quad Word): 8 Byte lık veri tanımlanır. DT (Define Ten Byte): 10 Byte lık veri tanımlanır. DUP: Duplicate SAYI 3 DUP(0); Bellekten SAYI değiģkeni için 3 byte lık yer ayır, içini 0 ile doldur. SAYI DW 10 DUP(5) Bellekten SAYI değiģkeni için 10x2 byte lık yer ayır, içlerini 5 ile doldur.

String verileri tanımlama YAZI DB KARABUK YAZI DB K, A, R, A, B, U, K Dizi Tanımlama DIZI DB 2, 4, 0, -5, 7 DIZI DB 12, 0FH, 01001001B Sayıların sonunda B olması verinin ikilik sistemde olduğunu, H olması verinin hexadesimal olduğunu gösterir. Bir şey yazılmamışsa veri onluk sistemde yazılmış anlamına gelir.

1) Veri taşıma Komutları : : mov, lea, les, push, pop, pushf, popf 2) Dönüştürme Komutları : cbw, cwd, xlat 3) Aritmetik Komutlar : add, inc sub, dec, cmp, neg, mul, imul, div, idiv 4) Mantıksal, kaydırma, çevirme ve bitsel işlemler için komutlar and, or, xor, not, shl, shr, rcl, rcr 5) I/O (Giriş/Çıkış) Komutları : in, out 6) Karakter dizi (String) Komutları : movs, stos, lods 7) Program akış kontrol Komutları jmp, call, ret, Jxx (şartlı dallanma komutlar) 8) Diğer komutlar : clc, stc, cmc

mov reg, reg mov mem, reg mov reg, mem mov mem, immediate data mov reg, immediate data mov ax/al, mem mov mem, ax/al mov segreg, mem16 mov segreg, reg16 mov mem16, segreg mov reg16, segreg mov mem,mem yanlış

MOV hedef,kaynak MOV komutunun kullanım şekli yukarıdaki gibidir. Bu komut kaynak içerisindeki bilgiyi hedef e aktarır. Yani MOV AX, 1234h MOV BX, AX Yukarıda ilk önce AX register ına 1234h değeri yazılmıştır. Daha sonra bu değer AX register ından BX register ına aktarılmıştır. Yani Program sonunda AX=1234h ve BX=1234h olur.

MOV sayi1, sayi2 MOV MOV AX, sayi1 sayi2, AX ;yanlış kullanım

İvedi Adresleme : Direkt Adresleme :

Dolaylı Adresleme :

int 20; Programı Sonlandırır. int 21