Assembly Oğreniyorum..!
Programlama0 Mesaj
●35 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- Assembly Oğreniyorum..!
-
26-09-2019, 08:35:44Merhaba arkadaşlar. bundan sonra bi terslik cıkmazsa burada assembly anlarmayı duunuyorum. bi alt yapı oluşturmak istiyen arkadaşlar dersleri takip edebilir.Bu kadar edebiyeat yeter başlıyalım oncelikle bazı terimleri acıklıyayım; Bit:işlemciye gonderilen 1 veya 0 sinyali. Byte:8 bitten oluşan bir dizidir. Word(kelime):işlemci turune gore değişen, işlemcinin bir anda işleyebildiği bit dizisidir. işlemciye gore değişir. orneğin 8 bitlik bi işlemcide 1 word=8 bittir. Makina Dili:Mikroişlemcinin tanıyabildiği, 1 ve 0 dizilerinden oluşan dildir. Makine dili ile program yazmak zor olduğu icin mnemonic adı verilen kısaltmalarla program yazma yoluna gidilmiştir. Bu mnemoniclerin oluşturduğu dile assembly adı verilir. Aseembly dili alt duzey bir dildir. Ornek: mov ax,0005 hexadesimal olarak: b80500 burada dikkatinizi cektiyse sayının lsb kısmı once msb kısmı sonra yazılmıştır yani 0005=0500 şeklinde. Kod mikrişlemciye bu şekilde gonderilir.burada b8 ise mov komutunun hex karşılığı. Kaydedicilerden birkacından bahsedecek olursak zero flag: bu sıfır bayrağıdır. işlemin sonucu 0 ise bu bayrak set edilir yani 1 olur eğer sonuc farklıysa bu bayrak 0 olur. carry flag: elde bayrağı. Eğer işlem eldeli ise bu bayrak set edilir değilse 0 lanır. negatif flag: eğer sayı negatif ise bu bayrak set edilir pozitif ise 0 lanır. Aritmetik işlemler: İkilik bir sayının negatifini alma ilk once sayının tersi alınır. Daha sonra 1 eklenir we sayının negatifi bulunmuş olur. Orneğin 1 sayısını lik tabanda gosterelim ve ters işaretini alalım. 00000001 tersi 11111110 1 eklersek 11111111 olur. Yani ikilik tabanda -1 = 11111111 dir. Şimdi sorarsınız o zmn 255 i nasıl ayırt edicez die. İşte cvp yukarıda soylediğim negatif flag sayesinde. Bu bayrak 1 se -1, 0 sa 255 dir. Devam Edecek...... sorularınızı sorabilirsiniz. __________________