80×86 Assembly – MOVZX Komutu

MOVZX Komutu

MOVZX komutu, 8 bitlik değeri 16 bit veya 32 bitlik alana, 16 bitlik değeri ise 32 bitlik alana yerleştirir. İşaret uzantısı en anlamlı bitlerin 0 ile doldurulmasıyle elde edilir. Genel olarak ilk işlenen, ikinci işlenenden en az bir boyut üstte olmalıdır. Bu durumda işlenende bulunan değer daha üst büyüklüğe işaretsiz sayı olarak aktarılmış olur.

MOVZX -> Move with Zero Extention

  • Desteklenen mimarilar: 80386/80486

Olası MOVSX işlenen kombinasyonları;

Komut İşlenen 1 İşlenen 2
MOVZX reg reg
MOVZX reg mem

 

MOVZX Komutu Örnekleri

 

AL yazmacındaki 8 bitlik değeri 32 bite uzatarak EAX yazmacına aktarır.  8-31. bitler 0’dır. Mesela; AL 24H olduğunu varsayarak bu işlemi uyguladığımızda, EAX 00000024H olacaktır.

ESI ile belirlenen bellek gözündeki 16 bit değeri 32 bite uzatarak EDI yazmacına yerleştirir. 16-31. bitler 0’dır. WORD PTR ifadesi ile bellekten bir word alınacağı belirtilmektedir.

DL yazmacındaki 8 bitlik değeri 16 bite uzatarak CX yazmacına aktarır. 8-15. bitler 0’dır.

BL yazmacındaki değeri işaret değeri 0 olacak şekilde BX yazmacına yayar. Ancak MOV BH, 0 işlemi bu işleme göre daha kısa sürede tamamlanır.

Leave a Reply

Your email address will not be published. Required fields are marked *