Assembly Ders Notları

GENEL AMAÇLI TRANSFER KOMUTLARI

Mov Komutu

 Bir byte veya bir Word uzunluklu bilgilerin 2 register arasında yada bir bellek bölgesiyle bir register arasında transfer edilmesini sağlar

Genel Formu: MOV alıcı,gönderici

Alıcı Alan

Operand Tipi

Gönderici Alan Operand Tipi

Register

Bellek

Bölgesi

Sabit

Register

Bellek Bölgesi

 Bir register ile başka bir register arasında bilgi transferi yapılırken alıcı alan olarak kullanılan register gönderici alan olarak kullanılan registerdan mutlaka büyük yada eşit olmak zorundadır.

 Segment registerları arasında bilgi transferi doğrudan yapılamaz, arada geçici bir regisyer kullanmak gerekir. Yani 2 segment registeri arasında bilgi transferi dolaylı yoldan yapılır.

 Bir data registerlarına sabit bir değer aktarılmak istenildiğinde alıcı alan olarak kullanılan registerın sabit değerin büyüklüğünden büyük ya da eşit olması gerekir.

 Bir bellek bölgesine bir data registerdan veri aktarmak istenildiğinde bellek bölgesi üzerinde herhangi bir düzenleme işlemi yapılmaz.

 Bir bellek bölgesinden başka bir bellek bölgesine veri transfer yapılmak istenildiğinde bu işlem arada geçici bir register kullanarak (dolaylı yoldan) yapılır.

 Bir bellek bölgesine sabit bir değer aktarılmak istenildiğinde alıcı alan olarak kullanılan bellek bölgesinin düzenlenmesi gerekir. Bellek bölgesine aktarılacak sabit byte uzunluklu ise Byte PTR, aktarılacak değer Word uzunluklu ise Word PTR ön ekini kullanmak gerekir.

Xchg Komutu

 2 register arasında yada bir bellek bölgesi ile bir register arasında verilerin karşılıklı olarak değiştirilmesini sağlar

Genel Formu: XCHG opr1,opr2

Xlat Komutu

 Bir byte bloğunun (byte dizisinin) istenilen bir elemanına erişmek için xlat komutu kullanılır.

Genel Formu: XLAT

 XLAT komutu parametresiz yazılır, fakat bu komut bazı registerları gizlice kullanır. Bu komut çalıştırılmadan önce erişmek istenen byte dizisinin başlangıç adresi BX registerına, dizinin erişilmek istenen elemanının indexi de AL registerına aktarılır. Bu işlemden sonra XLAT komutu çalıştırıldığında BX içerisinde yer alan başlangıç adresinden AL içerisinde yer alan index’e erişilmiş olur ve sonuç yine AL registerına aktarılmış olur.

ADRES TRANSFER KOMUTLARI

LEA Komutu

 Bir değişkenin ofset adresini alıcı alan olarak kullanılan registera aktarır.

Genel Formu: LEA alıcı,değişken

LDS Komutu

 Lea komutundan farklı olarak değişkenin ofset adresini alıcı alan registerına aktardığı gibi aynı zamanda AX registerının içerisine de değişkenin bulunduğu segmentin adresini aktarır.

Genel Formu: LEA alıcı,değişken

NOT: LDS komutunun icrasından sonra AX registerına aktarılan DS’in başlangıç adresi DS registerına aktarılır.

LES Komutu

 LEA komutuna ek olarak değişkenlerin bulunduğu segmentin başlangıç adresini ekstra segment registerına aktarır.

LAHF Komutu

 Flag registerının ilk 8 bitini AH registerına aktarmak için kullanılır.

Genel Formu: LAHF

(Flag registerının 1 byte kısmını AH olarak alır)

SAHF Komutu

 AH registerının içerisinde bulunan 1 byte’lık değeri flag registerının düşük değerlikli 8 bitine aktarır.

Genel Formu: SAHF

IN / OUT Komutu

 İn komutu port no olarak belirtilen bir port’a 1 byte’lık veya 1 Word’lük bilgiyi alarak akümülatör registerına (AX) aktarır. OUT komutu ise AX registerında var olan bir byte’lık veya 1 Word’lük bilginin port no olarak belirtilen port’a gönderilmesini sağlar. İN ve OUT komutları ile gönderilecek bilgi 1 byte’lık ise AL registerını, gönderilecek bilgi 1 Word’lük ise AX registerını kullanılması gerekir.

Genel Formu: IN Akümülatör,Port no

 OUT port no,Akümülatör

Tarih:
Hit: 7670
Yazar: serhat8102

Taglar: assembly.


Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.