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

Preguntas similare

Leer las respuestas

#6 Isidro Muñoz
02/08/2005 - 21:00 | Informe spam
Tienes razon que usando funciones de C puro es más sencillo se programar que
en asm.
Pero una comparación de cadena, creo que eso en asm es fácil de hacer, yo
ahora mismo no lo sé, porque nunca he trabajo en plan serio en asm, he hecho
cositas y hace mucho tiempo.

Pero si las haces en C puro y linkas no tendras ningun problema.

Saludos
Isidro

"Jordi Maycas" escribió en el mensaje
news:
en principio no hay problema. Si mira el fichero que envie hay dos


codigos..
bootsect (512 bytes) y bootcode (sin problema por sobrepasarlos). En este
ultimo en donde yo voy añadiendo cosas y probando.

La cosa es que no se, tal vez seria mucho mas senzillo algo como el


strcmp..
parecido a:

int strcmp_new(char *cad1,*cad2)
{
int contador;
*cad1=0;
while (*cad1==cad2)
*cad1++;

...
}

Eso compilarlo.. y desde el asm usarlo.

Quiero decir, es mucho mas senzillo hacer las tipicas funciones en ansi C,
que currarselo en asm.

"Isidro Muñoz" <imunoz@()daipro.net> escribió en el mensaje
news:
> Hola Jordi,
>
> Yo personalmente creo que no tendras ningun problema en enlazar un .obj
> asm
> con un .obj en C, lo único que tendras que tener en cuenta será la


llamada
> de las funciones y la forma en que los parametros iran en la pila.
>
> Lo único que tendras que controlar es el fichero .com generado al final


(
> que será el código de arranque del diskette o disco duro ) no sobrepase
> 512
> bytes, que es tamaño del sector, en cuyo caso tendrías que hacer tu


propio
> loader al arrancar el diskette de tu programa.
>
> Saludos
> Isidro
>
>
>
> "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
>>
>>
>>
>
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida