Domanda

Utilizzando objdump per capire un binario e mi rendo conto che non sono abbastanza fluente in sintassi ASM. Che cosa significa il seguente concetto?

xor    %al,-0x1(%edx,%ecx,1)

E mentre ci sei? - cosa devo cercare al fine di trovare della documentazione su tali nozioni

È stato utile?

Soluzione

Le parentesi sono gli offset di memoria:

-0x1(%edx,%ecx,1) (AT & T sintassi) è pari a [edx+ecx*1-1] (sintassi Intel)

Guida rapida per AT & T sintassi assembly (secondo la vostra richiesta).

Altri suggerimenti

Questa è esclusivo o con contenuto del byte basso (% al) del 'un' registro e il contenuto della memoria all'indirizzo che è la somma di 'd' ampi registri 32 bit (% edx) , 'c' moltiplicato per 1 (% ecx, 1) e -1. Il risultato viene ripristinato al% al. In C

al ^= (char*)(edx+ecx*1 - 1);

Si può cercare cose come questo a sandpile o nel / documentazione di AMD Intel.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top