Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-10-2007
limbertx limbertx is offline
Registrado
 
Registrado: oct 2007
Posts: 2
Poder: 0
limbertx Va por buen camino
Question nesecito un Realizar EXE mediante codigo

Hola primeramente
mi problema es este ya investigue por todos lados y no encuentro nada sobre esto.

Resulta que estamos realizando un compilador en la Universidad, es decir nosotros introducimos el codigo fuente de nuestro propio lenguaje y a partir de este punto,
Empezamos a migrar a un codigo llamado c3 ó codigo de 3 direcciones , luego de ahi migramos a codigo assembler . donde esta el problema ya que todo esto esta enun archivo .txt .
nesecito que el .TXT mediante codigo delphi se genere un .EXE (Sera usando algun tipo de librerias para acceder al ASM) .

ya que el .TXT mediante el ASM mediante D.O.S. podemos realizar el .EXE sin problemas.

En otras palabras como manejar el ASSEMBLER mediante delphi.(algunas librerias)

Por favor es urgente
Doy gracias de por acceder ayudarme.....
Responder Con Cita
  #2  
Antiguo 19-10-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Si es para la universidad, ¿no te explicaron cómo hacerlo? ¿O en qué documentación encontrar la solución al problema? A mi siempre me han facilitado toda la documentación necesaria.

Así, a bote pronto, desde Delphi se puede llamar al ensamblador, y hasta aquí puedo leer .
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 20-10-2007
limbertx limbertx is offline
Registrado
 
Registrado: oct 2007
Posts: 2
Poder: 0
limbertx Va por buen camino
si es que existen algunas librerias me las podeis decir por favor
ya que busque en los libros y no encuentro nada


gracias...
Responder Con Cita
  #4  
Antiguo 20-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Cita:
Empezado por limbertx Ver Mensaje
si es que existen algunas librerias me las podeis decir por favor
ya que busque en los libros y no encuentro nada


gracias...

saludos, bueno yo no tengo conocimientos de ASM como para hacer un SO pero se algo, y hasta donde conozco para generar un .exe con ASM necestlas un Link y un Compilador, es decir, el Link lo que hace es crear un .obj para que sea entendido por el COmpilador mas tarde que convertirá este .obj en un archivo .exe o .com, como desees, lo que si es verdad que estará escrito para que el ordenador pueda entenderlo.

ahora, ¿tu me entiendes a mi?

saludos, aeff!!!

Última edición por aeff fecha: 20-10-2007 a las 22:44:38.
Responder Con Cita
  #5  
Antiguo 20-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
te sugiero que uses el MASM como compilador, claro teniendo un Link para el, lo llamas con ShellExecute de forma oculta pasandole como parametro #1 el nombre del fichero .asm, no .txt, o usas un truco que hay por ahi para que todos los mensajes, errores o warnings que emita el compilador en su proceso de compilación sea visualizado en un memo por ejemplo,

hace poco hice algo parecido a esto, es decir, un programa para crear programas en codigo ASM y hacia lo que te dije anteriormente con un MEMO,

espero que te sirva mi idea..
saludos!
Responder Con Cita
  #6  
Antiguo 21-10-2007
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Thumbs up

Para programar en MASM te recomiendo que uses un IDE, el mejor es RadASM y es gratuito

Compilador de MASM32 (Sitio oficial): http://www.masm32.com

RadASM (IDE) Para MASM32 (Sitio oficial): http://www.radasm.com

Saludos y espero que te sea de utilidad.

Última edición por Black_Ocean fecha: 21-10-2007 a las 04:54:03.
Responder Con Cita
  #7  
Antiguo 21-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
bueno, para programar en el MASM solo necesitas crear un .asm el cual puedes hacerlo con el Block de Notas, guardar el fichero .txt y luego renombrarlo como .asm, despues copias el MASM en el mismo directorio de este fichero .asm y en ejecutas el MASM.exe y como parametro le pasas el fichero .asm,

por ejemplo, en el cmd:

Código:
masm.exe aeff.txt
recuerda, todo en el mismo directorio, sino, no compila, ¿ok?

saludos!
Responder Con Cita
  #8  
Antiguo 21-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Bueno fuera de toda la información que puedes encontrar en la gran telaraña me extraña un poco tu duda; dices que ya realizaron un conversor de su lenguaje a c3 (ej. Turing ¿?), eso me hace pensar que los conceptos nombrados por AEFF que son tan necesarios ya son de su conocimiento. Entonces no entiendo bien cuál es el problema exacto...

Cita:
Empezado por limbertx Ver Mensaje
...ya que el .TXT mediante el ASM mediante D.O.S. podemos realizar el .EXE sin problemas...
Si lo lograron hacer en DOS, que es lo que concretamente desean... que tenga una GUI su aplicación?


Veo que solicitas librerías, te deseo suerte en esa dificil búsqueda (mucho más siendo algo tán específico), creo que lo tendran que desarrollar ustedes mismos y para tal caso te doy la idea general, el propio lo interpretaron y lo escribieron en su "c3", ahora tienen que interpretar el "c3" en instrucciones nemotécnicas del lenguaje de maquina como ser movimientos entre registros, registro-memoria, memoria-registro, movimientos de pila, flags, etc, etc. una vez que conozcaN las posibilidades del lenguaje como tal tienes que comenzar a analizar su opcode, me explico, cada instrucción produce una determinada combinación binaria...

Código:
 nop
produce UN solo byte de valor 90h (nop=No OPeration), pero es un caso particular; "not al" produce 2 Bytes: F6h(not) D0h(al), al ser un registro de 16 o de 32 bits produce: F7h(not) D0h(ax)... dependiendo de la arquitectura de la PC huesped puede producir una combinación adicional: 66 F7 D0h, lo explico:

Código:
;16 bits:
 not al     ; F6 D0
 not ax     ; F7 D0
Código:
;32 bits:
 not al     ; F6 D0
 not ax     ; 66 F7 D0
 not eax    ; F7 D0
veamos con punteros y otras combinaciones en 32 bits:
Código:
 not eax    ; F7 D0
 not ecx    ; F7 D1
 not edx    ; F7 D2
 not ebx    ; F7 D3
 not [eax]  ; F7 10
 not [ecx]  ; F7 11
 not [edx]  ; F7 12
 not [ebx]  ; F7 13
pero con una sentencia OR existe una variedad mas interesante de combinaciones; si es lo que realmente requieres tendrás que analizar mucho al lenguaje...

suerte!

Última edición por cHackAll fecha: 21-10-2007 a las 23:43:23.
Responder Con Cita
  #9  
Antiguo 21-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Me olvidaba, tambien debes tomar en cuenta que es mucho mas sencillo generar un .COM de 16 bits que un .EXE por la cabecera del ejectuable, siendo mucho más complejo en la plataforma Güindos que deberán analizar sus todas secciónes y las estructuras de las mismas.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Realizar una conexion FTP mediante Delphi KeyMan Varios 21 24-09-2007 15:45:46
Realizar búsquedas en un ListBox mediante un Edit Lester Varios 5 08-06-2007 19:16:18
modificar mediante codigo valor de DBEdit !!!!!! david_uh Varios 2 23-05-2007 21:27:58
ODBC mediante codigo sakuragi Conexión con bases de datos 2 04-12-2004 09:34:15
como compilar el .pas mediante codigo? george_vp Varios 0 04-09-2003 23:14:13


La franja horaria es GMT +2. Ahora son las 09:10:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi