ejecutar ensamblado dentro de una función en c ++

    
long getesp() {  
    __asm__("movl %esp,%eax");  
    }  

    void main() {  
    printf("%08X\n",getesp()+4);  
    }  

¿por qué el esp apunta al valor antes de configurar el marco de la pila y hace alguna diferencia entre el código a continuación?

   
void main() {    
   __asm__("movl %esp,%eax");    
   } 

Respuestas a la pregunta(1)

Su respuesta a la pregunta