Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: nadin en 2 Junio 2013, 03:20 am



Título: Ensamblador y C
Publicado por: nadin en 2 Junio 2013, 03:20 am
Tengo que disenar un programa en ensamblador que interactue con una funcion escrita en C. la funcion en C se encargara de realizar una multiplicacion con dos parámetros y devolvera su resultado al programa en ensamblador.
El programa en ensamblador pedira los dos parámetros por teclado, llamara a la funcion y devolver el resultado en pantalla


Título: Re: Ensamblador y C
Publicado por: dooque en 2 Junio 2013, 18:50 pm
y tu pregunta cual es? (no se si leiste las normas del foro pero no hacemos ejercicios)

De nuevo, no tengo claro cual es tu duda. De paso podrías darnos algo más de informacion, por ejemplo:

> Arquitectura
> Sistema Operativo
> Version de C
> Compilador
> Ensamblador

Sds.


Título: Re: Ensamblador y C
Publicado por: dato000 en 3 Junio 2013, 20:01 pm
Tengo que disenar un programa en ensamblador que interactue con una funcion escrita en C. la funcion en C se encargara de realizar una multiplicacion con dos parámetros y devolvera su resultado al programa en ensamblador.
El programa en ensamblador pedira los dos parámetros por teclado, llamara a la funcion y devolver el resultado en pantalla

Di por favor, y además no se entiende que quieres, una función en C? facil en ensamblador lo que se puede hacer es dumpear ciertos resultados y mostrarlos en memoria, pero no he visto como hacer para que se haga compile un codigo HEX directamente en windows, a lo mucho, ponerlo en un editor HEX y ver su resultado en pantalla con desensamblador.

Ya de por si cuando usas C estas compilando, eso quiere decir que estas pidiendo un espacio de memoria, y como no estas usando memoria dinamica se usa un determinado parametro denominado "Head/Cabecera" en donde se resuelven las peticiones que no requieran demasiada memoria (como por ejemplo puede ser ejecuciones de main o pequeñas operaciones) así que estas requiriendo una ejecución directa del procesador para realizar tales procedimiento, en los cuales pasan desde comandos y funciones que son entendidas por el programador (programadas en C) y pasan a un lenguaje ensamblado (el compilador) que luego terminan siendo ordenes en lenguaje maquina/binario (el procesador) que se ejecutan en un determinado periodo haciendo lo que se le ordena.

Viejo quieres un programa en C que haga una multiplicacion, y retorne un resultado para mostrarlo en pantalla, vale, pero hay formas de solicitar las cosas, te sugiero que aprendas a hacer las cosas y no confundir terminos, aprende lo basico, o sino terminas con una laguna muy profunda.

Ah y el código... bueno, di por favor.  :silbar: :silbar:


Título: Re: Ensamblador y C
Publicado por: 0xDani en 4 Junio 2013, 17:04 pm
Dejando de lado lo poco que ha especificado el usuario, ahí va un tip sobre como se podría hacer esto:

Creas un archivo en el que implementes la función de C:

Código
  1. // mul.c
  2.  
  3. int mul(int a, int b)
  4. {
  5. return a*b;
  6. }
  7.  

Y lo compilas (sin enlazarlo), con gcc sería tal que así:

Código
  1. gcc -c mul.c -o mul.o

Después creas tu archivo de código en ensamblador, que llame a la función de C (acuérdate de declararla como extern) y lo ensamblas. Después enlazas los dos ficheros juntos.

Saludos.


Título: Re: Ensamblador y C
Publicado por: xv0 en 4 Junio 2013, 18:53 pm
No saben que en este foro no se hacen tareas?

Es un trabajo seguro, porque lo que quiere hacer no tiene sentido alguno, al menos para mi, usa la instrucción mul o imul sera más eficiente que la función escrita en  C.

Un saludo.


Título: Re: Ensamblador y C
Publicado por: 0xDani en 4 Junio 2013, 20:21 pm
No saben que en este foro no se hacen tareas?

Es un trabajo seguro, porque lo que quiere hacer no tiene sentido alguno, al menos para mi, usa la instrucción mul o imul sera más eficiente que la función escrita en  C.

Un saludo.

Evidentemente es un trabajo, pero dado que el usuario que preguntó no parece que vaya a responder, lo dejo simplemente para quien lo vea.


Título: Re: Ensamblador y C
Publicado por: leosansan en 4 Junio 2013, 20:53 pm
................................ lo dejo simplemente para quien lo vea.

Yo, por ejemplo. Gracias 0xDani por compartir conocimientos. ;-) ;-) ;-) ;-)

Saluditos! .... ..(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: Ensamblador y C
Publicado por: 0xDani en 5 Junio 2013, 16:01 pm
Yo, por ejemplo. Gracias 0xDani por compartir conocimientos. ;-) ;-) ;-) ;-)

Saluditos! .... ..(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)

De nada, para eso estamos  :)