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.
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!
Visita mi blog. Zenit + 5 will win
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ú:
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!
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!
Visita mi blog. Zenit + 5 will win
Estoy en ello, cuando lo
Estoy en ello, cuando lo consiga lo mando.
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?
Visita mi blog. Zenit + 5 will win