Konu ağır cahillik kokuyor, yazılanların tek bir tanesi dahi doğru değil.

İlk programlama dili C falan değildir, teknik olarak ilk programlama dili Assembly dilleridir. bkz: http://en.wikipedia.org/wiki/Assembly_language

Assembly doğrudan makina dilinin (sadece 1 ve 0lardan oluşan binary kodların) doğrudan okunabilir karşılığıdır. Yani assembly makine diline doğrudan çevirilir, yüksek seviye diller (c,vb6,cobol...) gibi diller ise makine diline derlenir. C# ve Java gibi diller ise çalışma anında makine diline çevrilirler.

Bilgisayarlar kodlarınızın derlenmiş hali olan 2lik binary dosyalarını okurlar doğrudan kodunuzu değil.

İlk programlama dili, yani ilk assembler (v0.0 olarak düşünürseniz), tamamen 1 ve 0lar kullanılarak yazıldı, daha sonra bu basit assembler kullanılarak giderek daha karmaşık assemblerlar yazıldı.

Bilgisayarın bu makina dilini (0 ve 1leri) nasıl anladığına gelecek olursak, binary dosyalarında assembly olarak şuna tekabül eden kodlar vardır:

OPERATION [operand1] [operand2] ...

Yani ilk olarak hangi işlem yapılacağı, ve daha sonra gerekli miktarda neler üzerinde yapılacağını bulundurur.

Neler üzerinde işlem yapılacağına gelirsek, teknik olarak işlemciniz doğrudan ram üzerinde değişiklik yapmaz, kendi üzerinde Register adı verilen hafızalar üzerinde işlem yapar. İşlemciden işlemciye değişmekle birlikte, günümüz mimarisi olan x86 mimarisinde örnek olarak EAX, EBX, ECX registerlarını kullanabiliyoruz.

Kısaca sizin assembly kodunuzda,

Alıntı
ADD EAX, 80
yazıyorsa, bu EAX registerindeki veriye 80 ekleyip EAX registerine yaz demektir. Yani bu işlemden önce EAX registerinde 50 varsa, işlem sonucunda 130 olacaktır.

Peki bu kodun doğrudan makine dilindeki karşılığı nedir? Aşağıdaki kodlar 16'lık sistem üzerinde olacak (Hexadecimal, kısaca hex). Daha sonra 1-0lara dönüştüreceğiz.
ADD komutunun x86 mimarisindeki hex karşılığı 83'tür. ADD için 83 yazdık.
EAX registerinin karşılığı, C0'dır. Bunun için de C0 yazdık.
80 dediğimiz bildiğimiz bir sayı olduğu için 16lık sistemde yazmamız yeterli, 50.
Yani assembly dilindeki
Alıntı
ADD EAX, 80
komutu, HEX olarak makine dilinde
Alıntı
83C050
halindedir. Yani işlemci bu sayının direk ikilik karşılığını okur:
Alıntı
100000111100000001010000
Buradaki ilk 8 rakam hangi işlem olduğunu belirtiyor, sıradaki 2 8 rakam ise parametreleri belirtiyor.
İşlemci hangi işlemin kaç parametre olduğunu kendi içindeki hafızasından bildiği için doğrudan okuyor.

Burada anlattıklarım okyanusta bir damla su ancak yine de belli bir fikir verebilmiştir umarım.

İyi günler, zamanım olursa daha detaylı şekilde anlatabilirim

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:16:53 -->-> Daha önceki mesaj 11:10:46 --

Yok eğer ki ben işlemcinin bu 1-0ları neye göre anladığını da bileceğim diyorsanız onun da tabi ki çok basit bir mantığı var ancak üniversitede bir dönemde anlatılan bir konu, internetten computer architecture şeklinde bakarsanız pek çok makale ve konu ile karşılaşacağınızı düşünüyorum