enlazar VC++ con ASM ...

17/07/2005 - 11:49 por Jordi Maycas | Informe spam
Hola, os explico lo que estoy haciendo.

Con ayuda de algun codigo que he conseguido por internet, me estoy haciendo
en ensamblador un codigo para poder arrancar desde disco, y lo tengo todo ya
preparado. Ahora se me ha ocurrido, ya que tengo un problema con el
tratamiento de cadenas de caracteres que estoy intentanto solventar
directamente en asm, el hacer las funciones en C, mas bien ANSI C, es
decir trabajar directamente con punteros, y poco mas, nada de
interrupciones DOS.

¿Se podrian hacer las funciones (algo como montar una libreria string...),
generar los .obj y luego enlazarlo con mi codigo?

Aunque ahora que pienso, lo que hago es generarme un fichero bootcode.asm,
compilarlo (obj),y luego pasarlo a .com ... ¿Cual seria la manera de poder
incluir esas rutinas que he creado mas facilmente en C?

Gracias
 

Leer las respuestas

#1 Fernando Marin
23/07/2005 - 14:32 | Informe spam
Hola Jordi

¿Por qué no pones directamente el código ASM en
un programa escrito en C?

Algo así:

//Función que Suma dos Numeros
long Suma(long lA, long lB)
{
_asm {
MOV EAX, lA // eax = lA
MOV EBX, lB // ebx = lB
ADD EAX, EBX // eax = eax(lA) + ebx(lB);
MOV lA, EAX // lA = eax
}
return lA;
}

Fernando Marín
www.visual-c.net



"Jordi Maycas" escribió en el mensaje
news:
Hola, os explico lo que estoy haciendo.

Con ayuda de algun codigo que he conseguido por internet, me estoy
haciendo en ensamblador un codigo para poder arrancar desde disco, y lo
tengo todo ya preparado. Ahora se me ha ocurrido, ya que tengo un problema
con el tratamiento de cadenas de caracteres que estoy intentanto solventar
directamente en asm, el hacer las funciones en C, mas bien ANSI C, es
decir trabajar directamente con punteros, y poco mas, nada de
interrupciones DOS.

¿Se podrian hacer las funciones (algo como montar una libreria string...),
generar los .obj y luego enlazarlo con mi codigo?

Aunque ahora que pienso, lo que hago es generarme un fichero bootcode.asm,
compilarlo (obj),y luego pasarlo a .com ... ¿Cual seria la manera de poder
incluir esas rutinas que he creado mas facilmente en C?

Gracias


Preguntas similares