![]() |
|
|
|
#1 |
![]() |
Makine Komutlarının Açıklanması
Her makina komunun firma tarafından belirlenmiş biçimleri bulunmaktadır.Bir komut öğrenilirken bütün bu biçimlerin öğrenilmesi gerekir.Komutların açıklamasında kullanılacak kısaltmalar ise şunlardır; sreg : Segment Register reg : Register reg/mem : Register yada Memory sabit : Sabir bir sayı MOV KOMUTU Bu komut register ve memory arasında transfer işleminde kullanılmaktadır.. Biçimleri ise şunlardır.. reg <- -> reg/mem reg/mem <- -> sabit sreg <- -> reg/mem Not: Bir işlem yapılacaksa ilk tercih edilecek register AL ya da AX olmalıdır.Nedeni ise işlemci eğer operand AL ya da AX ise bazı komutları daha etkili çalıştırmaktadır.Doğrudan segment register'a sabit atılmamalıdır.. Yani ; Kod:
MOV SS, 1234 yerine ; Kod:
MOV AX, 1234 MOV SS, AX yapılabilir.. Mov makine komutu hiçbir flah register'ını etkilememektedir.Bellekteki istenilen bir bölgeyi görüntülemek için bellek penceresine gelinir, mouse sağ click yapılarak goto seçilir.Orada ise şunlar geçerlidir; *Yalnızca offset Sreg ffsetSegment ffsetHatırlatma Hex sistemde alfabetik karakterlerle başlayan sayılar değişken isimleriyle karşılaşabileceği için başına 0 eklenerek girilmelidir. Örnek olarak ; FC10 şeklinde değil -->> 0FC10 biçiminde yazılmalıdır.. ADD KOMUTU Biçimleri reg <- -> reg/mem reg/mem <- -< sabit Örnek : Kod:
MOV AX,BX MOV AX,[SI] Bu komutun etkili olduğu bayraklar ise ; AF,CF,OF,PF,ZF bayraklarıdır.. ADC KOMUTU Biçimleri reg <- -> reg/mem reg/mem <- -> sabit Mikroişlemcilerin hemen hemen hepsinde bu işlemi yapan bir toplama komutu vardır.ADD komutundan farklı olarak iki operandın toplamından başka birde CF bayrağınıda toplamaktadır.Bu komut yardımıyla işlemcinin register uzunluğundan büyük iki tamsayı toplanabilir.Böylelikle 16 bit sistemde 32 bitlik iki sayı önce düşük anlamlı WORD değerleri ADD komutuyla , sonra yüksek anlamlı byte'ları ADC komutuyla toplanabilir. Örneğin: Dos altında C'de iki long sayıyı topladğımızda işlemler aşağıdaki gibi yapılacaktır.. long a = 0x12345678,6 = 0x87654321; Kod:
DS:200 12345678 DS:204 12345678 MOV AX,[200] ADD AX,[204] MOV[208],AX MOV AX,[202] ADC AX,[206] MOV[20A],AX Not: Belleğin istediğimiz bir bölgesine değer girmek için mouse bellek bölgesine getirilip click yapılır ve istenilen sayılar klavyeden girilir.. Oguzz thecoders.net
__________________
![]() We are the world We are the children We are the ones who make a brighter day So let's start giving There's a choice we're making We're saving our own lives It's true we'll make a better day Just you and me
|
|
|
|
![]() |
| Bookmarks |
| Etiketler |
| açıklanması, komutlarının, makine |
| Konuyu toplam 1 üye okuyor. (0 Kayıtlı Üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|
saç ekimi evden eve nakliyat Lida Yosun Kapsülü ürünü hakkında bilgi içerir |