Autor
|
Tema: Ensamblador y C (Leído 3,678 veces)
|
nadin
Desconectado
Mensajes: 4
|
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
|
|
« Última modificación: 2 Junio 2013, 17:17 pm por nadin »
|
En línea
|
|
|
|
dooque
Desconectado
Mensajes: 170
|
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.
|
|
|
En línea
|
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Kernighan
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
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.
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
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: // mul.c int mul(int a, int b) { return a*b; }
Y lo compilas (sin enlazarlo), con gcc sería tal que así: 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.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
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.
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
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.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
|
|
« Última modificación: 5 Junio 2013, 15:25 pm por leosansan »
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ensamblador
Electrónica
|
marcela
|
0
|
2,806
|
30 Mayo 2005, 19:23 pm
por marcela
|
|
|
ensamblador
Ingeniería Inversa
|
CYPRESSKILL
|
2
|
3,301
|
21 Noviembre 2005, 00:09 am
por CYPRESSKILL
|
|
|
Ensamblador en .NET
.NET (C#, VB.NET, ASP)
|
DragonFire
|
6
|
6,605
|
19 Agosto 2006, 05:51 am
por JuanK_Solocodigo
|
|
|
Ensamblador
ASM
|
Feynstein
|
4
|
3,417
|
10 Mayo 2020, 19:49 pm
por Feynstein
|
|