char _a='f';
char *_buffer=&_a;
int main()
{
asm("movl $3,%eax");
asm("movl $0,%ebx ");
asm("mov _buffer,%ecx"); //asm("mov _a,%ecx "); <---- esta linea
asm("mov $30,%edx");
asm("int $0x50");
system("PAUSE");
return EXIT_SUCCESS;
}
me dice [Linker Error] undefined reference to `buffer' e probado colocando la variable "a" directamente pero medice en mismo problema con dicha variable
como lo arreglo :) si me aclaran la duda
Cita de: MessageBoxA en 11 Marzo 2011, 07:13 AM
char _a='f';
char *_buffer=&_a;
int main()
{
asm("movl $3,%eax");
asm("movl $0,%ebx ");
asm("mov _buffer,%ecx"); //asm("mov _a,%ecx "); <---- esta linea
asm("mov $30,%edx");
asm("int $0x50");
system("PAUSE");
return EXIT_SUCCESS;
}
me dice [Linker Error] undefined reference to `buffer' e probado colocando la variable "a" directamente pero medice en mismo problema con dicha variable
como lo arreglo :) si me aclaran la duda
Me parece que tu problema esta con el uso de la sintaxis AT&T lee un poco sobre el asm inline con el compilador GCC, aqui te pongo un texto de referencia
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html (http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html)
asm("mov __buffer,%ecx"); //->
Igual concuerdo en que tal vez no tengas muy clara la sintaxis, pero el problema de la variable se debe a que necesitas agregar un guion bajo, no cuenta el que agregas en la declaración.
Saludos
cierto se me olvidaba que tenia que colocar el guion bajo jeje
al pana anterior la sintaxi esta bien