Professional Documents
Culture Documents
;Örnek 2
Xchg Ax, Bx ;ax ile bx registerindeki değerler karşılıklı olarak yer değişti
• Genel tanım Xchng operand1, operand2
• Operand olarak segment registerlar
kullanılamaz. Ayrıca operandların her ikisi de
bellek bölgesi olamaz. Sabit değerler operand
olarak kullanılamaz. Kullanılan operandların
uzunlukları aynı olmalıdır.
• Aşağıdaki örnekler yanlıştır.
Xchg Ax, 15 ;yanlış
Xchg [100], [200] ;yanlış
Xchg Byte Ptr [100], [200] ;yanlış
Xchg Word Ptr [100], [200] ;yanlış
Xchg Al, Bx ;yanlış
Xchg Es, Ax ;yanlış
Xchg Ds, Es ;yanlış
Xchg Ip, Sp ;yanlış
XLAT komutu
• XLAT, bir byte’lar bloğunun (veya dizisinin)
istenilen bir elemanına erişmek için kullanılır.
• Genel formu XLAT ‘ dır. Yani operandsız
kullanılır. Bu komut belirli registerları gizlice
kullanır.
• Aşağıdaki program parçasında XLAT komutu, tablo
adındaki dizinin 12. elemanına erişip ASCII karakterin hex
karşılığını AL’ye yükler.
jmp start
tablo db '0123456789ABCDEF'
start:
mov al, 0bh
lea bx, tablo
xlat