[C con Clase] Ensamblador (sintaxis intel) en C usando gcc.
Steven R. Davidson
vze266ft en verizon.net
Mar Feb 5 20:27:50 CET 2008
Hola Adolfo,
Adolfo Cárdenas wrote:
> He tratado de usar asm{} en dev c++ para windows y me salio el error
> 54 expected '(' before token "{"
La sintaxis correcta de 'asm' de la versión más reciente de ANSI C++ es
la siguiente:
asm ( <cadena_de_caracteres> );
Como puedes ver, se usan paréntesis y no llaves. Por ejemplo,
asm( "mov eax,5\n"
"mov ebx,10\n"
"add eax,ebx\n" );
También ten presente que Dev-C++ usa el compilador de Mingw el cual se
basa en GNU. El ensamblador de GNU se llama GAS que sigue la sintaxis de
ensamblador de AT&T. Esta sintaxis es diferente a la de Intel que suele
ser la usada por ensambladores bajo MS-DOS y MS-Windows como MASM,
TASM/BASM, NASM, etc..
> Tambien probe generar un .obj con TASM e incluirlo en el programa y el
> compilador me pide tipos de datos para funcines y variables extern.
>
> ¿Hay un ejemplo para usar ensamblador?
>
Me temo que cada ensamblador es diferente no solamente en sintaxis pero
también en las instrucciones existentes ya que dependen exclusivamente
del procesador en cuestión. Por lo tanto, cualquier ejemplo que te
pongamos puede o no serte de utilidad. Deberías decirnos cuál
ensamblador y plataforma estás usando.
Espero haber aclarado el asunto.
Steven
Más información sobre la lista de distribución Cconclase