C#nedir?com
 
YAZAR HAKKINDA
Selman UZUN
Selman UZUN
http://www.birvesifir.net
İletişme geçmek için tıklayın.
2 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: assembly sayı sıralama assemby selman uzun x86 assembler x86 assembler buble sort x86 assembler sayı sıralama x86 assembly x86 assembly buble sort x86 assembly örnek kod x86 assembly sayı sıralama Kodlama Selman UZUN
 
YAZI HAKKINDA
Türü : Serbest Köşe (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : Kodlama
Yayınlanma Tarihi : 8.8.2010
Okunma Sayısı : 18570
Yorum Sayısı : 1     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer 'in Blogu
Conda install environment.yml Package 17.9.2019
Turhal Temizer 'in Blogu
Mac OS/X Removing CUDA 17.9.2019
Burak Selim Şenyurt
Hey Raspi! Gerçekten Çok Güçlü Bir Bilgisayara İhtiyacım Var mı? 17.9.2019
Burak Selim Şenyurt
Bir Python Uygulamasını git Tekniği ile Azure Platformuna Taşımak 17.9.2019
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
X86 Assembly Diliyle Buble Sort
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
          Merhaba, lise ve üniversite dönemlerinde gördüğümüz programlama derslerinde sık sık karşılaştığımız sıralama algoritmalarını kimi zaman yüksek seviyeli dillerle, kimi zaman da orta seviyeli dilleri kullanarak birçoğumuz  yazmışızdır. Ben bu rutinlikten biraz olsun kurtulup düşük seviyeli bir dille buble sort algoritmasını gerçekleştireyim dedim ve hazırladığım programı paylaşmak istedim.
         Programımız assembly x86 diliyle girişi yapılan 10 adet rakamı küçükten büyüğe doğru sıralamaktadır. Aslında program içerisinde kullandığım prosedür ve kodların açıklamalarını detaylı bir biçimde yaptım ama ben kodlara kısa ve öz bir şekilde değinmek istiyorum.
       
            Program içerisinde 3 adet prosedür  kullanım bunlar, sayiyerles, sayisirala,ekranabas prosedürleridir. sayiyerles prosedürü girişini yaptığım rakamları tanımladığım  dizi içerisine  yerleştiriyor. sayisirala prosedürü ise dizi içerisine yerleştirilen değerleri buble sort algoritması ile dizi içerisinde küçükten büyüğe doğru sıralıyor. ekranabas prosedürü ise dizi içerisinde sırlanan değerleri, küçükten büyüğe doğru sıralanmış bir biçimde ekrana yazıyor. Program içerisinde tüm kodlar anlaşılır bir akışla işlemekte. Yalnız sayı girişini sağladığım ve değerleri ekrana yazdırdığım rutinler biraz kafanızı karıştırabilir . Örneğin alt satıra geçiş için tanımladığım altagec dizisini tanımlarken altagec db 0Ah,0Dh,24h  şeklinde bir kodu tanımladıktan sonra programın ileriki kısımlarında ekrana çıktı verirken bir alt satıra geçmeyi sağlamak için ;
    lea dx,        altagec   
    mov ah, 9                  
    int 21h
kodunu kullandım. Bu koddaki mov ah,9 ve int 21h dx kayıtçısının aldığı değere göre ekrana çıktı veren birer rutindir. Programda sıralanmış sayıları ekrana yazan mov ah,2 ve int 21h da ekrana yazdırma rutinidir.
       Assembly kodlarını yazarken ve derlerken  x86 assembly kod emülatörü olan emu8086 programını kullandım.  Yalnız program ücretli. Deneme sürümünü kullanmak istiyorsanız Buraya tıklayarak sitesinden indirebilirsiniz.
 
Yazdığım programın kodlarını indirmek için Tıklayınız.    

 

Makale:
X86 Assembly Diliyle Buble Sort Kodlama Selman UZUN
  • Yazılan Yorumlar
  • Yorum Yaz
AĞU
9
2010
Programın 46. satırındaki açıklama satırı için ufacık bir düzeltme yapayım. mov bl,sayilar[si+1] kodunun olduğu yerdeki açıklamada al yerine bl yazılmalı, yani açıklamanın; "si+1 index degerine sahip dizinin degerini bl kayitcisina ata" şeklinde olması gerekiyor.
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor