Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ADO.NET/SQL
C / Sys Prog.
Genel
Mono ve .NET
Silverlight
XML / Web Serv.
X86 Assembly
C++ / C++.NET
J#.NET / Java
.NET 3.x
UML / Analiz
Yazılım Müh.
ASP.NET
C# / VC#/.NET
Mobil Prog.
PHP 5
YAZAR HAKKINDA
Mustafa Arkan
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
4
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:
arasinda
assembly
blogun
bloklari
builder
degeri
dilleri
farkli
kodlar
kodlari
kodlarimizi
kodlarinin
pascal
programlama
programlar
X86 Assembly
Mustafa Arkan
YAZI HAKKINDA
Türü
:
Makale
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
:
X86 Assembly
Yayınlanma Tarihi
:
23.9.2006
Okunma Sayısı
:
59765
Yorum Sayısı
:
5
yorum yaz
SİTE İÇİ ARAMA
Ü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.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
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.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
23.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
23.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
23.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
23.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
X86 Assembly
/
C ve Pascal Altinda Assembly
C ve Pascal Altinda Assembly
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Assembly kodlarımızı farklı programlama dilleri içerisinde de kullanabiliriz. Daha önce anlatılan makalelerde DOS’ta DEBUG ve TASM’ı kullandık. Bu bölümde ise, anlatacağımız kodları
pascal
ve
c++ builder
içerisinde kullanacağız.
Sadece assembly komutlarını kullanarak programlar geliştirmek kodlar için kullanılan satır sayısı arttıktan sonra zor olmaya başladığından farklı programlama dilleri içerisinde assembly kodlarını alt programlar olarak yazmak daha avantajlı bir yol olur. Bu sayede temelden bize ait olan çalışma mantığını bildiğimiz istediğimiz özelliklere sahip fonksiyonlar geliştirme fırsatımız oluruz.
Şekil 1’de
Turbo Pascal içerisindeki
ASM....END;
blokları arasında,
Şekil 2’de
C++ Builder 6.0 içerisindeki
asm{...}
blokları arasında tasm’da olduğu şekliyle kodlarımızı yerleştirebiliyoruz.
Turbo Pascal 7.0
içerisinde assembly kodlarının yerleştirildiği bloğun yapısı;
____________________________________________________________________________________________________________
şekil 1:
Pascal içerisindeki assembly bölümü
____________________________________________________________________________________________________________
C++ Builder 6.0
içerisinde assembly kodlarının yerleştirildiği bloğun yapısı;
____________________________________________________________________________________________________________
şekil 2:
C ++ Builder içersindeki assembly bölümü
____________________________________________________________________________________________________________
Şekil 1 ve 2’deki
assembly blokları içerisinde, iki sayının toplanması işleminin nasıl gerçekleştiğine bakalım:
Turbo Pascal 7.0’da ASM...END;
ve
C++ Builder 6.0’da ASM{...}
blokları arasında, komut satırından girilen değerler
MOV
komutu ile
AL registerine aktarıldıktan sonra
ADD
komutuyla toplama işlemini gerçekleştirip
TOPLAM
değişkenine AL registerinin son değeri olarak aktarıyoruz, assembly bloğu dışında programlama dilinin fonksiyonları ile sonucu görüntülüyoruz.
şekil 3:
Turbo Pascal 7.0 ile assembly kod örneği
şekil 4:
Turbo Pascal 7.0 Ekran Görüntüsü
C++ Builder içerisinde kullanacağımız assembly bloğu dışındaki component ve fonksiyonları inceleyelim.
C ++ Builder Componentleri :
Etiket (TLABEL): Form içerisinde bulunan Metin Kutusu’na ne tür değer girileceğini belirtmek için kullanılmaktadır.
Metin Kutusu (TEdit): Kullanıcının bilgi girişi yapması ya da elde edilen sonucun görüntülenmesi için kullanılır.
Komut Düğmesi (TButton):
Kullanıcın programda, gerçekleştireceği uygulamayı başlatan yada bitiren kontroldür.
Assembly Bloğu dışında kullandığımız C ++ Builder Fonksiyonları:
Fonksiyon
Anlamı
Kullanım Şekli
StrToInt
Metin olarak girilen değeri sayıya dönüştürür.
StrToInt(Edit1->Text);
IntToStr
Sayı olarak girilmiş değeri metine dönüştürür.
IntToStr(Edit1->Text);
şekil 5:
C ++ Builder ile assembly kod örneği
şekil 6:
C ++ Builder 6.0 Ekran Görüntüsü
C++ Builder 6.0 ile gerçekleştirdiğimiz örnek kodu
buradan
, Turbo Pascal 7.0 ile gerçekleştirdiğimiz örnek kodu
buradan
indirebilirsiniz.
Makalemizde , assembly’nin diğer diller içerisinde nasıl kullanılacağını en basit haliyle anlatabilmek için kısa kodlar kullandım, daha gelişmiş kodları gerçekleştirebilmeniz için sizlere başlangıç olması açısından önemli. Uzak mesafeler katedebilmek için küçük adımlar atmak gerekiyor. Adımlar küçük yol uzun, önemli olan hedefe ulaşmayı istemek.Herkese iyi çalışmalar...
Makale:
C ve Pascal Altinda Assembly Assembly ve X86 Programlama Mustafa Arkan
Yazılan Yorumlar
Yorum Yaz
MAR
5
2010
erkan bayram
/
üye hakkında
C# dilinde assembly komutlarını nasıl kullanabiliriz?
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
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl