Assembly Diline Giriş

Assembly Dili Nedir?

Her işlemci ailesinin girdi/çıktı işlemleri gibi işleri yapmak için kendi talimatları (instruction) vardır. Bu talimatlar setine ‘makine dili talimatları’ denir.

İşlemci binary halindeki makine dili talimatlarını anlar. Ancak makine dilini yazmak zordur. Assembly dili, belirli bir işlemci ailesi için sembolik kodlardaki çeşitli talimatları daha anlaşılır, daha kolay yazılabilir hale getirir.

Bilgisayarın Genel Donanım Özellikleri

Bir bilgisayarın ana dahili donanımı işlemci, bellek ve registerlardan oluşur. Registerlar verileri ve adresleri tutan işlemci bileşenleridir. Sistem bir programı yürütebilmek için onu harici aygıttan dahili belleğe kopyalar. İşlemci program talimatlarını yürütür.

Bilgisayarın temel depolama birimi binary digit (ikili rakam) anlamına gelen ‘bit’tir.
9 bitlik bir grup 1 byte eder. Bu 9 bitin ilk 8’i veri için kullanılırken son biti eşitlik (parity) için kullanılır. 8 bitlik bir mesajın bit değerlerinin toplamı tek ise parity  biti 1; çift ise parity biti 0 olur.
ÖRNEK:
Mesaj : 10110111
Bu mesajdaki bit değerlerinin toplamı : 1+0+1+1+0+1+1+1 = 0
O halde parity biti 0 olur. Alıcıya 101101110 olarak gönderilir.
Alıcı taraf mesajın ilk 8 bitini topladığında 0 elde etmelidir. İlk 8 bitin toplamı 1 ederse ve parity biti 0 ise en az 1 bitte hata olduğunu düşünmelidir.

İşlemci aşağıdaki veri boyutlarını destekler:
Word: 2 byte (16 bit) bir veri öğesi
Doubleword: 4 byte (32 bit) veri öğesi
Quadword: 8 byte (64 bit) veri öğesi
Paragraf: 16 byte (128 bit) alan
Kilobayt: 1024 byte
Megabayt: 1,048,576 byte

İkilik (binary) ve Onaltılık (hexadecimal) sisteme giriş yapmıyorum. Merak edenler için:

Bellekteki Verileri Adresleme

İşlemcinin talimatların uygulanmasını kontrol ettiği süreç uygulama döngüsü (execution cycle) olarak adlandırılır.  Sürekli tekrarlanan üç adımdan oluşur:

  • Talimatı bellekten alma
  • Talimatın kodunu çözme veya tanımlama
  • Talimatın uygulanması

İşlemci verileri little-endian olarak depolar. Bellekte bulunan sayının en az anlamlı byte’ı birinci, en anlamlı byte’ı ise  sonuncu olarak yazılır.
Örneğin bellekte 0725 sayısı bulunsun. Bu sayı, register’da 2507 olarak saklanır.

 little-endian

Burada x bellek adresini temsil etmektedir.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s