Anuncios Google

código ensamblador

Hola,

Necesito aclarar un par de cosas,

1º - ¿Es posible obtener el código ensamblador de un programa con el devKitPRO? Con el gcc basta con poner -S al compilar, pero en este caso que hace la compilación él mismo, no sé dónde poner el -S.

2º - ¿Es posible introducir en un proyecto parte del código en ensamblador?

Muchas gracias de antemano.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de best_guitar

hola elur

no se a que te refieres con obtener codigo ensamblador con el devkitpro(dkp). dkp te proporciona librerias para poder programar sobre diversas consolas. Tampoco acabo de entender el parametro -S, ¿dices que es para compilar codigo ensamblador? el hecho de que hace la compilación el mismo, ¿te refieres a algun IDE como el PN2? por que si lo haces por linea de comandos imagino que debes compilar mas o menos asi... gcc prog.c -o -S prog.exe.

 

Sobre tu segunda pregunta casi estoy seguro de que si, ahora, debe ser codigo ensamblador del arm, no del 80x86 que es el que conocemos academicamente. diria que es:

asm{...}

 

Ejpero haberte orientado algo.

Saluts!

Hola Best_guitar, Obviamente

Hola Best_guitar,

Obviamente no me he expresado bien al hacer la 1ª pregunta. Como tú bien dices, si utilizo directamente el gcc para compilar y quiero obtener el código ensamblador del programa que yo he escrito en C, utilizaría la linea de comandos que has escrito tú:

gcc prog.c
 -o -S prog.exe. 
Siendo el flag -S el que nos proporciona el código ensamblador.

El tema es, que yo cuando he compilado para la NDS, siempre lo he hecho mediante el dkp y utilizando makefiles. He intentado poner el -S en muchísimos sitios diferentes para lograr el código ensamblador, pero de todas todas me da error. Lo que me gustaría saber es dónde en el makefile necesito introducir el -S para obtener el código ensamblador, es decir, el fichero prog.s.

En cuanto a la segunda pregunta, está respondida.

Muchas gracias por todo,

Elur.

Gracias por la intención pero

Gracias por la intención pero eso me soluciona el problema. Sigo sin poder obtener el código ensamblador, porque no se dónde tengo que poner el -S. Si en algún momento lo consigo lo colgaré en este foro.

obtener el ensamblador

Ya está.

En los makefile, tanto del ARM7 como del ARM9 hay una linea para introducir los flags.

CFLAGS    :=    -g -Wall -S -O2\

El -S que se ve ahí es el que hace que se obtenga el código ensamblador. Mi problema, y lo cuento para que nadie más se vuelva loco como lo he hecho yo, era que esperaba obtener un fichero .s con el lenguaje ensamblador, en cambio el fichero obtenido es un .o .

El flag -O, dependiendo del número que le pongamos al lado, nos devuelve el código ensamblador más o menos optimizado.

Un saludo!

 

Imagen de best_guitar

estupendo elur, y gracias por

estupendo elur,

y gracias por informarnos de tu solución!

Por cierto, he probado lo que te dije pero no he conseguido compilar la funcion, con asm{ MOV R1,R0}

Me da error de compilacion. ¿sabes por que?

Saluts!

Estoy en ello, cuando lo

Estoy en ello, cuando lo consiga lo mando.

Imagen de best_guitar

Si quieres ver el assembler

Si quieres ver el assembler del programa puedes utilizar el "ideas" en modo debugger.

¿que desensamblador utilizas para ver el codigo ensamblador?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.