2016-04-09 13 views
-4

montaj sözdizimi Ne karşılaştırmak olduğu meclisinde iki değişken karşılaştır?2 değişken eşitse

Zaten

this denedim ama işe yaramadı. x86 montajında ​​

+1

Ne montaj? ne denedin ne üretiyor? –

cevap

0

gelen talimat CMPSD olup. Intel Instruction manual yılında

işlemkodu olarak tarif edilir bayt: A7 --- talimat: CMPSD --- Kodlama: NP --- 64 bit: Geçerli --- 32 bit: Geçerli

    eski modu için
  • , adres DS de DWORD karşılaştırma (E) SI adresi ES de DWORD ile (E) DI; (| E R) DI adreste dword ile | (E R) SI 64 bit modu için
  • adreste DWORD karşılaştırın. durum bayrakları buna göre ayarlanır.

CMPSD iki bellek işlenen karşılaştırır ve buna göre Jcc/CMOVcc/... tüketimi için EFLAGS durum bayrakları ayarlar.

Yani, 1,2,4,8 bayt gibi diğer değişken boyutları için, bu

lea esi, var1  ; ESI = address of var1 
lea edi, var2  ; EDI = address of var2 
cmpsd    ; compare them 
Jcc...   ; use (E)FLAGS 

gibi iki DWORD/4 baytlık değişkenleri kurulum ESI ve EDI karşılaştırmak için CMPS (B, W, D kullanımı , Q) sırasıyla.

İlgili konular