Expresa tu intelecto...
Hola amigo, si deseas ver el contenido del foro al 100% y evitar la publicidad te invitamos a que te registres y seas parte de esta gran comunidad...

Atte: el Staff de MrHouseLight.foroactivo.net
Últimos temas
» Me gustaría ver gente
Dom Sep 27, 2015 6:16 pm por Cristianita

» Hola Mundo
Mar Mar 05, 2013 8:03 pm por Cristianita

» Baja Usuario
Miér Jun 20, 2012 11:19 am por yorebelde

» Las groserias fuertes de tu pais
Miér Jun 20, 2012 5:30 am por daviz2111

» Glee: The Music, Seasons 1 & 2 (En 320 kbps!!!) (Duets Actualizado en 320 kbps completo!!!)
Lun Abr 23, 2012 5:43 am por yorebelde

» Motivos diagonales para Photoshop
Miér Mar 21, 2012 7:35 pm por Gearchile14

» ¿Que cover te gusta mas?
Dom Oct 09, 2011 4:11 pm por Misha.Star.Malfoy.Cullen

» Expresa tu humor...
Dom Oct 09, 2011 3:58 pm por Misha.Star.Malfoy.Cullen

» holaa!! u.u
Dom Oct 09, 2011 3:50 pm por Misha.Star.Malfoy.Cullen

» The Antique Shop
Dom Oct 09, 2011 3:47 pm por Misha.Star.Malfoy.Cullen

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

La mayor cantidad de usuarios en línea fue 49 el Mar Sep 21, 2010 8:13 pm.
Contador total

Expresa tu intelecto... fue creado el Martes 15 Jun 2010 a las 04:55 PM, tiene 2959 días activo, 338 usuarios registrados, 310 temas creados, 7724 comentarios y 55 foros.
Ultimo usuario registrado: rolando24

Free counter and web stats
Mensaje privado al admin

Hibridacion entre C y ensamblador

Ir abajo

Tutorial Hibridacion entre C y ensamblador

Mensaje por MяHousєLιgнт el Lun Ago 23, 2010 5:39 pm

Unos de los programas o mas bien problemas que anualmente nos proponen en la carrera de ingeniería en sistemas es como combinar dos lenguajes de programación diferentes en uno solo, comúnmente esto lo hacemos en lenguaje ensamblador con lenguaje C, por eso he decido colocar un mini tuto que muestre como es esto posible.

primero que nada tenemos que tener dos códigos fuentes, uno de C y uno de ensamblador. en este caso el programa ya completo imprimirá en pantalla una lista de los primero 1000 primeros números primos, ya que el tuto trata de como hibridar solo explicare detalles importantes de los códigos fuentes.

Codigo en lenguaje C
#include 
extern int primo(int n);
main(){
int i,n;
n=1000;
for (i=2;i<=n;i++)
if (primo(i))
printf("%d ",i);
return 0;
}



como dije antes solo esplicare las partes importantes:
02: se declara una metodo de tipo entera de origen externo, quiere decir que no esta dentro de mismo código
07: se manda a llamar al procedimiento externo

ese código se guarda con nombre nprimo y con la extensión .cpp

Código en lenguaje ensamblador
.MODEL SMALL 
.CODE
PUBLIC _primo
_primo PROC NEAR
PUSH BP
MOV BP, SP
MOV SI, [BP+4]
MOV BX, 2
BUCLE: XOR DX, DX
MOV AX, SI
CMP AX, BX
JE PRIMO
DIV BX
OR DX, DX
JZ NOPRIMO
INC BX
JMP BUCLE
PRIMO: MOV AX, 1
JMP FIN ;
NOPRIMO:XOR AX, AX
FIN: POP BP
RET
_primo ENDP
END



03: Se declara el procedimiento publico que sera usado por C
04: Inicio del procedimiento
23: Fin del procedimiento

ese código se guarda con nombre nprimo y con la extensión .asm

ya que tenemos lo códigos creados y guardados tenemos que compilar de esta forma:

compilamos el codigo ASM desde la liena de comandos del MS-DOS con:

masm nprimo.asm

esto nos creara un archivo .obj el cual ahora tenemos que copiar y pegar en la carpeta de C y dejándolo en el mismo lugar de donde esta el código de C, ya seguros que el archivos .obj y cpp estan en la misma carpeta compilamos una vez mas ahora de esta forma

tcc -E nprimo.cpp nprimo.obj

el resultado en pantalla posiblemente marque dos errores pero no interrumpen el funcionamiento del programa, después de la compilación el resultado sera un ejecutable llamado nprimo.exe

y eso es todo, ya saben para dudas y comentarios pueden dejarlos aquí gracias sam


✪Dream Send me a sign, Turn back the clock, Give me some time, I need to break out✪
✪And make a new name, Let's open our eyes. To the brand new day ✪


[Tienes que estar registrado y conectado para ver esa imagen]
avatar
MяHousєLιgнт
Administrador
Administrador



Masculino

Tigre


Fecha de nacimiento : 15/12/1986
Mensajes : 1970
Edad : 31
Localización : ¡Junto a Cuddy! ¿donde mas?

http://mrhouselight.forosactivos.net

Volver arriba Ir abajo

Tutorial Re: Hibridacion entre C y ensamblador

Mensaje por xokolatiitho el Mar Ago 24, 2010 5:12 pm

pregunta!!
y observacion....
no mostrara los primeros 1000 numeros primos.... si no, los numeros primos que desde 2 hasta 1000 y realmente no son 1000.... kreo k son 100....
y la pregunta es.....
qp2 con el codigo en ensamblador.....
xk ya llevare esa materia...xD
avatar
xokolatiitho
TIESTO-BOY
TIESTO-BOY



Masculino

Caballo


Fecha de nacimiento : 03/05/1990
Mensajes : 155
Edad : 28
Localización : En Mi Casa...xD

Volver arriba Ir abajo

Tutorial Re: Hibridacion entre C y ensamblador

Mensaje por MяHousєLιgнт el Mar Ago 24, 2010 5:21 pm

haber, mira imprime los 1000 primeros números primos
independientemente desde que numero lo coloque ok?
y por favor que tu pregunta sea mas especifica por que no
se entiende que preguntas.


✪Dream Send me a sign, Turn back the clock, Give me some time, I need to break out✪
✪And make a new name, Let's open our eyes. To the brand new day ✪


[Tienes que estar registrado y conectado para ver esa imagen]
avatar
MяHousєLιgнт
Administrador
Administrador



Masculino

Tigre


Fecha de nacimiento : 15/12/1986
Mensajes : 1970
Edad : 31
Localización : ¡Junto a Cuddy! ¿donde mas?

http://mrhouselight.forosactivos.net

Volver arriba Ir abajo

Tutorial Re: Hibridacion entre C y ensamblador

Mensaje por xokolatiitho el Mar Ago 24, 2010 11:37 pm

¬¬....
andas en tus dias.... ya me di cuenta...
ya subi los de dragon ball.... pero no se escuchan muy bien...
mañana subo los de house
y los demas
avatar
xokolatiitho
TIESTO-BOY
TIESTO-BOY



Masculino

Caballo


Fecha de nacimiento : 03/05/1990
Mensajes : 155
Edad : 28
Localización : En Mi Casa...xD

Volver arriba Ir abajo

Tutorial Re: Hibridacion entre C y ensamblador

Mensaje por MяHousєLιgнт el Jue Ago 26, 2010 10:41 pm

no es eso, es por que te conozco, se como eres
y se que solo te gusta molestar, eres un Trol
si no sabes que es lee las reglas en la sección
de "Conductas inadmisibles" donde también veras
que se te puede bajar la barra de respeto si sigues así
esta es la advertencia numero 1


✪Dream Send me a sign, Turn back the clock, Give me some time, I need to break out✪
✪And make a new name, Let's open our eyes. To the brand new day ✪


[Tienes que estar registrado y conectado para ver esa imagen]
avatar
MяHousєLιgнт
Administrador
Administrador



Masculino

Tigre


Fecha de nacimiento : 15/12/1986
Mensajes : 1970
Edad : 31
Localización : ¡Junto a Cuddy! ¿donde mas?

http://mrhouselight.forosactivos.net

Volver arriba Ir abajo

Tutorial Re: Hibridacion entre C y ensamblador

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.