ciao a tutti!
sono alle prime armi dell'assembly e volevo vedere come era un programma in c trasformato in linguaggio assembly.
ho digitato un po di codice e mandato in esecuzione con il debug e GDB.
arrivato qui:
int a= 262144;
la istruzione assembly equivalente dovrebbe essere questa:
0x004013be <+14>: mov DWORD PTR [esp+0x18],0x40000
ptr è usato per le conversioni e in questo caso la conversione è a 32 bit.
non ho capito invece perchè bisogna mettere in esp( stack pointer ) + 0x18 il valore 262144?
un altra cosa: 262144 è rappresentato in forma esadecimale ma quello che non mi è familiare è lo 0x davanti al valore( mi ricordavo che si utilizzava per gli indirizzi )... ma se con le costanti allora si usa questa forma, con gli indirizzi come si fa?
grazie mille in anticipo![]()