CryptoSuite.Org

Geri git   CryptoSuite.ORG || The Best Encryption Platform Of The World > Programlama > ASM

ASM Assembly Hakkında Herşey

Konu Bilgileri
Konu Başlığı
ASM Programlama
Konudaki Cevap Sayısı
1
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
396

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 06-02-09, 13:51   #1 (permalink)
Psikolojik Tedavide
 
Psikoloq - ait Kullanıcı Resmi (Avatar)

User ID : 2632
Messages : 1.620
Threads : 414
Thanks : 242
Rat : Kullanmıyorum
Psikoloq isimli Üye şimdilik offline konumundadır
CryptoSuite.Org
Standart ASM Programlama

1 Neden Sembolik Makina Dili Öğrenilmelidir?

Kaynaklar:

Peter Abel 80x86 Assembly Language

The Art of Assembly Language

Microsoft Macro Assembler 5.0 ve 6.0



Assembler’da program yazabilmek için en azından bir Assembler derleyicisi ve bir de linker programı gereklidir. Borland firmasının assembler derleyicisi TASM.EXE dosyası, linker programı ise TLINK.EXE programıdır. Microsoft assembler derleyicisi ise MASM.EXE, linker programı ise LINK.EXE programıdır. Ayrıca bir assembler programının incelenmesi amacıyla "debugger" programları kullanılır. Borland firmasının TD.EXE Microsoft firmasının CV.EXE programları vardır.

Assembler (Sembolik Makine Dili) taşınabilir genel bir dil değildir. Tamamen Mikroişlemciye bağlı olarak değişir.





1) Zaman ve kapasite problemi olan kritik kodların makine dili seviyesinde yazılması gerekebilir.C bu tür kodlar için yüksek seviyeli kalmaktadır.

2) Aşağı seviyeli programlama bilgisi bilinç düzeyini artırır. Böylece problemlerin nedenleri daha iyi anlaşılır.


1.1 Mikroişlemcilerin Çalışma Biçimleri



Mikroişlemci, bellekle 3 grup uç yoluyla bağlıdır.




Mikroişlemci döngüsel bir biçimde işlemlerini gerçekleştirir. Yani;

1) Bir grup byte topluluğunu RAM’den okur (instruction fetch).

2) Bu byte topluluğunun hangi komut olduğunu yorumlar.

3) Bu komutu çalıştırabilmek için elektronik devreleri çalıştırır.

4) Tekrar birinci adıma dönülerek işlemler yinelenir.



Bazı mikroişlemcilerde makine komutlarının uzunlukları hep aynıdır (Özellikle RISC grup işlemciler). Oysa Intel gibi pek çok CISC ailesi işlemcilerde konutlar farklı uzunluklarda olabilir. Mikroişlemci komutu yorumladıktan sonra uzunluluğunu da elde etmiş olur. Böylece bir sonraki komutun yerini de saptayabilir.



Mikroişlemcinin önemli bir bölümü, işlemlerin yapılmasını sağlayan mantık devreleriyle kaplıdır. Makine komutlarının operantları belleğe ilişkin olabilir. Örneğin bir makine komutu "500 numaralı bellek bölgesindeki sayıyı 1 artır" biçiminde olabilir. Bu durumda işlemci komutu çalıştırırken bellekten yine okuma ve yazma yapmak zorundadır. Yani mikroişlemci yalnızca komutu elde etmek için değil, komut içerisindeki operantları elde etmek için de belleğe erişir.


1.1 Tipik Bir RAM’in Yapısı



RAM’ler entegre devre biçiminde üretilir. Dış dünya ile bağlantıyı sağlayan çeşitli uçları vardır. Bir RAM genellikle byte biçiminde organize edilmiş gözeneklerden oluşur. Her gözenek içerisinde tipik olarak 8 bit vardır. Ama 8 bit olması zorunlu değildir. RAM’ler genellikle kapasite olarak ;



gözenek sayısı * gözenekteki bit sayısıdır.



Örnek: 1024 * 8



1024 byte’lık bir RAM’de herhangi bir gözeneği seçebilmek için ikilik sistemde 10 tane elektriksel hat gerekir. Dışarıdaki bir devre bu uçlara 5 volt ya da 0 volt gerilim uygulayarak bir sayı oluşturur. RAM devresi de bu bilgiyi alarak hangi gözeneğin seçilmiş olduğunu anlar. Bir gözeneği seçmekte kullanılan bu uçlara RAM’in adres uçları denir. A0, A1, A2, ... biçiminde gösterilir. Bunun dışında gözenek seçildikten sonra okuma mı, yoksa yazma mı yapılacağını anlatmaya sıra gelir. Bu işlem ayrı bir uçtan yapılır. BU uca R / W ucu denir. Örneğin bu uca 5 volt uygulanırsa okuma yapılacağı, 0 volt uygulanırsa yazma yapılacağı anlamına geliyor olabilir. RAM’in gözeneklerdeki bilgiyi aktarmak için kullanılan bir veri ucu vardır.Bu uçlar genellikle D0, D1, D2, ... olarak isimlendirilir. (Analog, Linear, and Mixed-Signal Devices from Maxim/Dallas Semiconductor adresinden Akbil’in mekanizmasını öğrenebilirsin (1991 işlemci).) Bu durumda 1024 * 8’lik bir RAM de 10 tane adres ucu, 8 tane data ucu ve bir tane de R/W ucu olmalıdır. ve ek olarak başka uçlar da vardır.



RAM’den okuma şöyle yapılır:

1.Adım . Adres uçlarına gözenek numarası girilir.

2.Adım: R/W okuma konumuna getirilir.

3.Adım:Bir süre beklenir ve data uçları örneklenir.



Yazma işlemi ise şöyle yapılır:

1.Adım: Gözenek numarası adres uçlarına bırakılır.

2.Adım: R/W ucu yazma konumuna getirilir.

3.Adım: Yazılacak bilgi ikilik sistemde data uçlarına bırakılır.


1.2 CPU ile RAM Arasındaki Bağlantı



Genel olarak CPU’nun adres uçları RAM’in adres uçlarıyla, data uçları da RAM’in data uçlarıyla bağlantılıdır. Benzer biçimde CPU’nun kontrol uçları RAM’in çeşitli kontrol uçlarıyla bağlantılıdır.



Bir CPU’nun adresleyebildiği maksimum fiziksel RAM kapasitesi vardır. Bu kapasite CPU’nun adres uçlarının sayısıyla doğrudan ilgilidir. Örneğin Z-80 ve 8080 işlemcilerinin 16 adres ucu vardır. Bu işlemciler ancak 64 KB bellek kullanabilirler. Intel 286 işlemcisinin 24 adres ucu, 386 ve 486 işlemcilerinin 32 adres ucu vardır. İşlemcinin RAM’den bir seferde transfer edeceği bilgi veri data uçlarının sayısına bağlıdır. Z80 ve 8080 işlemcileri 8, 8086 ve 80286 işlemcileri 16, 386 ve 486 işlemcileri 32 data ucuna sahiptir.



CPU içerisindeki elektronik devrelerle bağlantılı olan RAM’den çekilen bilginin geçici süre saklanmasında kullanılan CPU içerisindeki küçük bellek bölgelerine register denir. Bir mikro işlemcinin kaç bitlik mikro işlemci olduğu register uzunluğu ile belirlenir. Örneğin 80386 işlemcisi 32 bitlik bir işlemcidir, çünkü 32 bit register’lara sahiptir. Bir mikro işlemcinin register uzunluğu işlemcinin bir hamlede kaç bitlik bilgi üzerinde işlem yapabildiğini anlatır. Örneğin 8086 16 bitlik bir mikro işlemcidir. 32 bit iki sayı toplanacak olsa bu toplama işlemi tek işlemde değil ancak iki işlemde yapılabilir(C’de int türü derleyiciyi yazanlar tarafından genellikle işlemcinin register uzunluğu kadar alınır).


Alıntıdır..
__________________
FOREVER LİNUX



  Alıntı ile Cevapla
The Following User Says Thank You to Psikoloq For This Useful Post:
SmoothLife (05-09-10)
Alt 05-05-10, 21:07   #2 (permalink)
Member
 
Coast+ - ait Kullanıcı Resmi (Avatar)

User ID : 9156
Messages : 3
Threads : 0
Thanks : 2
Rat : Kullanmıyorum
Coast+ isimli Üye şimdilik offline konumundadır
CryptoSuite.Org
Standart

gusel payLasım
__________________
atarLı semtiN giderLi CocukLarıyız .. win32.
  Alıntı ile Cevapla
Cevapla

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



WEZ Format +3. Şuan Saat: 08:38.


5651 Sayılı Kanun’un 8. maddesine ve T.C.K’nın 125. maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.
Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Sitemiz, 5651 sayılı yasada tanımlanan “yer sağlayıcı” olarak hizmet vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü YOKTUR!Bu sebeple, sitemiz “uyar ve kaldır” prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, BURADAN bize ulaşabilirler. Buraya ulaşan talep ve şikayetler Hukuk Müşavirimiz tarafından incelenecek, şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler sitemizden kaldırılacaktır.Ayrıca, mahkemelerden talep gelmesi halinde hukuka aykırı içerik üreten ve hukuka aykırı paylaşımda bulunan üyelerin tespiti için gerekli teknik veriler sağlanacaktır.Sitemiz üzerinden yapılan satış ilanları sadece firmalar için olup, kötüye kullanımından doğacak hasarlardan kesinlikle sitemiz sorumlu tutulamaz.